.486
CODE SEGMENT USE16
ASSUME CS:CODE
BEG: JMP START
CCONPORT EQU 213H ;控制口地址
CCONBIT1 EQU 00110110B ; _0号计数器初始化控制字
CCONBIT2 EQU 01110110B ; _1号计数器初始化控制字
CCONBIT3 EQU 10110110B ; _2号计数器初始化控制字
CDPORT1 EQU 210H ; _0号计数器口地址
CDPORT2 EQU 211H ; _1号计数器口地址
CDPORT3 EQU 212H ; _2号计数器口地址
;初值自己设置
CHDBIT1 EQU 533H ;计数器0初值_f=1.193182MHZ_OUT=900HZ_
CHDBIT2 EQU 5E3H ;计数器1初值_OUT=800HZ_
CHDBIT3 EQU 7D4H ;计数器2初值_OUT=600HZ_
START: NOP ;启动延时
MOV DX,CCONPORT ;写入控制字_计数器0
MOV AL,CCONBIT1
OUT DX,AL
MOV AX,CHDBIT1 ;写入初值_计数器0
MOV DX,CDPORT1
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,CCONPORT ;写入控制字_计数器1
MOV AL,CCONBIT2
OUT DX,AL
MOV AX,CHDBIT2 ;写入初值_计数器1
MOV DX,CDPORT2
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,CCONPORT ;写入控制字_计数器2
MOV AL,CCONBIT3
OUT DX,AL
MOV AX,CHDBIT3 ;写入初值_计数器2
MOV DX,CDPORT3
OUT DX,AL
MOV AL,AH
OUT DX,AL
WT: NOP
JMP WT
CODE ENDS
END BEG