中国百科网   搜索   提问   注册   登录

avr单片机LED灯循环位移汇编程序

本程序中使用的avr单片机是m16芯片,可以让8个led实现循环移位的效果/*
* loopLEDLight.asm
*
* Created: 2014/3/14 9:47:20
* Author: Wujie
*/

.include"m16def.inc"
.deftemp1=r20
.defcount=r17

.org$0000
rjmpmain
.org$002A
main:
ldir16,high(RAMEND)
outsph,r16
ldir16,low(RAMEND)
outspl,r16
sertemp1
outddrc,temp1
outportc,temp1
ldicount,0b01111111
ldir16,197

loop:
outportc,count
rcalldelay
rcallloopdis
rjmploop
;循环位移
loopdis:
ldir21,7;r21装入立即数7,后面或将count右移7位
pushcount;将count保存起来后面会使用
lslcount;将count左移一位
movr18,count;左位移一的立即数装入r18
popcount;还原count
dis:lsrcount;右位移7次count值改变为右移7次的值
decr21
brnedis
orcount,r18;左移一次与右移7次进行求或 即左循环一次
ret

delay:pushr16
del3:pushr16
del2: push r16
del1:decr16
brne del1
popr16
decr16
brne del2
popr16
decr16
brnedel3
popr16
ret
/*寄存器与寄存器直接的传递使用mov*/

发布时间:   来源:单片机教程网  作者:匿名
上一篇:基于12864液晶的程序代码显示本人姓名及专业


相关阅读:
  • 单片机循环灯汇编程序设计
  • 基于AVR单片机的LED照明灯控制系统设计
  • PIC单片机在ICD1上做LED灯的循环闪烁程序
  • 用avr单片机设计led彩灯控制器
  • 基于AVR的LED照明灯控制系统设计-LED照明
  • avr单片机led实验
  • AVR单片机在LED遥控照明中的应用
  • 单片机控制花样led灯闪烁
  • 单片机控制花样LED灯闪烁
  • 单片机实现的led流水灯电路