基于單片機簡單實現(xiàn)圖形顯示的方法
當(dāng)一個電光源的光束射人到鏡面上時就會發(fā)生反射現(xiàn)象,當(dāng)我們讓光束以固定角度入射到鏡面上時,就會在另一面反射出來。這時,我們讓鏡面以水平方向中心軸為支點前后快速晃動時,由于人眼的余輝效應(yīng),我們就會觀測到反射出來的光在顯示屏上呈現(xiàn)出一條豎向的光線;同樣當(dāng)我們以豎直方向中心軸為支點前后陜速晃動時,我們就會在顯示屏上觀測到一條豎向的光線。
我們就以這種現(xiàn)象為模型,讓點光源發(fā)出的光線先經(jīng)過一個以水平中心軸為支點,前后轉(zhuǎn)動的鏡面,反射出來的光線再經(jīng)過一個以豎直中心軸為支點前后晃動的鏡面。當(dāng)兩面鏡子都不晃動時所產(chǎn)生的點稱為原點;把其中一個鏡面沿水平方向軸晃動時,另一面鏡子不動時產(chǎn)生的光線稱為Y軸;把其中的一面不動,而另一面沿豎直方向軸晃動時
所產(chǎn)生的光線稱為x軸。
這樣我們通過這兩個鏡子的不同晃動的組合就產(chǎn)生各種各樣的圖形,例如:通過晃動其中一個鏡面就可以產(chǎn)生一條橫線或者是豎線,當(dāng)兩個鏡面—起晃動時就可以產(chǎn)生斜線、三角形、矩形和圓形,當(dāng)我們快速的在同部位上利用這些圖形的組合就可以形成各種美麗的圖案,這就是我們在各種娛樂場所看到的燈光效果。
我們只需要利用上面所建立的坐標(biāo)系和較后所需要產(chǎn)生的圖形,就可以轉(zhuǎn)換成各種兩個不同的鏡面組合。我們把鏡面中心軸固定,其中一測裝上彈簧這樣的恢復(fù)裝置,另外
一側(cè)裝上動力裝置,如:在一側(cè)貼上貼片,利用電磁鐵的吸引力就可以驅(qū)動鏡面晃動;還可以利用耳機中的發(fā)聲裝置產(chǎn)生動力。總之,就是把鏡面的轉(zhuǎn)動轉(zhuǎn)化電量的變化。
2硬件電路設(shè)計
在電路的設(shè)計中,我們只需要完成利用單片機控制兩個電量的可控變化就可以完成整體設(shè)計。我們利用單片機的P0口和P 2口分別輸出兩個二進(jìn)制數(shù),然后經(jīng)過DA轉(zhuǎn)化為模擬信號,然后在經(jīng)過功放電路之后傳給動力裝置,這就是硬件設(shè)計的整體思路。
下面分別進(jìn)行詳細(xì)說明。
A控制部分:在學(xué)校教學(xué)中考慮到教學(xué)成本,經(jīng)常采用8 9C51作為控制核心,因為其具有出色的性價比及可靠的穩(wěn)定性。控制器的作用是我們可以利用控制器完成產(chǎn)生何種波形的選擇,還要利用單片機的運算能力,運算各種圖形形成所需要的變化量,還要利用單片機不斷的輸出各種中間變化量,從而使電路中產(chǎn)生一種我們所需要的信號。電路是一個基本的較小系統(tǒng),外加一個利用中斷源擴展的八個按鈕按鍵,八個按鍵分別接P1口各位。按鍵的作用是:產(chǎn)生直線圖形、產(chǎn)生三角形圖形、產(chǎn)生矩形圖形、產(chǎn)生圓型圖形、產(chǎn)生型圖形、使圖形變大、使圖形變小、使產(chǎn)生圖形閃爍的頻率變化。具體連接具體原理是,當(dāng)我們按下其中某一個按鍵時,對應(yīng)的電路信號就會從高電平變?yōu)榈碗娖剑@八個信號經(jīng)過與電路的運算之后從 INTO端就會輸出一個低電平,使單片機的外部中斷0上的信號變低,進(jìn)人中斷程序。這八個信號線和單片機的P1口相連,從而傳給單片機一個對應(yīng)的數(shù)值。從而使單片機判斷出,是那個按鍵按下,進(jìn)而進(jìn)行程序處理。
B外圍電路:把從單片機的PO口和P2口輸出的數(shù)據(jù)經(jīng)過轉(zhuǎn)換為模擬信號。這部分主要是AD轉(zhuǎn)換電路,由于我們的顯示的圖形比較多,所以在圖案比較復(fù)雜時,信號的變化頻率是比較決的,具體的芯片型號需要根據(jù)圖形顯示時間以及閃爍變化的頻率計算后的數(shù)據(jù)來選擇。只要芯片的工作速度跟的上就行。
C驅(qū)動部分:由于系統(tǒng)的動力部分是由電流驅(qū)動的,所以經(jīng)過外圍電路輸出的電信號不能直接連接到動力裝置上,需要經(jīng)過一個功率放大電路加強電路輸出的驅(qū)動能力,可以采用功放芯片或者是經(jīng)典的OTC功率放大電路均可,后者可以提高制作者對模擬電路的理解和調(diào)試電路的能力。
3軟件設(shè)計
當(dāng)單片機上點復(fù)位后,Po__P3口均輸出高電平,所以在上電復(fù)位之后,我們首先用程序把所有端口置零,使輸出電壓為零,從而使鏡面處于原始靜止位置,并把中斷開啟,并置一些初始值。
當(dāng)程序開始運行之后就會進(jìn)入圖形顯示的選擇程序,我們設(shè)置一個延時程序,當(dāng)這段時問內(nèi)沒有按鍵按下時,單片機按照我們設(shè)置的初始值顯示一個固定的圖形;當(dāng)這段時間內(nèi)有按鍵按下時,程序會根據(jù)我們按下的按鍵賦值,從而顯示不同的圖形或改變圖形的大小或者是改變圖形閃爍的頻率。本段程序的按鍵判斷可用比較法來完成,當(dāng)有按鍵按下時,程序會進(jìn)入中斷,我們判斷Pl寄存器中的數(shù)據(jù)是否為FEH,若是則說明此時P1.0連接的按鍵按下,此時我們讓程序返回執(zhí)行某一圖形的顯示程序。圖形顯示程序是較重要的部分,我們根據(jù)對應(yīng)的按鍵按下時,從中斷程序返回的數(shù)值判斷出,主程序中應(yīng)該要執(zhí)行某個圖形的顯示程序。圖形顯示程序中我們首先從直線開始說明,直線顯示比較簡單,我們想顯示一條橫線的時候,就從單片機的P2口輸出一組從H開始逐漸增大,然后又逐漸減小的值,從而是動力裝置得到一個從0逐漸變大再逐漸變小的信號,使其中一個鏡面沿中心軸逐漸的向一側(cè)偏轉(zhuǎn),然后在彈簧的恢復(fù)力的作用下漸漸復(fù)原,在顯示屏上投下一條橫線。同樣想顯示豎線的時候,我們只需要使程序從P2口輸出一段&H逐漸變大,然后由大逐漸變小的值即可。
顯示一條斜線時,根據(jù)函數(shù)Y:KX+B可知,當(dāng)X軸上變化的值已知時,就能算出對應(yīng)的Y軸的值,我們x軸上的數(shù)值從00H開始變大,然后變小時,就能得到對應(yīng)的Y的值的變化趨勢,把這兩個值分別從P0口和P2口輸出,就會使兩個鏡子共同轉(zhuǎn)動,使顯示的圖形呈Y=KX+B趨勢。
同樣,我們想顯示三角形時,任何三角形都是有三條兩兩相交的有限的直線夠成,分別記作Y=KX,+B.,Y,=K,X,+BY= KX+B,我們把X軸的變量從H逐漸變大,再逐漸變小,而Y軸上的值分別按照各自的值在各自的區(qū)間內(nèi)變化一次,從而在P0口和P2口分別輸出一組對應(yīng)的變化信號,使輸出的圖形顯示出三角形。
較后,矩形是由四條有限直線的構(gòu)成,并且是有兩組平行線,我們按照這個規(guī)律讓X軸和Y軸的數(shù)值各自變化一次,即可得到結(jié)果。型圖形,是由四條相交于一點的直線構(gòu)成,顯示的時候,我們必須首先計算出,相交點的坐標(biāo),然后分別按各自的變化規(guī)律,從P0口和P2口輸出一次就行。圓形顯示時,我們首先計算出圓點的坐標(biāo)然后,按照公式 Xz+Yz:Rz計算出各個點的坐標(biāo),進(jìn)而輸出顯示即可。
圖形的大小的確定,圖形的大小是由兩個鏡面每次變化的較大范圍決定,當(dāng)我們改變每次變化時X的較大值時,就會改變各個圖形對應(yīng)的大小。我們在程序的起始時,給一個中間值,當(dāng)我們按下變大按鍵式,在中斷程序中改變這個值,主程序中,當(dāng)X或者Y的值增大到這個值時,開始變小。注意,因為鏡面的轉(zhuǎn)動是有限的,超過這個值時,光線就不會被反射,所以當(dāng)增大按鍵一直按下,中間值就會一直增大,當(dāng)達(dá)到極限值后,就不在增大。圖像變小按鍵的程序算法也一樣,只是變化時,是讓中間值變小而已。
圖形閃爍的原理,就是利用當(dāng)我們讓入射光線和鏡面的夾角小于0。或者是大于90。時,光線就不會被反射到外界了,所以,系統(tǒng)顯示時,鏡面和 ^射光線的夾角應(yīng)在0。到90。之間。我們在圖形完成一次整體顯示時,改變P0和P2口的輸出值,使鏡面和光線的夾角小于0。或者是大于90。,使外界沒有顯示,在運行延時程序,程序開始時給一個延時值,通過按鍵按下時,在中斷程序中改變這個延時值的大小,這樣當(dāng)我們不斷的按這個按鍵時,圖形的閃爍頻率從快到慢,或者是從慢到快。系統(tǒng)程序總體流程圖如圖2所示。
本設(shè)計為單片機應(yīng)用實例一種可行的方案,但是由于經(jīng)驗和水平有限,在設(shè)計中難免存在一些缺陷,還望批評指正。
相關(guān)閱讀:
- ...2012/04/12 10:03·基于單周控制的單相并網(wǎng)逆變算法
- ...2012/03/15 10:44·一種基于單元分類的鋼鐵企業(yè)煤氣調(diào)度模型
- ...2012/03/07 13:45·基于單周期控制的雙管正激變換器
- ...2012/02/14 12:53·基于單應(yīng)矩陣的攝像機標(biāo)定方法及應(yīng)用
- ...2011/11/29 09:33·基于單片機AT89C51SND1C的MP3方案設(shè)計
- ...2011/11/07 15:11·基于單片機μPD780822的客車CAN總線燈光節(jié)點的設(shè)計及實現(xiàn)
- ...· “芯創(chuàng)杯”首屆高校未來汽車人機交互設(shè)計大賽報名正式啟動
- ...· 探秘第二屆衛(wèi)藍(lán)山鷹“創(chuàng)新·共享”試驗技術(shù)論壇!
- ...· “2018中國半導(dǎo)體生態(tài)鏈大會”在江蘇省盱眙舉行
- ...· 新主題新規(guī)劃,CITE 2019瞭望智慧未來
- ...· 從汽車到工廠,TI毫米波傳感器致力于創(chuàng)造更智能的世界
- ...· 意法半導(dǎo)體(ST)、Cinemo和Valens在CES 2018展上聯(lián)合演示汽車信息娛樂解決方案
- ...· 北京集成電路產(chǎn)業(yè)創(chuàng)新發(fā)展高峰論壇即將在京召開
- ...· 三菱電機強勢出擊PCIM亞洲2017展
- ...· GPGPU國產(chǎn)替代:中國芯片產(chǎn)業(yè)的空白地帶
- ...· 物聯(lián)網(wǎng)產(chǎn)品設(shè)計中Wi-Fi連接的四個關(guān)鍵因素
- ...· 第三屆中國MEMS智能傳感器產(chǎn)業(yè)發(fā)展大會即將于蚌埠拉開帷幕
- ...· IAIC專項賽演繹“中國芯“應(yīng)用創(chuàng)新,信息安全高峰論壇亮劍海寧
- ...· 智能控制有源鉗位反激
- ...· 解讀5G毫米波OTA 測試技術(shù)
- ...· 多個市場高速增長推動Molex加強汽車領(lǐng)域的發(fā)展
- ...· 中國綠色制造聯(lián)盟成立大會召開在即 政產(chǎn)學(xué)研用共探綠色發(fā)展新模式
- ...· Efinix® 全力驅(qū)動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產(chǎn)品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進(jìn)博會,引領(lǐng)智慧新生活
- ...· 三電產(chǎn)品開發(fā)及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導(dǎo)體領(lǐng)域 為面板級扇出型封裝提供化學(xué)濕制程、涂布及激光應(yīng)用等生產(chǎn)設(shè)備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統(tǒng)順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統(tǒng)中標(biāo)北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負(fù)載系統(tǒng)成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關(guān)鍵部件測評研討會上演繹先進(jìn)測評技術(shù)
- ...· 數(shù)據(jù)采集終端系統(tǒng)設(shè)備
- ...· 簡儀科技踏上新征程
- ...· 易靈思® 宣布 AEC-Q100 資質(zhì)認(rèn)證和汽車系列產(chǎn)品計劃
- ...· 易靈思® 宣布擴充高性能 鈦金系列™ FPGA 產(chǎn)品 鈦金系列產(chǎn)品擴充至包含 1M 邏輯單元的 FPGA
- ...· 易靈思® 宣布Trion® Titanium 在臺積電 (TSMC) 16納米工藝節(jié)點流片
- ...· TI杯2019年全國大學(xué)生電子設(shè)計競賽頒獎典禮在京舉行
- ...· BlackBerry QNX虛擬機獲得全球首個汽車安全完整性等級(ASIL) ‘D’認(rèn)證
- ...· 威馬汽車選擇BlackBerry助力下一代汽車