📄 sg9.asm
字号:
.device AT90S8535
.equ sph =$3E
.equ spl =$3D
.equ PORTC =$15
.equ DDRC =$14
.equ PINC =$13
.equ TIMSK =$39
.equ OCR1AH =$2B
.equ OCR1AL =$2A
.equ TCCR1B =$2E
.equ SREG =$3F
.equ TCNT1H =$2D
.equ TCNT1L =$2C
.org $0000
rjmp main
.org $006
rjmp t1_cp
main: ldi r16,$02 ;栈指针置初值
out sph,r16
ldi r16,$5f
out spl,r16
ldi r16,$01 ;PC0口定义为输出口
out DDRC,r16
ldi r16,$10 ;允许T1比较匹配A中断
out TIMSK,r16
clr r16 ;置TCNT1初值为0
out TCNT1L,r16
out TCNT1H,r16
ldi r16,$7a ;OCRLA置$7A12,即1s中断1次
out OCR1AH,r16
ldi r16,$12
out OCR1AL,r16
ldi r16,$0c ;T/C1对主频256分频定时
out TCCR1B,r16
sei
here: rjmp here
t1_cp: in r1,sreg ;保护标志
in r2,PORTC ;PC口取反
com r2
out PORTC,r2
out sreg,r1 ;标志恢复
reti
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -