亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

avr單片機LED燈循環位移匯編程序

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年03月17日   【字體:

本程序中使用的avr單片機是m16芯片,可以讓8個led實現循環移位的效果/*
 * loopLEDLight.asm
 *
 *  Created: 2014/3/14 9:47:20
 *   Author: Wujie
 */

 .include "m16def.inc"
 .def temp1=r20
 .def count=r17

 .org $0000
rjmp main
 .org $002A
 main:
ldi r16,high(RAMEND)
out sph,r16
ldi r16,low(RAMEND)
out spl,r16
ser temp1
out ddrc,temp1
out portc,temp1
ldi count,0b01111111
ldi r16,197

loop:
out portc,count
rcall delay
rcall loopdis 
rjmp loop
;循環位移
loopdis:
ldi r21,7 ;r21裝入立即數7,后面或將count右移7位
push count ;將count保存起來后面會使用
lsl count ;將count左移一位
mov r18,count ;左位移一的立即數裝入r18
pop count ;還原count
dis: lsr count ;右位移7次count值改變為右移7次的值
dec r21
brne dis
or count,r18 ;左移一次與右移7次進行求或 即左循環一次
ret

delay: push r16
del3: push r16
del2:         push        r16
    del1: dec r16
brne         del1
pop r16
dec r16
brne     del2
pop r16
dec r16
brne del3
pop r16
ret
/*寄存器與寄存器直接的傳遞使用mov*/

 

關閉窗口

相關文章