⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.avr

📁 这是购买伟纳电子的ME300B单片机开发板所配套的开发程序例程之AVR 实验例程部分。
💻 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 + -