新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的旋轉(zhuǎn)led(初級(jí)版)

基于單片機(jī)的旋轉(zhuǎn)led(初級(jí)版)

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

}
}
}
}
這里還有個(gè)小插曲,就是字剛開(kāi)始的大小問(wèn)題,其實(shí)解決這個(gè)問(wèn)題很簡(jiǎn)單,有些人用軟件解決,但是我比較喜歡用硬件,因?yàn)槭∈?,在電機(jī)的一段串幾個(gè)二極管就好了。




評(píng)論


技術(shù)專區(qū)

關(guān)閉