首頁 新聞 > 科技 > 正文

avr單片機(jī)流水燈匯編程序及電路圖

這是電路圖

本程序使用的avr單片機(jī)型號是m16 實現(xiàn)流水燈效果下面是匯編程序源碼:

/** LEDlight.asm* 運行環(huán)境 atmelage16 4M晶振 流水燈共陽極* 由于引腳輸出電流20mA 輸入電流最大能達(dá)到40mA* Created: 2014/3/13 13:08:20* Author: Wujie*/.include "m16def.inc" ;包含atmelage16定義文件.def temp1=r16 ;定義標(biāo)識符temp1表示寄存器r16.def count=r17 ;定義標(biāo)識符count表示寄存器r17.org $0000 ;上單復(fù)位后第一條執(zhí)行語句地址rjmp reset ;第一條語句跳轉(zhuǎn)到程序入口,跳過中斷向量區(qū).org $002A ;主程序入口地址reset: ;主程序標(biāo)識符ldi r20,high(RAMEND) ;high獲取RAMEND高字節(jié)的立即數(shù),將立即數(shù)裝入r20out sph,r20 ;將獲取到的堆棧高字節(jié)立即數(shù)送堆棧寄存器SP高字節(jié)中l(wèi)di r20,low(RAMEND) ;low獲取RAMEND低位立即數(shù),將立即數(shù)裝入r20out spl,r20 ;將獲取到的堆棧低字節(jié)立即數(shù)送堆棧寄存器SP低字節(jié)中ser temp1 ;將temp1置位,等于是將temp1設(shè)置為0b11111111sec ;將C標(biāo)志位設(shè)置為1,下面將帶進(jìn)位位移out ddrc,temp1 ;將端口C全部設(shè)置為輸出模式out portc,temp1 ;將引腳C全部設(shè)置為高電平,即全部熄滅ldi r20,197 ;設(shè)置1秒延時ldi count,0b01111111 ;將最左邊LED點亮loop: ;循環(huán)閃爍out portc,count ;通過count來判斷rcall delay ;調(diào)用延時函數(shù)rol count ;帶進(jìn)位循環(huán)左移 前面sec將標(biāo)志位C設(shè)置為了1,即移位后填充為1rjmp loop ;集訓(xùn)循環(huán)閃爍delay: push r20del3: push r20del2: push r20del1: dec r20brnedel1pop r20dec r20brnedel2pop r20dec r20brnedel3pop r20ret

關(guān)鍵詞: avr單片機(jī)流水燈匯編程

最近更新

關(guān)于本站 管理團(tuán)隊 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2018 創(chuàng)投網(wǎng) - www.mallikadua.com All rights reserved
聯(lián)系我們:33 92 950@qq.com
豫ICP備2020035879號-12