8253计数器输出方波.asm

来自「Proteus实例集锦(包括电路图.仿真程序,各种各样的电路」· 汇编 代码 · 共 34 行

ASM
34
字号
;CLK0接2MHz的脉冲信号定时器/计数器0工作方式3,输出10KHz的方波,定时时间为100us
;CLK1接2MHz的脉冲信号定时器/计数器1工作方式3,输出1KHz的方波,定时时间为1000us
;CLK2接2MHz的脉冲信号定时器/计数器2工作方式3,输出100Hz的方波,定时时间为10000us
;计数初值=定时时间/(1/fclk)   
;占用单元A,DPTR
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:MOV DPTR,#7FFFH  ;写入控制字,设置为定时器/计数器0工作方式3
     MOV A,#036H
     MOVX @DPTR,A
     MOV DPTR,#7FFCH  ;写入计数初值:000CH,先低8位,后高8位
     MOV A,#0C8H
     MOVX @DPTR,A
     MOV A,#00H
     MOVX @DPTR,A
     MOV DPTR,#7FFFH  ;写入控制字,设置为定时器/计数器1工作方式3
     MOV A,#076H
     MOVX @DPTR,A
     MOV DPTR,#7FFDH  ;写入计数初值:07D0H,先低8位,后高8位
     MOV A,#0D0H
     MOVX @DPTR,A
     MOV A,#07H
     MOVX @DPTR,A
     MOV DPTR,#7FFFH  ;写入控制字,设置为定时器/计数器2工作方式3
     MOV A,#0B6H
     MOVX @DPTR,A
     MOV DPTR,#7FFEH  ;写入计数初值:4E20H,先低8位,后高8位
     MOV A,#20H
     MOVX @DPTR,A
     MOV A,#4EH
     MOVX @DPTR,A
     RET

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?