微机原理实验课程_第1页
微机原理实验课程_第2页
微机原理实验课程_第3页
微机原理实验课程_第4页
微机原理实验课程_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微微机机原原理理实实验验孝感学院孝感学院电电工工电电子子实验实验教学中心教学中心1实验一实验一 两个多位十进制数相减实验两个多位十进制数相减实验一、实验目的1学习数据传送和算术运算指令的用法。2. 了解汇编语言的工作环境。3熟悉在 PC 机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容将两个多位十进制数(76582, 35496)相减, 要求被减数, 减数均以 ASCII 码形式按顺序存放在以 DATAI 和 DATA2 为首的 5 个内存单元中(低位在前), 求其差, 结果送回DATAI 处。修改程序求两数之和, 结果仍放回 DATAI 处。三、实验程序框图显示减数和被减数被

2、减数和减数转换成十六进制数设 置 计 数 值消除最低进位数开 始制进位减结果送被减数区调整偏移量计数值 -1=10结果转换成ASCII 码字符串显示结果结果2四、实验参考程序 (程序名:r1.asm)DATA SEGMENTDATA1 DB 33H,39H,31H,37H,38H ; DATA2 DB 36H,35H,30H,38H,32H ; MES1 DB -,$MES2 DB =,$DATA ENDSSTACK SEGMENT ;STA DB 20 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,S

3、S:STACK,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL ; MOV AH,09H LEA DX,MES1 INT 21H MOV SI,OFFSET DATA2 MOV BX,05 ; CALL DISPL MOV AH,09H LEA DX,MES2 INT 21H MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 CALL SUBA ; MO

4、V SI,OFFSET DATA1 MOV BX,05 ; CALL DISPL MOV DL,0DH MOV AH,02H INT 21H3 MOV DL,0AH MOV AH,02H INT 21H INT 21H MOV AX,4C00H INT 21HDISPL PROC NEAR ; DSI: MOV AH,02 MOV DL,SI+BX-1 ; INT 21H DEC BX ; JNZ DSI RETDISPL ENDPSUBA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05SU1: SUB BYTE PTRSI+BX-1,30H SUB BYTE

5、PTRDI+BX-1,30H DEC BX ; JNZ SU1 ; MOV SI,DX MOV DI,BP MOV CX,05 ; CLC ; SU2: MOV AL,SI MOV BL,DI SBB AL,BL ; AAS ; MOV SI,AL ; INC SI INC DI ; LOOP SU2 ; MOV SI,DX MOV DI,BP MOV BX,05SU3: ADD BYTE PTR SI+BX-1,30H ADD BYTE PTR DI+BX-1,30H DEC BX ; JNZ SU34 RET SUBA ENDPCODE ENDSEND START五、实验步骤软件实验的源程

6、序输入、编译、连接和可执行文件的运行方法如下:1打开计算机电源开关,当屏幕显示: DOS WINXP时,选择 WINXP,按 Enter 键进入 Windows XP 系统。2点击:开始程序附件命令提示符,进入 DOS 状态;屏幕上显示 DOS 提示符:C:Documents and SettingsBiuewater 3 进入实验所需的文件夹(C:MASM),在 DOS 提示符后输入如下命令:C:Documents and SettingsBiuewater cdmasmC:MASM4用 Q 编辑软件输入源程序或打开已有的源程序,进行输入或修改:(若要显示程序中的汉字,可先运行:tw 进入汉

7、字系统) C:MASMtw C:MASMq r1.asm源程序输入、修改好后,应存盘,存盘方法如下:按 Esc 键,屏幕上方显示主菜单栏,用键盘上的左、右移动键将光标移到“Quit”上,选“eXit all files”中的“Save changes”保存文件后返回到 DOS 命令行。在 Windows 中建立 r1.asm 源程序文件的方法:打开 C 盘中的 MASM 文件夹,点右键选“新建”中的“文本文档” ,然后将文件名更改为 r1.asm,打开该文件即可进行程序输入、修改和存盘。5用 MASM 汇编程序编译源程序,产生扩展名为.obj 的二进制目标文件,命令行格式为: masm ;本实

8、验应为:C:MASMmasm r1; (带“;”号后,程序生成目标文件时不询问目标文件名)正常情况下,屏幕上显示以下信息:Microsoft(R) Nacro Assembler Version 5.00 Copyright(c)Microsoft corp 19811985,1987 all right reserved 0 Warning Errors 0 Severs Errors编译无错误时,在当前文件夹中生成了一个 r1.obj 的目标文件。如果源文件有严重错误则不能进行汇编,必须重新对源文件进行检查、修改、编辑和存盘,然后再进行汇编。56用 Link 程序产生.exe 可执行文件:

9、目标文件(.obj)不是可执行的文件,还要使用 Link 连接程序把目标文件转换成可执行文件(.exe), 命令行格式为:Link 本实验操作应为:C:MASMlink r1 正常情况下,屏幕上显示内容为:Microsoft(R) overlay Linker Version 3.60 Copyright(c)Microsoft corp 19831987 all right reservedLINK: Warning: No STACK sayment连接成功后,在当前文件夹中就生成了一个可执行文件 r1.exe。 如果连接失败则应再次检查、修改源程序,并重新进行汇编和连接。7程序的执行:产

10、生了可执行文件后可在 DOS 下直接运行:C:MASMr1 (运行程序时,扩展名.exe 可以不输入)记录、分析程序运行的结果。8退出 DOS 系统,返回到 Windows 的方法:C:MASMexit六、实验仪器 微型计算机和 MASM 汇编软件。七、实验报告要求1实验前要充分作好实验预习,独立画出程序框图,列出源程序清单和调试步骤。2实验报告要按以下要求书写:(1)程序设计说明:程序名功 能 (在“;”号后给出程序段的注释)(2)调试说明;(3)程序使用说明;(4)程序清单;(5)运行结果及分析实验二 学生成绩名次表实验一、实验目的1. 研究循环程序的设计方法。2. 掌握用汇编语言编写气泡

11、排序程序的思路和方法。3学习用 debug 调试程序。6二、Debug 的主要命令介绍1Debug 程序的调用,在 DOS 状态下,输入如下命令:Debug 盘符文件夹名其中 filename.exe 是被调试的文件名,Debug 将指定的文件装入内存,用户可对其进行调试。2Debug 的主要命令 反汇编命令 U (Unassemble) 格式: -U address 功能:从指定地址开始反汇编 32 个字节,若地址省略则以上一个 U 命令的最后一条指令的下一个单元开始反汇编 32 个字节。 例:C:MASMdebug sw.exe-u ;从头开始反汇编 32 个字节(屏幕显示内容 略)-u

12、;接着上面反汇编 32 个字节(屏幕显示内容 略) 运行命令 G (go) 格式: -G =地址 1地址 2 地址 3 功能:从地址 1 开始执行程序,如不指定则从当前的 CS:IP 开始执行。后面的均为断点地址,指令执行到断点地址时,就停止执行并显示当前寄存器及标志寄存器的内容和下一条将要执行的指令。 例:-g (屏幕显示内容 略) 显示存储单元的命令 D (dump) 格式: -D address 或 D range 功能:从指定地址开始显示连续 80 个单元的内容或显示指定范围内存单元的内容。 例:-d 0 ;显示从 0 单元开始连续 80 个单元的内容(屏幕显示内容 略) 修改存储单元

13、内容的命令 E (edit) 格式 1: -E address List格式 2: -E address 功能:格式 1 的功能为用给定的内容来代替指定范围单元中的内容。格式 2的功能则是采用逐个单元相继修改的方法。 例 1:-d 00 10 ;显示修改前存储单元的内容(屏幕显示内容 略) -e 00 I AM A TEACHER! ;修改7 -d 00 10 ;显示修改后存储单元的内容(屏幕显示内容 略)例 2:-e29 3AFB: 0029 FF.园点后面为修改的内容,可用显示命令查看。 -d29 2C(屏幕显示内容 略) 检查和修改寄存器命令 R (Regiszer) 格式 1: -R

14、功能:显示所有寄存器的内容。 例:-r(屏幕显示内容 略) 格式 2: -R register name 功能:显示和修改某个寄存器的内容。 例:-r axAX 000 ;显示原内容:19FF ;修改-r ax ;显示所有内容AX 19FF 跟踪命令 T (Trace) 格式: -T =address 功能:从指定地址起执行一条指令后停下来并显示寄存器的内容,若未指定地址,则从当前 CS:IP 开始。 例:-t(屏幕显示内容 略) 退出 Debug 命令 Q (Quit) 格式: -Q 功能:退出 Debug ,返回 DOS 状态。三、实验内容根据提示将 0100 之间的 10 个成绩存入首址

15、为 1000H 的单元,1000H+表示学号为的学生成绩,编写程序能在 2000H 开始的区域排出名次表,2000H+为学生号的学生的名次,并将其显示在屏幕上。四、实验程序框图8入口CX 入栈保存 学生数送 CSAL 送 0 分BX 和 SI 发向成绩表首址AL=SISI送 AL,DX 记录对应学号SI+1CX-1=0将本次扫描的最高成绩清 0CX 出栈返回YNYN9开始初始化 显示提示信息SI 指向成绩表首址学生送数 CX调 SCAN 子程序 , 扫描成绩表调 GETNUN, 该成绩送SISI+1CX-1=0学生送数 CXDI 指向名次表首址计算名次 , 填入 DX 举号对应的名次单元CX-

16、1=0显示学生名次返回 DOSYNYN10五、设计并调试实验程序,并查出运行结果 (参考程序名:r2.asm)CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21HENDMDATA SEGMENTSTUNUM EQU 10MESS1 DB 请依次输入 1-10 号学生的成绩,0DH,0AH,$ERROR DB 输入错误,请重新输入!,0DH,0AH,$MESS2 DB 1-10 号学生名次依次为:,0DH,0AH,$EMARK DB ? ORG 1000HSCORE DB 30 DUP(?) ORG 2000

17、HSEQU DB 30 DUP(?)DATA ENDSSTACK SEGMENTSTA DW 32 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV SP,TOP ;初始化MOV AH,09HMOV DX,OFFSET MESS1INT 21H ;显示提示信息MOV SI,OFFSET SCORE ; MOV CX,STUNUM ;MOV EMARK,0UUU: CALL GETNUM ;CMP EMARK,01HJ

18、E STARTMOV SI,DL ; INC SI ;指向下一单元11LOOP UUUMOV CX,STUNUM ; MOV DI,OFFSET SEQU ; VVV: CALL SCAN ; MOV AL,STUNUM ; SUB AL,CLINC AL ; MOV BX,DXMOV DI+BX,AL ; LOOP VVVMOV AH,09HLEA DX,MESS2INT 21HMOV CX,STUNUM ; MOV SI,OFFSET SEQU ; WWW: MOV AL,SICALL DISPIPUSH DXPUSH AX MOV AH,02MOV DL,20HINT 21HPOP AX

19、POP DXINC SILOOP WWW ; MOV AX,4C00HINT 21HSCAN PROC NEAR ; ; PUSH CX MOV CX,STUNUM ; MOV AL,00H ; MOV BX,OFFSET SCORE MOV SI,BX ; CCC: CMP AL,SI JAE JJJ ; MOV AL,SI ; MOV DX,SI SUB DX,BX ; JJJ: INC SI ; 12 LOOP CCC ADD BX,DX MOV BYTE PTR BX,00H ; POP CX RETSCAN ENDPDISPI PROC NEAR ; PUSH CX MOV BL,A

20、L MOV DL,BL MOV CL,04 ROL DL,CL AND DL,0FH CALL DISPL MOV DL,BL AND DL,0FH CALL DISPL POP CX RETDISPI ENDPDISPL PROC NEAR ADD DL,30H CMP DL,3AH JB DDD ADD DL,27HDDD: MOV AH,02H INT 21H RET DISPL ENDP GETNUM PROC NEAR ; PUSH CX XOR DX,DXGGG: MOV AH,01H INT 21H CMP AL,0DH JZ PPP SUB AL,30H JB KKK CMP

21、AL,09H JBE GETS13 JMP KKKGETS: MOV CL,04 SHL DX,CL XOR AH,AH ADD DX,AX JMP GGGKKK: MOV AH,09H MOV DX,OFFSET ERROR INT 21H MOV EMARK,01HPPP: PUSH DX CRLF POP DX POP CX RETGETNUM ENDPCODE ENDSEND START六、实验步骤1将实验室提供的 DOS 系统启动软盘插入到机箱软驱中,打开计算机电源开关,当屏幕上显示:DOSWINXP时,选择 WINXP 或 DOS 均可,按 Enter 键启动软驱,进入纯 DOS

22、系统。源程序的输入、修改、编译和连接的方法同实验一,程序存放在 C:MASM 中:(若要显示程序中的汉字,可先运行:tw 进入汉字系统)C:MASMq r2.asmC:MASMmasm r2;C:MASMlink r2运行程序: C:MASMr2 (运行程序时,扩展名.exe 可以不输入)根据屏幕提示,输入 10 人的成绩分数,记录并分析程序执行的结果。2用 Debug 命令显示、修改、调试程序: C:MASMdebug r2.exe (文件名应输入全名,扩展名.exe 不可省略) -u -q七、实验仪器微型计算机和 MASM 汇编软件。14实验三实验三 双色灯实验双色灯实验一、实验目的1.

23、学习单板方式下扩展简单 I/O 接口的方法以双色灯的使用。2. 进一步学习微处理器的编程技术。二、实验要求编写程序,以 8255 的 PA 口为输出口,控制四个双色 LED 灯按要求发光。三、实验原理8255 的工作原理:8255 有三个 8 位的并行口,端口既可以编程为普通 I/O 口,也可以编程为选通 I/O口和双向传输口。8255 为总线兼容型,可以与 CPU 的总线直接接口。其中,口地址取决于片选 CS 和 A1、A0。选择如下: 8255 方式字选择:A1A0CS选通的端口000A 口010B 口100C 口110命令口C 口上半部(PC7-PC4)1=输入 0=输出A 口1=输入,

24、O=输出A 口方式选择 00=方式 0 ,01=方式1,02=方式 2C 口下半部(PC3-PC0)1=输入 0=输出B 口 1=输入,0=输出B 口方式选择1=方式 1,0=方式 0工作方式字特征位1D6D5D4D3D2D1D015 本实验中 8255 编程为 PB 口、PC 口、PA 口均输出,根据 8255 状态控制字选择方法。8255 控制字应为 80H。四、实验电路及连线图8255 的 CS55 片选接至适配板上 138 译码处的 200H207H 插孔。将 HK958 适配板上的 A0、A1、A2 分别与实验平台上的地址总线 A0、A1、A2 连接。五、实验说明1. 因为本实验是模

25、拟交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态 0 为东西红灯,南北红灯。然后转状态 1 南北绿灯通车,东西红灯。过一段时间转状态 2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态,东西绿灯通车,南北灯灯。过一段时间转状态 4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态 1。2. 双色 LED 是由一个红色 LED 管芯和一个绿色 LED 管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。六、实验参考程序文件名:tlamp

26、2.asm D1 EQU 10HD2 EQU 200HDATA SEGMENTPB DB ?DATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STA16STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH CS POP DS MOV DX,203H ; MOV AL,80H OUT DX,AL MOV DX,200H MOV AL,00 OUT DX,AL ; MOV DX,200H ; MOV AL,0F0H OUT DX,AL MOV BX,7FH CALL DLY

27、BG: MOV AL,01011010B ; OUT DX,AL MOV BX,D2 CALL DLY MOV CX,03HXH1: AND AL,0F5H ; OUT DX,AL MOV BX,D1 CALL DLY OR AL,0AH ; OUT DX,AL MOV BX,D1 CALL DLY LOOP XH1 OR AL,0A0H ; OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY MOV AL,10100101B ; OUT DX,AL MOV BX,D2 CALL DLY17 MOV CX,03XH2: AND AL,0FAH OUT

28、 DX,AL MOV BX,D1 CALL DLY OR AL,05H OUT DX,AL MOV BX,D1 CALL DLY LOOP XH2 OR AL,50H OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY JMP BGDLY PROC NEAR PUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCC DEC BX CMP BX,0 JNE DDD POP CX RET DLY ENDP CODE ENDSEND STARTD1 EQU 2H五、实验步骤 1启动计算机,进入 Windows XP 系统,点击桌面上的“H

29、K88TE”图标,运行HKZK 系列实验机调试软件 HK88TE。2连接电路:打开实验仪箱盖,用两端带插头的专用导线将 8255 扩展板上的 CS55插孔与 HK958 适配小板上的 200-207 插孔相连,用三根导线将 HK958 适配板上的A0、A1、A2 插孔分别与实验平台地址总线中的 A0、A1、A2 端口相连接。3测试串行通讯口:打开实验箱背后的电源开关,点击“调试软件的设置通讯口” ,选择 COM2 口,再点击“测试串口” ,正常情况下,屏上应显示“测试串口通过” ,点“确定”结束测试。若测试串口通不过,应检查串口数据线和电脑的串口插座,按一下小键盘上的“RST”复位键再测试。4

30、载入源程序:点击 HK88TE 调试软18件中的“文件打开” ,选择 HK88TE88asmtlamp2.asm,打开此文件,熟悉、修改程序。5编译、连接:点击 HK88TE 调试软件菜单栏中的“编译编译并连接(Ctrl+F9) ”,也可以点击“调试加载调试” ,完成编译和连接。6运行:点击菜单栏中的“调试全速运行(F9) ” ,即可运行,观察并记录四只LED 双色灯的变化规律。点击“调试退出调试” ,按一下小键盘上的“RST”复位键可停止运行。7根据指导老师要求,修改源程序,改变双色灯的变化规律。8在调试选项下,选择单步调试、设置断点、全速执行等方法动态调试实验程序。六、实验仪器超想-300

31、0TB 单片机/微机原理与接口综合仿真实验仪, 微型计算机和 HK88TE 调试软件。实验四 定时器/计数器实验一、实验目的了解 8253 定时器的硬件连接方法及时序关系。掌握 8253 的各种模式编程及原理。二、实验内容编程将 8253 定时器 0 设定为方式 3,定时器 1 设定在方式 2,定时器 0 输出作为定时器 1 的输入,定时器 1 的输出接在一个 LED 上,运行后可观察到该 LED 在不停闪烁。三、实验原理 8253 可编程计数/定时器的原理:8253 是 INTEL 公司微型计算机系统中的一个部件,可以将 8253 作为一个具有四个输入/输出接口的器件处理,其中三个是计数器,

32、一个是可编程序工作方式的控制寄存器。其内部结构图以及 8253 芯片管脚图如下:198253 可编程计数/定时器编程要点;8253 的全部功能是由 CPU 编程设定的。CPU 通过输出指令给 8253 装入控制字,从而设定其功能。8253 控制字格式如下:D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD各位的功能见表 1表 4:表 1 SC1、SC0 计数器选择SC1 SC0选 择 计 数 器0 0选择 0#0 1选择 1#1 0选择 2#1 1非 法 表 2 RL1、RL0CPU 读/写操作RL1 RL0操 作 类 型0 0计数器封锁操作0 1读/写计数器低 8 位

33、1 0读/写计数器高 8 位1 1先读/写低 8 位,后读/写高 8 位 表 3 M2、M1、M0 工作方式选择M3 M2 M1计 数 工 作 方 式0 0 0方 式 00 0 1方 式 10 1 0方 式 20 1 1方 式 31 0 0方 式 41 0 1方 式 5 表 4 BCD计数方式选择BCD数 码 形 式0十六位二进制计数1四位十进制 ( BCD ) 码计数 8253 的三个计数器是独立的 16 位减法计数器。计数器的工作方式由工作方式寄存器确定。计数器在编程写入初始值后,在某些方式下计数到 0 后自动预置,计数器连续工作。CPU 访问计数器时,必须先设定工作方式控制字中的 RL1

34、、RL0 位。计数器对 CLK计数输入端的输入信号进行递减计数。选通信号 GATE 控制计数工作的进行,其功能如表 5 所示。20 表 5 选通信号 GATE 的功能低电平或进入低电平上 升 边 沿高 电 平方式 0禁止计数-允许计数方式 1-1.初始化和计数 2.下一个时钟后清除输出-方式 21.禁止计数2.使输出立即变为高电平1.重新装入计数器 2.启动计数允许计数方式 31.禁止计数2.使输出立即变为高电平初始化和计数允许计数方式 4禁止计数计数未结束时初始化和计数允许计数方式 5-初始化和计数- 8253 的三个计数器按照各工作方式寄存器中控制字的设置进行工作。可以选择的工作方式有六种

35、。这六种方式是:方式 0:计数结束时中断。编程后自动启动,计数器减 1 计数,计数到终点 ( 减至 0 ) 后输出高电平,可用于中断请求信号,GATE 为低电平时停止计数,回到高电平后继续往下计数。再次启动要重新装入计数值或重新编程。方式 1:可编程单脉冲输出。GATE 上升沿进行初始化并开始计数。输出低电平的宽度等于计数时间。单脉冲输出可用 GATE 上升沿多次触发。方式 2:比率发生器。编程后重复地循环计数。计数到终点时输出一个时钟周期宽度的低电平脉冲,自动初始化后继续计数。用 GATE 的上升沿初始化,并开始计数。GATE 为低电平时停止计数。方式 3:方波发生器。这种方式是在编程后重复

36、地循环计数,输出波形为方波。如果初始计数值为偶数,每个时钟输入脉冲使计数器减 2,达到计数终点时输出电平改变。如果初始计数值为奇数,则输出高电平时第一个时钟输入脉冲使计数器减 1,随后每个输入脉冲使计数器减 2;输出为低电平时第一个时钟输入脉冲使计数器减3,随后每个输入脉冲使计数器减 2,到达计数终点时输出电平改变,计数器自动初始化后继续计数。用 GATE 的上升沿初始化并开始计数,GATE 为低电平时停止计数。方式 4:软件启动选通脉冲输出。编程后自动启动,计数到终点后输出一个时钟周期的低电平脉冲。用 GATE 的上升沿初始化并开始计数,GATE 为低电平时停止计数。 方式 5:硬件启动选通

37、脉冲输出。编程后,等待 GATE 上升沿进行初始化并开始计数,计数到终点后输出一个时钟周期的低电平脉冲,计数器开始计数后不受 GATE 信号电平的影响,这种选通脉冲的输出可用 GATE 的上升沿多次触发。在工作方式控制字中,如果设置计数器锁存操作,则该控制字中工作方式选择位M1、M0 和计数方式选择位 BCD 无效。即设置锁存操作时不影响计数器的工作方式,计数器锁存操作,是在计数器计数过程中,在不影响正在进行的计数操作的条件下,把当前的计数值锁存到寄存器,供 CPU 读取,这时在工作方式控制字中,SC1、SC0 指定要锁存的计数器,RL1、RL000 表示锁存操作,其余214 位无效,计数器按

38、原来设定的方式工作。四、实验电路及连线图GATE0GATE1 连至电源+5V,CLK0 接 OUT1,OUT0 用线连至一个发光管(L0) , CLK1 接 1MHz, CS53 片选孔用线连至译码处 20820F 这个孔。将 HK958 适配板上的A0、A1、A2 分别与实验平台上的地址总线 A0、A1、A2 连接。五、实验说明8253 的工作频率为 02MHz,所以输入的 CLK 频率必须在 2MHz 以下。六、实验参考程序文件名:d532.asmCONTROL EQU 20BHCOUNT0 EQU 208HCOUNT1 EQU 209HCOUNT2 EQU 20AHCODE SEGMEN

39、T ASSUME CS:CODESTART PROC NEAR MOV AL, 36H; 00110110B ; MOV DX, CONTROL OUT DX, AL MOV AX, 10000 MOV DX, COUNT0 OUT DX, AL ; MOV AL, AH OUT DX, AL ; MOV AL, 76H; 01110110B ; 22 MOV DX, CONTROL OUT DX, AL MOV AX, 100 MOV DX, COUNT1 OUT DX, AL ; MOV AL, AH OUT DX, AL ; JMP $START ENDPCODE ENDSEND STA

40、RT七、实验步骤 1启动计算机,进入 Windows XP 系统,点击桌面上的“HK88TE”图标,运行HKZK 系列实验机调试软件 HK88TE。2连接电路:用导线将 8253 实验板上的 GATE0GATE1 两个插孔连接至“常用门电路模块”(在箱的左上方)中的 5V1 插孔,接通+5V 电源,CLK0 接 OUT1,OUT0 接到“LED 发光二极管组 L0L7”中的任意一个插孔中,CLK1 与“脉冲源”模块(箱的左上方)中的“1M”插孔相连,将 8253 的片选端口 CS53 与 HK958 适配板上的 208-20F 插孔相连,将 HK958 适配板上的 A0、A1、A2 插孔分别与

41、地址总线中的 A0、A1、A2 插孔相连接。3测试串行通讯口:打开实验箱背后的电源开关,点击调试软件的设置通讯口,选择 COM2 口,再点击“测试串口”,正常情况下,屏上应显示“测试串口通过” ,点“确定”结束测试。若测试串口通不过,应检查串口数据线和电脑的串口插座,按一下小键盘上的“RST”复位键再测试。4载入源程序:点击 HK88TE 调试软件中的“文件打开” ,选择HK88TE88asmd532.asm,打开此文件,熟悉程序。5编译、连接:点击 HK88TE 调试软件菜单栏中的“调试加载调试” ,完成编译和连接。6运行、调试:点击菜单栏中的“调试全速运行(F9) ” ,即可运行,观察并记

42、录相应的 LED 灯的变化情况。点击“调试退出调试” ,按一下“RST”复位键可停止运行。7更换频率 0.5MHz、0.25MHz 进行实验,观察并记录相应的 LED 灯的变化情况。六、实验仪器超想-3000TB 单片机/微机原理与接口综合仿真实验仪, 微型计算机和 HK88TE 调试软件。23实验五 步进电机驱动实验一、实验目的1. 解控制步进电机的基本原理。2. 握控制步进电机转动的编程的方法。二、实验要求利用 8255 的 PC 口 PC0PC3 轮流输出脉冲序列,小键盘控制步进电机的转速和转动方向。三、实验电路及连线图用导线将 8255 片选信号 CS55 接至 200-207,PC0

43、-PC3 接至 BA-BD。将 8279 的片选信号 CS79 接至 208-20F,将 HK958 适配板上的 A0、A1、A2 分别与实验平台上的地址总线 A0、A1、A2 连接。24四、实验程序框图马心猿 五、实验程序文件名:sm2.asmC8279 EQU 20AHD8279 EQU 208HC8255 EQU 203HP8255C EQU 202HCODE SEGMENTASSUME CS:CODE,DS:CODESTART:PUSH CSPOP DSINI:MOV DX,C8255MOV AL,90H OUT DX,AL ;8255 初始化MOV DX,C8279 MOV AL,0

44、0H显示帮助信息初始化开始有键按下修改速度09驱动电机- 或 +修改方向ESC 键结束25OUT DX,ALMOV AL,2AHOUT DX,AL ;8279 初始化 MOV AL,0D1HOUT DX,AL ;关显示WAIT1:IN AL,DXMOV AH,ALAND AL,80H JNZ WAIT1 ;FIFO 正在清除期间则跳转等待MOV AL,AHAND AL,0FHCMP AL,00HJE WAIT1 ; LEA BX,STEP RUN: CALL CHKKEY CALL DISPLAYMOV CX,08H ; LOOP3:MOV DX,P8255C MOV AL,SI OUT DX

45、,AL INC SI CALL DELAY LOOP LOOP3 JMP RUNCHKKEY PROC NEARRDKEY:MOV DX,C8279IN AL,DXMOV AH,ALAND AL,80HCMP AL,80HJE RDKEYMOV AL,AHAND AL,0FHCMP AL,00HJE RTNMOV AL,40H OUT DX,AL ; MOV DX,D8279IN AL,DXCHK:CMP AL,38HJE QUIT ; 26CMP AL,30H ; JNC DIREMOV DELAYTIME,ALJMP RTNDIRE: CMP AL,32H ; JNE NEXT MOV D

46、IRDSP,40H LEA BX,STEPJMP RTNNEXT: CMP AL,33H ; JNE RTN MOV DIRDSP,46H LEA BX,STEP ADD BX,08H ; RTN: MOV SI,BXRETCHKKEY ENDPQUIT: MOV DX,C8279MOV AL,0D2HOUT DX,ALJMP $DELAY PROC NEAR PUSH CX ; MOV AL,20H ;9?SUB AL,DELAYTIMEJNZ L1MOV CX,04HL1: MOV AL,08H ;8? SUB AL,DELAYTIME JNZ L2 MOV CX,05H L2: MOV AL,00H ;7? SUB AL,DELAYTIME JNZ L3 MOV CX,07H L3: MOV AL,21H ;6? SUB AL,DELAYTIME JNZ L4 MOV CX,08H L4: MOV AL,09H ;5?27 SUB AL,DELAYTIME JNZ L5 MOV CX,09H L5: MOV AL,01H ;4? SUB AL,DELAYTIME JNZ L6 MOV CX,0AH L6: MOV AL,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论