西寧網(wǎng)站制作公司金融網(wǎng)站推廣圳seo公司
51單片機(jī)LED燈漸明漸暗實(shí)驗(yàn)
1.概述
這篇文章介紹使用單片機(jī)控制兩個(gè)LED彩燈亮度漸明漸暗效果,詳細(xì)介紹了操作步驟以及完整的程序代碼,動手就能制作的小實(shí)驗(yàn)。
2.操作步驟
2.1.硬件搭建
1.硬件準(zhǔn)備
名稱 | 型號 | 數(shù)量 |
---|---|---|
單片機(jī) | STC12C2052AD | 1 |
LED彩燈 | 無 | 2 |
晶振 | 12MHZ | 1 |
電容 | 30pf | 2 |
電阻 | 100歐姆 | 2 |
面包板 | 無 | 1 |
連接線 | 無 | 5 |
2.硬件鏈接電路圖
根據(jù)下面的電路圖將與元器件與單片機(jī)連接好,注意LED燈只需要連接19和18兩個(gè)引腳即可,其他不需要鏈接。
2.2.程序代碼
/*************************************************************
* 程序名: 兩個(gè)LED燈亮度漸亮漸暗
* 編寫人: bruce
* 硬件支持:TC12C2052 外部12MHZ晶振
* 日 期: 2023-11-14
* 修改日志: 通過控制LED燈亮和滅的時(shí)間實(shí)現(xiàn)亮度漸變效果,可修改a變量值觀察LED燈變化效果
/*************************************************************/#include<STC12C2052AD.H>sbit LED1 = P1 ^ 7;
sbit LED2 = P1 ^ 6;/*********************************************************************************************
函數(shù)名:毫秒級CPU延時(shí)函數(shù)
調(diào) 用:DELAY_MS (?);
參 數(shù):1~65535(參數(shù)不可為0)
返回值:無
結(jié) 果:占用CPU方式延時(shí)與參數(shù)數(shù)值相同的毫秒時(shí)間
備 注:應(yīng)用于1T單片機(jī)時(shí)i<600,應(yīng)用于12T單片機(jī)時(shí)i<125
/*********************************************************************************************/
void DELAY_MS (unsigned int a){unsigned int i;while( --a != 0){for(i = 0; i < 600; i++);}
}void main(void){while(1){unsigned char a;for(a=1;a<20;a++){LED1 = 0;LED2 = 1;// 通過修改延遲值改變燈亮滅的時(shí)間,達(dá)到漸亮漸暗效果DELAY_MS(a);LED1 = 1;LED2 = 0;DELAY_MS(20-a);}for(a=19;a>0;a--){LED1 = 0;LED2 = 1;DELAY_MS(a);LED1 = 1;LED2 = 0;DELAY_MS(20-a);}}}
2.3.燒錄程序
使用Keil工具編譯程序,打開STC-ISP軟件選擇編譯后的hex文件,設(shè)置外部晶振,下載程序。將程序燒錄到單片機(jī)后,在給單片機(jī)冷啟動(斷掉5V電源在上電)使單片機(jī)切換為外部晶振,觀察兩個(gè)LED燈交替明暗變化。