當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]基于單片機(jī)簡(jiǎn)單實(shí)現(xiàn)圖形顯示的方法 靳曉波 (山西機(jī)電職業(yè)技術(shù)學(xué)院山西長(zhǎng)治 046011)摘要:本文闡述了單片機(jī)在光源顯示方面一種應(yīng)用,利用單片機(jī)設(shè)計(jì)實(shí)現(xiàn)用點(diǎn)光源顯示出各種幾何圖形的方法。分別設(shè)計(jì) 原理、硬件電路

摘要:本文闡述了單片機(jī)在光源顯示方面一種應(yīng)用,利用單片機(jī)設(shè)計(jì)實(shí)現(xiàn)用點(diǎn)光源顯示出各種幾何圖形的方法。分別設(shè)計(jì)
原理、硬件電路和軟件設(shè)計(jì)思路的方面進(jìn)行詳細(xì)敘述。關(guān)鍵詞:?jiǎn)纹瑱C(jī)圖形顯示電光源中圖分類(lèi)號(hào): TP317文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 1007-9416(2011)02一O0 56—02
隨著單片機(jī)在當(dāng)今社會(huì)中的應(yīng)用越來(lái)越廣泛,本設(shè)計(jì)從單片機(jī)應(yīng)用方面為教學(xué)提供一種教學(xué)項(xiàng)目,并為點(diǎn)光源的圖形顯示提
出一種方法。

1設(shè)計(jì)思路

當(dāng)一個(gè)電光源的光束射人到鏡面上時(shí)就會(huì)發(fā)生反射現(xiàn)象,當(dāng)我們讓光束以固定角度入射到鏡面上時(shí),就會(huì)在另一面反射出來(lái)。這時(shí),我們讓鏡面以水平方向中心軸為支點(diǎn)前后快速晃動(dòng)時(shí),由于人眼的余輝效應(yīng),我們就會(huì)觀測(cè)到反射出來(lái)的光在顯示屏上呈現(xiàn)出一條豎向的光線;同樣當(dāng)我們以豎直方向中心軸為支點(diǎn)前后陜速晃動(dòng)時(shí),我們就會(huì)在顯示屏上觀測(cè)到一條豎向的光線。

我們就以這種現(xiàn)象為模型,讓點(diǎn)光源發(fā)出的光線先經(jīng)過(guò)一個(gè)以水平中心軸為支點(diǎn),前后轉(zhuǎn)動(dòng)的鏡面,反射出來(lái)的光線再經(jīng)過(guò)一個(gè)以豎直中心軸為支點(diǎn)前后晃動(dòng)的鏡面。當(dāng)兩面鏡子都不晃動(dòng)時(shí)所產(chǎn)生的點(diǎn)稱(chēng)為原點(diǎn);把其中一個(gè)鏡面沿水平方向軸晃動(dòng)時(shí),另一面鏡子不動(dòng)時(shí)產(chǎn)生的光線稱(chēng)為Y軸;把其中的一面不動(dòng),而另一面沿豎直方向軸晃動(dòng)時(shí)
所產(chǎn)生的光線稱(chēng)為x軸。

這樣我們通過(guò)這兩個(gè)鏡子的不同晃動(dòng)的組合就產(chǎn)生各種各樣的圖形,例如:通過(guò)晃動(dòng)其中一個(gè)鏡面就可以產(chǎn)生一條橫線或者是豎線,當(dāng)兩個(gè)鏡面—起晃動(dòng)時(shí)就可以產(chǎn)生斜線、三角形、矩形和圓形,當(dāng)我們快速的在同部位上利用這些圖形的組合就可以形成各種美麗的圖案,這就是我們?cè)诟鞣N娛樂(lè)場(chǎng)所看到的燈光效果。

我們只需要利用上面所建立的坐標(biāo)系和最后所需要產(chǎn)生的圖形,就可以轉(zhuǎn)換成各種兩個(gè)不同的鏡面組合。我們把鏡面中心軸固定,其中一測(cè)裝上彈簧這樣的恢復(fù)裝置,另外

一側(cè)裝上動(dòng)力裝置,如:在一側(cè)貼上貼片,利用電磁鐵的吸引力就可以驅(qū)動(dòng)鏡面晃動(dòng);還可以利用耳機(jī)中的發(fā)聲裝置產(chǎn)生動(dòng)力??傊?,就是把鏡面的轉(zhuǎn)動(dòng)轉(zhuǎn)化電量的變化。

2硬件電路設(shè)計(jì)

在電路的設(shè)計(jì)中,我們只需要完成利用單片機(jī)控制兩個(gè)電量的可控變化就可以完成整體設(shè)計(jì)。我們利用單片機(jī)的P0口和P 2口分別輸出兩個(gè)二進(jìn)制數(shù),然后經(jīng)過(guò)DA轉(zhuǎn)化為模擬信號(hào),然后在經(jīng)過(guò)功放電路之后傳給動(dòng)力裝置,這就是硬件設(shè)計(jì)的整體思路。

下面分別進(jìn)行詳細(xì)說(shuō)明。

A控制部分:在學(xué)校教學(xué)中考慮到教學(xué)成本,經(jīng)常采用8 9C51作為控制核心,因?yàn)槠渚哂谐錾男詢(xún)r(jià)比及可靠的穩(wěn)定性。控制器的作用是我們可以利用控制器完成產(chǎn)生何種波形的選擇,還要利用單片機(jī)的運(yùn)算能力,運(yùn)算各種圖形形成所需要的變化量,還要利用單片機(jī)不斷的輸出各種中間變化量,從而使電路中產(chǎn)生一種我們所需要的信號(hào)。電路是一個(gè)基本的最小系統(tǒng),外加一個(gè)利用中斷源擴(kuò)展的八個(gè)按鈕按鍵,八個(gè)按鍵分別接P1口各位。按鍵的作用是:產(chǎn)生直線圖形、產(chǎn)生三角形圖形、產(chǎn)生矩形圖形、產(chǎn)生圓型圖形、產(chǎn)生型圖形、使圖形變大、使圖形變小、使產(chǎn)生圖形閃爍的頻率變化。具體連接具體原理是,當(dāng)我們按下其中某一個(gè)按鍵時(shí),對(duì)應(yīng)的電路信號(hào)就會(huì)從高電平變?yōu)榈碗娖?,這八個(gè)信號(hào)經(jīng)過(guò)與電路的運(yùn)算之后從 INTO端就會(huì)輸出一個(gè)低電平,使單片機(jī)的外部中斷0上的信號(hào)變低,進(jìn)人中斷程序。這八個(gè)信號(hào)線和單片機(jī)的P1口相連,從而傳給單片機(jī)一個(gè)對(duì)應(yīng)的數(shù)值。從而使單片機(jī)判斷出,是那個(gè)按鍵按下,進(jìn)而進(jìn)行程序處理。

B外圍電路:把從單片機(jī)的PO口和P2口輸出的數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換為模擬信號(hào)。這部分主要是AD轉(zhuǎn)換電路,由于我們的顯示的圖形比較多,所以在圖案比較復(fù)雜時(shí),信號(hào)的變化頻率是比較決的,具體的芯片型號(hào)需要根據(jù)圖形顯示時(shí)間以及閃爍變化的頻率計(jì)算后的數(shù)據(jù)來(lái)選擇。只要芯片的工作速度跟的上就行。

C驅(qū)動(dòng)部分:由于系統(tǒng)的動(dòng)力部分是由電流驅(qū)動(dòng)的,所以經(jīng)過(guò)外圍電路輸出的電信號(hào)不能直接連接到動(dòng)力裝置上,需要經(jīng)過(guò)一個(gè)功率放大電路加強(qiáng)電路輸出的驅(qū)動(dòng)能力,可以采用功放芯片或者是經(jīng)典的OTC功率放大電路均可,后者可以提高制作者對(duì)模擬電路的理解和調(diào)試電路的能力。

3軟件設(shè)計(jì)

當(dāng)單片機(jī)上點(diǎn)復(fù)位后,Po__P3口均輸出高電平,所以在上電復(fù)位之后,我們首先用程序把所有端口置零,使輸出電壓為零,從而使鏡面處于原始靜止位置,并把中斷開(kāi)啟,并置一些初始值。

當(dāng)程序開(kāi)始運(yùn)行之后就會(huì)進(jìn)入圖形顯示的選擇程序,我們?cè)O(shè)置一個(gè)延時(shí)程序,當(dāng)這段時(shí)問(wèn)內(nèi)沒(méi)有按鍵按下時(shí),單片機(jī)按照我們?cè)O(shè)置的初始值顯示一個(gè)固定的圖形;當(dāng)這段時(shí)間內(nèi)有按鍵按下時(shí),程序會(huì)根據(jù)我們按下的按鍵賦值,從而顯示不同的圖形或改變圖形的大小或者是改變圖形閃爍的頻率。本段程序的按鍵判斷可用比較法來(lái)完成,當(dāng)有按鍵按下時(shí),程序會(huì)進(jìn)入中斷,我們判斷Pl寄存器中的數(shù)據(jù)是否為FEH,若是則說(shuō)明此時(shí)P1.0連接的按鍵按下,此時(shí)我們讓程序返回執(zhí)行某一圖形的顯示程序。圖形顯示程序是最重要的部分,我們根據(jù)對(duì)應(yīng)的按鍵按下時(shí),從中斷程序返回的數(shù)值判斷出,主程序中應(yīng)該要執(zhí)行某個(gè)圖形的顯示程序。圖形顯示程序中我們首先從直線開(kāi)始說(shuō)明,直線顯示比較簡(jiǎn)單,我們想顯示一條橫線的時(shí)候,就從單片機(jī)的P2口輸出一組從H開(kāi)始逐漸增大,然后又逐漸減小的值,從而是動(dòng)力裝置得到一個(gè)從0逐漸變大再逐漸變小的信號(hào),使其中一個(gè)鏡面沿中心軸逐漸的向一側(cè)偏轉(zhuǎn),然后在彈簧的恢復(fù)力的作用下漸漸復(fù)原,在顯示屏上投下一條橫線。同樣想顯示豎線的時(shí)候,我們只需要使程序從P2口輸出一段&H逐漸變大,然后由大逐漸變小的值即可。

顯示一條斜線時(shí),根據(jù)函數(shù)Y:KX+B可知,當(dāng)X軸上變化的值已知時(shí),就能算出對(duì)應(yīng)的Y軸的值,我們x軸上的數(shù)值從00H開(kāi)始變大,然后變小時(shí),就能得到對(duì)應(yīng)的Y的值的變化趨勢(shì),把這兩個(gè)值分別從P0口和P2口輸出,就會(huì)使兩個(gè)鏡子共同轉(zhuǎn)動(dòng),使顯示的圖形呈Y=KX+B趨勢(shì)。

同樣,我們想顯示三角形時(shí),任何三角形都是有三條兩兩相交的有限的直線夠成,分別記作Y=KX,+B.,Y,=K,X,+BY= KX+B,我們把X軸的變量從H逐漸變大,再逐漸變小,而Y軸上的值分別按照各自的值在各自的區(qū)間內(nèi)變化一次,從而在P0口和P2口分別輸出一組對(duì)應(yīng)的變化信號(hào),使輸出的圖形顯示出三角形。

最后,矩形是由四條有限直線的構(gòu)成,并且是有兩組平行線,我們按照這個(gè)規(guī)律讓X軸和Y軸的數(shù)值各自變化一次,即可得到結(jié)果。型圖形,是由四條相交于一點(diǎn)的直線構(gòu)成,顯示的時(shí)候,我們必須首先計(jì)算出,相交點(diǎn)的坐標(biāo),然后分別按各自的變化規(guī)律,從P0口和P2口輸出一次就行。圓形顯示時(shí),我們首先計(jì)算出圓點(diǎn)的坐標(biāo)然后,按照公式 Xz+Yz:Rz計(jì)算出各個(gè)點(diǎn)的坐標(biāo),進(jìn)而輸出顯示即可。

圖形的大小的確定,圖形的大小是由兩個(gè)鏡面每次變化的最大范圍決定,當(dāng)我們改變每次變化時(shí)X的最大值時(shí),就會(huì)改變各個(gè)圖形對(duì)應(yīng)的大小。我們?cè)诔绦虻钠鹗紩r(shí),給一個(gè)中間值,當(dāng)我們按下變大按鍵式,在中斷程序中改變這個(gè)值,主程序中,當(dāng)X或者Y的值增大到這個(gè)值時(shí),開(kāi)始變小。注意,因?yàn)殓R面的轉(zhuǎn)動(dòng)是有限的,超過(guò)這個(gè)值時(shí),光線就不會(huì)被反射,所以當(dāng)增大按鍵一直按下,中間值就會(huì)一直增大,當(dāng)達(dá)到極限值后,就不在增大。圖像變小按鍵的程序算法也一樣,只是變化時(shí),是讓中間值變小而已。

圖形閃爍的原理,就是利用當(dāng)我們讓入射光線和鏡面的夾角小于0?;蛘呤谴笥?0。時(shí),光線就不會(huì)被反射到外界了,所以,系統(tǒng)顯示時(shí),鏡面和 ^射光線的夾角應(yīng)在0。到90。之間。我們?cè)趫D形完成一次整體顯示時(shí),改變P0和P2口的輸出值,使鏡面和光線的夾角小于0。或者是大于90。,使外界沒(méi)有顯示,在運(yùn)行延時(shí)程序,程序開(kāi)始時(shí)給一個(gè)延時(shí)值,通過(guò)按鍵按下時(shí),在中斷程序中改變這個(gè)延時(shí)值的大小,這樣當(dāng)我們不斷的按這個(gè)按鍵時(shí),圖形的閃爍頻率從快到慢,或者是從慢到快。系統(tǒng)程序總體流程圖如圖2所示。

本設(shè)計(jì)為單片機(jī)應(yīng)用實(shí)例一種可行的方案,但是由于經(jīng)驗(yàn)和水平有限,在設(shè)計(jì)中難免存在一些缺陷,還望批評(píng)指正。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉