sg6.asm
来自「基于PROTERUS仿真的AVR例子」· 汇编 代码 · 共 44 行
ASM
44 行
.device AT90S8535
.equ sph =$3E
.equ spl =$3D
.equ PORTC =$15
.equ DDRC =$14
.equ PINC =$13
.equ TCCR0 =$33
.equ TCNT0 =$32
.equ TIMSK =$39
.equ TIFR =$38
.equ SREG =$3F
.def ZH =r31
.def ZL =r30
.org $0000
rjmp main
.org $009
rjmp t0_ovf
main: ldi r16,$02 ;栈指针置初值
out sph,r16
ldi r16,$5f
out spl,r16
ldi r16,$01 ;允许T0溢出中断
out TIMSK,r16
ldi r16,$05 ;1024分频
out TCCR0,r16
ldi r17,131 ;T/C0置初值131
out TCNT0,r17
ldi r16,$01
out TIFR,r16
ldi r16,$ff ;PC口作输出
out DDRC,r16
sei
here: rjmp here
t0_ovf: in r1,sreg ;保存sreg
ldi r17,131
out TCNT0,r17
in r18,PORTC ;读C口数据寄存器
com r18 ;取反
out PORTC,r18 ;送C口数据寄存器
out SREG,r1 ;恢复sreg
reti
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?