[AVR汇编例程]8 LED发光管跑马灯实验汇编程序 - 单片机应用 - 博趣

  无线电   专题策划 行业动态 测试测量 单片机 精彩制作 精品套件 基础入门 试阅与下载 往期目录 官方淘宝店 制汇节
当前位置:博趣 -> 无线电 -> 单片机应用

TOP

[AVR汇编例程]8 LED发光管跑马灯实验汇编程序
发表日期:2012-03-02 08:55:24 来源:麦克鼠单片机学习网 作者: 【 】 浏览:3875次 评论:0

是一个简单的供单片机入门学习者练习用的8 LED发光管跑马灯实验汇编程序,控制8个LED发光二极管做往返的循环闪亮。用AVR- Studio-4 开发,在AVR单片机Atmega48上调试通过。学习者可以举一反三应用到其他类型的单片机芯片。
本实验的详细说明和硬件搭建请参考>>

;----------------------------------------------------------------------------------
;--------单片机入门实验   8 LED发光管跑马灯实验  AVR  汇编程序-----------
;----------------------------------------------------------------------------------
;作者: 超简单工作室
;Email: fullmous@hotmail.com
;软件版本: AVR Studio 4.13.571 Service Pack 2
;创建日期: 2008.3
;版本 V1.00
;
; Target : M48
; Crystal: 8.0000Mhz
;*****************************************************

.include "m48def.inc"
.org $0000
rjmp _main
.org $0020
_delay_1ms: ;一个粗略的延时子程
ldi R16,1
ldi R17,0
L3:
subi R16,255 ;等于加1
sbci R17,255
cpi R16,232 ;0xE8
ldi R30,3 ;0x03
cpc R17,R30 ;判是否等于1000 (R17:R16 = 0x03E8)
brlo L3
ret
_delay:
push r21
push r20
push r17
push r16
movw R10,R16
clr R20
clr R21
L8:
rcall _delay_1ms
subi R20,255 ;等于加1
sbci R21,255
cp R20,R10
cpc R21,R11
brlo L8
pop r16
pop r17
pop r20
pop r21
ret
_main:
; DDRB = 0xFF; 定义端口B输出
; PORTB = 0xFF;
ldi R24,255
out 0x4,R24 ;DDRB
out 0x5,R24 ;PORTB
L11:
clr R20 ;初始化循环参数为0,从第0位开始移动
clr R21
ldi R18,1
L14:
out 0x5,R18 ;点亮LED,向PORTB的一个位送1
clc
rol R18 ;左移R18
ldi R16,low(500) ;设延时参数
ldi R17,high(500)
rcall _delay
subi R20,255 ;等于加1
sbci R21,255
cpi R20,8 ;与8比较
ldi R30,0
cpc R21,R30
brlt L14 ;小于8继续循环
ldi R20,7 ;初始化循环参数为7,从第7位开始移动
ldi R21,0
ldi R18,0x80
L18:
out 0x5,R18 ;点亮LED,向PORTB的一个位送1
clc
ror R18 ;右移R18
ldi R16,low(500) ;设延时参数
ldi R17,high(500)
rcall _delay
subi R20,1 ;减1
sbci R21,0
cpi R20,0 ;与0比较
ldi R30,0
cpc R21,R30
brge L18 ;大于0继续循环
rjmp L11
ret

 > 相关内容:

 
Tags:AVR 汇编 LED 发光 管跑 马灯 实验 程序 责任编辑:博趣
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[AVR汇编例程]AVR单片机控制8段LE.. 下一篇[AVR汇编例程]AVR单片机控制双色..

赞助商链接

最新文章

热门文章

推荐文章