基于STC11F02E的立體旋轉LED設計與實(shí)現
3 軟件設計
主程序軟件主要為LED顯示模塊的程序。主程序首先是對系統環(huán)境初始化,設置端口P1.1、P1.2強上拉,然后啟動(dòng)延時(shí),初始化74HC5 95移位寄存器,允許外部中斷INT0中斷,設置下降沿觸發(fā)中斷,開(kāi)啟總中斷,點(diǎn)亮LED1、LED2,進(jìn)入循環(huán)等待中斷。74HC595移位寄存器接收當前定時(shí)器的數值,鎖存住然后將字庫中的字符傳輸到輸出端,最終16個(gè)LED可以正常顯示字符。
LED顯示是根據16×16點(diǎn)陣顯示屏的原理來(lái)顯示字符的,當16個(gè)LED旋轉16行時(shí)就會(huì )顯示一個(gè)字。由于STC11F02E的總線(xiàn)為8位,所以顯示一個(gè)字的時(shí)候需要拆分為兩部分,一般拆分為上下兩部分,上部由8×16點(diǎn)陣組成,下部也由8×16點(diǎn)陣組成。例如顯示“沈”字如圖2所示。本文引用地址:http://dyxdggzs.com/article/167846.htm
本例中單片機首先顯示的是左上角的第一列的上半部分,即第0列的P00-P07口。方向為P00-P07,顯示漢字“沈”字時(shí),P04點(diǎn)亮,由上往下排列,為P00滅,P01滅,P02滅,P03滅,P04亮,P05滅,P06滅,P07滅。即二進(jìn)制為00001000,轉換16進(jìn)制為08h。
上半部第一列完成后,繼續掃描下半部的第一列,仍為由上往下掃描,即從P37向P30方向掃描,P35點(diǎn)亮,二進(jìn)制為00100000,16進(jìn)制為10h。
然后單片機轉向上半部第二列,P01、P05點(diǎn)亮,為01000100,即16進(jìn)制44h,這一列完成后繼續進(jìn)行下半部的掃描,P35點(diǎn)亮為二進(jìn)制為00100000,即16進(jìn)制20h。按照這個(gè)方法,繼續進(jìn)行下面的掃描,一共掃描32個(gè)8位可以得出漢字“沈”的掃描代碼。
根據單片機內部機器周期為1/12,晶振為12MHz,由式(1)可以算出執行一條指令的頻率為1MHz,得出周期為1 μs。
1/12×12MHz=1MHz (1)
當LED旋轉時(shí),相當于每?jì)蓚€(gè)字符傳送一次,設置其延時(shí)為600 μs,由于人們的視覺(jué)暫留時(shí)間為0.1~0.4S,所以當LED旋轉一周時(shí),人們看到上一次的LED還是亮著(zhù)的,從而感覺(jué)到“沈”字始終顯示著(zhù)。
由于此次設計的電路板半徑為11.5cm,LED半徑為0.5cm,所以這個(gè)顯示屏最多能顯示9個(gè)字符。
4 結論
本設計的立體旋轉LED因為用的是無(wú)線(xiàn)供電方式,旋轉起來(lái)很安靜,很平穩,電機的速度也很快,旋轉時(shí)不怎么閃爍。由于本設計采用的是單排16個(gè)LED所以電路板的另一端必須得有個(gè)重物來(lái)保持平衡。無(wú)線(xiàn)供電電路中的兩個(gè)線(xiàn)圈距離不能太遠,必須保持在3cm之內,否則無(wú)法提供足夠穩定的電壓。
評論