DATA SEGMENT DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX ; 时钟源为1MHz,使用0号计数器3方式降频为1kHz,计数值为1M / 1k = 1000 MOV DX, 283H ; 命令口 MOV AL, 00110110B ; 00(0号计数器)|11(读写2字节)|011(3方式工作)|0(计数值为2进制) OUT DX, AL MOV DX, 280H ; 0号计数器 MOV AL, 11101000B ; 计数值(1000)_D的2进制的低8位 OUT DX, AL MOV AL, 00000011B ; 计数值(1000)_D的2进制的高8位 OUT DX, AL ; 从0号计数器获得1kHz的方波,使用1号计数器3方式降频为1Hz,方便人眼观察,计数值为1k / 1 = 1000 MOV DX, 283H ; 命令口 MOV AL, 01110110B ; 01(1号计数器)|11(读写2字节)|011(3方式工作)|0(计数值为2进制) OUT DX, AL MOV DX, 281H ; 1号计数器 MOV AL, 11101000B ; 计数值(1000)_D的2进制的低8位 OUT DX, AL MOV AL, 00000011B ; 计数值(1000)_D的2进制的高8位 OUT DX, AL ; 从1号计数器获得1Hz的方波,观察2号计数器5工作方式,计数值为4s / 1Hz = 4 MOV DX, 283H ; 命令口 MOV AL, 10011010B ; 10(2号计数器)|01(读写低字节,高字节置0)|101(5方式工作)|0(计数值为2进制) OUT DX, AL MOV DX, 282H ; 2号计数器 MOV AL, 100B ; 计数值(4)_D的2进制 OUT DX, AL CODE ENDS END START