《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 從LCD電極讀數(shù)的單片機接口技術
從LCD電極讀數(shù)的單片機接口技術
摘要: 以測量儀表中常見的時分割驅(qū)動法驅(qū)動的段式LCD顯示器為例,,分析LCD顯示器的電極連接結構和驅(qū)動信號波形,;介紹單片機讀取儀表LCD讀數(shù)的接口電路,。此接口電路應用于筆者開發(fā)的自動血壓監(jiān)控儀的研制及臨床應用項目中,,由8031單片機讀取血壓計的收縮壓,、舒張壓、心率以及充氣和放氣時瞬時壓強。實驗證明,,此接口電路工作穩(wěn)定、可靠,。
Abstract:
Key words :

  通過測量儀表拾取被測信號是單片機前向通道設計中常用的數(shù)據(jù)采集方式,。通常,,接口電路從儀表電路中取得相關的模擬信號,,經(jīng)過A/D轉換或V/F 轉換送入單片機;或者取得一個頻率信號,,經(jīng)整形后送入單片機[1],。然而,有些測量儀表電路中可能找不到這樣的信號,。以電容式壓力傳感器血壓計為例,,盡管從其振蕩電路中可以取得一個與壓強成線性關系的頻率信號[2],送入單片機測得壓強,,但這個壓強并不是所要拾取的收縮壓,、舒張壓和心率;而普通的血壓計又沒有智能儀表那樣的通信接口與單片機通信,。顯然,,要想通過這樣的儀表拾取被測信號只有直接讀取其顯示屏的讀數(shù)了。

  本文以一個全自動血壓計為例,,介紹將LCD顯示器讀數(shù)讀入單片機的接口電路,。該血壓計顯示器為6 1/2位段式LCD顯示器,3位顯示收縮壓,,3位顯示舒張壓,。1/2位在兩組數(shù)碼中間,顯示4個指示符號,。

  1  LCD的電極連接結構和工作波形

  1.1  LCD的電極連接結構

  圖1為血壓計LCD的電極連接結構及等效電路,。其中,圖1(a)為公共電極連接排列,,圖1(b)為段電極連接排列,。它共有4個公共電極COM0~COM3,每位數(shù)碼各有2個段電極Sx-0,、Sx-1,,其等效電路為一個4行×2列的矩陣,如圖1(c)所示,。

<a class=LCD電極連接結構及等效電路" border="0" height="105" hspace="0" src="http://files.chinaaet.com/images/20100812/7f69e0e9-14b6-4532-8cd5-3da7982a80f5.jpg" width="299" />

圖1  LCD電極連接結構及等效電路

  1.2  LCD的工作波形

  用雙蹤示波器觀察血壓計LCD的工作波形,,如圖2所示。它采用時分割驅(qū)動法驅(qū)動,,偏比1/3,占空比1/4,,B型[3],。公共電極 COM0~COM3的信號波形始終保持不變,段電極Sx-0,、Sx-1信號波形隨顯示數(shù)字的變化而變化,。圖2中的Sx-0、Sx-1波形為顯示數(shù)字“0” 時的工作波形,。由圖2可知,,不考慮信號的直流分量,所有波形的前半周期t1~t4與后半周期t5~t8大小相等,,極性相反,。COM0~COM3信號電壓依次在t1~t4四個時間內(nèi)達到峰值。時間t1為第1行上f,、a兩段的掃描時間,,公共電極COM0,Sx-0為f段的段電極,,Sx-1為a段的段電極,。在 t1時間內(nèi), f段上的電壓COM0-Sx-0=V0,,a段上的電壓COM0-Sx-1=V0,,f、a兩段均處于選擇狀態(tài),,顯示,。其余各段在其掃描時間內(nèi)的電壓和顯示狀態(tài)如表1所列。7段中只有g段上的電壓為V0/3,,處于非選擇狀態(tài),,不顯示。其余6段均處于選擇狀態(tài),,顯示,。因此,顯示數(shù)字“0”,。

LCD工作波形

圖2  LCD工作波形

表1  顯示“0”時各段的顯示狀態(tài)

顯示

  由此可見,,只要依次檢查在t1~t4四個時間內(nèi)f、a,、g,、b、e,、c,、d各段上的電壓COMx-Sx-y(x=0,1,…,6;y=0,1)是V0還是V0/3即可獲得LCD各位數(shù)碼的字形碼,然后再將字形碼轉換為測量結果。

  2  單片機讀數(shù)接口電路

  圖3為根據(jù)上述工作原理設計的8051單片機讀數(shù)接口電路,。圖中,,LCD為血壓計的液晶顯示器,6位數(shù)碼從右到左依次編號0~5,,中間半位的編號為6,。它有13個段電極、4個COM電極,,GND為血壓計的接地端,。8051的 PC口為8051的擴展并行口。

 讀數(shù)接口電路

圖3  讀數(shù)接口電路

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

  由CD4067,、CD4051,、LM324(UA,、UB)組成顯示狀態(tài)讀取電路,,讀取LCD數(shù)碼各段的顯示狀態(tài)。CD4067多路模擬

 

開關從 LCD的13個段電極信號中選擇一路Sx-x輸出到LM324(UA)的反相輸入端2腳,。CD4051多路模擬開關從LCD的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比較,。比較結果為該段的顯示狀態(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信號轉換為INT0負脈沖信號,,工作波形如圖4所示。負脈沖的下降沿為LCD驅(qū)動信號周期T的起始時刻,。此負脈沖接至8051的INT0腳,,在負脈沖的下降沿產(chǎn)生外部中斷0。

 

比較器UD工作波形

圖4  比較器UD工作波形

  3  程序設計

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

  3.1  讀取字形碼

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

T0中斷的各個時刻

圖5  T0中斷的各個時刻

INT0和T0中斷服務程序流程

圖6  INT0和T0中斷服務程序流程

  

 

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

  3.2  字形碼轉換

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

  3.3  讀數(shù)校驗

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

  3.4  讀數(shù)識別

  血壓計顯示的內(nèi)容除了收縮壓,、舒張壓和心率以外還有充氣,、放氣時的瞬時壓強以及一些狀態(tài)信息。LCD中間的半位 (6號)用于顯示待機(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  結論

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

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

  參考文獻

  [1]  何立民.MCS51單片機應用系統(tǒng)設計——系統(tǒng)配置與接口技術[M].北京:北京航空航天大學出版社,1990:226229.

  [2]  甄斌,,周永進,,王素品.示波法血壓測量的實現(xiàn)與討論[J].生物醫(yī)學工程學雜志,1999,,16(1):4245.

  [3]  李維諟,,郭強.液晶顯示器件應用技術[M].北京:北京郵電學院出版社,1993: 6976.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。