歡迎您光臨本站 登入註冊首頁

概述

文章討論了點陣圖形液晶顯示器在攜帶型頻率特性測試儀中的應用,詳細介紹了點陣液晶顯示模塊的硬體介面技術和軟體設計。關鍵詞:LCD;AVR;頻率特性測試儀  引言硬體設計本設計所選的液……

文章討論了點陣圖形液晶顯示器在攜帶型頻率特性測試儀中的應用,詳細介紹了點陣液晶顯示模塊的硬體介面技術和軟體設計。
關鍵詞:LCD;AVR;頻率特性測試儀  
引言

硬體設計
本設計所選的液晶顯示器是深圳天馬微電子公司的TM320240 EFG,它是一款內藏SED1335控制器的點陣式圖形液晶顯示模塊。LCD控制器選用的是EPSON公司的SED1335,內部擁有一個160種5×7點陣字元的字元發生器,能分區管理64K的顯示存儲器,並同時能管理自定義字元發生器。模塊TM320240EFG的對外介面實質上就是控制器SED1335與MCU的介面。在單片機的選型上,考慮到系統功能與電路的簡潔,採用Atmel 公司推出的AVR單片機AT90S8535,內嵌8路10位ADC,可直接輸入模擬電壓信號。
AT90S8535與TM320240EFG介面電路如圖1所示,該圖採用間接訪問方式進行連接。單片機通過控制SED1335完成對圖形液晶模塊的控制。所謂間接訪問方式,就是把TM320240EFG作為終端接在AT90S8535的某個并行I/O介面上,AT90S8535通過對該I/O介面的操作,間接地實現對TM320240EFG的控制。間接訪問方式的介面電路與時序無關。
在電路中,AT90S8535使用8位并行PC口作為數據線與模塊的數據線DB0~DB7連接,另外還需要一個3位并行介面作為時序控制信號線/RD,/WR和A0。把PB口中的PB0作為寫信號接至TM320240 EFG的寫控制信號/WR上;PD口中的PD3作為讀信號接至TM320240EFG的讀控制信號/RD上;PD4作為數據類型選擇信號與模塊的A0連接。由於這些并行介面在MCU系統中有自己的專用地址,所以TM320240EFG的片選信號 /CS可以不使用,直接接地選通。液晶驅動電源VEE取值為-20V,利用單片DC-DC轉換器MC34063從邏輯電源轉換生成負電源。電路中LCD電源控制端V0用來調節顯示屏灰度,電位器R3作為調節液晶顯示對比度使用。
ADC的0通道輸入經過檢波后的採樣信號,帶寬為10KHz ,經RC濾波去除交流分量。5.1V穩壓管起保護作用,高於5.1V的輸入信號被限幅在5.1V之內。該輸入波形的X軸方向掃描頻率為50Hz,周期為20ms,12ms工作期,8ms消隱期。外部中斷管腳INT0輸入50Hz的方波,作為同步脈衝。MCU的晶振選為6M。

屏幕規劃
該液晶屏為320×240點陣,將坐標原點(0,0)定在整個液晶屏的左上角,向右為X坐標,向下為Y坐標。為美觀起見,四周邊框留出空白區域,實際顯示曲線的區域為X方向從第24點到264點,共240個點距,30位元組;Y方向從第16點到208點,共192個點距, 24位元組。為方便觀測,在顯示區內繪製坐標軸,用虛線等間距地將橫向分作10小格,豎向分作8小格。
在進行圖形顯示時,起初我們採用的是單層顯示方法,但由於要求實時顯示,必須考慮屏幕的刷新問題。由於此液晶屏屬多點陣,刷新滿屏需花費很長一段時間,刷新完后還要在屏幕上重新繪製出坐標軸,增加了MCU的操作負擔,而且頻繁的滿屏刷新還會引起屏幕的閃爍現象發生。因此採取的解決方法為:顯示時分作兩層顯示,第一層為文本屬性,第二層為圖形屬性。將不需刷新的坐標軸、漢字顯示在文本層,首地址$0000。將實時動態更新的幅頻特性曲線顯示在圖形層,首地址$1000,並通過兩層的邏輯“或”操作進行合成顯示,以達到圖文並茂的顯示效果。這樣,在刷新時,文本層上的坐標軸和漢字可以保持不變,所需刷新的僅為圖形層上的曲線。實際測試結果表明,分層顯示的設計思路是正確的。

軟體設計
設計思想
繪製曲線在軟體設計上關鍵是畫點和消點的程序。
ADC採用單次轉換模式,總的轉換周期數為14,總的轉換時間70~280ms,預分頻器的分頻因子選為32,故ADC時鐘頻率為6M/32=187.5KHz。所以每一次的轉換時間是14/187.5K=74.666ms,此ADC轉換時間是在6M的晶體振蕩頻率下最快的採樣時間。若選小於32的分頻因子,則總的轉換時間太快,將小於70ms,不能實現。考慮到實際需要,ADC轉換時間越快越適宜,故不採用64以上分頻。
用ox來記錄X方向位元組數,初始值為$00,隨點的右移從1到30遞增。當ox=30時,說明X方向已到達有效顯示區的尾部。code記錄點在位元組中所處位置,畫奇數點時code從$80開始右移,畫偶數點時code從$40開始右移,每次移動2位,移完一位元組后,ox加1。
ADC能轉換的最大量程電壓是電路基準電壓Vref的值,這裡調節的是4V。1V佔48個點距。某一時刻,輸入信號Z V(Z≤4),則其在屏幕上Y向的位置是208-Z×48。MCU內嵌的ADC為10位精度,採樣結果轉化成點的高度的計算表達式為:
208-(ADֵ)×(4/1024)×48=208-(ADֵ)×3/16              (1)
考慮到輸入信號的掃描時間和MCU的AD轉換時間,整個屏幕在X方向要顯示240點,只能採取隔列掃描的方法,分兩幀畫完全屏,第一幀畫奇數點,第二幀畫偶數點。先在工作期12ms內採樣數據,進行120次AD轉換,將其轉換結果按順序存入片內SRAM中,所以需要100ms啟動ADC一次。同時,把信號的消隱期8ms加以利用,在整個20ms周期內畫120個奇數點,20ms/120=166.666ms,我們設定每隔161.333ms畫一個點。畫點的具體方法為:從SRAM中取出AD值,將每組的AD採樣結果用式(1)進行計算,轉化成Y方向坐標,得到點的高度值,送入寄存器oy中。由於屏幕上一橫行是320個點,即40位元組,顯示區距離左邊框為3位元組,可計算出該點的地址,結果存於寄存器r7: r6中,表達式為:
r7: r6 = oy*40+3+$1000+ox         (2)
接著再確定該點在此位元組中的位數,調用繪點程序即可。畫完一屏的奇數點后,等待下一個同步脈衝到來,然後,在同樣的掃描時間內,用同樣的方法繪製出120個偶數點。這樣,全屏顯示的時間僅為40ms,人的肉眼觀測到的是一條連續的曲線,不會出現隔列的效果。另外,考慮到屏幕的刷新問題,每次畫點前,都要在此列先消點。消點和畫點的方法類似,程序中用ox1和code1與畫點加以區別,這裡不再累述。

[admin via 研發互助社區 ] 點陣液晶顯示器在攜帶型頻率特性測試儀中的應用已經有2280次圍觀

http://cocdig.com/docs/show-post-11923.html