1、概述
CH451 是一個整合了數(shù)碼管顯示驅(qū)動和鍵盤掃描控制以及μP 監(jiān)控的多功能外圍芯 片。CH451 內(nèi)置 RC 振蕩電路,可以動態(tài)驅(qū)動 8 位數(shù)碼管或者 64 位 LED,具有 BCD 譯碼、 閃爍、移位等功能;同時還可以進(jìn)行 64 鍵的鍵盤掃描;CH451 通過 1 線或者可以級聯(lián)的
4 線串行接口與單片機(jī)等交換數(shù)據(jù);并且提供上電復(fù)位和看門狗等監(jiān)控功能。
0.jpg (25.1 KB, 下載次數(shù): 61)
下載附件
2018-9-15 23:47 上傳
2、特點
2.1. 顯示驅(qū)動
● 內(nèi)置大電流驅(qū)動級,段電流不小于 30mA,字電流不小于 160mA。
● 動態(tài)顯示掃描控制,直接驅(qū)動 8 位數(shù)碼管或者 64 位發(fā)光管 LED。
● 可選數(shù)碼管的段與數(shù)據(jù)位相對應(yīng)的不譯碼方式或者 BCD 譯碼方式。
● 字?jǐn)?shù)據(jù)左移、右移、左循環(huán)、右循環(huán)。
● 各數(shù)字獨立閃爍控制。
● 通過占空比設(shè)定提供 16 級亮度控制。
● 支持段電流上限調(diào)整,可以省去所有限流電阻。
● 掃描極限控制,支持 1 到 8 個數(shù)碼管,只為有效數(shù)碼管分配掃描時間。
2.2. 鍵盤控制
● 內(nèi)置 64 鍵鍵盤控制器,基于 8×8 矩陣鍵盤掃描。
● 內(nèi)置去抖動電路。
● 鍵盤中斷,低電平有效輸出。
● 提供按鍵釋放標(biāo)志位。
2.3. 外部接口
● 可選高速的 4 線串行接口,支持芯片級聯(lián),時鐘速度從 0 到 10MHz。
● 可選簡潔的 1 線串行接口。
● 內(nèi)置 RC 阻容振蕩電路,同時支持外接阻容振蕩。
● 內(nèi)置上電復(fù)位,提供高電平有效復(fù)位輸出和低電平有效復(fù)位輸出。
● 內(nèi)置看門狗電路 Watch-Dog。
2.4. 其它雜項
● 可選多種封裝:DIP28、SOP28、DIP24S、CHIP。
● 經(jīng)過授權(quán)采用了 2 項專利技術(shù),低成本,簡便易用。
● 更多增強功能以及整體方案請索取相關(guān)資料(需簽署技術(shù)保密協(xié)議)。
3、封裝
0.jpg (49.26 KB, 下載次數(shù): 71)
下載附件
2018-9-15 23:50 上傳
0.jpg (99.8 KB, 下載次數(shù): 49)
下載附件
2018-9-15 23:50 上傳
5、功能說明
5.1. 一般說明
本手冊中的數(shù)據(jù),以 B 結(jié)尾的為二進(jìn)制數(shù),以 H 結(jié)尾的為十六進(jìn)制數(shù),否則為十進(jìn)制數(shù),標(biāo)注為 x 的位表示該位可以是任意值。
CH451 是一個多功能外圍芯片,通過 1 線或者可以級聯(lián)的 4 線串行接口與單片機(jī)、DSP、微處理器等控制器交換數(shù)據(jù)。CH451 包含三個功能:數(shù)碼管顯示驅(qū)動、鍵盤掃描控制、μP 監(jiān)控,三個功能之間相互獨立,控制器可以通過操作命令分別啟用、關(guān)閉、設(shè)定CH451 的任何一個功能。CH451 的串行接口是由硬件實現(xiàn)的,控制器可以頻繁地通過串行接口進(jìn)行高速操作,而絕對不會降低 CH451 的工作效率。
5.2. 顯示驅(qū)動
CH451 對數(shù)碼管和發(fā)光管采用動態(tài)掃描驅(qū)動,順序為 DIG0 至 DIG7,當(dāng)其中一個引腳吸入電流時,其它引腳則不吸入電流。CH451 內(nèi)部具有大電流驅(qū)動級,可以直接驅(qū)動 0.5英寸至 2 英寸的共陰數(shù)碼管,段驅(qū)動引腳 SEG6~SEG0 分別對應(yīng)數(shù)碼管的段 G~段 A,段驅(qū)動引腳 SEG7 對應(yīng)數(shù)碼管的小數(shù)點,字驅(qū)動引腳 DIG7~DIG0 分別連接 8 個數(shù)碼管的陰極;CH451 也可以連接 8×8 矩陣的發(fā)光二級管 LED 陣列或者 64 個獨立發(fā)光管;CH451 還可以通過外接反相驅(qū)動器支持共陽數(shù)碼管,或者外接大功率管支持大尺寸的數(shù)碼管。CH451 支持掃描極限控制,并且只為有效數(shù)碼管分配掃描時間。當(dāng)掃描極限設(shè)定為 1時,唯一的數(shù)碼管 DIG0 將得到所有的動態(tài)驅(qū)動時間,從而等同于靜態(tài)驅(qū)動;當(dāng)掃描極限設(shè)定為 8 時,8 個數(shù)碼管 DIG7~DIG0 各得到 1/8 的動態(tài)驅(qū)動時間;當(dāng)掃描極限設(shè)定為 4時,4 個數(shù)碼管 DIG3~DIG0 各得到 1/4 的動態(tài)驅(qū)動時間,此時各數(shù)碼管的平均驅(qū)動電流將比掃描極限為 8 時增加一倍,所以降低掃描極限可以提高數(shù)碼管的顯示亮度。CH451 將分配給每個數(shù)碼管的顯示驅(qū)動時間進(jìn)一步細(xì)分為 16 等份,通過設(shè)定顯示占空比支持 16 級亮度控制。占空比的值從 1/16 至 16/16,占空比越大,數(shù)碼管的平均驅(qū)動電流越大,顯示亮度也就越高,但占空比與顯示亮度之間是非線性關(guān)系。CH451 內(nèi)部具有 8 個 8 位的數(shù)據(jù)寄存器,用于保存 8 個字?jǐn)?shù)據(jù),分別對應(yīng)于 CH451所驅(qū)動的 8 個數(shù)碼管或者 8 組每組 8 個的發(fā)光二極管。CH451 支持?jǐn)?shù)據(jù)寄存器中的字?jǐn)?shù)據(jù)左移、右移、左循環(huán)、右循環(huán),并且支持各數(shù)碼管的獨立閃爍控制,在字?jǐn)?shù)據(jù)左右移動或者左右循環(huán)移動的過程中,閃爍控制的屬性不受影響。例如,可以設(shè)定 CH451 的字驅(qū)動引腳 DIG3 和 DIG6 所對應(yīng)的數(shù)碼管閃爍,而其余數(shù)碼管不閃爍,在字?jǐn)?shù)據(jù)左移后,仍然是 DIG3 和 DIG6 所對應(yīng)的數(shù)碼管閃爍。
CH451 默認(rèn)情況下工作于不譯碼方式,此時 8 個數(shù)據(jù)寄存器中字?jǐn)?shù)據(jù)的位 7~位 0分別對應(yīng) 8 個數(shù)碼管的小數(shù)點和段 G~段 A,對于發(fā)光二極管陣列,則每個字?jǐn)?shù)據(jù)的數(shù)據(jù)位唯一地對應(yīng)一個發(fā)光二級管。當(dāng)數(shù)據(jù)位為 1 時,對應(yīng)的數(shù)據(jù)管的段或者發(fā)光管就會點亮;當(dāng)數(shù)據(jù)位為 0 時,則對應(yīng)的數(shù)據(jù)管的段或者發(fā)光管就會熄滅。例如,第三個數(shù)據(jù)寄存器的位 0 為 1,所以對應(yīng)的第三個數(shù)碼管的段 A 點亮;第五個數(shù)據(jù)寄存器的位 7 為 0,所以對應(yīng)的第五個數(shù)碼管的小數(shù)點熄滅。通過設(shè)定,CH451 還可以工作于 BCD 譯碼方式,該方式主要應(yīng)用于數(shù)碼管驅(qū)動,單片機(jī)只要給出二進(jìn)制數(shù) BCD 碼,由 CH451 將其譯碼后直接驅(qū)動數(shù)碼管顯示對應(yīng)的字符,簡化了單片機(jī)譯碼的工作。BCD 譯碼方式是指對數(shù)據(jù)寄存器中字?jǐn)?shù)據(jù)的位 4~位 0 進(jìn)行兼容 BCD 的譯碼,控制段驅(qū)動引腳 SEG6~SEG0 的輸出,對應(yīng)于數(shù)碼管的段 G~段 A,同時用字?jǐn)?shù)據(jù)的位 7 控制段驅(qū)動引腳 SEG7 的輸出,對應(yīng)于數(shù)碼管的小數(shù)點,字?jǐn)?shù)據(jù)的位 6 和位 5 不影響 BCD 譯碼的輸出,可以是任意值。下表為數(shù)據(jù)寄存器中字?jǐn)?shù)據(jù)的位 4~位 0 進(jìn)行 BCD 譯碼后,所對應(yīng)的段 G~段 A 以及數(shù)碼管顯示的字符。另外,在字?jǐn)?shù)據(jù)的位 4~位 0 為 11010B 時,即使字?jǐn)?shù)據(jù)的位 7 是 0,數(shù)碼管仍然直接顯示.小數(shù)點字符,其段 G~段 A 輸出 0,而小數(shù)點輸出 1。參考下表,如果需要 在數(shù)碼管上顯示字符 0,只要置入數(shù)據(jù) 0xx00000B 或者 00H;需要顯示字符 0.(0 帶小數(shù) 點),只要置入數(shù)據(jù) 1xx00000B 或者 80H;反之,數(shù)據(jù) 1xx01000B 或者 88H 對應(yīng)于字符 8.
(8 帶小數(shù)點);數(shù)據(jù) 0xx10011B 或者 13H 對應(yīng)于字符=;數(shù)據(jù) 0xx11010B 或者 1AH 對應(yīng)于
字符 . (小數(shù)點);數(shù)據(jù) 0xx10000B 或者 10H 對應(yīng)于字符 (空格,數(shù)碼管沒有顯示)。
0.jpg (84.05 KB, 下載次數(shù): 52)
下載附件
2018-9-15 23:51 上傳
5.3. 鍵盤掃描
CH451 的鍵盤掃描功能支持 8×8 矩陣的 64 鍵鍵盤。在鍵盤掃描期間,DIG7~DIG0
引腳用于列掃描輸出,SEG7~SEG0 引腳都帶有內(nèi)部下拉,用于行掃描輸入;當(dāng)啟用鍵盤
掃描功能后,DOUT 引腳的功能由串行接口的數(shù)據(jù)輸出變?yōu)殒I盤中斷以及數(shù)據(jù)輸出。
CH451 定期在顯示驅(qū)動掃描過程中插入鍵盤掃描。在鍵盤掃描期間,DIG7~DIG0 引
腳按照 DIG0 至 DIG7 的順序依次輸出高電平,其余 7 個引腳輸出低電平;SEG7~SEG0 引
腳的輸出被禁止,當(dāng)沒有鍵被按下時,SEG7~SEG0 都被下拉為低電平;當(dāng)有鍵被按下時,
例如連接 DIG3 與 SEG4 的鍵被按下,則當(dāng) DIG3 輸出高電平時 SEG4 檢測到高電平;為了
防止因為按鍵抖動或者外界干擾而產(chǎn)生誤碼,CH451 實行兩次掃描,只有當(dāng)兩次鍵盤掃描
的結(jié)果相同時,按鍵才會被確認(rèn)有效。如果 CH451 檢測到有效的按鍵,則記錄下該按鍵
代碼,并通過 DOUT 引腳產(chǎn)生低電平有效的鍵盤中斷,此時單片機(jī)可以通過串行接口讀取
按鍵代碼;在沒有檢測到新的有效按鍵之前,CH451 不再產(chǎn)生任何鍵盤中斷。CH451 不支
持組合鍵,也就是說,同一時刻,不能有兩個或者更多的鍵被按下。
CH451 所提供的按鍵代碼為 7 位,位 2~位 0 是列掃描碼,位 5~位 3 是行掃描碼,
位 6 是狀態(tài)碼(鍵按下為 1,鍵釋放為 0)。例如,連接 DIG3 與 SEG4 的鍵被按下,則按
鍵代碼是 1100011B 或者 63H,鍵被釋放后,按鍵代碼是 0100011B 或者 23H,其中,對應(yīng)
DIG3 的列掃描碼為 011B,對應(yīng) SEG4 的行掃描碼為 100B。單片機(jī)可以在任何時候讀取按
鍵代碼,但一般在 CH451 檢測到有效按鍵而產(chǎn)生鍵盤中斷時讀取按鍵代碼,此時按鍵代
碼的位 6 總是 1,另外,如果需要了解按鍵何時釋放,單片機(jī)可以通過查詢方式定期讀取
按鍵代碼,直到按鍵代碼的位 6 為 0。下表是連接在 DIG7~DIG0 與 SEG7~SEG0 之間的鍵
被按下時,CH451 所提供的按鍵代碼。這些按鍵代碼具有一定的規(guī)律,如果需要鍵被釋放
時的按鍵代碼,則將表中的按鍵代碼的位 6 置 0,或者將表中的按鍵代碼減去 40H。
0.jpg (46.74 KB, 下載次數(shù): 52)
下載附件
2018-9-15 23:51 上傳
5.4. μP 監(jiān)控
CH451 提供的μP 監(jiān)控包括上電復(fù)位和看門狗 Watch-Dog。單片機(jī)、DSP、微處理器
等控制器的復(fù)位輸入引腳可以根據(jù)需要直接連接到 CH451 的 RST 引腳或者 RST#引腳,當(dāng)
CH451 通電或者看門狗溢出時,RST 引腳輸出高電平有效的復(fù)位脈沖信號,RST#引腳輸出
低電平有效的復(fù)位脈沖信號。CH451 的上電復(fù)位脈沖信號同時作用于 CH451 芯片的內(nèi)部電
路,而看門狗復(fù)位脈沖信號不會對 CH451 芯片的內(nèi)部電路起作用。
CH451 的上電復(fù)位是指上電過程(從斷電狀態(tài)變?yōu)檎9╇姞顟B(tài)的過程)中產(chǎn)生的
復(fù)位脈沖。CH451 的上電復(fù)位支持短至數(shù)微秒的快速上電過程和長達(dá)數(shù)秒的慢速上電過
程,以及正常供電狀態(tài)下電壓偶爾降低到復(fù)位門限以下的情況,但對于正常供電狀態(tài)下
電源電壓的小幅度波動以及各種短于數(shù)微秒的尖鋒干擾,CH451 不會產(chǎn)生復(fù)位信號。為了
減少 CH451 驅(qū)動大電流而產(chǎn)生的電源干擾,在設(shè)計印制電路板 PCB 時,應(yīng)該緊靠 CH451
芯片,在正負(fù)電源之間并聯(lián)一組電源退耦電容,包括至少一個容量不小于 0.1uF 的獨石
或者瓷片電容和一個容量不小于 100uF 的電解電容。
CH451 在啟用看門狗功能后,只要清除輸入引腳 DCLK 的電平?jīng)]有變化,看門狗計時
器就會計時,當(dāng)計滿溢出周期時,就會產(chǎn)生看門狗復(fù)位脈沖信號。為了避免計時溢出而
產(chǎn)生復(fù)位信號,控制器應(yīng)該定期變化 DCLK 的電平,及時清除看門狗的計時。CH451 的看
門狗計時可以被下述的任何一個操作清除:上電復(fù)位、RSTI 引腳的手工復(fù)位、DCLK 從低
電平變?yōu)楦唠娖、DCLK 從高電平變?yōu)榈碗娖健CLK 從高電平變?yōu)榈碗娖皆倭⒓椿謴?fù)為高
電平等。啟用看門狗功能后,當(dāng)控制器的程序失控而使 DCLK 的電平長時間保持不變時,
CH451 就會輸出看門狗復(fù)位脈沖信號,從而使控制器復(fù)位并重新進(jìn)入正常工作狀態(tài)。
5.5. 串行接口
CH451 具有硬件實現(xiàn)的高速 4 線串行接口,包括 4 根信號線:串行數(shù)據(jù)輸入線 DIN、
串行數(shù)據(jù)時鐘線 DCLK、串行數(shù)據(jù)加載線 LOAD、串行數(shù)據(jù)輸出線 DOUT。其中,DIN、DCLK、
LOAD 是帶上拉的輸入信號線,默認(rèn)是高電平;DOUT 在未啟用鍵盤掃描功能時作為串行數(shù)
據(jù)輸出線,在啟用鍵盤掃描功能后作為鍵盤中斷和數(shù)據(jù)輸出線,默認(rèn)是高電平。
DIN 用于提供串行數(shù)據(jù),高電平表示位數(shù)據(jù) 1,低電平表示位數(shù)據(jù) 0,串行數(shù)據(jù)輸入
的順序是低位在前,高位在后。單片機(jī)可以在 DCLK 高電平期間變化 DIN 的電平,如果必
要也可以在 DCLK 低電平期間變化 DIN 的電平。另外,在上電復(fù)位后,CH451 默認(rèn)選擇 1
線串行接口,所以單片機(jī)必須在 DCLK 輸出串行時鐘之前,先在 DIN 上輸出一個低電平脈
沖(由高電平變?yōu)榈碗娖皆倩謴?fù)為高電平),通知 CH451 選擇 4 線串行接口。
DCLK 用于提供串行時鐘,CH451 在其上升沿從 DIN 輸入數(shù)據(jù),在其下降沿從 DOUT
輸出數(shù)據(jù)。CH451 內(nèi)部具有 12 位移位寄存器,在 DCLK 的上升沿,DIN 上的位數(shù)據(jù)被移入
移位寄存器的最高位寄存器,以此類推,原次低位數(shù)據(jù)移入最低位寄存器,在該上升沿
后的第一個下降沿,原次低位數(shù)據(jù)從 DOUT 輸出。CH451 允許 DCLK 引腳的串行時鐘頻率大
于 10MHz,從而可以實現(xiàn)高速串行輸入輸出。
LOAD 用于加載串行數(shù)據(jù),CH451 在其上升沿加載移位寄存器中的 12 位數(shù)據(jù),作為操
作命令分析并處理。也就是說,LOAD 的上升沿是串行數(shù)據(jù)幀的幀完成標(biāo)志,此時無論移
位寄存器中的 12 位數(shù)據(jù)是否有效,CH451 都會將其當(dāng)作操作命令。
單片機(jī)向 CH451 輸出串行數(shù)據(jù)的過程是(不是唯一的過程,可以有很多變化):
① 輸出一位數(shù)據(jù),即向 DIN 輸出最低位數(shù)據(jù) B0,并向 DCLK 輸出低電平脈沖(從高
電平變?yōu)榈碗娖皆倩謴?fù)為高電平),其中包括一個上升沿使 CH451 輸入位數(shù)據(jù);
② 以同樣的方式,輸出位數(shù)據(jù) B1~B11;
③ 向 LOAD 輸出低電平脈沖,其中包括一個上升沿使 CH451 加載串行數(shù)據(jù)。
在本說明書中,將以 B0^B1^B2^B3^B4^B5^B6^B7^B8^B9^B10^B11^↑作為上述過程的
簡化描述,其中,^代表 DCLK 的上升沿,↑代表 LOAD 的上升沿,B0~B11 分別代表 1 位
數(shù)據(jù),如果是字符 0 或 1 則對應(yīng) DIN 輸入的位數(shù)據(jù),如果是字符 L 或 H 則對應(yīng) DOUT 輸出
的位數(shù)據(jù) 0 或 1。例如,1^0^0^0^0^0^0^0^0^1^0^0^↑表示向 CH451 發(fā)送了一組 12 位的
串行數(shù)據(jù) 001000000001B;1^1^1^0^↑H^H^L^L^L^H^H^表示先向 CH451 發(fā)送了一組 4 位的
串行數(shù)據(jù) 0111B,然后接收了一組 7 位的串行數(shù)據(jù) 1100011B。
在未啟用鍵盤掃描功能時,DOUT 用于輸出串行數(shù)據(jù),移位寄存器中的最低位數(shù)據(jù)總
是在 DCLK 的下降沿出現(xiàn)在 DOUT 引腳。CH451 支持無限制的級聯(lián),只要 3 根信號線就可以
連接無限多個 CH451 芯片。其中,所有 CH451 的 DCLK 并聯(lián)后連接單片機(jī)的 DCLK 輸出,
所有 CH451 的 LOAD 并聯(lián)后連接單片機(jī)的 LOAD 輸出,后級 CH451 的 DIN 連接前級 CH451
的 DOUT 輸出,最前級 CH451 的 DIN 連接單片機(jī)的 DIN 輸出。級聯(lián)電路中,單片機(jī)每次輸
出的串行數(shù)據(jù)必須是單個 CH451 的串行數(shù)據(jù)的位數(shù)乘以級聯(lián)的級數(shù)。例如,CH451 的串行
數(shù)據(jù)是 12 位,如果 3 個 CH451 進(jìn)行級聯(lián),則單片機(jī)每次輸出的數(shù)據(jù)位數(shù)必須是 36 位,
依次是后級 CH451 的命令數(shù)據(jù)、中級 CH451 的命令數(shù)據(jù)、前級 CH451 的命令數(shù)據(jù)。
下圖是在未啟用鍵盤掃描功能時,單片機(jī)通過串行接口向 CH451 發(fā)送 12 位數(shù)據(jù)的波
形示意圖,數(shù)據(jù)是 001000000001B,LOAD 的低電平脈沖可以更寬,圖中以虛線表示。
0.jpg (24.84 KB, 下載次數(shù): 68)
下載附件
2018-9-15 23:52 上傳
當(dāng)啟用鍵盤掃描功能后,DOUT 用于鍵盤中斷和數(shù)據(jù)輸出,默認(rèn)是高電平。當(dāng) CH451 檢測到有效按鍵時,DOUT 輸出低電平有效的鍵盤中斷;單片機(jī)被中斷后,發(fā)出讀取按鍵 代碼命令,CH451 在 LOAD 的上升沿后從 DOUT 輸出 7 位按鍵代碼的最高位;單片機(jī)繼續(xù)輸 出串行時鐘,在 DCLK 的每個下降沿,CH451 依次從 DOUT 輸出 7 位按鍵代碼的剩余 6 位, 順序是高位在前,低位在后;7 位按鍵代碼輸出完畢后,無論 DCLK 如何變化,CH451 都 將 DOUT 恢復(fù)為默認(rèn)的高電平。單片機(jī)從 CH451 獲得按鍵代碼的過程是:
① 輸出一位數(shù)據(jù),即向 DIN 輸出讀取按鍵代碼命令的最低位數(shù)據(jù) B0,并向 DCLK 輸 出低電平脈沖;
② 以同樣的方式,輸出讀取按鍵代碼命令的位數(shù)據(jù) B1~B11;
③ 向 LOAD 輸出低電平脈沖,其中包括一個上升沿使 CH451 加載串行數(shù)據(jù),CH451
分析出是讀取按鍵代碼命令,立即在 DOUT 輸出按鍵代碼的最高位數(shù)據(jù) K7;
④ 讀取一位數(shù)據(jù),即從 DOUT 輸入按鍵代碼的最高位數(shù)據(jù) K7,并向 DCLK 輸出低電
平脈沖;
⑤ 以同樣的方式,輸入按鍵代碼的位數(shù)據(jù) K6~K0。
實際上,CH451 的讀取按鍵代碼命令只有位數(shù)據(jù) B8~B11 是有效的,所以為了節(jié)約
時間,單片機(jī)發(fā)出的讀取按鍵代碼命令只需要 4 位數(shù)據(jù),而不必發(fā)送 B0~B7。例如,按
鍵代碼是 63H,則上述過程的簡化描述是 1^1^1^0^↑H^H^L^L^L^H^H^,即先向 CH451 發(fā)
出讀取按鍵代碼命令 0111xxxxxxxxB,然后從 DOUT 接收按鍵代碼 1100011B。下圖是單片
機(jī)向 CH451 發(fā)送命令并接收按鍵代碼的波形示意圖,MCU 是指單片機(jī)的工作狀態(tài)。
0.jpg (27.29 KB, 下載次數(shù): 51)
下載附件
2018-9-15 23:52 上傳
6、操作命令
CH451 的操作命令均為 12 位,下表列出了 CH451 的各個操作命令所對應(yīng)的 12 位串 行數(shù)據(jù)。其中,標(biāo)注為 x 的位表示該位可以是任意值;標(biāo)有名稱的位表示該位在 CH451 芯片內(nèi)部具有相應(yīng)的寄存器,其數(shù)據(jù)根據(jù)操作命令的不同而變化。
0.jpg (106.08 KB, 下載次數(shù): 55)
下載附件
2018-9-15 23:53 上傳
6.1. 空操作:0000xxxxxxxxB
空操作命令不對 CH451 產(chǎn)生任何影響。該命令可以在多個 CH451 級聯(lián)的應(yīng)用中,透
過前級 CH451 向后級 CH451 發(fā)送操作命令而不影響前級 CH451 的狀態(tài)。例如,要將操作
命令 001000000001B 發(fā)送給兩級級聯(lián)電路中的后級 CH451(后級 CH451 的 DIN 引腳連接前
級 CH451 的 DOUT 引腳),只要在該操作命令后添加空操作命令 000000000000B 再發(fā)送,
簡化描述是 1^0^0^0^0^0^0^0^0^1^0^0^0^0^0^0^0^0^0^0^0^0^0^0^↑,那么,該操作命
令將經(jīng)過前級 CH451 到達(dá)后級 CH451,而空操作命令留給了前級 CH451。另外,為了在不
影響 CH451 的前提下變化 DCLK 以清除看門狗計時,也可以發(fā)送空操作命令,在非級聯(lián)的
應(yīng)用中,空操作命令可以只發(fā)送有效數(shù)據(jù) B8~B11,簡化描述是 0^0^0^0^↑。
6.2. 芯片內(nèi)部復(fù)位:001000000001B
內(nèi)部復(fù)位命令將 CH451 的各個寄存器和各種參數(shù)復(fù)位到默認(rèn)的狀態(tài)。芯片上電時,
CH451 總是被復(fù)位,此時各個寄存器均復(fù)位為 0,各種參數(shù)均恢復(fù)為默認(rèn)值。
6.3. 字?jǐn)?shù)據(jù)左移:001100000000B
字?jǐn)?shù)據(jù)左移命令將 CH451 的字?jǐn)?shù)據(jù)左移一次,即從 DIG0 向 DIG7 移動一位,然后最
右邊的 DIG0 補進(jìn)數(shù)據(jù) 00H。例如,在數(shù)碼管 DIG7~DIG0 顯示“87654321”時,執(zhí)行字?jǐn)?shù)
據(jù)左移命令,顯示變?yōu)椤?654321 ”(不譯碼方式)或者“76543210”(BCD 譯碼方式)。
6.4. 字?jǐn)?shù)據(jù)右移:001100000010B
字?jǐn)?shù)據(jù)右移命令將 CH451 的字?jǐn)?shù)據(jù)右移一次,即從 DIG7 向 DIG0 移動一位,然后最
左邊的 DIG7 補進(jìn)數(shù)據(jù) 00H。例如,在數(shù)碼管 DIG7~DIG0 顯示“87654321”時,執(zhí)行字?jǐn)?shù)
據(jù)右移命令,顯示變?yōu)椤?8765432”(不譯碼方式)或者“08765432”(BCD 譯碼方式)。
6.5. 字?jǐn)?shù)據(jù)左循環(huán):001100000001B
字?jǐn)?shù)據(jù)左循環(huán)命令將 CH451 的字?jǐn)?shù)據(jù)左循環(huán)一次,即從 DIG0 向 DIG7 移動一位,然
后最右邊的 DIG0 補進(jìn)原 DIG7 的數(shù)據(jù)。例如,在數(shù)碼管 DIG7~DIG0 顯示“87654321”時,
執(zhí)行字?jǐn)?shù)據(jù)左循環(huán)命令,顯示變?yōu)椤?6543218”。
6.6. 字?jǐn)?shù)據(jù)右循環(huán):001100000011B
字?jǐn)?shù)據(jù)右循環(huán)命令將 CH451 的字?jǐn)?shù)據(jù)右循環(huán)一次,即從 DIG7 向 DIG0 移動一位,然
后最左邊的 DIG7 補進(jìn)原 DIG0 的數(shù)據(jù)。例如,在數(shù)碼管 DIG7~DIG0 顯示“87654321”時,
執(zhí)行字?jǐn)?shù)據(jù)右循環(huán)命令,顯示變?yōu)椤?8765432”。
6.7. 設(shè)定系統(tǒng)參數(shù):010000000[WDOG][KEYB][DISP]B
設(shè)定系統(tǒng)參數(shù)命令用于設(shè)定 CH451 的系統(tǒng)級參數(shù):看門狗使能 WDOG,鍵盤掃描使能
KEYB,顯示驅(qū)動使能 DISP。各個參數(shù)均通過 1 位數(shù)據(jù)控制,將相應(yīng)的數(shù)據(jù)位置為 1 則啟
用該功能,否則關(guān)閉該功能(默認(rèn)值)。例如,命令數(shù)據(jù) 010000000101B 表示啟用看門狗
的功能、關(guān)閉鍵盤掃描的功能、啟用顯示掃描驅(qū)動的功能。
6.8. 設(shè)定顯示參數(shù):0101[MODE][LIMIT][INTENSITY] B
設(shè)定顯示參數(shù)命令用于設(shè)定 CH451 的顯示參數(shù):譯碼方式 MODE,掃描極限 LIMIT,
顯示亮度 INTENSITY。譯碼方式 MODE 通過 1 位數(shù)據(jù)控制,置 1 時選擇 BCD 譯碼方式,置
0 時選擇不譯碼方式(默認(rèn)值)。掃描極限 LIMIT 通過 3 位數(shù)據(jù)控制,數(shù)據(jù) 001B~111B
和 000B 分別設(shè)定掃描極限為 1~7 和 8(默認(rèn)值)。顯示亮度 INTENSITY 通過 4 位數(shù)據(jù)控
制,數(shù)據(jù) 0001B~1111B 和 0000B 分別設(shè)定顯示驅(qū)動占空比為 1/16~15/16 和 16/16(默 認(rèn)值)。例如,命令數(shù)據(jù) 010101110000B 表示選擇不譯碼方式、掃描極限為 7、顯示驅(qū)動 占空比為 16/16;命令數(shù)據(jù) 010110001010B 表示選擇 BCD 譯碼方式、掃描極限為 8、顯示 驅(qū)動占空比為 10/16。
6.9. 設(shè)定閃爍控制:0110[D7S][D6S][D5S][D4S][D3S][D2S][D1S][D0S]B
設(shè)定閃爍控制命令用于設(shè)定 CH451 的閃爍顯示屬性:D7S~D0S 分別對應(yīng)于 8 個字驅(qū)
動 DIG7~DIG0。閃爍屬性 D7S~D0S 分別通過 1 位數(shù)據(jù)控制,將相應(yīng)的數(shù)據(jù)位置為 1 則使
能閃爍顯示,否則為正常顯示,不閃爍(默認(rèn)值)。例如,命令數(shù)據(jù) 011000100001B 表示
設(shè)定數(shù)碼管 DIG5 和 DIG0 閃爍顯示,其余數(shù)碼管正常顯示,不閃爍。
6.10. 加載字?jǐn)?shù)據(jù):1[DIG_ADDR][DIG_DATA]B
加載字?jǐn)?shù)據(jù)命令用于將字?jǐn)?shù)據(jù) DIG_DATA 寫入 DIG_ADDR 指定地址的數(shù)據(jù)寄存器中。
DIG_ADDR 通過 3 位數(shù)據(jù)指定數(shù)據(jù)寄存器的地址,數(shù)據(jù) 000B~111B 分別指定地址 0~7,
對應(yīng)于 DIG0~DIG7 引腳驅(qū)動的 8 個數(shù)碼管。DIG_DATA 是 8 位的字?jǐn)?shù)據(jù)。例如,命令數(shù)據(jù)
100001111001B 表示將字?jǐn)?shù)據(jù) 79H 寫入第 1 個數(shù)據(jù)寄存器,如果是不譯碼方式,則 DIG0
引腳驅(qū)動的數(shù)碼管將顯示 E;命令數(shù)據(jù) 110010001000B 表示將字?jǐn)?shù)據(jù) 88H 寫入第 5 個數(shù)據(jù)
寄存器,如果是 BCD 譯碼方式,則 DIG4 引腳驅(qū)動的數(shù)碼管將顯示 8.。
6.11. 讀取按鍵代碼:0111xxxxxxxxB
讀取按鍵代碼命令用于獲得 CH451 最近檢測到的有效按鍵的按鍵代碼。該命令是唯
一的具有數(shù)據(jù)返回的命令,CH451 從 DOUT 引腳輸出按鍵代碼,按鍵代碼總是 7 位數(shù)據(jù),
最高位是狀態(tài)碼,位 5~位 0 是掃描碼。讀取按鍵代碼命令的位數(shù)據(jù) B0~B7 可以是任意
值,所以控制器可以將該操作命令縮短為 4 位數(shù)據(jù) B8~B11。例如,CH451 檢測到有效按
鍵并中斷,按鍵代碼是 5EH,簡化描述 1^1^1^0^↑表示向 CH451 發(fā)出讀取按鍵代碼命令
0111xxxxxxxxB,但實際并不讀取按鍵代碼;簡化描述 1^1^1^0^↑H^L^H^H^H^H^L^表示先
向 CH451 發(fā)出讀取按鍵代碼命令 0111xxxxxxxxB,然后從 DOUT 獲得按鍵代碼 5EH。
8、應(yīng)用 8.1.連接單片機(jī)(下圖) CH451 通過串行接口與單片機(jī)相連接。U2(28 腳封裝的CH451)向單片機(jī) U1(51 系 列AT89C2051)提供復(fù)位信號RESET 和系統(tǒng)時鐘信號SCLK,如果要求定時精確,單片機(jī) 也可以用晶振獲得系統(tǒng)時鐘信號。CH451 的段驅(qū)動引腳串接了電阻 R1(200Ω),用以限 制和均衡段驅(qū)動電流,在 5V 電源電壓下,串接200Ω電阻通常對應(yīng)段電流 13mA。電容C2 和C3 布置于U2 的電源引腳附近,用于電源退耦,減少驅(qū)動大電流產(chǎn)生的干擾。當(dāng)不需 要鍵盤功能時,還可以省去 KEY 信號線,只使用 DCLK、DIN、LOAD 三根信號線;當(dāng)使用 鍵盤功能時,CH451 的 DOUT 引腳的KEY 信號線最好連接到單片機(jī)的中斷輸入引腳,如果 連接到非中斷輸入引腳,則應(yīng)該使用查詢方式確定 CH451 是否檢測到有效按鍵。
0.jpg (42.63 KB, 下載次數(shù): 64)
下載附件
2018-9-15 23:54 上傳
0.jpg (58.85 KB, 下載次數(shù): 63)
下載附件
2018-9-15 23:54 上傳
8.2. 驅(qū)動數(shù)碼管(上圖)
CH451 可以動態(tài)驅(qū)動 8 個共陰數(shù)碼管,所有數(shù)碼管的相同段引腳(段 A~段 G 以及小
數(shù)點)并聯(lián)后通過串接的限流電阻 R1 連接 CH451 的段驅(qū)動引腳 SEG0~SEG7,各數(shù)碼管的
陰極分別由 CH451 的 DIG0~DIG7 引腳進(jìn)行驅(qū)動。串接限流電阻 R1 的阻值越大則段驅(qū)動
電流越小,數(shù)碼管的顯示亮度越低,R1 的阻值一般在 60Ω至 400Ω之間,在其它條件相
同的情況下,應(yīng)該優(yōu)先選擇較大的阻值。在數(shù)碼管的面板布局上,建議數(shù)碼管從左到右
的順序是 N1 靠左邊,N8 靠右邊,以便匹配字左右移動命令和字左右循環(huán)移動命令。
8.3. 鍵盤掃描(下圖)
CH451 具有 64 鍵的鍵盤掃描功能,如果應(yīng)用中只需要很少的按鍵,則可以在 8×8
矩陣中任意去掉不用的按鍵。為了防止鍵被按下后在 SEG 信號線與 DIG 信號線之間形成
短路,影響數(shù)碼管顯示,一般應(yīng)該在 CH451 的 DIG0~DIG7 引腳與鍵盤矩陣之間串接限流
電阻 R2,其阻值可以從 1KΩ至 10KΩ。
0.jpg (68.91 KB, 下載次數(shù): 48)
下載附件
2018-9-15 23:55 上傳
0.jpg (59.98 KB, 下載次數(shù): 48)
下載附件
2018-9-15 23:55 上傳
當(dāng)數(shù)碼管多于 8 個時,可以采用多個 CH451 進(jìn)行驅(qū)動。多個 CH451 與單片機(jī)的連接 方式,有兩種方案:一是單片機(jī)為每個 CH451 提供一根獨立的 LOAD 信號線,但 DIN 信號 線和 DCLK 信號線同時提供給所有的 CH451,也就是說,LOAD 信號線相當(dāng)于 CH451 的片選線;二是將多個 CH451 進(jìn)行級聯(lián)。圖中是以級聯(lián)方式驅(qū)動發(fā)光二極管 LED 點陣,U3(PIC 系列單片機(jī))通過 DIN1、DCLK 和 LOAD 三根信號線控制所有的 CH451。參考 16×16 布局 圖,4 個 8×8 發(fā)光管陣列 L1~L4 組成 16×16 的點陣模塊,如果要顯示一個漢字,只要 將 32 字節(jié)的點陣數(shù)據(jù)通過 8 次 48 位的加載字?jǐn)?shù)據(jù)命令送給 CH451 就可以了。因為是 4 個 CH451 級聯(lián),所以每個操作命令都必須是 48 位數(shù)據(jù),依次是 U7、U6、U5 和 U4 的命令 數(shù)據(jù),最后由 LOAD 信號線輸出上升沿通知所有的 CH451 加載各自的命令數(shù)據(jù)。
8.5. 外部阻容振蕩
CH451 使用一個系統(tǒng)時鐘信號來同步芯片內(nèi)部的各個功能部件,例如,當(dāng)系統(tǒng)時鐘
信號的頻率變高時,顯示驅(qū)動刷新將變快、按鍵響應(yīng)時間將變短、上電復(fù)位信號的寬度
將變窄、看門狗周期也將變短。一般情況下,CH451 的系統(tǒng)時鐘信號是由內(nèi)置的阻容振蕩
提供的,這樣就不再需要任何外圍電路,但內(nèi)置 RC 振蕩的頻率受電源電壓的影響較大,
當(dāng)電源電壓降低時,系統(tǒng)時鐘信號的頻率也隨之降低。
在某些實際應(yīng)用中,可能希望 CH451 提供更長或者更短的顯示刷新周期、按鍵響應(yīng)
時間等,這時就需要調(diào)節(jié)系統(tǒng)時鐘信號的頻率。CH451 提供了 CLK 引腳,用于外接阻容振
蕩。當(dāng)在 CLK 引腳與地 GND 之間跨接電容后,系統(tǒng)時鐘信號的頻率將變低;當(dāng)在 CLK 引
腳與正電源 VCC 之間跨接電阻后,系統(tǒng)時鐘信號的頻率將變高。因為 CH451 的系統(tǒng)時鐘
信號被用于芯片內(nèi)部的所有功能部件,所以其頻率不宜進(jìn)行大幅度的調(diào)節(jié),一般情況下,
跨接電容的容量在 5pF 至 100pF 之間,跨接電阻的阻值在 20KΩ至 500KΩ之間?缃右
個 47pF 的電容則頻率降低為一半,跨接一個 47KΩ的電阻則頻率升高為兩倍。
另外,CH451 的 CLK 引腳可以直接輸入外部的系統(tǒng)時鐘信號,但外部電路的驅(qū)動能
力不能小于±2mA。CH451 在 CLKO 引腳提供了系統(tǒng)時鐘信號的二分頻輸出,對于一些不要
求精確定時的實際應(yīng)用,可以由 CLKO 引腳向單片機(jī)提供時鐘信號,簡化外圍電路。
8.6. 單片機(jī)接口程序
下面提供了 U1(MCS-51 單片機(jī))與 U2(CH451)的接口程序,供參考。
;****************************************************************************
;需要主程序定義的參數(shù)
CH451_DCLK BIT P1.7 ;串行數(shù)據(jù)時鐘,上升沿激活
CH451_DIN BIT P1.6 ;串行數(shù)據(jù)輸出,接 CH451 的數(shù)據(jù)輸入
CH451_LOAD BIT P1.5 ;串行命令加載,上升沿激活
CH451_DOUT BIT P3.2 ;INT0,鍵盤中斷和鍵值數(shù)據(jù)輸入,接 CH451 的數(shù)據(jù)輸出
CH451_KEY DATA 7FH ;存放鍵盤中斷中讀取的鍵值
;****************************************************************************
; 初始化子程序
RET
;
; 輸出命令子程序
; ENTRY: B-ACC 待寫的 12 位數(shù)據(jù), 低 8 位在 ACC 中, 高 4 位在 B 的低 4 位中
; USE: ACC, B, R7
CH451_WRITE: CLR EX0 ;禁止鍵盤中斷
CLR CH451_LOAD ;命令開始,此命令可以放在后面
MOV R7,#08H ;將 ACC 中 8 位送出
CH451_WRITE_8: RRC A ;低位在前,高位在后
CLR CH451_DCLK
MOV CH451_DIN,C ;送出一位數(shù)據(jù)
SETB CH451_DCLK ;產(chǎn)生時鐘上升沿通知 CH451 輸入位數(shù)據(jù)
DJNZ R7,CH451_WRITE_8 ;位數(shù)據(jù)未完繼續(xù)
MOV A,B
MOV R7,#04H ;將 B 中 4 位送出
CH451_WRITE_4: RRC A ;低位在前,高位在后
CLR CH451_DCLK
MOV CH451_DIN,C ;送出一位數(shù)據(jù)
SETB CH451_DCLK ;產(chǎn)生時鐘上升沿通知 CH451 輸入位數(shù)據(jù)
DJNZ R7,CH451_WRITE_4 ;位數(shù)據(jù)未完繼續(xù)
SETB CH451_LOAD ;產(chǎn)生加載上升沿通知 CH451 處理命令數(shù)據(jù)
SETB EX0 ;允許鍵盤中斷
RET
;
; 輸入鍵值子程序
; EXIT: ACC 鍵值數(shù)據(jù)
; USE: ACC, R7
CH451_READ: CLR EX0 ;禁止鍵盤中斷
CLR CH451_LOAD ;命令開始
MOV A,#07H ;讀取鍵值命令的高 4 位 0111B MOV R7,#04H ;忽略 12 位命令的低 8 位
CH451_READ_4: RRC A ;低位在前,高位在后
CLR CH451_DCLK
MOV CH451_DIN,C ;送出一位數(shù)據(jù)
SETB CH451_DCLK ;產(chǎn)生時鐘上升沿鎖通知 CH451 輸入位數(shù)據(jù)
DJNZ R7,CH451_READ_4 ;位數(shù)據(jù)未完繼續(xù)
SETB CH451_LOAD ;產(chǎn)生加載上升沿通知 CH451 處理命令數(shù)據(jù)
CLR A ;先清除鍵值單元以便移位
MOV R7,#07H ;讀入 7 位鍵值
CH451_READ_7: MOV C,CH451_DOUT ;讀入一位數(shù)據(jù)
CLR CH451_DCLK ;產(chǎn)生時鐘下升沿通知 CH451 輸出下一位
RLC A ;數(shù)據(jù)移入 ACC,高位在前,低位在后
SETB CH451_DCLK
DJNZ R7,CH451_READ_7 ;位數(shù)據(jù)未完繼續(xù)
CLR IE0 ;清中斷標(biāo)志,讀操作過程中有低電平脈沖
SETB EX0 ;允許鍵盤中斷
RET
;
; 鍵盤中斷子程序
; USE: 堆棧 4 字節(jié)
CH451_INTER: PUSH PSW ;現(xiàn)場保護(hù)
PUSH ACC
CLR CH451_LOAD ;命令開始
MOV A,#0F7H ;讀鍵值命令,忽略命令的低 8 位,高 4 位用作結(jié)束標(biāo)志
CH451_INTER_4: SETB C ;在高位添 0 以檢測位數(shù)據(jù)結(jié)束
RRC A ;低位在前,高位在后
CLR CH451_DCLK
MOV CH451_DIN,C ;送出一位數(shù)據(jù)
SETB CH451_DCLK ;產(chǎn)生時鐘上升沿鎖通知 CH451 輸入位數(shù)據(jù)
CJNE A,#0FFH,CH451_INTER_4 ;位數(shù)據(jù)未完繼續(xù),共 4 位,完成后為 0FFH
SETB CH451_LOAD ;產(chǎn)生加載上升沿通知 CH451 處理命令數(shù)據(jù)
MOV A,#0FCH ;該數(shù)據(jù)用以檢測位數(shù)據(jù)結(jié)束
CH451_INTER_7: MOV C,CH451_DOUT ;讀入一位數(shù)據(jù)
CLR CH451_DCLK ;產(chǎn)生時鐘下升沿通知 CH451 輸出下一位
RLC A ;數(shù)據(jù)移入 ACC,高位在前,低位在后
SETB CH451_DCLK
JC CH451_INTER_7 ;位數(shù)據(jù)未完繼續(xù),共 7 位,完成后才移出 0
MOV CH451_KEY,A ;保存鍵值
POP ACC
POP PSW
CLR IE0 ;清中斷標(biāo)志,該指令需根據(jù)實際情況作修改
RETI ;中斷返回
;
;****************************************************************************
完整的Word格式文檔51黑下載地址:
CH451DS1.PDF
(232.71 KB, 下載次數(shù): 15)
2018-9-15 19:38 上傳
點擊文件名下載附件
CH452 下載積分: 黑幣 -5
|