HT8 MCU 內置LCD 應用範例 (4) – SCOM 和SSEG

HT8 MCU 內置LCD 應用範例 (4) – SCOM 和SSEG
HT8 MCU 內置 LCD 應用範例 (4) − SCOM 和 SSEG
HT8 MCU 內置 LCD 應用範例 (4) – SCOM 和 SSEG
文件編碼:HA0415T
簡介
Holtek LCD 型 MCU 提供了多種類型的 LCD 驅動方式,分別有 R Type、C Type、SCOM 以及
SCOM + SSEG 共 4 種 LCD 驅動架構,各種類型有各自的特點。
本文將以 HT66F0185 微控制器為母體,通過具體範例說明帶 SCOM 和 SSEG 功能的 LCD 的
使用方法。
功能說明
由於 LCD 基本性質的緣故,它們的圖元點只能加上 AC 電壓,如果加上 DC 電壓,將會引
起永久性的損害。因此 LCD 顯示器的對比度由提供到每個圖元的電壓控制,這個值相當於
COM 引腳上的電壓值減去 SEG 引腳上的電壓值。驅動電壓必須大於 LCD 的飽和電壓,以
便能打開圖元點,但同時也要小於閾值電壓,以便能關閉圖元點。
由上可知,LCD 驅動器需要幾種電壓值以產生時間振幅可變的信號,帶 SCOM 功能的 LCD
是通過電阻分壓方式提供偏壓。
VDD
VDD
COMnEN COMSEGSn
6
6
SCOM0/SSEG0
(2/3) VDD
(1/3) VDD
LCD
Voltage
Select
Circuit
LCD
COM/SEG
Analog Switch
SCOM5/SSEG5
SSEG6
SSEGm
m = 19 for HT66F0175
m = 23 for HT66F0185
ISEL[1:0]
SEGmEN
LCDEN
FRAME
軟體控制 LCD 驅動器結構
HA0415T V1.00
1/7
February 17, 2016
HT8 MCU 內置 LCD 應用範例 (4) − SCOM 和 SSEG
工作原理
該系列微控制器通過設定相關 I/O 引腳為 COM 引腳和 SEG 引腳,以驅動外部 LCD 面板。LCD
驅動功能是由幾個 LCD 控制暫存器一起控制的,另外,這些暫存器還可設定 LCD 的開啟和
關閉以及 SCOM 和 SSEG 引腳的 R-type 偏壓電流,使得 LCD 驅動器 COM 和 SEG 引腳輸出
VSS、(1/3)VDD、(2/3)VDD 和 VDD 的電壓,從而實現 1/3 bias LCD 的顯示。
SLCDC0 暫存器中的 LCDEN 位元是 LCD 驅動的主控制位元,它與 COMnEN 和 SEGnEN 位元
搭配共同選擇哪些輸入/輸出引腳用於 LCD 驅動。需注意的是,輸入/輸出埠控制暫存器不需
要設定為輸出以使能 LCD 驅動操作。
LCD Frames
一個完整的 LCD 波形週期包含兩個 Frame,即 Frame 0 和 Frame 1。下面將做出詳細解釋。
Frame 0
當要輸出 Frame 0 的波形,需將 SLCDC0 暫存器中的 FRAME 位元設為“0”。
在 Frame 0,COM 信號輸出可以是 VDD,或是 VBIAS = (1/3 ) × VDD。SEG 信號輸出可以是 VSS,或
是 VBIAS = (2/3 ) × VDD。
Frame 1
當要輸出 Frame 1 的波形,需將 SLCDC0 暫存器中的 FRAME 位元設為“1”。
在 Frame 1,COM 信號輸出可以是 VSS,或是 VBIAS = (2/3 ) × VDD。SEG 信號輸出可以是 VDD,或
是 VBIAS = (1/3 ) × VDD。
COMn 的波形,由應用程式設定 SLCDC0 暫存器中的 FRAME 位元控制,及相應的 I/O 共用引
腳數據位決定 COMn 引腳目前輸出是 VDD、VSS 或 VBIAS。SEGm 的波形,由應用程式設定
FRAME 位元控制,及相應的 I/O 共用引腳數據位決定 SEGm 引腳目前輸出是 VDD、VSS 或
VBIAS。
典型的 1/3 bias LCD 波形由應用程式以及 LCD 電壓選擇電路產生,波形圖如下。
請注意,圖中“1”代表點亮 LCD 圖元。SCOM0~SCOM5 引腳的 COM 信號極性為“0”或“1”,
由相應的 I/O 共用引腳數據位產生。
HA0415T V1.00
2/7
February 17, 2016
HT8 MCU 內置 LCD 應用範例 (4) − SCOM 和 SSEG
Frame 1
Frame 0
1
COM0
0
0
0
0
Frame 1
Frame 0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
SEG1
0
1
1
0
1
1
1
1
1
(2/3) VDD
(2/3) VDD
(1/3) VDD
1
VDD
(1/3) VDD
1
1
VDD
(2/3) VDD
0
1
VDD
VSS
0
0
1
0
1
1
0
1
0
1
1
VSS
VSS
1
1
(1/3) VDD
(1/3) VDD
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
0
0
(2/3) VDD
1
0
1
0
VSS
1
0
(2/3) VDD
VDD
0
1
VDD
(1/3) VDD
0
0
0
0
1
0
0
0
0
0
1
SEG0
0
1
1
0
0
1
0
(2/3) VDD
VSS
1
1
0
0
0
VDD
(1/3) VDD
0
1
0
0
0
0
1
COM3
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
COM2
1
1
0
Frame 0
1
1
0
0
0
0
1
COM1
Frame 0
VSS
1/3 Bias LCD 波形 − 4-COM 和 2-SEG 應用
LCD 驅動器 COM 和 SEG 埠可以提供多種驅動電流選擇以適應不同 LCD 面板的需求。通過設定
SLCDC0 暫存器中 ISEL0 位元和 ISEL1 位元可以配置不同的偏壓電阻。所有 COM 和 SEG 引腳和
I/O 引腳共用,可分別通過 SLCDCn 暫存器的相應引腳功能選擇位選擇 COM 和 SEG 引腳。
Name
SLCDC0
Bit
7
6
5
4
3
2
1
0
FRAME
ISEL1
ISEL0
LCDEN
COM3EN
COM2EN
COM1EN
COM0EN
SLCDC1
COM5EN
COM4EN
SLCDC2
SEG13EN
SEG12EN
COMSEGS5 COMSEGS4 COMSEGS3 COMSEGS2 COMSEGS1 COMSEGS0
SEG11EN
SEG10EN
SEG9EN
SEG8EN
SEG7EN
SEG6EN
SLCDC3
SEG21EN
SEG20EN
SEG19EN
SEG18EN
SEG17EN
SEG16EN
SEG15EN
SEG14EN
SLCDC4
—
—
—
—
—
—
SEG23EN
SEG22EN
LCD 驅動器控制暫存器列表 − HT66F0185
LCD 工作的最佳幀頻率通常在 25Hz~250Hz,頻率過高,會導致驅動功耗的增加,頻率過低,
會導致顯示閃爍。
由於點亮 LCD 圖元點需要 COM 與 SEG 有大於飽和電壓的電壓差,也就是 COM 與 SEG 有+VDD
或者-VDD 的電壓差,所以要點亮某個圖元點,只要將對應的 SEG 輸出與 COM 相反的電壓即
可。比如,當 COM0=VDD,只要 SEG=VSS 就可點亮對應圖元點,當 COM0=VSS,只要 SEG=VDD
就可點亮對應圖元點。考慮到 LCD 圖元點點亮時先加+VDD 再加-VDD 可延長 LCD 的使用壽
命,因此這裡同一圖元點也採用兩次點亮的方式。
在驅動 LCD 過程中,COM 線的波形可以有兩種輸出方法:A 型和 B 型。A 型波形是對每個
COM 線輸出壹高(VDD)壹低(0V)的掃描波形;B 型波形是對每個 COM 線先輸出輸出高
準位(VDD),所有 COM 線全部輸出完後,再依次輸出低準位(0V)。
在掃描時序上,有所不同,但都可以達到驅動目的。對比以上兩種方法可以發現,COM 埠的
掃描頻率也就是幀頻率並沒有改變,然而從佔用的資源上來說,第二種方式比第一種方式會
佔用更少的 ROM 空間。
HA0415T V1.00
3/7
February 17, 2016
HT8 MCU 內置 LCD 應用範例 (4) − SCOM 和 SSEG
使用帶 SCOM 和 SSEG 功能的 LCD,其設定步驟如下表:
步驟
操作內容
暫存器
設定位元
功能描述
1
SCOM/SSEG 典型
偏壓電流選擇
(VDD=5V)
ISEL1/ISEL0;
00:8.3µA
SLCDC0
01:16.7µA
10:50µA
11:100µA
2
SCOM/SSEG 模組
使能控制
SLCDC0
COM 線準位輸出
方法
當 COM 埠輸出 0 時,需將該埠設為輸出
埠且 COMnEN=0,並輸出 0;
當 COM 埠輸出 1 時,需將該埠設為輸出
埠且 COMnEN=0,並輸出 1;
當 COM 埠輸出 VDD/3 時,需將該埠
輸出 COM 線準位
SLCDCn
COMnEN 設為 1,COMSEGSn 設為 0,
FRAME 設為 0,即可輸出 VDD/3;
當 COM 埠輸出 VDD2/3 時,需將該埠
COMnEN 設為 1,COMSEGSn 設為 0,
FRAME 設為 1,即可輸出 VDD2/3。
3
設定 SCOM/SSEG 典型
偏壓電流
LCDEN:
0:除能
1:使能
使能 SCOM/SSEG 模塊
4
SEG 線準位輸出
方法
當 SEG 埠輸出 0 時,需將該埠設為輸出
埠且 COMnEN=0/SEGnEN=0,並輸出 0;
當 SEG 埠輸出 1 時,需將該埠設為輸出
埠且 COMnEN=0/SEGnEN=0,並輸出 1;
當 SEG 埠輸出 VDD2/3 時,需將該埠
COMnEN 設為 1 與 COMSEGSn 設為 1,或
輸出 SEG 線準位
者 SEGnEN 設為 1,FRAME 設為 0,即可
輸出 VDD2/3;
當 SEG 埠輸出 VDD/3 時,需將該埠
COMnEN 設為 1 與 COMSEGSn 設為 1,或
者 SEGnEN 設為 1,FRAME 設為 1,即
可輸出 VDD/3。
5
LCD 亮點或暗點
控制方法
當 COM 線與 SEG 線電壓差為 VDD 時,該
點 LCD 亮;當 COM 線與 SEG 線電壓差 控制 LCD 圖元點的亮滅
為 VDD/3 時,該點 LCD 滅。
硬體說明
COM0
COM1
C0
C1
C2
C3
S0
S1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
U1
VSS&AVSS
PC0/OSC1
PC1/OSC2
PC2
PA0/ICPDA
PC3
PC4
PC5
PC6
PA1
PA2/ICPCK
PA3
PB6
PB5
VDD
PB0/INT0
PB1/INT1
PB2
PA4
PD3
PD2/TX
PD1/RX
PD0
PA5
PA6
PA7
PB3/[TX]
PB4/[RX]
COM2
VDD
C1
28
27
0.1uF
26
25
24
23
22
21 S8
20 S7
19 S6
18 S5
17 S4
16 S3
15 S2
COM3
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6
HT66F0185
SEG7
SEG8
1
C0
2
C1
3
C2
4
C3
5
S0
6
S1
7
S2
8
S3
9
S4
10
S5
11
S6
12
S7
13
S8
LCD PANEL
説明:在此應用電路中,COM 埠使用 PC2、PC5、PA1、PA3,SEG 埠使用 PB6、PB5、PB4、
PB3、PA7、PA5、PD0、PD1、PD2 埠及 PE0 共 9 個 SEG 線。
HA0415T V1.00
4/7
February 17, 2016
HT8 MCU 內置 LCD 應用範例 (4) − SCOM 和 SSEG
軟體說明
LCD Panel 說明
在本範例中,以下面的 LCD 為模型,給出顯示時鐘的程式,總共使用 4 個 COM 線,9 個
SEG 線。
程式運行後,以計時器為時鐘源,進行時鐘計時,在上述 LCD Panel 中,數位 1 及數位 2 顯
示 Minute,數位 3 及數位 4 顯示 Second,COL 以 1Hz 頻率閃爍。
S/W 流程圖
Start
Second++
Sysint
Second=60?
否
是
i=0
Second=0
Minute++
Reach 0.5s?
否
否
Minute=60?
是
Flash “Col(:)”
Refresh Diplay
i++
i<2
是
Minute=0
Toggle AM/PM
是
Update Digit [ ]
否
HA0415T V1.00
5/7
February 17, 2016
HT8 MCU 內置 LCD 應用範例 (4) − SCOM 和 SSEG
ISR
Reload
Dis_Buffer[ ]
是
Phase_Count = 0 ?
否
Phase_Count =
2, 4, 6 ?
是
Dis_Buffer[ ]>>1
否
~ Dis_Buffer[ ]
Output SEG
Output COM
Sec_Counter--
Sec_Counter = 0 ?
否
是
Sec_Counter=125
FG_HalfSec=1
RETI
結論
本文通過上面帶 SCOM 和 SSEG 功能的 LCD 的應用實例,對帶 SCOM 和 SSEG 功能的 LCD
的運用進行了闡述,使用者可根據具體情況來驅動 LCD。
HA0415T V1.00
6/7
February 17, 2016
HT8 MCU 內置 LCD 應用範例 (4) − SCOM 和 SSEG
版本及修改資訊
Date 日期
2015.12.15
Author 作者
薛明列(David,Xue)
Issue 發行、修訂說明
First Version
參考資料
1.
參考文件 HT66F0185 DataSheet。
2.
Related Firmware Archives 相關程式控制附件。
HT66F0185_SCOM_SSEG.rar
如需進一步瞭解,敬請瀏覽 Holtek 官方網站 www.holtek.com。
免責聲明
免責聲明
本網頁所載的所有資料、商標、圖片、連結及其他資料等(以下簡稱「資料」),只供參
考之用,盛群半導體股份有限公司(以下簡稱「本公司」)將會隨時更改資料,並由本公
司決定而不作另行通知。雖然本公司已盡力確保本網頁的資料準確性,但本公司並不保證
該等資料均為準確無誤。本公司不會對任何錯誤或遺漏承擔責任。
本公司不會對任何人士使用本網頁而引致任何損害(包括但不限於電腦病毒、系統固障、
資料損失)承擔任何賠償。本網頁可能會連結至其他機構所提供的網頁,但這些網頁並不
是由本公司所控制。本公司不對這些網頁所顯示的內容作出任何保證或承擔任何責任。
責任限制
在任何情況下,本公司並不須就任何人由於直接或間接進入或使用本網站,並就此內容上
或任何產品、資訊或服務,而招致的任何損失或損害負任何責任。
管轄法律
本免責聲明受中華民國法律約束,並接受中華民國法院的管轄。
免責聲明更新
本公司保留隨時更新本免責聲明的權利,任何更改於本網站發佈時,立即生效。
HA0415T V1.00
7/7
February 17, 2016
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement