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

熱點內容
怎樣在文件夾內建立word文檔 瀏覽:240
全國計算機等級考試3級教程 瀏覽:374
sqr開平方之後是什麼數據類型 瀏覽:726
圖片做word的背景 瀏覽:842
html文件怎麼轉換 瀏覽:563
怎麼把刪掉的app的圖標找回來 瀏覽:526
網路盜竊罪有哪些特徵 瀏覽:530
共享修復工具 瀏覽:588
移動花卡app免流怎麼用不了 瀏覽:942
excel保存時自動生成備份文件 瀏覽:438
區域網訪問文件 瀏覽:666
怎麼刪除遷移備份數據 瀏覽:144
office2016最新版本下載 瀏覽:148
蘋果uc下載在哪個文件夾里 瀏覽:265
網站底部信息 瀏覽:756
微軟win10工具下載 瀏覽:806
win10文件夾滑鼠右鍵一直轉圈圈 瀏覽:244
蘋果手機怎麼邊看邊聊 瀏覽:919
把vpk文件變成steam文件格式 瀏覽:89
m13數控編程代表什麼指令 瀏覽:595

友情鏈接