资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
微机原理及应用实验报告学院:班级:学号:姓名:微机实验报告书()学号: 姓名: 班级: 同组名单: 实验日期: 实验题目: 8253 可编程定时器计数器实验目标:掌握 8253 的基本工作原理和编程方法实验步骤:连接电路图如图虚线连接电路,将计数器 0 设置为方式 0,计数器初值为N(N=0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察 OUT0 电平变化(当输入 N+1 个脉冲后 OUT0 变高电平)。程序框图:程序清单:;*; ;* 8253 方式 0 计数器实验 *; ;*;IOPORT EQU 0C800H-0280H IO8253A EQU IOPORT+283H IO8253B EQU IOPORT+280H CODE SEGMENT ASSUME CS:CODE START: MOV AL,00010000B ;设置 8253 工作方式 MOV DX,IO8253A OUT DX,AL MOV DX,IO8253B ;送计数初值为 0FH MOV AL,0FH OUT DX,AL LLL: IN AL,DX ;读计数初值 CALL DISP ;调显示子程序 PUSH DX MOV AH,06H MOV DL,0FFH INT 21H POP DX JZ LLL ;跳转到 LLL MOV AH,4CH ;退出 INT 21H DISP PROC NEAR ;显示子程序 PUSH DX AND AL,0FH ;首先取低四位 MOV DL,AL CMP DL,9 ;判断是否 =9 JLE NUM ;若是则为 0-9,ASCII 码加 30H ADD DL,7 ;否则为A-F,ASCII 码加 37H NUM: ADD DL,30H MOV AH,02H ;显示 INT 21H MOV DL,0DH ;加回车符 INT 21H MOV DL,0AH ;加换行符 INT 21H POP DX RET ;子程序返回 DISP ENDP CODE ENDS END START运行结果:每输入一个单脉冲,屏幕上的数值减 1,从 15 减到 0 后(拨动16 次后),检测到 OUT0 输出由低电平变为高电平。小结(体会与收获):通过预习和实验,学会了 8253 芯片和微机接口原理和方法,掌握 8253 定时器/计数器的基本工作原理、工作方式和编程原理,熟悉了汇编代码的编写。实验中,连接电路,利用代码控制实验电路,深对了课本理论的理解。由于是第一次实验,进程比较缓慢,所以仅进行了 8253 可编程定时器/计数器的一个实验,下次实验会熟练一些。微机实验报告书()学号: 姓名: 班级:同组名单: 实验日期:实验题目: 1.8253 可编程定时器计数器2.8255 可编程并行接口(方式 0)3.七段数码管实验目标:1.掌握 8253 的基本工作原理和编程方法2.掌握 8255 方式 0 的工作原理及使用方法3.掌握数码管显示数字的原理实验步骤:实验一:连接电路图按上图连接电路,将计数器 0、计数器 1 分别设置为方式 3,计数初值设为 1000,用逻辑笔观察 OUT1 输出电平的变化(频率1HZ)。实验二:连接电路图1)实验电路如图,8255C 口接逻辑电平开关 K0K7,A 口接 LED 显示电路 L0L7。2)编程从 8255C 口输入数据,再从 A 口输出。实验三:连接电路图静态显示:按图连接好电路,将 8255 的 A 口 PA0PA6 分别与七段数码管的段码驱动输入端 ag 相连, 位码驱动输入端 S1 接+5V(选中),S0、dp 接地(关闭)。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来。程序框图:实验一:实验二:实验三:程序清单:实验一:;* ;* 8253 分频 * ;*IOPORT EQU 0C800H-0280H IO8253A EQU IOPORT+283H IO8253B EQU IOPORT+280H IO8253C EQU IOPORT+281H CODE SEGMENT ASSUME CS:CODE START: MOV DX,IO8253A ;向 8253 写控制字 MOV AL,36H ;工作方式 OUT DX,AL MOV AX,1000 ;写入循环计数初值 1000 MOV DX,IO8253B OUT DX,AL ;先写入低字节 MOV AL,AH OUT DX,AL ;后写入高字节 MOV DX,IO8253A MOV AL,76H ;设工作方式 OUT DX,AL MOV AX,1000 ;写入循环计数初值 1000 MOV DX,IO8253C OUT DX,AL ;先写低字节 MOV AL,AH OUT DX,AL ;后写高字节 MOV AH,4CH ;程序退出 INT 21H CODE ENDS END START 实验二:;*; ;* 8255A 的基本输入输出 *; ;*;IOPORT EQU 0C800H280H IO8255A EQU IOPORT+288H IO8255B EQU IOPORT+ 28BH IO8255C EQU IOPORT+28AH CODE SEGMENT ASSUME CS:CODE START: MOV DX,IO8255B ;对 8255 进行设定,A 输出,C 输入 MOV AL,10001001B OUT DX,AL INPUT: MOV DX,IO8255C ;从 C 输入 IN AL,DX MOV DX,IO8255A ;从 A 输出 OUT DX,AL MOV DL,0FFH ;判断是否有按键 MOV AH,06H INT 21H JZ INPUT ;若无,则继续 C 输入, A 输出 MOV AH,4CH ;否则,返回 DOS INT 21H CODE ENDS END START 实验三:;*; ;*键盘输入数据(0-9)控制 LED 数码管显示*; ;*;DATA SEGMENT IOPORT EQU 0C800H-280H IO8255A EQU IOPORT+288H IO8255B EQU IOPORT+28BH IO8255C EQU IOPORT+28AH LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH MESG1 DB 0DH,0AH,Input a num (0-9),other key is exit:,0DH,0AH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,IO8255B ;使 8255 的 A 口为输出方式 MOV AX,10000000B OUT DX,AL SSS: MOV DX,OFFSET MESG1 ;显示提示信息 MOV AH,09H INT 21H MOV AH,01 ;从键盘接收字符 INT 21H CMP AL,30H ;是否小于 0 JL EXIT ;若是则退出 CMP AL,39H ;是否大于 9 JG EXIT ;若是则退出 SUB AL,30H ;将所得字符的 ASCII 码减 30H MOV BX,OFFSET LED ;BX 为数码表的起始地址 XLAT ;求出相应的段码 MOV DX,IO8255A ;从 8255 的 A 口输出 OUT DX,AL JMP SSS ;转 SSS EXIT: MOV AH,4CH ;返回 INT 21H CODE ENDS END START ;运行结果:实验一:8253 通道 0 和通道 1 均工作在方式 3,计数初值均为 1000。通道 0 的时钟输入为 1MHz 标准脉冲,产生 1000Hz 的方波;通道 1 以通道 0 输出的 1000Hz 方波脉冲为输入,产生 1Hz 的方波。用逻辑笔发现,OUT1 输出电平呈规律性高低变化(显示灯闪烁) ,时间间隔为 1s,说明输出频率为 1Hz,实现计时器功能。实验二:当逻辑开关 K0K7 中的一个或几个打开时,对应的 LED 灯就
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号