微机计数器实验.doc
文本预览下载声明
实 验 报 告
课程名称 微机系统与接口技术
实验名称 可编程定时器/计数器 8255
实验类型 设 计 (验证、综合、设计、创新)
学院名称 应用技术学院 专业 机械设计与制造及其自动化
年级班级 11级机械 开出学期 2013—2014上期
学生姓名 黄建星 学号 201115144127
指导教师 魏祖雪 成绩
2013 年 11 月 19 日
试验一、可编程定时器/计数器(8253)
一、实验目的
掌握8253的基本工作原理和编程方法。
二、实验内容
1、按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
2、 按图17连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)
三、实验步骤
将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。按照图16虚线在试验箱上链接电路图,
当设置为其它方式时,把电路连接好后,后面的步骤设置为方式0时的步骤是一样的,也是在电脑上打开仿真软件输入所设置方式的程序,并对程序进行汇编→链接,当这两项都没有错的时候,按下试验箱上的开关按钮,然后点击汇编+链接+运行进行验证。
四、编程提示
1、 8253控制寄存器地址 283H
计数器0地址 280H
计数器1地址 281H
CLK0连接时钟 1MHZ
2、参考流程图 (见图18、19)
图18 图19
实验ASM程序代码
1、计数器0(方式0)
ioport equ 0d400h-0280h
io8253a equ ioport+283h
io8253b equ ioport+280h
code segment
assume cs:code
start: mov al ;设置8253通道0为工作方式0,二进制计数
mov dx,io8253a
out dx,al
mov dx,io8253b ;送计数初值为0FH
mov al,05h
out dx,al
lll: in al,dx ;读计数初值
call disp ;调显示子程序
push dx
mov ah,06h
mov dl,0ffh
int 21h
pop dx
jz 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
实验结果:每按一次脉冲,屏幕上显示的数字由F 5 4 3 2 1 0 的在变化 ,即按一次脉冲,显示的数字相应减小1,直到减小为0时,输出由高电平变为低电平,即红灯变为绿灯,再按脉冲时,重复由F 5 4 3 2 1 0的变化。
2、计数器0、计数器1分别设置为方式3
ioport equ 0d400h-0280h
io8253a equ ioport+280h
io8253b equ ioport+281h
io8253c equ ioport+283h
co
显示全部