導航:首頁 > 編程語言 > 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程序相關的資料

熱點內容
怎麼開通移動4g網路 瀏覽:130
岳陽微信公司 瀏覽:96
win10如何從備份中恢復出廠設置密碼 瀏覽:659
什麼軟體修改wifi密碼錯誤 瀏覽:582
遇見不安全網站怎麼辦 瀏覽:251
哪個app有慶余年電視劇 瀏覽:420
iphone5s視頻時很黑 瀏覽:601
js獲取埠號 瀏覽:347
手機短息發的鏈接病毒蘋果手機 瀏覽:724
win10專業忘記家庭組密碼 瀏覽:176
南寧applestore幾樓 瀏覽:296
java字元串怎麼初始化 瀏覽:349
醫美哪個app好 瀏覽:768
代碼編程和機器人編程哪個好 瀏覽:875
90版本男法 瀏覽:796
win10桌面字體難看 瀏覽:848
三菱fx5u支持哪些編程 瀏覽:7
優酷在文件夾在哪裡 瀏覽:91
趣列印的數據文件是什麼 瀏覽:871
linuxjava程序 瀏覽:483

友情鏈接