8253测试

8253的测试代码:

8253的CNT0工作于方式3,产生20ms的周期方波信号。

8253的CNT1工作于方式3,产生500ms的周期方波信号。

接线:

GATE0、GATE1接高电平;CLK0接1MHz信号;CLK1与OUT0相连。

测试时,将示波器接到OUT0或OUT1上,测量周期是否正确

代码:

 1 ;TEST FOR 8253
 2 CNT0 EQU 0280H
 3 CNT1 EQU 0281H
 4 CON_8253 EQU 0283H
 5 DATA SEGMENT
 6 DATA ENDS
 7 
 8 STACK SEGMENT
 9 STA DW 100 DUP(?)
10 TOP EQU LENGTH STA
11 STACK ENDS
12 
13 CODE SEGMENT
14 ASSUME CS: CODE,DS: DATA,SS: STACK,ES: DATA
15 START: MOV AX, DATA
16     MOV DS, AX
17     MOV ES, AX
18     MOV AX, STACK
19     MOV SS, AX
20     MOV SP, TOP
21 
22 ;计数器0产生周期20ms的方波---->方式3
23 ;control---->36H
24 ;初始值---->4E20H
25     MOV DX, CON_8253
26     MOV AL, 36H
27     OUT DX, AL
28     MOV DX, CNT0
29     MOV AX, 4E20H
30     OUT DX, AL
31     MOV AL, AH
32     OUT DX, AL
33 
34 ;计数器1 T = 500ms---->方式3
35 ;control---->56H
36 ;初始值 ---->18H
37     MOV DX, CON_8253
38     MOV AL, 56H ;8253写入控制字
39     OUT DX, AL 
40     MOV DX, CNT1
41     MOV AL, 19H ;CNT1写入初始值
42     OUT DX, AL
43 MAIN: JMP MAIN
44     MOV AH, 4CH
45     INT 21H
46 CODE ENDS
47 END   START

 

posted @ 2021-03-15 16:19  Ted_Zhao  阅读(76)  评论(0编辑  收藏  举报