📄 clk.asm
字号:
;=============时钟20:6====================
;应先初始化状态寄存器
tx1714 EQU 7FFH
PA EQU 05H
PB EQU 06H
PC EQU 07H
PD EQU 20H
IAR EQU 00H ;间接寻址寄存器
TMR0 EQU 01H ;定时器
STATUS EQU 03H ;状态寄存器
BSR EQU 04H ;bank选择寄存器
PORTA EQU 05H ;I/0端口寄存器
PORTB EQU 06H ;I/0端口寄存器
PORTC EQU 07H ;I/0端口寄存器
PORTD EQU 20H ;I/0端口寄存器
PULL EQU 21H ;PULL-High上拉寄存器
WAKEUP EQU 22H ;唤醒控制寄存器--被用来设定watchdog允许和禁止
IRQM EQU 23H ;中断屏蔽寄存器
IRQF EQU 24H ;中断标志寄存器
WDTSEL EQU 25H
TMR1_CON1 EQU 26H ;TMR1控制寄存器
TMR1_CON2 EQU 27H ;TMR1_con2控制寄存器
TMR2_CON EQU 40H ;TMR2控制寄存器
CP_VR EQU 41H ;里置参考电源
CP_OUT EQU 42H ;比较器设置
TMR1_T EQU 43H ;TMR1重装寄存器
TMR2_T EQU 44H ;TMR2重装寄存器
TMR1 EQU 45H
TMR2 EQU 46H
ORG tx1714
GOTO main
ORG 7FEH
LGOTO int_tmr1
ORG 000H
main
MOVLA 00H
IODIR PA
IODIR PB
IODIR PC
MOVAM BSR
MOVAM STATUS
MOVAM IRQF
MOVAM 0AH
MOVLA 05H
MOVAM 08H
MOVLA 03H
MOVAM 09H
;-------------TMR1 定时20us------------------
BCM TMR1_con2,7 ;定时器模式
MOVLA 50H
MOVAM TMR1_con1 ;设置时钟、预分频1:1
MOVLA 57H
MOVAM TMR1_T ;装定时初值(递减)
BSM TMR1_con1,7 ;使能定时器1
BSM IRQM,7 ;开总中断
BSM IRQM,5 ;开定时器1中断
LOOP
BTMSS IRQF,5
GOTO LOOP
LGOTO HA
int_tmr1
BCM IRQM,5 ;关定时器1
BCM IRQF,5 ;清标志位
DECM 08H,1
MOVM 08H,0
MOVAM PA
INCM 08H,1
DECMSZ 08H,1
GOTO K1
DECM 09H,1
MOVM 09H,0
MOVAM PB
INCM 09H,1
DECMSZ 09H,1
GOTO K2
INCM 0AH,1
MOVM 0AH,0
MOVAM PC
MOVLA 03H
MOVAM 09H
K2
MOVLA 06H
MOVAM 08H
K1
MOVLA 57H
MOVAM TMR1_T ;装定时初值(递减)
BSM IRQM,5
RETI
HA
GOTO $
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -