HT69F240 LCD / LED 面板驅動及按鍵掃描功能

HT69F240 LCD / LED 面板驅動及按鍵掃描功能
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
文件編碼:HA0342T
簡介
HT69F240 內建 LED 及 LCD 驅動器,不需外加組件即可直接推動 LCD 及 LED,LCD 驅動引
腳均可通過軟體設定選為 SEG 或者 SCOM,使用靈活。HT69F240 內含 4K Word Flash 程式
儲存器、256 Byte 數據儲存器、64 Byte EEPROM 等,本文以 HT69F240 為母體,給出 1/3 bias、
1/4 duty 的 LCD 驅動方法以及 LED 驅動方法。
工作原理
LCD 驅動原理
根據 LCD 的驅動原理可知,LCD 像素點上只能加上 AC 電壓,LCD 顯示器的對比度由 COM
腳上的電壓值減去 SEG 腳上的電壓值決定,當這個電壓差大於 LCD 的飽和電壓就能打開像
素點,小於 LCD 閾值電壓就能關閉像素點。採用如下的波形驅動 LCD 有助於提高 LCD 的
使用壽命。HT69F240 提供能夠產生 VDD/3、2/3VDD 電壓的介面 (即 SEG0 ~ SEG23),因而只要
I/O 口能夠模擬輸出 LCD 驅動信號,就能完成 1/3 bias 規格的 LCD 驅動。
由於 LCD 工作的最佳幀頻率通常在 25Hz ~ 250Hz,而 HT69F240 系統時鐘選擇 HIRC 4MHz,
設定時基定時器 0 的時鐘 fTB 為 fSYS/4,設定溢出時間為 1024/fTB,則每 1.024ms 發生一次溢出
中斷,若以此為時基,1/4 duty 時的幀週期為
1.024ms  8 = 8.192ms,即 1/ 8.192ms = 122.07Hz
符合要求。
1
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
所用的 LCD 屏規格如下:
PIN
1
2
3
5
COM1 风量
COM1
COM2
COM3
4
COM2
COM3
COM4 COM4
6
7
8
1A
9 10
11
2A S4 自动
# 13 14
15
16
17
18
22 23 24
8A
1F 1B 2F 2B S5 制冷
3F 3B 4F 4B
5F
5B
6F
6B
7F
7B 8F 8B
S2
1G 1C 2G 2C S6 抽湿
3G 3C 4G 4C
5G
5C
6G
6C
7G
7C 8G 8C
S3
1E 1D 2E 2D S7 制暖
3E 3D 4E 4D
5E
5D
6E
6D
7E
7D 8E 8D
工作溫度
0℃ TO +50℃
連接方式
兩邊出針,直插
儲存溫度
-10℃ TO +60℃
工作電壓
21
S1
TN,正圖
驅動條件
20
PM 3A AM 4A COL 5A 开机 6A 关机 7A
顯示模式
視角
19
60'CLOCK
偏光片類型
1/4 Duty、1/3 Bias 絲印類型
3.0V
下圖為 1/3 bias 規格 LCD 的 COM0 ~ COM3 驅動波形。
2
半透
外印
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
HT69F240 內部提供了 24 個 SEG 的輸出,每個 SEG 均可以當做 SCOM 或普通 SEG 使用,並
且每個 SEG 還同時與 LED 驅動及普通 IO 口復用,可以通過設定 PAFS0、PAFS1、PBFS0、
PBFS1、PCFS0、PCFS1、PDFS0 這些暫存器的相應位元來選擇相應引腳的輸出功能,通過
設定這些暫存器可以選擇 IO 口作為普通 IO 輸出或輸出 1/3VDD 或輸出 2/3VDD,因此,任選
24 個 SEG 中的 4 個作為 SCOM,其餘的 SEG 作為 LCD 的普通 SEG,軟體模擬出每個引腳
需要輸出的波形即可實現 1/3 bias、1/4 duty 的 LCD 驅動。
根據上述的波形,可知,LCD 的驅動波形分成兩個幀,每幀有 4 個階段,程式利用每一次
TimerBase0 的中斷設定每個相應的引腳輸出,等到 FRAM0 完成後轉而切換到 FRAM1,在
FRAM1 階段輸出相應的波形,如此下去 FRAM0 和 FRAM1 相互交替。
LED 驅動原理
數碼管的驅動通常採用動態掃描的方式,動態掃描就是將一切數碼管的 8 個顯現筆畫“a、
b、c、d、e、f、dp”的同名端連在一起,在每個數碼管的公共極 COM 添加位元選通操控電
路,位元選通由各自獨立的 I/O 口操控,當微控制器輸出字形碼時,一切數碼管都收到相同
的自形碼,通過對不同 COM 端的操控,就可以實現對需要顯現的數碼管實現選通,通常是
通過分時輪番操控各個 LED 數碼管的 COM 端,就使得各個數碼管輪番受控顯現。每個位
元數碼管的點亮時刻為 1 ~ 2ms。HT69F240 可以不接外圍電路的情況下直推 LED,本文選用
2 個四位八段共陰型數碼管組成 8 個位元的 LED 數碼管,每個四位八段數碼管引腳圖如下
3
6
B
C3
7
5
C2
G
8
4
C1
C
9
3
F
DP
10
2
A
11
12
E
D
C0
1
所示:
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
應用電路
LCD 驅動電路原理
1
KEY_GND 2
3
SEG0
4
5
C1
SEG1
0.1uF
6
COM3 7
VCC
COM2 8
COM1 9
COM0 10
SEG19 11
SEG18 12
SEG17 13
KEY0_MODE
SEG16 14
COM0
PA2/INT0/ICPCK
PA0/ICPDA
VSS
PA1/LED0/SEG0/XT1
PA3/LED1/SEG1/XT2
VDD
PD1/LED23/SEG23/OSC1
PD0/LED22/SEG22/OSC2
PC7/LED21/SEG21
PC6/LED20/SEG20
PC5/LED19/SEG19
PC4/LED18/SEG18
PC3/LED17/SEG17
PC2/LED16/SEG16
PA4/LED2/SEG2/CTP/ETCK
PA5/LED3/SEG3/CTCK/ETPA
PA6/LED4/SEG4/TX/ETPIA
PA7/LED5/SEG5/RX
PB0/LED6/SEG6/SDA
PB1/LED7/SEG7/SCL
PB2/LED8/SEG8/INT1/PTPI/ETPB
PB3/LED9/SEG9/PTP/ETPIB
PB4/LED10/SEG10/PTCK
PB5/LED11/SEG11
PB6/LED12/SEG12
PB7/LED13/SEG13
PC0/LED14/SEG14
PC1/LED15/SEG15
HT69F240
28
27
26
25
24
23
22
21
20
19
18
17
16
15
SEG2
SEG3
SEG4
SEG5
SEG6
SEG7
SEG8
SEG9
SEG10
SEG11
SEG12
SEG13
SEG14
SEG15
HT69F240
KEY1_INC
COM1
KEY2_DEC
COM2
KEY3_SHOUTDOWN
COM3
KEY_GND
LCD驅動電路
SEG11
SEG10
SEG9
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
13
14
15
16
17
18
19
20
21
22
23
24
SEG11
SEG10
SEG9
SEG8
SEG7
SEG6
SEG5
SEG4
SEG3
SEG2
SEG1
SEG0
SEG12
SEG13
SEG14
SEG15
SEG16
SEG17
SEG18
SEG19
COM0
COM1
COM2
COM3
12
11
10
9
8
7
6
5
4
3
2
1
SEG12
SEG13
SEG14
SEG15
SEG16
SEG17
SEG18
SEG19
COM0
COM1
COM2
COM3
LCD_1/3 bisa_1/4 duty
功能:利用 HT69F240 驅動 1/3 bias、1/4 duty 的 LCD,且按鍵掃描與 LCD 的 SCOM 共用相
同的 Pin。
KEY0_MODE:用於切換 LCD 的顯示模式(程式設有五種顯示模式)
。
KEY1_INC:用於增加 LCD 顯示的溫度值的十位數。
KEY2_DEC:用於減小 LCD 顯示的溫度值的個位數。
KEY3_SHOUTDOWN:用於系統開機和關機的按鍵。
KEY_GND:用於將四個按鍵的公共端接到 HT69F240 的同一個引腳上。
COM0 ~ COM3:LCD 的 SCOM 引腳。
SEG0 ~ SEG19:LCD 的 SEG 引腳。
(實際應用電路可參考 HT69F240 data sheet)
。
4
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
6
5 COM_C6
SWITCH_KEY
COM_C0
B
C1
C2
4 COM_C5
3
A
F
1 COM_C4
2
C0
B
6 SEG_B
5 COM_C2
C2
C1
3 SEG_F
4 COM_C1
F
2 SEG_A
A
C0
1 COM_C0
LED 驅動電路原理
SET_KEY
COM_C1
INC_KEY
G
C
C3
COM_C7 7
8
DP
9
D
10
E
PA2/INT0/ICPCK
PA0/ICPDA
VSS
PA1/LED0/SEG0/XT1
PA3/LED1/SEG1/XT2
VDD
PD1/LED23/SEG23/OSC1
PD0/LED22/SEG22/OSC2
PC7/LED21/SEG21
PC6/LED20/SEG20
PC5/LED19/SEG19
PC4/LED18/SEG18
PC3/LED17/SEG17
PC2/LED16/SEG16
11
12
G
C3
COM_C3 7
8
C
1
2
3
KEY_GND 4
C1
5
0.1uF
6
7
8
VCC
SEG_DP 9
SEG_G 10
SEG_F 11
SEG_E 12
SEG_D 13
SEG_C 14
SEG_G
DP
9
SEG_C
SEG_DP 10
D
SEG_D 11
SEG_E 12
E
COM_C2
PA4/LED2/SEG2/CTP/ETCK
PA5/LED3/SEG3/CTCK/ETPA
PA6/LED4/SEG4/TX/ETPIA
PA7/LED5/SEG5/RX
PB0/LED6/SEG6/SDA
PB1/LED7/SEG7/SCL
PB2/LED8/SEG8/INT1/PTPI/ETPB
PB3/LED9/SEG9/PTP/ETPIB
PB4/LED10/SEG10/PTCK
PB5/LED11/SEG11
PB6/LED12/SEG12
PB7/LED13/SEG13
PC0/LED14/SEG14
PC1/LED15/SEG15
HT69F240
DEC_KEY
COM_C3
MOV_KEY
KEY_GND
COM_C4
28
27
26
25
24
23
22
21
20
19
18
17
16
15
COM_C0
COM_C1
COM_C2
COM_C3
COM_C4
COM_C5
COM_C6
COM_C7
SEG_A
SEG_B
LED驅動電路
HT69F240
功能:利用 HT69F240 直推 LED 數碼管,採用共陰型數碼管。
SWITCH_KEY:用於系統的開機和關機。
SET_KEY:用於進入設定模式和退出設定模式。
INC_KEY:用於增加數碼管的顯示值。
DEC_KEY:用於減小數碼管的顯示值。
MOV_KEY:用於選擇設定哪一個數碼管。
KEY_GND:用於把五個按鍵的公共端接到 HT69F240 相同的引腳上。
COM_C0 ~ COM_C7:LED 數碼管的 COM 引腳。
SEG_A ~ SEG_DP:為數碼管的 8 個 SEG 腳。
說明:INC_KEY、DEC_KEY、MOV_KEY 必須在 SET_KEY 按下(即進入設定模式)才有效,
否則正常顯示模式無效。
(實際應用電路可參考 HT69F240 data sheet)
。
5
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
S/W 流程圖
LCD 主流程圖
中斷例程
程式開始
RAM初始化
清零
判斷一幀的四個階段是否
處理完(初始從幀0開始)
輸出幀0四個階段
的 值,每進入一次
中斷輸出一個階段
波形值
暫存器初始化
LCD控制
暫存器初始化
是否幀0向幀1切換
各變量初始化
TimerBase0初
始化,1ms來
一次中斷
清WDT等待中
斷來臨
N
Y
輸出幀1各階段的
值,每進入一次中
斷輸出一次值
N
按鍵掃描,改變相
應的顯示值
是否有按鍵
按下
N
切換到幀1,每進
入一次中斷輸出
相應階段的值
Y
設定開關旗標,
關機或開機,中斷
返回
N
輸出幀0第一階段
各引腳值,
中斷返回
N
輸出幀0第一階段
各引腳的值,
中斷返回
Y
增加顯示的溫度
值,各引腳輸出相
應值,中斷返回
Y
減小顯示的溫度
值,各引腳輸出相
應值,中斷返回
Y
是否開關
按鍵按下
N
設定模式鍵
是否按下
Y
是否進入
設定模式
Y
遞增按鍵
是否按下
N
遞減按鍵
是否按下
N
輸出幀0第一階
段各引腳的值
中斷返回
6
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
LCD 主流程圖
7
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
程式説明
LCD 程式說明
本程式的採用的 LCD 屏用於設定兩位元溫度值的顯示,可以顯示 00℃ ~ 99℃。通過四個按
鍵實現四種功能,設定的功能是高位元溫度值可以遞增按鍵調節,低元位溫度值可以遞減
按鍵調節,模式按鍵切換不同的顯示模式,開關機按鍵用於開機或關機這四種功能。
程 式 主 要 是 把 LCD 屏 要 顯 示 的 值 放 置 在 COM0_STATE_H 、 COM0_STATE_M 、
COM0_STATE_L、COM1_STATE_H、COM1_STATE_M、COM1_STATE_L、COM2_STATE_H、
COM2_STATE_M、COM2_STATE_L、COM3_STATE_H、COM3_STATE_M、COM3_STATE_L
這些變量之中,通過設定這些變量的值,然後由 FRAM_SHOW 代碼段用於顯示 COM0 ~
COM3 的值,SHOW_STATE 代碼段用於顯示 SEG0 ~ SEG19,程式還有幀 0 和幀 1 切換的判
斷,從而在每一次中斷進入顯示對應幀對應階段的值,每一幀有四個階段,整個完整的驅
動波形分成幀 0 和幀 1 兩幀。此外按鍵掃描 KEY_SCAN 都是在幀 0 的首個階段才進行掃描
的,並不在幀 1 這個階段掃描,因此掃描的時間約 8ms 進行一次按鍵的掃描,然後通過掃
描值改變 LCD 存放值的那些變量。最終在每 1ms 的中斷顯示副程式顯示相應階段的值。
根據上述説明,分 8 次依次設定 COM0 ~ COM3、SEG0 ~ SEG19 的輸出,其中 COM0 ~ COM3、
SEG0 ~ SEG19 的實際輸出電壓值跟所處的幀號以及所要輸出的數字量是 0 還是 1 有關。如
下表。
幀號
IO 口實際輸出值
COM 輸出數字量
SEG 輸出數字量
0
1/3VDD
VDD
2/3VDD
VSS
0
1
0
1
1
2/3VDD
VSS
1/3VDD
VDD
LED 程式說明
本程式實現的功能是利用 HT69F240 直推 8 個 LED 數碼管,採用共陰極數碼管,共五個功
能按鍵,分別為開關機、設定、遞增、遞減、移位。每個按鍵功能如下:
開關機鍵:用於開機和關機。
設定鍵:用於進入設定模式,只有設定鍵按下遞增鍵、遞減鍵、移位鍵才有效。
遞增鍵、遞減鍵、移位鍵:用於設定指定位元的數碼管顯示值增加還是減小,移位鍵用於
選擇需要操作的數碼管具體位置。
程式範例
具體程式見附件。
8
HT69F240 LCD / LED 面板驅動及按鍵掃描功能
結論
本範例可以實現 HT69F240 直推 LCD 和 LED,且實現 SCON 與 IO 掃描整合在相同的引腳上。
用戶只需稍加改造即可用於 1/3 bias、1/4 duty 的 LCD 上以及 LED 數碼管驅動上。
附件
Source Code 檔案的程式附件,敬請參閱 Holtek 網頁資訊。
源代碼
HT69F240_LED.rar
HT69F240_LCD.rar
9
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