?? led.avr
字號:
.INCLUDE "8515DEF.INC" ;CPU配置文件
.ORG $0000
RJMP RESET ;上電復位跳轉到主程序
.ORG $0013 ;代碼段定位,跳過中斷區
RESET:
LDI R16,LOW(RAMEND) ;設置堆棧指針
OUT SPL,R16
LDI R16,HIGH(RAMEND)
OUT SPH,R16
LDI R16,0B11111111 ;設置PA口為輸出端口
OUT DDRA,R16
START:
LDI R17,0B11111110 ;PA0輸出低電平,LED0亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
LDI R17,0B11111101 ;PA1輸出低電平,LED1亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
LDI R17,0B11111011 ;PA2輸出低電平,LED2亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
LDI R17,0B11110111 ;PA3輸出低電平,LED3亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
LDI R17,0B11101111 ;PA4輸出低電平,LED4亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
LDI R17,0B11011111 ;PA5輸出低電平,LED5亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
LDI R17,0B10111111 ;PA6輸出低電平,LED6亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
LDI R17,0B01111111 ;PA7輸出低電平,LED7亮。
OUT PORTA,R17
LDI R16,50 ;延時1秒
RCALL DELAY
RJMP START ;循環執行
DELAY:
PUSH R16 ;延時子程序,延時時間由R16調整
DELAY0:
PUSH R16
DELAY1:
PUSH R16
DELAY2:
PUSH R16
DELAY3:
DEC R16
BRNE DELAY3
POP R16
DEC R16
BRNE DELAY2
POP R16
DEC R16
BRNE DELAY1
POP R16
DEC R16
BRNE DELAY0
POP R16
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -