3.asm
来自「串口通信 频率测量 EEPROM读写程序」· 汇编 代码 · 共 53 行
ASM
53 行
.include "c:\appnotes\8515def.inc"
.org $000
rjmp main
.org $008
rjmp SPI_TXC
.org $00d
MAIN: ldi r17,$5f
out SPL,r17
ldi r17,$02
out SPH,r17 ;setup STACK pointer in internal SRAM so that
;RCALL and interrupt subroutine can use it for
; return
ldi r25,$80
out SREG,r25 ;enable globle interrupt
ldi r17,$08
out WDTCR,r17;enable wacthdog
wdr ;reset wachdog
ser r16
out DDRB,r16 ;portb is output mode and turn off all LEDS
sbi DDRB,5 ;set MOSI(PB.5) output mode whwn SPI is master.
sbi DDRB,7 ;set SCK (PB.7) output mode when SPI is master
sbi DDRB,4 ;set SS output mode so that this byte cann't
;influence SPI master work mode .
ldi r17,0b11111100
out SPCR,r17 ;set SPIE,SPE,MSTR,CPOL,CPHA ,reset the others
ldi r21,$73
out SPDR , r21 ;,the rightest LED display "P"
ldi r17,$01
out PORTB,r17 ;PB.0 output 1
rcall delay
wdr
ldi r21,$00
out SPDR,r21 ; turn off "P" at the rightest LED;
rcall delay
rjmp main
SPI_TXC:sbi SPCR,4
reti
delay: clr r15
ldi r21,$18
d2:ldi r22,$ff
d1:ldi r23,$ff
d0:dec r23
wdr
cp r23,r15
brne d0
dec r22
cp r22,r15
brne d1
dec r21
cp r21,r15
brne d2
ret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?