Files
2025-05-27 16:03:52 +08:00

44 lines
1.8 KiB
NASM
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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号计数器4工作方式计数值为4s / 1Hz = 4
MOV DX, 283H ; 命令口
MOV AL, 10011000B ; 10(2号计数器)|01(读写低字节高字节置0)|100(4方式工作)|0(计数值为2进制)
OUT DX, AL
MOV DX, 282H ; 2号计数器
MOV AL, 100B ; 计数值(4)_D的2进制
OUT DX, AL
CODE ENDS
END START