[AVR汇编例程]AVR单片机控制双色二极管交替改变颜色实验 - 单片机应用 - 博趣

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

TOP

[AVR汇编例程]AVR单片机控制双色二极管交替改变颜色实验
发表日期:2012-03-02 08:54:46 来源:麦克鼠单片机学习网 作者: 【 】 浏览:2236次 评论:0

是一个简单的供单片机入门学习者练习用的双色二极管的汇编程序,程序控制一个双色二极管交替不变换颜色。用AVR- Studio-4 开发,在AVR单片机Atmega48上调试通过。学习者可以举一反三应用到其他类型的单片机芯片。
本实验的详细说明和硬件搭建请参考>>

;-------------------------------------------------------------------------------------------
;---------单片机入门实验   双色二极管汇编程序----------
;-------------------------------------------------------------------------------------------
;作者: 超简单工作室
;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
L2:
subi R16,255 ; 加1操作
sbci R17,255
cpi R16,232 ;0xE8
ldi R30,3 ;0x3E8 = 1000
cpc R17,R30
brlo L2 ;未达1000继续
ret
_delay:
push r21
push r20
push r17 ;入口:r16,r17装的是延时参数
push r16
movw R10,R16 ;将r16,r17的内容装入r10,r11
clr R20
clr R21
L7:
rcall _delay_1ms
subi R20,255 ;加1操作
sbci R21,255
cp R20,R10 ;与指定延时参数比较
cpc R21,R11
brlo L7 ;未达指定延时参数继续
pop r16
pop r17
pop r20
pop r21
ret
_main:
ldi R24,3; DDRC = 0x03,定义PC0、PC1输出
out DDRC,R24
clr R2; PORTC = 0x00,关闭所有端口
out PORTC,R2
L11:
ldi R24,1
out PORTC,R24;循环改变双色二极管两脚的供电极性
ldi R16,low(1000)
ldi R17,high(1000)
rcall _delay
ldi R24,2
out PORTC,R24;导致双色二极管改变颜色
ldi R16,low(1000)
ldi R17,high(1000)
rcall _delay
rjmp L11
ret

 > 相关内容:

 
Tags:AVR 汇编 单片机 控制 双色 二极管 交替 改变 颜色 实验 责任编辑:博趣
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[AVR汇编例程]8 LED发光管跑马灯.. 下一篇[ICCAVR C 例程]AVR单片机定时器1..

赞助商链接

最新文章

热门文章

推荐文章