亚洲精品影院一区二区-亚洲精品永久一区-亚洲精品中文一区不卡-亚洲精品中文字幕久久久久久-国产亚洲精品aaa大片-国产亚洲精品成人a在线

您好,歡迎光臨電子應(yīng)用網(wǎng)![登錄] [免費注冊] 返回首頁 | | 網(wǎng)站地圖 | 反饋 | 收藏
在應(yīng)用中實踐
在實踐中成長
  • 應(yīng)用
  • 專題
  • 產(chǎn)品
  • 新聞
  • 展會
  • 活動
  • 招聘
當(dāng)前位置:中國電子應(yīng)用網(wǎng) > 技術(shù)應(yīng)用 > 正文

基于單片機簡單實現(xiàn)圖形顯示的方法

2011年11月28日14:39:16 本網(wǎng)站 我要評論(2)字號:T | T | T
關(guān)鍵字:應(yīng)用 單片機 
  1設(shè)計思路

  當(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)行程序處理。

QQ截圖未命名1.jpg

  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ù)位之后,我們首先用程序把所有端口置零,使輸出電壓為零,從而使鏡面處于原始靜止位置,并把中斷開啟,并置一些初始值。

QQ截圖未命名1.jpg

  當(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è)計中難免存在一些缺陷,還望批評指正。



 

網(wǎng)友評論:已有2條評論 點擊查看
登錄 (請登錄發(fā)言,并遵守相關(guān)規(guī)定)
如果您對新聞頻道有任何意見或建議,請到交流平臺反饋。【反饋意見】
關(guān)于我們 | 聯(lián)系我們 | 本站動態(tài) | 廣告服務(wù) | 歡迎投稿 | 友情鏈接 | 法律聲明
Copyright (c) 2008-2025 01ea.com.All rights reserved.
電子應(yīng)用網(wǎng) 京ICP備12009123號-2 京公網(wǎng)安備110105003345號