1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
用STC89C52單片機制作呼吸燈 附代碼思路與實驗原理
[打印本頁]
作者:
金華千跡落竹
時間:
2020-11-2 21:37
標題:
用STC89C52單片機制作呼吸燈 附代碼思路與實驗原理
一、實驗原理
我們在做呼吸燈的時候,我們首先得了解呼吸燈的原理,我們得知道我們電壓做的功,我們首先看張圖
51hei圖片20201102205137.jpg
(3.27 MB, 下載次數: 72)
下載附件
2020-11-2 21:07 上傳
這張圖是自己手工畫的,有點不夠規范,就像第一個信號一樣,間隔大概一樣,有點高數知識的師兄都知道連續的,那么他的積分就是他所做的功,也可以這樣理解,我們做得功就等于(W=UIt),所以我們還是積分比較好理解,當我們LED的引腳是高電平時,我們觀察的亮度是最亮的,這是因為做的功是全部,這時候我們可以比較這兩條線,上面的線比較平均,大概就是50%左右的樣子,我們行容這種東西叫做占空比用q表示,q=高電平時間/周期時間(高電平時間指的是一個周期里面的)相對于下面這條,一開始我們我們看到高電平時間比較短,占空比比較小,(在這里說明一下,我用的單片機是3.3v——0v就是說單片機低電平“0”是點亮)所以這個實驗現象是慢慢的變暗,因為做的功多,占空比比較大,如果占空比達到了100%,單片機的LED則會熄滅/。
二、代碼思路
我們在了解PWM的工作原理,我們可以簡單的做一個呼吸燈,我們首先得定義一個周期,然后調節占空比就能達到我們想要的結果,我們可以用延時函數(delay)和for循環來達目的。
三、實驗源碼
四、我們但可以用延時函數,還可以用定時器來設置占空比,時間控制的更合理,難度高的PWM還是用定時器比較好。。寫的不太好,如果有錯誤,請批評,大家多交流。
單片機源程序如下:
/***************************************************************************************************
筆者自己用的是普中的單片機,因為LED引腳在P2上面,個人需要根據自己說的單片機自己設定,經自己測試,當周期是400時候
亮度剛好,單片機的晶振用的12MHz
***************************************************************************************************/
#include "reg52.h"
sbit LED=P2^2;
/****************************************
函數名稱:void delay(unsigned int n)
函數功能:延時函數
輸入參數:n
輸出參數:無
****************************************/
void delay(unsigned int n)
{
while(n--);
}
void main()
{
unsigned int CYCLE=400,LOW=0;
while(1)
{
delay(5000);//延時一下
for(LOW=1;LOW<CYCLE;LOW++)//從滅到亮
{ LED=0;
delay(LOW);
LED=1;
delay(CYCLE-LOW);
}
//從亮到滅
for(LOW=CYCLE-1;LOW>0;LOW--)
{ LED=0;
delay(LOW);
LED=1;
delay(CYCLE-LOW);
}
}
}
復制代碼
附上源碼hex:
LED.zip
(22.52 KB, 下載次數: 30)
2020-11-2 21:37 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1