北京工业大学 微机接口 实验3报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.3 8253基础实验
一、实验目的
1、进一步熟悉GX-8000实验系统
2、进一步熟悉汇编语言程序的设计、调试过程。
3、掌握可编程定时器/计数器芯片8253的工作原理和编程方法。
二、实验内容
1、产生周期为1秒的方波信号,用逻辑笔观察输出结果
2、脉冲计数器:对单脉冲按钮进行计数,按下5次,L0点亮;可重复计数
3、跑马灯
1)8个LED循环点亮;
2)循环方式为:L0->L1->L2->L3->L4->L5->L6->L7->L1->L2...;每隔1秒LED状态变化一
次;
3)使用8255A和8253实现
三、实验程序
1、程序
;这是自动生成的代码模板
STACKS SEGMENT STACK ;堆栈段
DW 128 DUP(?) ;注意这里只有128个字节
STACKS ENDS
DATAS SEGMENT ;数据段
;请在这里定义您的数据
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS ;初始化
MOV DS,AX
;请在这里添加您的代码
MOV DX, 28BH
MOV AL, 00110111B; 8253控制字设置计数器0
OUT DX, AL
MOV DX, 288H
MOV AX ,00H;设置计数器0初值
OUT DX, AL
MOV AL, 10H
OUT DX, AL
MOV DX, 28BH
MOV AL, 01110111B ; 8253控制字设置计数器1
OUT DX, AL
MOV DX, 289H
MOV AL, 00H ; 设置计数器1初值
OUT DX, AL
MOV AL, 10H
OUT DX, AL
CODES ENDS
END START
2、程序
;这是自动生成的代码模板
STACKS SEGMENT STACK ;堆栈段
DW 128 DUP(?) ;注意这里只有128个字节
STACKS ENDS
DATAS SEGMENT ;数据段
;请在这里定义您的数据
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS ;初始化
MOV DS,AX
;请在这里添加您的代码
MOV AL, 00010100B ; 0通道设置为方式2
MOV DX, 28BH
OUT DX, AL
MOV AL, 5 ;0通道初值设为5
MOV DX, 288H
OUT DX, AL
CODES ENDS
END START
3、程序
;这是自动生成的代码模板
STACKS SEGMENT STACK ;堆栈段
DW 128 DUP(?) ;注意这里只有128个字节STACKS ENDS
DATAS SEGMENT ;数据段
;请在这里定义您的数据
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS ;初始化
MOV DS,AX
MOV DX, 28BH ;8253A初始化
MOV AL, 00110110B
OUT DX, AL
MOV DX, 288H
MOV AX ,1000
OUT DX, AL
MOV AL, AH
OUT DX, AL
MOV DX, 28BH
MOV AL, 01110110B
OUT DX, AL
MOV DX, 289H
MOV AX ,1000
OUT DX, AL
MOV AL, AH
OUT DX, AL
MOV CL, 0FFH
MOV AH ,00000001B
MOV AL, 10100000B
MOV DX, 283H
OUT DX, AL
MOV AL ,0DH ;pC6置一
OUT DX, AL
AGAIN:
MOV AL, AH
MOV DX,280H
OUT DX, AL ;A口输出LED状态数据
MOV DX, 282H
READC:
IN AL, DX ;读C口
ROL AL, 4 ;左移4位,使PC3位于最高位,以便判断是否为1
CMP AL, 10000000B
JB READC ;小于1,说明时钟周期还没到来,继续读C口
ROL AH, 1 ;否则读取下一LED状态(通过左移来实现)
JMP AGAIN
;请在这里添加您的代码
CODES ENDS
END START
四、实验结果
1、
2、
3、