8253A不同工作方式的实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一、8253A不同工作方式的实验姓名:李尔楠学号:11281008 班级:计科1101 第五组
实验目的
通过了理论的学习的同时还需要对所学知识有个直观而生动的了解,通过此次实验可以加深刻的理解8253A定时/计数器的各种工作方式的特点;通过观察实验波形,可直观地了解这几种工作方式的异同。
实验内容
编写程序分别显示0,2,3几种工作方式下的波形。要求2方式的输出频率为1000Hz,3方式的输出频率为2000Hz,0方式的定时长度为。
本实验使用8253A的定时/计数器2,GATE2通过K1接到+5V或地,CLK2接1MHZ 的时钟脉冲,OUT2接示波器观测输出波形,并在数码管上显示“8253---A”。
实验线路连接
代码分析
2方式
。。。由于灯闪烁速度过快将初值设为00H更有助于观察.Model small
.386
CODES SEGMENT
DA TA SEGMENT
DA TA ENDS
ASSUME CS: CODES, DS: DA TA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, 203H
MOV AL, 10110100B
OUT DX, AL
MOV DX, 202H
MOV AL, 0E8H
OUT DX, AL
MOV AL, 3H
OUT DX, AL
CODES ENDS
END START
初值=1MHz/1000Hz=1000=3E8H,因此需要高低位,读写顺序命令字选11。计数器2选用10, 方式2选用010,2进制计数。因此命令字为10110100B。203H为命令字入口,202H 为计数器2入口。分两次分别打入高低位。
3方式
由输出频率为2000Hz,
初值T= 1MHz/2000Hz=500=1F4H.。。。由于灯闪烁速度过快将初值设为00H更有助于观察代码如下:
.Model small
.386
DA TA SEGMENT
DA TA ENDS
CODES SEGMENT
ASSUME CS: CODES, DS: DA TA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, 203H
MOV AL, 10010110B
OUT DX, AL
MOV DX, 202H
MOV AL, 0F4H
OUT DX, AL
MOV AL, 1H
OUT DX, AL
MOV AH, 4CH
INT 21H
CODES ENDS
END START
初值=1MHz/2000Hz=500=1F4H,因此需要高低位,读写顺序命令字选11。计数器2选用10, 方式3选用011,2进制计数。因此命令字为10110110B。203H为命令字入口,202H 为计数器2入口。分两次分别打入高低位。
0方式
由定时长=1ms得
初值T C= 1ms * 1MHz = 1000 = 3E8H
.Model small
.386
DA TA SEGMENT
DA TA ENDS
CODES SEGMENT
ASSUME CS: CODES, DS: DA TA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, 203H
MOV AL, 10010000B
OUT DX, AL
MOV DX,202H
MOV AL, 0
OUT DX, AL
CODES ENDS
END START
显示‘8253-A’
.MODEL SMALL
.386
DA TA SEGMENT
LED_CS EQU 200H
LEDCODE DB 77H, 40H, 4FH, 6DH, 5BH, 7FH BUF DW ?
DA TA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DA TA
MOV DS, AX
MOV AL, 10110100B
MOV DX, 203H
OUT DX, AL
MOV AX, 1000
MOV DX, 202H
OUT DX, AL
MOV AL, AH
OUT DX, AL
MOV BUF, 55AAH
TTT:
LEA SI, LEDCODE
TTL: MOV BL, [SI]
MOV CL, 01H
LLL: CALL DISP
CMP CL, 40H
JNZ LLL
JMP TTT
DISP PROC
PUSH DX
PUSH AX
MOV AL, BL
LP1: MOV DX, LED_CS
OUT DX, AL
MOV AL, CL
LP2: MOV DX, LED_CS
INC DX
OUT DX, AL
CALL DELAY
SAL CL, 1
INC SI
MOV BL, [SI]
POP AX
POP DX
RET
DISP ENDP
DELAY PROC
PUSH CX
PUSH DX
DELAY1: MOV DX, 1
DELAY2: MOV CX, 000FH
DELAY3: LOOP DELAY3
DEC DX
JNZ DELAY2
POP DX
POP CX
RET
DELAY ENDP
CODE ENDS
END START
数据段定义77H, 40H, 4FH, 6DH, 5BH, 7FH,依次对应A –3 5 2 8。
首先向计数器打入方式字和初值。然后循环调用子程序显示每个字符。由于每次调用子程序都只有一个微小延时,所以看上去“8253-A”几个字符同时显示出来了。
实验结果
方式2