版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、LED 數(shù)碼管的驅(qū)動是比較簡單也容易理解的, 多位數(shù)碼管一般是 LED 陣列的形式, 每個數(shù)字使用一個 公共端,不同數(shù)字的對應(yīng)同筆段使用一個控制端;驅(qū)動采用分時掃描沒個數(shù)字位,動態(tài)顯示。但是 LED 比 較費電,我想做一個用電池供電的鐘,用發(fā)光管電池就撐不了多久了。于是我考慮用液晶。在這邊的電子市場我買到一個 4 位筆段式液晶屏, 4 個數(shù)字最中間有冒號,邊上還有幾個箭頭符號,一 共有 15 個引腳,正合適用 AVR 來驅(qū)動做一個鐘。筆段式 LCD 屏的結(jié)構(gòu)與 LED 數(shù)碼管很相似,但是由于是液晶,工作機理上不同,驅(qū)動方式也有很大差 異:(1) LED 有正負(fù)之分,液晶筆劃沒有。(2) LED
2、 在直流電壓下工作,液晶需要交流電壓,防止電解效應(yīng)。(3) LED 需要電流提供發(fā)光的能量,液晶筆劃顯示狀態(tài)下電流非常微弱。(4) LED 對微小電流不反應(yīng),液晶則很敏感。不難看出,用 LED 的驅(qū)動方式來對待 LCD 屏是行不通的。我在買回來測試這塊屏之前沒有意識到,于 是走了不少的彎路。 與 LED 驅(qū)動不同的是需要給每個筆劃加上一個交流電壓。一般用 30-60Hz 的方波就可以了,頻率再低顯示會有所波動,頻率高了功耗也會增加,因為 LCD 對電路呈現(xiàn)容性。而且,正負(fù)電壓都 可以 “點亮 ”液晶。好在 AVR 的 I/O 口可以三態(tài)輸出,也就是除了高 /低電平, 還可以呈現(xiàn)高阻抗,相當(dāng)于斷
3、開連接。于是我 想到了這樣的辦法: 不需要顯示的那一組筆劃對應(yīng)的公共端懸空 (I/O 口選擇三態(tài) ),那么就不會加上電壓了。 照這個思路,我的實驗電路焊好,出來的顯示卻是一團(tuán)糟:筆劃都黑了看不清。我這才考慮到液晶本身的 問題:阻抗高,而且有電容,是不可一邊懸空的!這個道理也許跟CMOS 輸入端差不多。查找了一些關(guān)于液晶的資料,大致知道 LCD 屏不是那么簡單的,驅(qū)動方式通常是 1/N, 也就是電壓不止高低兩檔??墒菃?片機 I/O 沒有那么多輸出狀態(tài)可以選擇。1/2 Bias 驅(qū)動不顯示的液晶筆劃兩端電壓相等,顯示的不等。這樣一個要求在掃描方式 下不能滿足,于是改為電壓等級不同。 1/2 Bi
4、as 驅(qū)動就是這樣的,如下:COM1 V+ 1/2 GND COM2 V+ 1/2 GND SEG1 V+ 1/2GND SEG2 V+ 1/2GND 如此,在 COM1,SEG1 選擇的筆劃上,加上的電壓為 -1/2, -1, +1/2, +1 . 在 COM1,SEG2 選擇的筆劃 上,加上的電壓為 +1/2, -1, -1/2, +1 . 在 COM2,SEG1 選擇的筆劃上,加上的電壓為 -1, -1/2, +1, +1/2 . 在 COM2,SEG2 選擇的筆劃上,加上的電壓為 0, -1/2, 0, +1/2 .計算一下大致的平均功率(如果液晶灰度與電壓平方成正比,實際不是這樣)前
5、三者是一樣的,都是1+(1/2)人2=5/4,對于最后一個0+(1/2)人2=1/4因此顯示的功率比為5:1,顯示狀態(tài)會是這樣:SEG1 SEG2COM1 - - - O - - - OCOM2 - - - O - - - xAVR I/O 沒有能力輸出 1/2 Vcc 的電壓 (ADC 在這里就不要考慮了 , 浪費 I/O 還不如用靜態(tài)液晶屏 ), 因此 沒有辦法實現(xiàn)真正的 1/2 Bias 驅(qū)動。但是注意到要提供一個一半電源電壓也不是難事,既然 AVR I/O 口可 以三態(tài),我們用兩個電阻分壓將端口 “拉”到 1/2 Vcc 就好了,于是, 1/2 Bias 驅(qū)動的做法可以這樣:Vcc|
6、1Meg |Port pin+ to LCD COMx| 1Meg |GND取電阻 1Meg 是綜合耗電與分壓效果考慮的。這樣在 COMx 就可以產(chǎn)生三種電壓值,就達(dá)到了 1/2 Bias 動態(tài)驅(qū)動的目的。實現(xiàn)起來在前面的基礎(chǔ)上增加電阻即可,我的屏有4 個公共端,因此用了 8 個電阻,數(shù)字就能夠顯示出來了。雖然顯示的確做到了 ,然而效果卻不能讓我滿意。具體表現(xiàn)就是需要正對著LCD 屏看才是很清晰的;如果斜著看,就可能一片混濁了,沒有達(dá)到實用。用 2 節(jié) Ni-MH 供電時候正著看沒問題,用 2 節(jié)干電池 (電 壓提高一點 )就不是很清晰了。如前面的分析,那些沒有被選擇的筆段其實也加上了變化的電
7、壓,只不過與 選擇的比段相比電壓平均有效值低一些。這兩個的差異足夠顯著,才能保證顯示效果。再分析 1/2 Bais 驅(qū)動在我的 LCD 屏上 1/4 分時掃描的結(jié)果:一個周期內(nèi), “點亮”的筆段平均功率 =1A2+(1/2)A2+(1/2)A2+(1/2)A2=7/4,而沒有被點亮”的筆段為=0+(1/2)人2+(1/2)人2+(1/2)人2=3/4,兩者之比 7:3跟前面的例子分析對比看出, 從 1/2 分時掃描變到 1/4 分時掃描, 顯出來的筆段和不顯的筆段上, 電壓產(chǎn) 生平均功率的對比從 5:1 變到 7:3 了。我嘗試從軟件上改變掃描時序, 也不能改進(jìn)顯示效果, 看來 1/2 Bia
8、s 不 夠用的了。我查了 Nokia 3310 液晶手冊其中對于 LCD 電壓輸出時序的描述。恰好里面有一個圖,繪出了行和列控制線上的波形。從坐標(biāo)軸上看出Vied和Vss之間另外還有4個電壓等級。這么多種電壓用AVR I/O實現(xiàn)已經(jīng)不現(xiàn)實了我再考慮選用帶有LCD驅(qū)動功能的 MCU, AVR只有一款 ATmega169,封裝形式不適合 DIY。Microchip有一款 PIC16F913, 有 28DIP 的封裝,看上去正合適。暫時不知道價格,我先找來它的手冊看看。詳細(xì)看了LCD 驅(qū)動模塊的部分,我發(fā)現(xiàn) PIC16F913 也只有 1/2 Bias 驅(qū)動和 1/3 Bias 驅(qū)動兩種選項,分時最
9、多為 1/4 分時驅(qū)動,對于我的屏正好。1/3 Bias 驅(qū)動需要將 Vcc-GND 之間的電壓三等分,一個周期驅(qū)動波形示例如下:COM1: V+2/3 1/3 GND COM2: V+2/3 1/3 GND SEG1: V+ 2/3 1/3 GNDSEG2: V+ 2/3 1/3 GND在(COM1,SEG1)筆段上,電壓為+1, -1/3, -1, +1/3 .在(COM1,SEG2)上為 +1/3, +1/3,-1/3,-1/3 .在(COM2,SEG1)上:+1/3, +1/3, -1/3, -1/3 .在(COM2,SEG2)上:-1/3, +1, +1/3, -1 .于是計算平均功
10、率,在(COM1,SEG1)和(COM2,SEG2)上面是 2*1A2+2*(1/3)A2=20/9 在(COM1,SEG2)和(COM2,SEG1)上面是 4*(1/3)人2=4/9,兩者之比 5:1假如不是上圖的 1/2 分時驅(qū)動而是 1/4 分時驅(qū)動,這個比例將變?yōu)?*1A2+6*(1/3)A2 vs 8*(1/3)A2 = 3:1若將原來的 1/2 Bias 改用 1/3 Bias 驅(qū)動,對于我的 LCD 屏這個比值從 7:3 改善為 3:1 了。既然 PIC16F913 只設(shè)計了 1/2 Bias與1/3 Bias,用起來應(yīng)該問題不大。AVR 單個 I/O 口要實現(xiàn) 4 種電壓輸出
11、不可能吧,我是想不出來了。 AVR 最多只有三種電壓輸出,能 不能對這個電壓再做等分呢?一番思索之后我想這樣行不行:就4 等分吧 .COM1: V+3/41/2 1/4GND COM2: V+3/41/2 1/4 GNDSEG1: V+3/4 1/21/4 GNDSEG2: V+3/4 1/21/4 GND我的做法就是 SEGx 輸出有兩種: 3/4*Vcc 和 1/4*Vcc, 而 COMy 輸出有三種: Vcc, GND, 1/2*Vcc. 對于 每個I/O 口,并不需要4種電壓輸出。當(dāng)然這樣跟 1/3 Bias驅(qū)動是不一樣的,但是卻達(dá)到了1/3 Bias驅(qū)動的效果,只不過加在液晶筆段上的
12、電壓絕對值最大不是 Vcc 而是 3/4*Vcc 了,因此電源電壓也需要提高。這 里計算省略。這種驅(qū)動方式我稱之為 "偽 1/3 Bias 驅(qū)動". 對于 COMy 的處理和前面一樣, 對于 SEGx, 將 I/O 輸出電壓改 變一下,高電平 3/4*Vcc, 低電平 1/4*Vcc 就好了。我的做法是:/ I/O Port pin| 1Meg |to LCD SEGx +| 1Meg |1/2 Vcc這里的1/2 Vcc可以將電源電壓用電阻分壓得到,我想的辦法是直接接個幾 uF電容到GND,實驗是成功的。因為隨著掃描的進(jìn)行,這個地方的平均電壓是輸岀高電平和低電平的一半。目
13、前我做了一個 Mega48V的秒計數(shù)器,再改改就能把鐘做出來了電源4. 5V(3節(jié)電池)V 11484位7段數(shù)碼液晶屏ATmega48V0 12 3 rcrcrcrcQ12345 & 7 FDmmFCRDFDtFCFD1012R1S.R19. 220kRO.,R7. IMfi8 ' ' H15:皿丄 C2: ICuF這是我的程序: (因為剛剛開始用 AVR ,從最簡單的開始,就直接用匯編了) Timer2 用外接 32768晶振提供時鐘,整個系統(tǒng)耗電大約 30 微安。; lcddisplay.asm; Test raw LCD display.include "
14、;m48def.inc".org 0x0000rjmp OC2Aaddrrjmp isr_ 0x0020table:.DB 0b11101101, 0b00101000, 0b10110101, 0b10111001.DB 0b01111000, 0b11011001, 0b11011101, 0b10101000.DB 0b11111101, 0b11111001start:ldi r16, 1<<PUDout MCUCR, r16 ; disable all I/O pull-upldi r16, 1<<AS2sts
15、 ASSR, r16 ; enable asynchronous modeldi r16, 1<<WGM21sts TCCR2A, r16; CTC modeldi r16, 31sts OCR2A, r16 ; preset compare Aldi r16,1<<CS21 ; divide by 8; ldi r16,1<<CS20 ; use clkIO as sourcests TCCR2B, r16ldi r16, 1<<OCF2Aout TIFR2, r16 ; clear flagldi r16, 1<<OCIE2Ast
16、s TIMSK2, r16 ; enable interrupt on compare match Aser r16out DDRD, r16; Port D output - LCD segment controlclr r5 ldi r16, 0x55 mov r6, r16 clr r7 clr r8ldi r16, 9 mov r10, r16 mov r11, r16 mov r12, r16 mov r13, r16 dec r10sei ; enable global interruptldi r16, (1<<SE)out SMCR, r16 ; use Idle
17、mode here, waiting 1 secondclr r2 iniw:sleep dec r2 brne iniwldi r16, (1<<SM1)|(1<<SM0)|(1<<SE) out SMCR, r16 ; use power-save mode nop nopclr r2 loop: nop nop sleep nop nop dec r2 dec r2 breq adjtime rjmp loop adjtime: ldi r17, 10 inc r10 cp r10, r17 brne updcountclr r10 inc r11 c
18、p r11, r17 brne updcount clr r11 inc r12 cp r12, r17 brne updcount clr r12 inc r13 cp r13, r17 brne updcount clr r13 updcount:rcall calcor rjmp loopisr_timer2: clr r16out DDRC, r16 ; float all COMx pins bst r4, 1 brts show34bst r4, 0 brts show2 mov r0, r5 ldi r18, 1 rjmp sel show2:mov r0, r6 ldi r18, 1<<1 rjmp sel show34:bst r4, 0 brts show4 mov r0, r7 ldi r18, 1<<2 rjmp se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍋爐課程設(shè)計目的
- 項目與施工課程設(shè)計
- 真空搬運機課程設(shè)計
- 2025年《正能量》心得體會(2篇)
- 2025年“三好一滿意”活動第二階段總結(jié)模版(3篇)
- 煙花爆竹企業(yè)安全經(jīng)營規(guī)章制度修訂制度范文(2篇)
- 2025年7月工人工作總結(jié)模版(二篇)
- 2025年一家親活動心得體會(6篇)
- 安裝鉗工安全操作規(guī)程范文(2篇)
- 2025年專業(yè)技術(shù)人員年終考核總結(jié)例文(六篇)
- 專題6.8 一次函數(shù)章末測試卷(拔尖卷)(學(xué)生版)八年級數(shù)學(xué)上冊舉一反三系列(蘇科版)
- GB/T 4167-2024砝碼
- 老年人視覺障礙護(hù)理
- 《腦梗塞的健康教育》課件
- 《請柬及邀請函》課件
- 遼寧省普通高中2024-2025學(xué)年高一上學(xué)期12月聯(lián)合考試語文試題(含答案)
- 《個體防護(hù)裝備安全管理規(guī)范AQ 6111-2023》知識培訓(xùn)
- 青海原子城的課程設(shè)計
- 2023年年北京市各區(qū)初三語文一模分類試題匯編 - 作文
- 常州大學(xué)《新媒體文案創(chuàng)作與傳播》2023-2024學(xué)年第一學(xué)期期末試卷
- 麻醉蘇醒期躁動患者護(hù)理
評論
0/150
提交評論