新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 將LCD顯示器讀數(shù)讀入單片機(jī)的接口電路

將LCD顯示器讀數(shù)讀入單片機(jī)的接口電路

作者: 時間:2010-09-11 來源:網(wǎng)絡(luò) 收藏

  2.1 顯示狀態(tài)讀取

  由CD4067、CD4051、LM324(UA、UB)組成顯示狀態(tài)讀取,讀取數(shù)碼各段的顯示狀態(tài)。CD4067多路模擬開關(guān)從 的13個段電極信號中選擇一路Sx-x輸出到LM324(UA)的反相輸入端2腳。CD4051多路模擬開關(guān)從的4個COM信號中選擇一路 COMx輸出到LM324(UA)的同相輸入端3腳。LM324(UA)接成模擬減法器,由1腳輸出信號COMx-Sx-x。UB作電壓比較器,參考電壓 VR大小由電位器W1調(diào)節(jié)于V0/3~V0之間,將段電壓COMx-Sx-x與VR比較。比較結(jié)果為該段的顯示狀態(tài),高電平說明該段顯示,低電平不顯示。 顯示狀態(tài)送入8051的P1.6腳。R1、C1組成RC濾波器,濾除高頻干擾。

  比如,要讀取0號數(shù)碼的a段顯示狀態(tài),由圖1知,0號數(shù)碼a段的段電極是S0-1,公共電極是COM0。由程序控制在t1時間內(nèi)令PC1PC0 =00,使CD4051選擇COM0,令PC5~PC2=0001,使CD4067選擇S01,COM0和S01兩信號電壓經(jīng)UA減法器相減,然后再經(jīng) UB電壓比較后得到a段的顯示狀態(tài),8051從P1.6腳讀取此顯示狀態(tài)。

  2.2 INT0中斷信號產(chǎn)生

  UC和UD組成INT0中斷信號產(chǎn)生電路。UC 接成電壓跟隨器,減小電路對COM0信號的影響。R2、C2組成RC濾波器,濾除高頻干擾。UD作電壓比較器,參考電壓VR加在同相輸入端,VR大小由電 位器W2調(diào)節(jié)于2V0/3~V0。電壓比較器將COM0信號轉(zhuǎn)換為INT0負(fù)脈沖信號,工作波形如圖4所示。負(fù)脈沖的下降沿為LCD驅(qū)動信號周期T的起始 時刻。此負(fù)脈沖接至8051的INT0腳,在負(fù)脈沖的下降沿產(chǎn)生外部中斷0。

  

按此在新窗口瀏覽圖片

  圖4 比較器UD工作波形

  3 程序設(shè)計

  啟用外部中斷0和定時器T0,以中斷方式讀取LCD各位數(shù)碼的字形碼。主程序以查詢方式讀取該字形碼,然后經(jīng)過校驗、字形碼到BCD碼的譯碼、識別等,將字形碼轉(zhuǎn)換為。

  3.1 讀取字形碼

  通過外部中斷0和定時器T0以中斷方式讀取LCD某一編號數(shù)碼的字形碼。如圖5所示,INT0負(fù)脈沖在周期T的起始時刻引起外部中斷0,由 INT0中斷服務(wù)程序啟動T0定時器,依次在t1~t4半個周期內(nèi)的f、a、g、b、e、c、d各時刻產(chǎn)生T0中斷,讀取各段的顯示狀態(tài),獲得字形碼。 T0定時器設(shè)為工作方式2,自動再裝入定時時間為T/16,初始定時時間為T/32。INT0和T0中斷服務(wù)程序流程如圖6所示。

  

按此在新窗口瀏覽圖片

  圖5 T0中斷的各個時刻

  

  圖6 INT0和T0中斷服務(wù)程序流程

  其中,PC口數(shù)據(jù)格式:PC5~PC3為要讀取的那位LCD數(shù)碼編號,PC2為段電極編號,PC1PC0為COM電極編號。

  3.2 字形碼轉(zhuǎn)換

  主程序以查詢方式分別讀取由中斷服務(wù)程序采集的各位數(shù)碼的字形碼,查表將字形碼轉(zhuǎn)換為BCD碼,再將幾位數(shù)碼的BCD碼轉(zhuǎn)變?yōu)閿?shù)值。

  3.3 讀數(shù)校驗

  讀取一位數(shù)碼的字形碼需要1個周期T(實際只用前半個周期),經(jīng)測量,T=16.318 ms。讀取全部612位數(shù)碼至少需要用7個周期,約114 ms??紤]到在讀數(shù)的過程中,LCD的讀數(shù)有可能發(fā)生變化而導(dǎo)致讀數(shù)錯誤,程序中采用連續(xù)兩次讀數(shù)的方法來校驗讀數(shù)的正確性。如果連續(xù)兩次讀數(shù)相 同,則說明讀數(shù)是正確的;如果連續(xù)兩次讀數(shù)不同,則說明讀數(shù)可能是錯誤的,應(yīng)重新讀數(shù)。

  3.4 讀數(shù)識別

  血壓計顯示的內(nèi)容除了收縮壓、舒張壓和心率以外還有充氣、放氣時的瞬時壓強(qiáng)以及一些狀態(tài)信息。LCD中間的半位 (6號)用于顯示待機(jī) (Reay to measure)、充氣(CUFF Inflating)、放氣(CUFF Deflating)以及更換電池(Replace Batteries)四個符號。另外,4號數(shù)碼顯示“E”時表示測量出錯,顯示“P”時,右邊3位 (0~2號)數(shù)碼顯示的數(shù)字為心率。左右兩邊顯示內(nèi)容均是數(shù)字時,左邊3位(3~5號)是收縮壓,右邊3位是舒張壓,血壓與心率交替顯示。主程序通過這些 信息來識別LCD所顯示的內(nèi)容。

  4 結(jié)論

  使用此電路采集數(shù)據(jù),不必考慮與拾取信號的測量相關(guān)的細(xì)節(jié)問題和技術(shù)規(guī)范。這樣,當(dāng)拾取信號的測量比較復(fù)雜時,可以有效地縮短開發(fā)周期。同時,它也不存在二次A/D轉(zhuǎn)換或V/F轉(zhuǎn)換方法所存在的采集數(shù)據(jù)與儀表讀數(shù)不完全一致的問題。

  程序設(shè)計用1個驅(qū)動信號周期讀取1位數(shù)碼,這樣的讀取速度對于讀數(shù)變化不是很快的血壓計來說已經(jīng)足夠了。如果測量儀表LCD讀數(shù)變化很快,可以修改編程,在1個周期內(nèi)同時讀取幾位數(shù)碼,甚至修改電路設(shè)計,將后半周期也用于進(jìn)行讀數(shù),實現(xiàn)在1個信號周期內(nèi)讀取所有數(shù)碼。

DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉