📄 113.asm
字号:
.include "8535def.inc"
.org $0000
rjmp reset
.org $00a
rjmp UART_RXC
reset: ldi r16,low(ramend) ;栈指针置初值
out spl,r16
ldi r16,high(ramend)
out sph,r16
ldi Xl,$00 ;发送缓冲区指针X置初值
ldi Xh,$01
ldi Yl,$10 ;接收缓冲区指针Y置初值
ldi Yh,$01
ldi r16,$f0 ;甲机定义主同步方式,允许同步中断,对振荡器4分频
;***乙机定义从同步方式,允许同步中断,对振荡器4分频 。将上条指令改为 ldi r16,$e0
out spcr,r16
ldi r16,0 ;清中断标志
out spsr,r16
ldi r17,$04 ;发4个字节
bb: sei
ld r16,X+ ;读$100
out spdr,r16 ;送spdr,主方式则发送
cc: rjmp cc
UART_RXC:
in r1,sreg ;保护标志寄存器
in r22,spdr ;读SPI数据寄存器
st Y+,r22 ;送$110~$113之一
dec r17
brne dd
rjmp ee
dd: ld r22,X+ ;读$101~$103之一
out spdr,r22 ;送SPI数据寄存器
ee: out sreg,r1 ;恢复标志寄存器
reti
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -