陳曉虎
【摘 要】本設(shè)計以單片機AT89C51作為控制核心,外圍電路由角度傳感器模塊,A/D轉(zhuǎn)換模塊,液晶顯示模塊,電源模塊幾部分電路組成。角度傳感器將0-90°的角度信號轉(zhuǎn)換成為0-5V的電壓模擬信號,然后傳給ADC0809,ADC0809則將此模擬信號轉(zhuǎn)換成數(shù)字信號,再送入AT89C51,經(jīng)過數(shù)據(jù)處理后,驅(qū)動YJ-162A液晶顯示器,實現(xiàn)角度的顯示。
【關(guān)鍵詞】AT89C51單片機;YJ-162A液晶;AME-B001角度傳感器;JM106ATADC0809CCN模數(shù)轉(zhuǎn)換器
0 引言
在現(xiàn)實生活中有許多轉(zhuǎn)動問題,而這些問題中一般都涉及到角度的測量,怎樣方便的、準確的測量出角度,十分重要,尤其是野外勘探對測量儀器的要求更苛刻。數(shù)顯傾斜角測量儀,就是在這種需求下誕生的,具有使用方便,功耗小,性能穩(wěn)定,耐用等特點。
隨著科技的進步,它已經(jīng)被用到新興的產(chǎn)業(yè),比如智能汽車,可以根據(jù)坡度的變換自動調(diào)整檔位,從而實現(xiàn)全地形匹配。它還可以用與其他飛行器的設(shè)計中,未來的使用前景相當?shù)目捎^。
1 系統(tǒng)設(shè)計與實現(xiàn)
根據(jù)設(shè)計要求,本系統(tǒng)可由圖1所示的幾部分組成。
圖1 系統(tǒng)設(shè)計圖
AME-B001角度傳感器將0~90°的角度信號轉(zhuǎn)換成為0~5V的電壓模擬信號,然后傳給ADC0809,ADC0809則將此模擬信號轉(zhuǎn)換成數(shù)字信號,再送入AT89C51,經(jīng)數(shù)據(jù)處理后,驅(qū)動YJ-162A液晶顯示器,實現(xiàn)角度的顯示。
1.1 硬件系統(tǒng)的設(shè)計
1.1.1 角度傳感器模塊電路
AME-B001角度傳感器有三個端口,5V,GND,SIGNAL,在正常工作狀態(tài)下將0~90°的角度信號轉(zhuǎn)換成為0~5V的電壓模擬信號為系統(tǒng)采集角度信號。
1.1.2 A/D轉(zhuǎn)換模塊電路
ADC0809數(shù)模轉(zhuǎn)化器將角度傳感器采集到的角度模擬信號,通過逐次積分后轉(zhuǎn)換成8位數(shù)字信號。其正常工作需要500K的轉(zhuǎn)換時鐘CLK,需要啟動脈沖STR,需要轉(zhuǎn)換允許OE,地址鎖存A.B.C,基準電壓REF等等,其中500K時鐘信號可以將單片機的ALE腳的2M頻率的信號進行4分頻得到,所以要使用74LS393進行輔助,其啟動脈沖則由單片機控制,采用延時方式進行轉(zhuǎn)換,從而達到轉(zhuǎn)換要求。
1.1.3 AT89C51控制模塊電路
AT89C51作為整個系統(tǒng)的核心,擔負著整個系統(tǒng)的控制作用,它和12M晶振,以及少量的電容和電阻,以及一個常開觸點的開關(guān)組成的最小系統(tǒng),通過通用燒錄器將程序燒入其中,給其賦予靈魂,實現(xiàn)其優(yōu)越的控制功能。
1.1.4 液晶顯示模塊電路
液晶顯示模塊主要由YJ-162A液晶顯示器組成,其有16個引腳,其中8個數(shù)據(jù)端口,一個使能端,兩個控制端,電源腳,GND腳,還有兩個背光控制端和一個對比度控制端,在液晶開始使用是需要對其進行初始化,從而確定液晶的工作方式,為后期的顯示工作做好準備。
1.1.5 電源模塊電路
電源模塊主要由L7805CV三端穩(wěn)壓管和少量的電容組成,7805的1腳接輸入電源的正極,2腳為公共地,3腳為5V穩(wěn)壓輸出,C1-C6主要作整容濾波處理,7805正常工作最大電流1A,加上散熱片后最高可達1.5A而本系統(tǒng)最大電流180mA,所以足以提供穩(wěn)定的電源。
1.2 軟件設(shè)計
1.2.1 軟件框圖
圖2 軟件設(shè)計框圖
軟件采用循環(huán)方式,不斷將0809轉(zhuǎn)換得到的數(shù)據(jù)通過單片機處理,公式是由角度傳感器的量程決定的,從而實現(xiàn)8位單片機的浮點計算,所以這部分程序也是這個程序的一個亮點,然后將已經(jīng)數(shù)學計算的數(shù)據(jù)寫入液晶顯示,待顯示完成后跳回0809轉(zhuǎn)換程序,從而實現(xiàn)循環(huán)轉(zhuǎn)換,循環(huán)計算,循環(huán)顯示。
1.2.2 初始化液晶模塊
液晶初始化程序,設(shè)定液晶的工作方式為;5×7雙行顯示,顯示的內(nèi)容向有移動,光標不顯示,8位總線進行數(shù)據(jù)的傳遞,液晶的初始顯示地址為00H,正確的初始化為后期的正常顯示做準備。
1.2.3 啟動ADC0809模塊
程序用P2.0口來控制ADC0809的ALE口,用P2.1來控制START口,ALE口的上升沿將ABC的地址送到地址鎖存器,START口則在上升沿進行復(fù)位數(shù)據(jù)存儲器,下降沿進行轉(zhuǎn)換,每次置位和清零中間有一小段的延時,從而使ADC0809工作更加的穩(wěn)定。
1.2.4 數(shù)學運算模塊
程序的主要作用有兩個,第一進行數(shù)學運算,第二進行數(shù)據(jù)的存儲,可以算的上是整個程序的核心,因為在除法中有小數(shù)點的引入,所以程序的計算顯得有些復(fù)雜,運算的結(jié)果存在指定的存儲空間內(nèi),用于后期的液晶顯示。
1.2.5 液晶顯示模塊
程序總體比較簡單,主要包括液晶驅(qū)動程序和延時子程序,單片機依次將各存儲空間的值調(diào)出后傳給液晶顯示,因為在液晶的顯示過程中需要一定的時間所以在程序的編寫中需要一定的延時,當程序執(zhí)行到最后時又跳回ADC轉(zhuǎn)換程序從而實現(xiàn)循環(huán)檢測,循環(huán)計算,循環(huán)顯示。
2 調(diào)試及實驗中遇到的問題
2.1 單片機正常工作問題
一般說來判斷單片機正常工作與否主要通過檢測其ALE腳是否有2M赫茲的信號輸出。實驗剛開始檢測AT89C51的ALE腳時,發(fā)現(xiàn)沒有預(yù)期的2M赫茲的信號出現(xiàn),這表明單片機并沒有正常的工作,通過檢查晶振電路,復(fù)位電路,電源和地線,發(fā)現(xiàn)這些電路均正常,排除了這些可能性后,突然發(fā)現(xiàn)EA腳本應(yīng)接高電位卻接了低電位,通過分析得到EA如果腳接低電位將讀取片外程序存儲器,而系統(tǒng)沒有擴展,因此找不到設(shè)備無法正常工作。
2.2 ADC0809正常轉(zhuǎn)換問題
ADC0809正常工作需要很多的條件,需要500K的轉(zhuǎn)換時鐘CLK,需要啟動脈沖STR,需要轉(zhuǎn)換允許OE,地址鎖存A.B.C,基準電壓等等REF,并且檢查無誤,但測試IN0~IN7沒有轉(zhuǎn)換信號輸出,經(jīng)過反復(fù)的檢查,發(fā)現(xiàn)中斷結(jié)束位EOC一直處于高電位,這表明ADC0809一直處于轉(zhuǎn)換中,隨后檢查軟件找到了原因,是因為轉(zhuǎn)換的延時時間太短,ADC0809轉(zhuǎn)換時間128US,通過更正后,實現(xiàn)了轉(zhuǎn)換。
【參考文獻】
[1]丁元杰.單片微機原理及應(yīng)用[M].北京:機械工業(yè)出版社,2005,7.
[2]余孟嘗.數(shù)字電子技術(shù)簡明教程[M].北京:高等教育出版社,1995.
[3]孫德文.微型計算機技術(shù)[M].北京:高等教育出版社,2001.
[責任編輯:湯靜]