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

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接