东南大学微机第五次实验报告.doc
文本预览下载声明
《微机实验及课程设计》实验报告 学号
PAGE
PAGE 0
东南大学
《微机实验及课程设计》
实验报告
实验五 8253 计数器/定时器
姓 名: 学 号:
专 业: 实 验 室:
实验时间:年05月29日 报告时间:年06月06日
评定成绩: 审阅教师:
实验目的与内容
实验目的
1)掌握计数器/定时器8253的基本工作原理和编程应用方法;
2)了解掌握8253的计数器/定时器典型应用方法
(二)实验内容及要求
1、将计数器0设置为方式0,计数初值为N(小于等于0FH),用手动的方式逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。(必做)
2、将计数器0、1分别设置在方式3,计数初值设为1000,用逻辑笔观察OUT1电平的变化。(必做)
3、将计数器0设置为方式3,计数器1根据键盘的输入分别设置为0、1、2、4、5,设置适当的计数初值(可任意定义,例如按A键为方式0,B键为方式1等) ,并将GATE1信号进行相应的连接(接+5V或接单脉冲)用逻辑笔观察OUT1电平的变化。
4、在实验2的基础上用显示屏显示当前的计数值,需保证显示数据稳定可见。
注:3,4中选做一题,必做一题
二. 实验基本原理
(一)基本原理
先确定电脑中输出端地址,通过程序将信号从输出端输出,控制I/O接口。脉冲人为给出使计数器工作。
实验接线图
必做1 接线图
必做2 接线图
3,4接线图 其中GATE1根据工作方式的不同接+5V或单脉冲
(三)程序流程图
8253 计数器程序流程图 8253定时器程序流程图
三 方案实现与测试(或调试)
必做实验1:
ioport equ 0b400H-0280H
io8253a equ ioport+283H
io8253b equ ioport+280H stacks segment stack
db 100 dup (?)
stacks ends
code segment
assume cs:code,ss:stacks
main proc far
start: mov ax,stacks
mov ss,ax
mov al,14h ;设置8253通道0为工作方式2,二进制计数
mov dx,io8253a
out dx,al
mov dx,io8253b ;送计数初值为0FH
mov al,0fh
out dx,al
ZZZ: in al,dx ;读计数初值
call disp ;调显示子程序
push dx
mov ah,06h
mov dl,0ffh
int 21h
pop dx
jz ZZZ
mov ah,4ch ;退出
int 21h
main endp
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
必做实验2:
ioport equ 0d400h-0280h
io8253a equ ioport+280h
io8253b equ ioport+281h
io8253c equ
显示全部