<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 如何解決LCD圖標大小不對等的問題?LCD電極讀數(shù)如何看出單片機的接口技術(shù)?

          如何解決LCD圖標大小不對等的問題?LCD電極讀數(shù)如何看出單片機的接口技術(shù)?

          作者: 時間:2017-10-22 來源:網(wǎng)絡(luò) 收藏

            如何解決LCD圖標大小不對等的問題?

            注:Android 4.3引入的wm工具

          本文引用地址:http://www.ex-cimer.com/article/201710/367411.htm

            wm命令及用法:

            系統(tǒng)說明:

            usage: wm [subcommand] [opTIons]

            wm size [reset|WxH]

            wm density [reset|DENSITY]

            wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]

            wm size: return or override display size.

            wm density: override display density.

            wm overscan: set overscan area for display.

            解釋:wm是高通平臺(MTK平臺類似的命令為am,其他平臺沒接觸,不太清楚)下對手機分辨率、像素密度、顯示區(qū)域進行設(shè)置的命令。其參數(shù)比較少,下面逐條介紹一下該命令的用法。

            1、wm size [reset|WxH]

           ?。郏輧?nèi)的是可選項。單純運行wm size命令將會得到本身設(shè)置的顯示分辨率。如下圖:

            wm size W x H命令是按witch x hight 設(shè)置分辨率。如果分辨率設(shè)置的過大,圖標會變大,反之則變小。設(shè)置了分辨率以后執(zhí)行wm size命令,可以看到LCD本身的分辨率及overwrite的分辨率。如下圖:

            wm size reset 命令是將分辨率設(shè)置為LCD原始分辨率。

            2、 wm density [reset|DENSITY]

            該命令的用法類似于wm size 命令,作用是讀取、設(shè)置或者重置LCD的density值。density值即LCD的ppi.

            3、 wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]

            該命令用來設(shè)置、重置LCD的顯示區(qū)域。四個參數(shù)分別是顯示邊緣距離LCD左、上、右、下的像素數(shù)。例如,對于分辨率為540x960的屏幕,通過執(zhí)行 命令wm overscan 0,0,0,420可將顯示區(qū)域限定在一個540x540的矩形框里。

            了解wm可以解決LCD圖標大小顯示不正常的問題。但是這些設(shè)置都是臨時的,適合于調(diào)試來確定問題和解決辦法。永久性的修改可以參照以下兩個辦法(均在高通平臺下):

            法一:

            2》 adb root //提示read only filysystem時執(zhí)行此命令獲取root權(quán)限,

            adb remount

            adb pull /system/build.prop D:

            在build.prop末尾添加一行 ro.sf._density=240

            adb push D:build.prop /system/

            adb shell

            cd /system/

            chmod 644 build.prop 沒有修改權(quán)限將導(dǎo)致手機起不來

            法二: 直接修改system.prop

            Y:xxxxdeviceqcomxxxxsystem.prop

            ro.sf._density=240 改這個值,然后重新編譯system.img

            LCD電極讀數(shù)如何看出單片機的接口技術(shù)?

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

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

            1 LCD的電極連接結(jié)構(gòu)和工作波形

            1.1 LCD的電極連接結(jié)構(gòu)

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

            1.2 LCD的工作波形

            用雙蹤觀察血壓計LCD的工作波形,如圖2所示。它采用時分割驅(qū)動法驅(qū)動,偏比1/3,占空比l/4,B型。公共電極COM0~COM3的信號波形始終保持不變,段電極Sx-0、Sx-1信號波形隨顯示數(shù)字的變化而變化。圖2中的Sx-1、Sx-1波形為顯示數(shù)字“O”時的工作波形。

            由圖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(shù)段上的電壓為V0/3,處于非選擇狀態(tài),不顯示。其余6段均處于選擇狀態(tài),顯示。因此,顯示數(shù)字“O”。

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

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

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

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

            由CD4067、CD3405l、LM324(UA、UB)組成顯示狀態(tài)讀取電路,讀取LCD數(shù)碼各段的顯示狀態(tài)。CD41367多路模擬開關(guān)從LCD的13個段電極信號中選擇一路Sx-x輸出到LM324(UA)的反相輸入端2腳。CD405l多路模擬開關(guān)從LCD的4個COM信號中選擇一路COMx輸出到LM321(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,使CD405l選擇COM0,令PC5~PC2=0001,使CD4067選擇S0-1,COM0和S0-1兩信號電壓經(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負脈沖信號,工作波形如圖4所示。負脈沖的下降沿為LCD驅(qū)動信號周期T的起始時刻。此負脈沖接至8051的INT0腳,在負脈沖的下降沿產(chǎn)生外部中斷0。

            3 程序設(shè)計

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

            3.1 讀取字形碼

            通過外部中斷O和定時器T0以中斷方式讀取LCD某一編號數(shù)碼的字形碼。如圖5所示,INT0負脈沖在周期T的起始時刻引起外部中斷O,由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所示。

            其中,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.318ms。讀取全部位數(shù)碼至少需要用7個周期,約114ms??紤]到在單片機讀數(shù)的過程中,LCD的讀數(shù)有可能發(fā)生變化而導(dǎo)致讀數(shù)錯誤,程序中采用連續(xù)兩次讀數(shù)的方法來校驗讀數(shù)的正確性。如果連續(xù)兩次讀數(shù)相同,則說明讀數(shù)是正確的;如果連續(xù)兩次讀數(shù)不同,則說明讀數(shù)可能是錯誤的,應(yīng)重新讀數(shù)。

            3.4 讀數(shù)識別

            血壓計顯示的內(nèi)容除了收縮壓、舒張壓和心率以外還有充氣、放氣時的瞬時壓強以及一些狀態(tài)信息。LCD中間的半位(6號)用于顯示待機(Reay to measure)、充氣(CUFF Inf1aTIng)、放氣(CUFF DeflaTIng)以及更換電池(Replace Battcries)四個符號。另外,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)的細節(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è)計,將后半周期也用于進行讀數(shù),實現(xiàn)在1個信號周期內(nèi)讀取所有數(shù)碼。



          關(guān)鍵詞: lcd 數(shù)碼管 示波器

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();