基于單片機(jī)的旋轉(zhuǎn)led(初級版)
硬件部分:
(1)底座供電,采用通用的無線供電技術(shù),別小瞧這個東西,雖然電路很簡單,可是不是很好調(diào)啊,這個破東西浪費(fèi)了我數(shù)日不吃不喝的精力,平時看網(wǎng)上他們調(diào)的都很好,供電也很穩(wěn)定,為啥我這個就問題重重呢?真是特娘的無語,電壓值先從0.8v升到1.3v,這個升壓是我調(diào)了一下三極管的基極電壓值,然后又從1.3v升至1.8,這是我換了一個三極管,可是這個電壓還不能是單片機(jī)工作起來,怎么辦,此時我的腦袋里閃現(xiàn)了華仔的那個半波與全波問題了,我換了一個整流橋,結(jié)果升至3.3v了,雖然這個電路產(chǎn)生的電流呈現(xiàn)三角波,按照常理,我這個用個半波就夠了,但是我這個真的不可以,雖然此時的電壓是3.3v但是及其的不穩(wěn)定,也就是說單片機(jī)總是重啟,不能連續(xù)的工作,就在此時,我把供電的電壓改變成了12v,原來是5v供電,這個結(jié)果很明顯,單片機(jī)工作了,記得那天的這個時候已經(jīng)熄燈了,可是晚上我左思右想,想了許久,終于想出來了,把電容改變一下(記得第二天我和別人吹,我的腦袋就是一個多功能的示波器),結(jié)果成功了,現(xiàn)在5v供電電壓值一般在3.8v以上,這時我終于可以組裝測試了。
(2)最小系統(tǒng),這個很簡單,但是由于我對于我的每一件作品要求比較高,所以我這個東西焊的時間也比較長,還有一個就是由于無線供電的問題,上面的最小系統(tǒng)的某些東西選型一定要注意,尤其是發(fā)光二級管的選擇,當(dāng)然如果無線供電調(diào)的很好就不用考慮這些了,還有一點(diǎn)就是千萬不能用那種三色七彩閃爍的那種,只要用一個就會出問題,但是我現(xiàn)在還沒有找到原因,可能是我那個東西得位置放置的不合理吧,等以后慢慢研究...
軟件部分:
如果只想顯示幾個字那很簡單,要是想弄其他的,有點(diǎn)難度,所以對于初級版的來說,我這個就簡單的讓它顯示點(diǎn)自吧,
平面字程序:
void main(void)
{
uint i=0,j=0 ;
P1=0XFF;
P2=0XFF;
P3=0XFF;
//主程序中只檢測對管
while(1)
{
if(KEY==0) //紅外接收管 判斷起始位
{
j++;
if(j>320) //根據(jù)顯示的字?jǐn)?shù)定義改數(shù)值320/16=20個字 顯示完20個字后 重新開始
{
j=0 ;
}
for(i=j;i<96+j;i++) //每轉(zhuǎn)一圈 前進(jìn)一列 這里定義一圈中同時顯示96/16=6個字,
{
P1=love[i*2]; //字幕數(shù)據(jù)低位送顯示
P2=love[i*2+1]; //字幕數(shù)據(jù)高位送顯示
DelayUs(210);//延時讓LED亮起來 每列延時的時間
P1=0XFF;
P2=0XFF;
}
}
}
}
這里還有個小插曲,就是字剛開始的大小問題,其實(shí)解決這個問題很簡單,有些人用軟件解決,但是我比較喜歡用硬件,因?yàn)槭∈?,在電機(jī)的一段串幾個二極管就好了。
評論