找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 69424|回復(fù): 15
打印 上一主題 下一主題
收起左側(cè)

自己動(dòng)手制作 “POV LED” 旋轉(zhuǎn)LED顯示屏

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60076 發(fā)表于 2014-4-26 02:03 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
2012年5月1日11:46:09

所有制作所需的零部件都已收集齊,開(kāi)始改裝這個(gè)散熱風(fēng)扇。打算用它做底座。由于這個(gè)無(wú)線供電傳輸效率就目前來(lái)說(shuō)不是特別高,暫時(shí)打算用雙電源供電,原來(lái)繞制的線圈暫時(shí)作保留。




2012年5月1日23:26:54
基礎(chǔ)電路焊接完成。
主電路使用我爸N年前的廢舊手機(jī)電池供電(電池還很耐用的,就是機(jī)子嚴(yán)重不行了),電池用普通膠布包在電路板上,并且做了引線方便以后使用萬(wàn)能充充電。
隨后用萬(wàn)能表和燒寫(xiě)一個(gè)循環(huán)點(diǎn)亮LED燈的程序來(lái)檢查,現(xiàn)象是CPU不立即發(fā)熱;每個(gè)LED燈都像程序?qū)懙哪菢影错樞虬l(fā)光,無(wú)偏色、偏亮、偏暗;萬(wàn)能表測(cè)得每個(gè)IO口的電流不超過(guò)40mA。結(jié)果表明電路焊接正確,芯片沒(méi)問(wèn)題,電池功率足夠。
主芯片仍是AVR單片機(jī)——ATmega16L。我的最愛(ài),呵呵。由于對(duì)時(shí)鐘頻率要求不高,繼續(xù)使用片內(nèi)8MHz晶振,得以簡(jiǎn)化電路。


2012年5月2日13:53:24
完成旋轉(zhuǎn)檢測(cè)電路的焊接。這里采用44E霍爾傳感器和磁鋼配合檢測(cè)是否已經(jīng)轉(zhuǎn)過(guò)一圈。


2012年5月5日12:20:46
想了下,并且也實(shí)踐了下,雙電源供電方案我個(gè)人覺(jué)得效果不理想。
原因是這個(gè)風(fēng)扇是用無(wú)刷電機(jī)驅(qū)動(dòng)的,加上原來(lái)別人只是為了最求大轉(zhuǎn)速而犧牲了電機(jī)力矩,別人是考慮到散熱風(fēng)扇并不需要太大的力,只需要能把扇葉帶動(dòng)就行。正是因?yàn)檫@樣,而且我上面還加了塑料板和電池,也是加重了扇葉的重量,而電機(jī)的力矩不夠大。起初我加大了電源功率,使用12V1A,也就是12W的電源,最多是可以轉(zhuǎn)動(dòng),但轉(zhuǎn)速并不能達(dá)到要求,而且這樣下去會(huì)加重電機(jī)負(fù)擔(dān),可能會(huì)造成線圈過(guò)熱燒斷。
為了追求無(wú)噪音,看來(lái)最好的辦法是得考慮無(wú)線供電方案了。




2012年5月6日下午前,我將電池卸去,接通風(fēng)扇電源。發(fā)現(xiàn)轉(zhuǎn)速仍是不理想,用手掂量下,或許是這增高的硬塑料板太重了。

2012年5月6日下午,決定用氫氧化鈉溶液去除塑料板與風(fēng)扇之間用于粘合的卡夫特AB膠。但家里沒(méi)有燒堿,于是打算用電解食鹽水制取。

往塑料盆里加入五六勺我家的食鹽,差不多飽和了。

用12V直流電電解,萬(wàn)能表有示數(shù),電流為6.6mA。反應(yīng)發(fā)生了。負(fù)電極處的銅片有氣泡生成。因?yàn)橛袣錃夂陀卸镜穆葰馍桑曳旁陉?yáng)臺(tái)上做,拍完照后我關(guān)門撤了。


但是啊!第一次做的事總有錯(cuò)誤。
看完新水滸傳第三集后,回來(lái)一看。不對(duì)勁,原來(lái)想漏了一點(diǎn),我用的是銅片做電極,辛辛苦苦制取得到的燒堿又發(fā)生反應(yīng)了,這銅片
把我的氫氧根吃了,出來(lái)像是氫氧化亞銅沉淀,真不該用銅片做電極。沒(méi)關(guān)系,想想下一步用什么做電極好。






2012年5月17日22:44:03
完成整體組裝。電源用7.5V1A的開(kāi)關(guān)電源供電。而電路板上仍舊使用原來(lái)的3.7V手機(jī)電池供電。電機(jī)采用有刷減速電機(jī)。這電機(jī)是我以前推土機(jī)玩具里的一個(gè)電機(jī),它帶有減速齒輪,所以扭矩足夠,而且轉(zhuǎn)速還可以。就是噪音大了點(diǎn),這個(gè)對(duì)于我后面將要實(shí)現(xiàn)的功能稍微有點(diǎn)影響。
相機(jī)暫時(shí)不在我這,過(guò)幾天再補(bǔ)上照片。

對(duì)于上次那個(gè)問(wèn)題,制取量小點(diǎn)的可以用石墨做電極。后來(lái)我同學(xué)給了我點(diǎn)NaOH,我直接溶解后放進(jìn)去泡了。泡了幾天,外層多出來(lái)的膠水已經(jīng)變軟可以撕去,但里面可能膠水多,溶液進(jìn)不去,還是很難分離開(kāi)來(lái),用鋼鋸也難鋸開(kāi)。

另外,上次意外制取得到的氫氧化亞銅,我讓媽媽拿去實(shí)驗(yàn)室過(guò)濾,得到一杯沉淀。敞口放置在空氣中,過(guò)了幾天,外層的氫氧化亞銅氧化為氫氧化銅,內(nèi)層被保護(hù)著,沒(méi)氧化。透過(guò)玻璃杯的外壁看里面,顏色內(nèi)外不同,也比較好看。






2012年5月18日23:29:51
AVR單片機(jī)的程序編寫(xiě)完成�?娠@示任意字符和文字的組合,一圈可以顯示8個(gè)全角字符左右。


2012年5月19日21:29:26
用程序測(cè)出轉(zhuǎn)速為5r/s 。感覺(jué)還是有點(diǎn)低,轉(zhuǎn)速太低會(huì)導(dǎo)致顯示閃爍,字符難識(shí)別。如果能有更合適的電機(jī)改進(jìn)就好了。




因?yàn)槿搜鄹杏X(jué)不到閃爍的相隔時(shí)間是0.1秒以下,即一秒至少要轉(zhuǎn)10圈,人眼才不會(huì)感覺(jué)到閃爍。那么電機(jī)就要求至少有10*60=600rpm的轉(zhuǎn)速了。這個(gè)電機(jī)不僅有噪音,而且轉(zhuǎn)速經(jīng)程序測(cè)得只有300rpm。所以看上去會(huì)有閃爍,而且用相機(jī)拍也不會(huì)拍得好。

努力尋求合適的電機(jī)和無(wú)線供電的解決方案……



2012年10月22日23:31:20
時(shí)隔半年,考進(jìn)了欽州二中 ,在這第一學(xué)期,碰上廣西新課程改革,多出了一個(gè)活動(dòng)“研究性學(xué)習(xí)”。于是我打算以此作為研究對(duì)象。并拉上兩位同學(xué)組了個(gè)隊(duì)(其實(shí)我自己也能獨(dú)立完成此項(xiàng)目,因?yàn)槲乙呀?jīng)找到了所有問(wèn)題的解決方案,但為了拉合同學(xué)關(guān)系、完成這個(gè)學(xué)分任務(wù),才去組隊(duì),而且報(bào)告要求也最好3-5人一隊(duì))。
我此次定的課題是“飄浮在空中的文字” 。組員賴可鐘、黃高松,還有我。當(dāng)然指導(dǎo)老師非屬王偉名啦!感覺(jué)好有緣呢。從初二到現(xiàn)在高一,從開(kāi)始的單片機(jī)新手到現(xiàn)在,玩這些電子技術(shù)的時(shí)候都有碰到與初二時(shí)教我們物理電學(xué)入門的陸麗莉老師(當(dāng)然教我電學(xué)入門的還有我老爸,但他是小時(shí)候?qū)W前班一二年級(jí)就教我了,盡管從我出生到初二他就只在一年級(jí)還是二年級(jí)或是三年級(jí)?時(shí)拋下一句話“電源正負(fù)極不能短接”就溜走了....其他什么也沒(méi)說(shuō)過(guò),我也沒(méi)想過(guò)還會(huì)有什么。好郁悶的說(shuō),不過(guò)我并不覺(jué)得很難,因?yàn)槲颐恳淮螄L試都是新的效果、新的發(fā)現(xiàn),不拘泥于后人得出的計(jì)算公式、規(guī)律。至于焊接技術(shù)、沖擊鉆之類的工具也都是我小時(shí)老是跑去別人施工地上、當(dāng)我爸在修電器時(shí),默默地看學(xué)來(lái)的。剩下的全是我自己在外婆家玩電器摸索。扯遠(yuǎn)了,回來(lái)!)有著各種關(guān)系的人,此次也不例外,王偉名老師在開(kāi)學(xué)的第一節(jié)物理課上,說(shuō)的第八句話“所以說(shuō),我們物理課是這樣的喔!”我馬上看到了陸老師的影子。因?yàn)樗闹v課方式和帶了我兩年的陸老師幾乎一致。我想:咦,不會(huì)是同一個(gè)師傅領(lǐng)出門的吧?事實(shí)證明,問(wèn)了這兩人,兩人回答一致。聽(tīng)說(shuō)現(xiàn)在陸老師還當(dāng)他弟弟的班主任?關(guān)系越來(lái)越緊密了……


前面我也說(shuō)過(guò),我所做的東西沒(méi)有充分準(zhǔn)備,沒(méi)有先前做過(guò)實(shí)驗(yàn)測(cè)試某部分的功能是否成功時(shí),我是不會(huì)繼續(xù)發(fā)展它的�,F(xiàn)在既然已經(jīng)打算作為研究性學(xué)習(xí)報(bào)告和二中這個(gè)學(xué)期的科技周的作品了,就說(shuō)明我已經(jīng)有信心、條件去完成它。

經(jīng)過(guò)半年,我想我最終決定要使用無(wú)線供電技術(shù),因?yàn)槲覍?shí)在不愿意聽(tīng)電刷的聲音。我在五一電子網(wǎng)站上,買到了一種無(wú)刷電機(jī)。聲稱卡死不燒壞,而且扭力、轉(zhuǎn)速都較大(在POVLED上算是較平衡的性能參數(shù))。買回來(lái)后事實(shí)也如此。還有無(wú)線供電,無(wú)線供電我還沒(méi)有進(jìn)行徹底的研究 ,但我找到了解決它的方案,總不能一直擱置著吧。我用淘寶上較受歡迎的無(wú)線供電模塊。做的還真保密,接收端的芯片被打磨掉型號(hào)等信息,發(fā)射端灌滿黑膠來(lái)封裝,只露出四個(gè)引腳。
好吧!總有一天我會(huì)徹底研究,不止是知道它是電磁感應(yīng)現(xiàn)象,還是要能自己焊接出它的等效電路,并為各電子元件取最合適的參數(shù)值達(dá)到最大效率。因?yàn)檫@種技術(shù)應(yīng)用很廣。

這是加入了無(wú)刷電機(jī)后的效果,無(wú)線供電明天中午我再繼續(xù)裝。高中搞得我業(yè)余時(shí)間大大縮減了,真是的,但我不會(huì)甘心的。所謂“不到黃河心不死”




2012年10月23日23:29:40
中午完成了無(wú)線供電模塊的安裝,還有重新調(diào)整旋轉(zhuǎn)部分的重心以及去掉原來(lái)那種綠色的IC卡座,換成更輕更小的卡座。但我不太愿意會(huì)不要卡座直接焊上去的。我怕發(fā)光二極管的引腳可能會(huì)意外刮開(kāi)漆包線的絕緣層,于是用了電工膠布?jí)|底,外用簡(jiǎn)單的透明膠布固定在板上。不過(guò)我也有點(diǎn)愁,下面的電機(jī)用什么固定好呢?就現(xiàn)在這一個(gè)小長(zhǎng)方體盒子,一轉(zhuǎn)起來(lái)是放不穩(wěn)的。因?yàn)槲野l(fā)現(xiàn)這個(gè)圓盤的中心軸的里面就不是平的,這個(gè)除了找到第二個(gè)可替代品外,很難處理,轉(zhuǎn)起來(lái)圓盤有點(diǎn)不是很完美的圓,稍微向下方斜一點(diǎn)。這個(gè)也無(wú)法通過(guò)改變重心使它們相互牽制來(lái)平衡了。希望影響不大。
我原來(lái)還想弄個(gè)雙色的,但是手頭的74HC573不夠,只有兩塊,四塊效果就好了。還有很多電路沒(méi)有焊接完成,一步步來(lái)! 只要整個(gè)制作的計(jì)劃完善,一切都是充滿信心和樂(lè)趣的。



2012年10月24日13:32:28
電路焊接完成。實(shí)驗(yàn)性編程測(cè)試表明電路沒(méi)有問(wèn)題,LED發(fā)光二極管也沒(méi)問(wèn)題,無(wú)線供電的功率也跟得上。而且較安靜,但是要做到絕對(duì)安靜,需要再來(lái)個(gè)大一點(diǎn)的底座,這次實(shí)驗(yàn)表明我昨天所做的重心調(diào)整很成功,雖然轉(zhuǎn)的時(shí)候有點(diǎn)晃(晃的時(shí)候底座微微撞擊桌面發(fā)出聲音),但是底座的位置始終不改變,不會(huì)造成轉(zhuǎn)著轉(zhuǎn)著就全部倒下的這種危險(xiǎn)現(xiàn)象。Good!程序?qū)⒗^續(xù)改進(jìn)。




2012年10月27日20:40:45
測(cè)試了兩天,終于解決字符顯示的延時(shí)問(wèn)題了。但是我覺(jué)得這延時(shí)寫(xiě)死不好,因?yàn)檫@樣的話,一旦轉(zhuǎn)速不穩(wěn)定(達(dá)不到8r/s或9r/s) 時(shí),可能會(huì)出現(xiàn)字符重復(fù)的BUG。因?yàn)樵诘谝淮瓮獠恐袛嗪蟮娘@示的延時(shí)的時(shí)間內(nèi),外部中斷信號(hào)再次到來(lái),兩個(gè)中斷函數(shù)穿插著執(zhí)行,會(huì)出現(xiàn)兩個(gè)相連著的字符的BUG現(xiàn)象。聽(tīng)說(shuō)網(wǎng)上有流傳一種算法,叫做自適應(yīng)算法。最初由“匠人”提出的,它可以動(dòng)態(tài)調(diào)節(jié)這個(gè)延時(shí)時(shí)間,使它與電機(jī)轉(zhuǎn)速相平衡。有空我會(huì)去研究下看看。另外因?yàn)閮?nèi)外圈的半徑不同,還造成顯示的字的邊向圓心壓縮。這個(gè)我想應(yīng)該可以通過(guò)延時(shí)來(lái)彌補(bǔ)。
另外在發(fā)現(xiàn)這個(gè)BUG的時(shí)候,意外的出現(xiàn)了一幅好看的畫(huà)面。由“金”字排成一圈造成的。








2012年10月28日16:09:37
昨晚的重復(fù)字符的問(wèn)題得到解決。
今天我意外的發(fā)現(xiàn),昨晚問(wèn)題判斷錯(cuò)誤了!
今天我斷開(kāi)電機(jī)電源,用手動(dòng)慢慢轉(zhuǎn)它,想看看那個(gè)延時(shí)時(shí)間和字符顯示的關(guān)系。但我意外地發(fā)現(xiàn),每當(dāng)我轉(zhuǎn)過(guò)磁鐵時(shí),這排LED燈總共閃了兩次。一般經(jīng)過(guò)一次LED燈只閃一次(人眼可辨認(rèn)出的轉(zhuǎn)速情況下),而我發(fā)現(xiàn)它閃了兩次,兩次的間隔大約0.5秒左右。于是我開(kāi)始懷疑,問(wèn)題不出在那個(gè)延時(shí)的數(shù)值上面!
后來(lái)我再次調(diào)整程序,讓其中一組LED燈(8個(gè))顯示一個(gè)變量的數(shù)值,這個(gè)變量是每一次外部中斷函數(shù)發(fā)生(下降沿信號(hào)過(guò)來(lái)時(shí))時(shí)自加一,然后輸出顯示。
結(jié)果我發(fā)現(xiàn),每當(dāng)我轉(zhuǎn)過(guò)一次,LED燈從最初的“00000000”(全亮)
變成“0000010”(從右到左數(shù)第二個(gè)不亮,其余全亮)LED燈顯示的二進(jìn)制。
即證明這個(gè)變量從0經(jīng)過(guò)兩次自加一,成了2 。
也就是說(shuō)外部中斷函數(shù)產(chǎn)生了兩次以上。

既然如此,那我就改寫(xiě)程序,只讓這兩次外部中斷的其中一次處理LED燈,另一次拋棄。
具體如下:
在外部中斷函數(shù)中
SIGNAL(INT0_vect)
{
static char flag=0x01;//聲明一個(gè)靜態(tài)變量flag,并賦予初值0x01
flag=~flag;//每次外部中斷產(chǎn)生時(shí),靜態(tài)變量自身反轉(zhuǎn)
if(flag==0x01)//當(dāng)反轉(zhuǎn)后為0xFE時(shí),下面的函數(shù)自然不能執(zhí)行,然后第二次中斷到來(lái)時(shí),又會(huì)反轉(zhuǎn)為0x01,然后就可以執(zhí)行了
        {
…………在此處為處理LED燈的數(shù)據(jù),每?jī)纱蜗陆笛剡^(guò)來(lái)時(shí),此處僅執(zhí)行一次。
        }
}
現(xiàn)在無(wú)論轉(zhuǎn)速如何,若不是我特意設(shè)置的,就完全不會(huì)出現(xiàn)重復(fù)字符的問(wèn)題啦!~~~
然后高興的我讓它一上電,顯示的第一句話!接著是我們班的口號(hào)“金鷹十四,威武之師,艱苦訓(xùn)練,奮勇?tīng)?zhēng)先”,然后“楊宇慶制作”


問(wèn)題雖解決了,但這是治標(biāo)不治本。到底怎么會(huì)有兩次下降沿過(guò)來(lái)呢?
是不是無(wú)線供電的線圈磁場(chǎng)對(duì)霍爾傳感器有影響呢?我移掉磁鐵,發(fā)現(xiàn)并沒(méi)有任何中斷產(chǎn)生。

我慢慢地手動(dòng)轉(zhuǎn)它,發(fā)現(xiàn)是在靠近磁鐵和離開(kāi)磁鐵后都產(chǎn)生了一次中斷(有時(shí)十幾個(gè)中斷。。。我是從8個(gè)LED中的每個(gè)的亮滅來(lái)看出來(lái)的)。但是這不太可能啊。
按理說(shuō):
中斷引腳一上電就被拉高了,外部中斷的控制寄存器(MCUCR)里,我設(shè)置為0x02。即“INT0 的下降沿產(chǎn)生異步中斷請(qǐng)求 ”。而且根據(jù)霍爾傳感器的設(shè)計(jì),每當(dāng)靠近磁鐵時(shí),信號(hào)輸出引腳會(huì)被拉低,離開(kāi)磁鐵后,引腳復(fù)原為高電平。
這樣時(shí)序圖就應(yīng)該是
————\_________/————
這樣的。由圖可知,整個(gè)只有一個(gè)下降沿、一個(gè)上升沿。并沒(méi)有兩個(gè)下降沿到達(dá)單片機(jī)。

但確實(shí)是有兩個(gè)下降沿到了。我以前做的自行車安全行駛監(jiān)控器時(shí),沒(méi)有出現(xiàn)過(guò)這樣的情況。我又換了一個(gè)霍爾傳感器,發(fā)現(xiàn)問(wèn)題依舊。

難道是磁鐵和無(wú)線供電線圈共同作用的結(jié)果?此問(wèn)題有待研究。



2012年12月3日12:04:42
決定重寫(xiě)代碼,特別是顯示部分。
原先的代碼是以一個(gè)字一個(gè)字的字模輸出的 ,如下:
for (;t<delay;t++)//最大延時(shí)142ms
{
_delay_ms(2);//旋轉(zhuǎn)幅度
}
if (delay == 71)//調(diào)整旋轉(zhuǎn)速度(延時(shí)顯示)最好令幅度*速度=142
delay=0;
else
delay++;
while(ShowID[cycle][0]!=0xFF && flag==0x01)
{

if (ShowID[cycle][1]==1)
{
//漢字
for (i=0;i<32;i+=2)
{
//PORTB=pgm_read_byte(&Font16_16[ShowID[cycle][0]*32+i]);
PORTA=pgm_read_byte(&Font16_16[ShowID[cycle][0]*32+i+1]);

PORTB=pgm_read_byte(&Font16_16[ShowID[cycle][0]*32+i]);
_delay_us(900);
PORTA=0xFF;
PORTB=0xFF;
}

}

else if (ShowID[cycle][1]==0)
{
//字符
for (i=0;i<16;i+=2)
{
PORTB=pgm_read_byte(&Font8_16[ShowID[cycle][0]*16+i]);
PORTA=pgm_read_byte(&Font8_16[ShowID[cycle][0]*16+i+1]);

_delay_us(900);

PORTB=0xFF;
PORTA=0xFF;
}
}
cycle++;
}
這種顯示方式有較大的局限性,不夠靈活,很難顯示圖案。我改進(jìn)的方向就是把文字圖形化,設(shè)置一個(gè)緩沖區(qū),就直接顯示緩沖區(qū)的內(nèi)容,而不去關(guān)注緩沖區(qū)里到底是什么東西。至于緩沖區(qū)則有另外的函數(shù)管理。

本作品,我打算將它放到學(xué)校的科技節(jié)上展示,那我得想下我要顯示什么內(nèi)容好。嗯,校園文化節(jié)嘛…………


2012年12月6日23:10:49
這真是令我極其興奮的時(shí)刻!  今天中午我寫(xiě)好了新的代碼,并且實(shí)驗(yàn)成功。但是我覺(jué)得上次那個(gè)重復(fù)中斷的問(wèn)題我的解決方案不好,我是屏蔽掉一次中斷的。這么一屏蔽的話,就會(huì)使顯示的頻率降低一半,導(dǎo)致畫(huà)面閃爍加劇。
于是我睡覺(jué)在想,睡夢(mèng)在想,吃飯?jiān)谙�,搭車都在想……到底是什么原因啊!為什么�?huì)時(shí)不時(shí)有多次中斷出現(xiàn),而且霍爾傳感器還沒(méi)到指定位置就發(fā)出中斷了。

今晚,我上網(wǎng)查有無(wú)類似的問(wèn)題,以前我也查過(guò),但沒(méi)發(fā)現(xiàn)結(jié)果,搜索到的內(nèi)容千篇一律,沒(méi)有講到細(xì)節(jié)的問(wèn)題。既然對(duì)于POVLED這個(gè)項(xiàng)目來(lái)說(shuō),沒(méi)有人提到過(guò),于是我懷疑是不是單片機(jī)問(wèn)題了。我再翻開(kāi)三百多頁(yè)的ATmega16單片機(jī)官方數(shù)據(jù)手冊(cè)。著重看了下外部中斷,發(fā)現(xiàn)有一句話這么說(shuō)道:(我用紅色線標(biāo)注的部分)

突然發(fā)現(xiàn),下降沿觸發(fā)中斷涉及到系統(tǒng)IO時(shí)鐘 ,我在想在高速旋轉(zhuǎn)和底部的供電線圈作用下,如果IO時(shí)鐘出現(xiàn)錯(cuò)亂,那么外部中斷的錯(cuò)誤也會(huì)出現(xiàn)的。
我先不管它是否是這個(gè)問(wèn)題,我先嘗試著使用為低電平時(shí)觸發(fā)的觸發(fā)方式,不使用下降沿觸發(fā),避開(kāi)IO時(shí)鐘錯(cuò)亂的因素。
同時(shí),因?yàn)榈碗娖接|發(fā)的話,只要一出現(xiàn)低電平,就會(huì)不斷地觸發(fā)中斷,觸發(fā)速度很快,直到出現(xiàn)高電平為止。對(duì)于這點(diǎn),我在觸發(fā)開(kāi)始的第一句代碼就是關(guān)閉外部中斷使能,避免再次觸發(fā),然后把顯示函數(shù)執(zhí)行完,然后再把外部中斷使能。
SIGNAL(INT0_vect)
{
char i;
GICR&=~(1<<INT0);//外部中斷關(guān)閉
for(i=0;i<Size;)//取模方式:陽(yáng)碼,逐列式,逆向,字模高16
{

PORTB=BufferFirst;//顯示第一緩沖區(qū)
PORTA=BufferFirst[++i];
i++;
_delay_us(700);
PORTB=0xFF;//背景設(shè)為黑,即無(wú)燈光背景
PORTA=0xFF;
}
GICR|=(1<<INT0);//外部中斷0使能
}
經(jīng)我計(jì)算,顯示函數(shù)(掃描顯示112列)執(zhí)行完總共需要156.8ms。而據(jù)上次測(cè)得轉(zhuǎn)速最大為9圈每秒,則1/9=0.1111111111約為111.1ms每圈。理論上這點(diǎn)時(shí)間的相差,會(huì)導(dǎo)致顯示內(nèi)容的偏移和偶爾丟掉一次顯示機(jī)會(huì)。但是9圈每秒是最大速度,一般情況下為七八圈每秒,丟掉一次顯示機(jī)會(huì)的頻率較低,基本上看不出一次閃爍。

實(shí)際運(yùn)行情況表明,我的猜想正確!這么設(shè)置后,畫(huà)面幾乎不閃爍了,顯示得很順暢,字跡清晰。耶哈哈!~~~~
此次解決結(jié)果遺留有一個(gè)小疑惑,如果是IO時(shí)鐘因某種外界影響出現(xiàn)錯(cuò)亂 的話,而且官方數(shù)據(jù)手冊(cè)里說(shuō)到這個(gè)時(shí)鐘也接到IO端口模塊里,為什么控制16個(gè)LED燈的端口數(shù)據(jù)不發(fā)生錯(cuò)亂呢?我繼續(xù)查閱手冊(cè)得知,讀取IO口數(shù)據(jù)時(shí)會(huì)用協(xié)議來(lái)讀取,協(xié)議中的時(shí)序就必須要有時(shí)鐘的參與。但寫(xiě)的時(shí)候是靠寄存器寫(xiě),是否也關(guān)聯(lián)到IO時(shí)鐘呢,這個(gè)今晚暫不追究,因?yàn)槲乙X(jué)啦!~~~~



2012年12月7日13:31:14
新加入一個(gè)顯示效果:橫向逐列掃描顯示。就是從左到右把文字慢慢顯示出來(lái)。每隔0.1秒顯示出新的一列。因?yàn)榈讓铀酗@示的算法代碼的我昨天已經(jīng)重寫(xiě)過(guò),現(xiàn)在加入各種特效都很方便。程序代碼將在我完成所有功能后公布。
關(guān)閉最外層和最內(nèi)層的兩個(gè)藍(lán)色LED燈。讓更多的電流流過(guò)16個(gè)LED燈,使顯示的內(nèi)容更加清晰明顯,原來(lái)的兩個(gè)做邊界的LED燈太亮了,我長(zhǎng)期調(diào)試看多了對(duì)眼睛不好。


2012年12月8日17:12:44
去學(xué)校為同學(xué)們田徑賽跑加油后,回來(lái)繼續(xù)寫(xiě)代碼。話說(shuō)我真佩服跑1500米的人,不為能否拿冠,有勇氣參與就是一大勝利!而且在跑的過(guò)程中,我們觀戰(zhàn)的人時(shí)不時(shí)輪流陪跑,送去葡萄糖飲料。場(chǎng)面實(shí)在動(dòng)人……

這次我寫(xiě)完了圖片的顯示代碼。最令我感受深刻的是,一旦核心代碼和程序架構(gòu)做完了,剩余的部分就是自由發(fā)揮,最輕松,最爽的過(guò)程了。這就叫掌握核心技術(shù)的魅力!~~~~就像現(xiàn)在這樣,我想讓它顯示什么就顯示什么,靈活、自由得很。別嫉妒,程序代碼我做完會(huì)公布的。
如果前幾天我沒(méi)重寫(xiě)整個(gè)程序的代碼的話,現(xiàn)在我不會(huì)這么輕松了,好的開(kāi)始是好的。
我剛才寫(xiě)的代碼,目前是讓一男一女站在橋的兩邊,然后會(huì)怎樣呢?敬請(qǐng)期待下次更新。嘻嘻。
不過(guò)取模累死我。。。用鼠標(biāo)一個(gè)個(gè)點(diǎn),以點(diǎn)陣的形式畫(huà)出男女圖像,還有動(dòng)態(tài)的圖像。多虧了Photoshop的圖層復(fù)制和移動(dòng)這些功能的輔助。




2012年12月9日10:24:16
哦也!所有代碼編寫(xiě)完成。程序也正常 。
顯示的內(nèi)容為:
"高一十四",
"楊宇慶制作",
"鵲橋仙 秦觀",
"纖云弄巧",
"飛星傳恨",
"銀漢迢迢暗度",
"金風(fēng)玉露一相逢",
"便勝卻人間無(wú)數(shù)",
"柔情似水","佳期如夢(mèng)",
"忍顧鵲橋歸路",
"兩情若是久長(zhǎng)時(shí)",
"又豈在朝朝暮暮" ,
然后畫(huà)出一道橋,橋的兩邊一男孩一女孩
然后慢慢走近。走得很近很近的時(shí)候,畫(huà)面就靜止2秒。
然后回到開(kāi)頭,重新顯示“高一十四” ……
拍錄像不好拍,因?yàn)閹瑪?shù)的問(wèn)題,看不到不連續(xù)的畫(huà)面。但人眼是可以看到的。



程序源代碼預(yù)覽:

下載:



2013年1月27日
我把它作為學(xué)校的課題研究報(bào)告,然后出乎我意料的是,居然被認(rèn)為是年級(jí)的代表作。
然后讓我設(shè)計(jì)一個(gè)展板去展示它。然后花了幾天時(shí)間設(shè)計(jì)。
前幾天,學(xué)校把這個(gè)展板噴出來(lái)了。。。



下面是設(shè)計(jì)原圖:(展板很大,2.4米*1.2米,像素一萬(wàn)多乘五千多,我縮小10%上傳到QQ空間�?赡茉谶@里看字不太清晰,但實(shí)際看展板時(shí)是很清晰的)


程序源代碼預(yù)覽:

下載:



評(píng)分

參與人數(shù) 4威望 +55 黑幣 +77 收起 理由
彬Lsl + 12 很給力!厲害!厲害!
暗光 + 35 很給力!
Elect_DIYer + 5 真是有志不在年少啊!頂一個(gè)!
admin + 50 + 30

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂3 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:63906 發(fā)表于 2014-7-20 17:19 | 只看該作者
學(xué)習(xí)學(xué)習(xí),嘿嘿,51黑有你更精彩�。�!
回復(fù)

使用道具 舉報(bào)

板凳
ID:72995 發(fā)表于 2015-1-31 12:41 | 只看該作者
樓主好贊好贊好贊好贊
回復(fù)

使用道具 舉報(bào)

地板
ID:59839 發(fā)表于 2015-3-15 11:49 | 只看該作者
樓主好厲害,向你學(xué)習(xí)!��!
回復(fù)

使用道具 舉報(bào)

5#
ID:138082 發(fā)表于 2016-8-31 19:26 | 只看該作者
是否提供原理圖
回復(fù)

使用道具 舉報(bào)

6#
ID:150476 發(fā)表于 2016-11-27 10:09 來(lái)自觸屏版 | 只看該作者
你好,可以給我個(gè)聯(lián)系方式嗎
回復(fù)

使用道具 舉報(bào)

7#
ID:153732 發(fā)表于 2016-12-10 17:52 | 只看該作者
樓主你好,我也是二中人,我高中的物理老師也是王偉名,所以應(yīng)該稱你為師兄了。我現(xiàn)在對(duì)單片機(jī)很感興趣,可以給我你的聯(lián)系方式嗎?希望可以和你交流一下。
回復(fù)

使用道具 舉報(bào)

8#
ID:169087 發(fā)表于 2017-3-10 21:49 | 只看該作者
有電路圖
回復(fù)

使用道具 舉報(bào)

9#
ID:232386 發(fā)表于 2017-9-12 18:40 | 只看該作者
樓主可以把電路圖給我么
回復(fù)

使用道具 舉報(bào)

10#
ID:357667 發(fā)表于 2018-6-24 11:18 | 只看該作者
高中生能有這般動(dòng)手能力真的是奇才,樓主現(xiàn)在哪里上大學(xué)呢?
回復(fù)

使用道具 舉報(bào)

11#
ID:401257 發(fā)表于 2019-6-1 16:25 | 只看該作者
真的很難得,望你大學(xué)更出色
回復(fù)

使用道具 舉報(bào)

12#
ID:405102 發(fā)表于 2019-8-1 22:27 | 只看該作者
學(xué)習(xí)學(xué)習(xí),51黑有你我們才有希望,祝51黑越辦越強(qiáng)好。
回復(fù)

使用道具 舉報(bào)

13#
ID:382145 發(fā)表于 2019-8-6 15:13 | 只看該作者
樓主真優(yōu)秀,路漫漫其修遠(yuǎn)兮,共勉!
回復(fù)

使用道具 舉報(bào)

14#
ID:554793 發(fā)表于 2019-8-8 11:46 | 只看該作者
程序有問(wèn)題,樓主
回復(fù)

使用道具 舉報(bào)

15#
ID:484435 發(fā)表于 2019-8-8 19:16 | 只看該作者
很有用處,謝謝分享
回復(fù)

使用道具 舉報(bào)

16#
ID:282095 發(fā)表于 2019-8-9 08:56 | 只看該作者
中學(xué)生有如此水平的確蠻厲害的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表