南邮微机接口实验——8254定时器/计数器实验

8254概述:

8254内部三个独立的16位计数器,具有6种工作方式,计数初值的数值可以设置为BCD码或者二进制。最高频率10MHZ。

控制字以及初值写入:

程序通过宏定义,定义了控制口地址213,以及三个计数器的地址210、211、212(连线与此地址要一致)。

首先将控制口地址传输到DX寄存器,将计数器0控制值写入到AL,通过DX间址寻址的方式将计数器0的控制字写入控制值寄存器;

然后,将计数器0的地址传输到DX,将计数器0的初值传输到AL,通过DX间址寻址将计数器0初值写入,计数器0开始工作。

计数器1和2控制值和初值写入方式类似。

控制字分析:

计数器0控制字:00010110B。

表示:选择0号计数器,写入初值时,只写入低8位,高8位置0,工作在方式3,计数初值为2进制。

计数器1和计数器2的控制字与上述类似,只是计数器选择不同。

频率计算:

灯0的频率: 100KHZ/65536=1.5HZ

灯1的频率:10KHZ/250=40HZ

灯2的频率:1KHZ/100=10HZ

代码:
.MODEL SMALL
.486
CODE  SEGMENT USE16
		ASSUME CS:CODE
BEG:		JMP START
CCONPORT    EQU	    213H
CCONBT1	    EQU		00010110B
CCONBIT2	EQU		01010110B
CCONBIT3	EQU		10010110B
CDPORT1	    EQU		210H
CDPORT2   	EQU		211H
CDPORT3 	EQU		212H
CHDBIT1     EQU		00H
CHDBIT2	    EQU		250
CHDBIT3	    EQU		100

START:  NOP
        MOV      DX,CCONPORT
		MOV      AL,CCONBT1
		OUT      DX,AL
		MOV      DX,CDPORT1
		MOV      AL,CHDBIT1
		OUT      DX,AL
		
		MOV      DX,CCONPORT
		MOV      AL,CCONBIT2
		OUT      DX,AL
		MOV      DX,CDPORT2
		MOV      AL,CHDBIT2
		OUT      DX,AL
		MOV      DX,CCONPORT
		MOV      AL,CCONBIT3
		OUT      DX,AL
		MOV      DX,CDPORT3
		MOV      AL,CHDBIT3
		OUT      DX,AL
WT:		NOP
        JMP      WT
CODE    ENDS
                 END   BEG




你可能感兴趣的:(作业)