導航:首頁 > 編程語言 > atmega16sleep程序

atmega16sleep程序

發布時間:2023-06-26 03:07:50

1. 求ATmega16流水燈程序

/*******************************************
文件:sld.C
環境:編譯為 AVR6.25A,模擬為AVR Studio4.14
硬體:ATMEGA16晶元
日期:2008年12月10日
功能:驅動開發板上的LED。流水燈
備註:
/******************************************/
#include <D:\開發板\OK100E\程序\avr程序\OK100E.H>
/*******************************************
函數名稱: One_led
功 能: 點亮或者熄滅指定的LED
參 數: number--指定的LED
light--為TRUE的時候為點亮LED,為FALSE的時候為熄滅LED
返回值 : 無
/********************************************/
void One_led(uchar number,uchar light)
{
uchar i;
if(light==TRUE) //點亮操作
{
PORTB&=~BIT(number); //輸出數據
PORTC|=BIT(LEDLK); //更新數據
Delayms(5); //調整時序
PORTC&=~BIT(LEDLK); //鎖存數據
}
else
{
PORTB|=BIT(number); //輸出數據
PORTC|=BIT(LEDLK); //更新數據
Delayms(5); //調整時序
PORTC&=~BIT(LEDLK); //鎖存數據
}
}
/*******************************************
函數名稱: All_led
功 能: 點亮或者熄滅全部LED
參 數: light--為TRUE的時候為點亮全部LED,為FALSE的時候為熄滅全部LED
返回值 : 無
/********************************************/
void All_led(uchar light)
{
if(light)
{
PORTB&=~ALLLED; //ALLLED=0xFF,使全部LED都亮
PORTC|=BIT(LEDLK); //輸出數據
Delayms(5); //調整時序
PORTC&=~BIT(LEDLK); //鎖存數據
}
else
{
PORTB|=ALLLED; //ALLLED=0xFF,使全部LED都滅
PORTC|=BIT(LEDLK); //輸出數據
Delayms(5); //調整時序
PORTC&=~BIT(LEDLK); //鎖存數據
}
}

/*******************************************
函數名稱: main
功 能: 流水燈
參 數: MS--點亮相鄰LED的時間間隔,單位是毫秒
返回值 : 無
/********************************************/
void main()
{
Board_init();
PORTC|=BIT(BEEP);
while(1)
{
uchar i;
for(i=0;i<8;i++) //循環8次,8個LED依次點亮
{
All_led(FALSE); //全部熄滅
One_led(i,TRUE); //點亮指定的LED
Delayms(200); //延時指定的時間
}
}
}

閱讀全文

與atmega16sleep程序相關的資料

熱點內容
蘋果12原裝數據線怎麼感覺有點硬 瀏覽:764
js獲取div中的圖片不顯示不出來 瀏覽:291
什麼網站有首映動漫 瀏覽:461
淘寶網路電話叫什麼 瀏覽:231
編程要讀哪些書 瀏覽:134
如何在手機上新建文件夾里添文件 瀏覽:292
先鋒w10刷安卓系統 瀏覽:787
java設置過期日期 瀏覽:114
新版本抖音怎麼看我的數據比例 瀏覽:946
什麼是3G網路3G的發展史 瀏覽:269
如何使用ps把圖片的文件大小弄小 瀏覽:880
安卓系統根目錄文件夾 瀏覽:900
手錶怎麼設置蜂窩網路 瀏覽:51
舊愛勾搭app還有嗎 瀏覽:141
日外語言編程軟體哪個好 瀏覽:950
小論文發表了但是數據錯誤怎麼辦 瀏覽:952
注冊表禁止啟動程序運行 瀏覽:705
網路優化總體流程圖 瀏覽:735
前端程序員簡歷模板 瀏覽:706
蜂巢積木編程機器人怎麼樣 瀏覽:561

友情鏈接