|
|||||||||||
CH451 |
CH451 的PDF資料暫且沒有下載 |
其他型號 |
| CH451的供應商: |
聯(lián)系人:詹小姐 電話:0755-83797351 |
聯(lián)系人:陳先生 電話: |
聯(lián)系人:張小姐/武先生/盧小姐 電話:0755-82526971 /0755-82526971 /0755-82526971 |
聯(lián)系人:林先生 電話:0755-83035162 |
|
| >>更多供應商 | |||||
數碼管顯示驅動和鍵盤掃描控制器CH451及其應用
摘要:介紹一種新型的鍵盤顯示驅動芯片CH451的性能特點和工作原理,給出了CH451鍵盤顯示驅動芯片與MCS-51單片機的接口方法與相應的軟件驅動程序。 關鍵詞:鍵盤顯示控制;單片機;CH451 單片機在開發(fā)過程中,常常會因為資源不足而不得不大量擴展接口芯片以滿足應用系統(tǒng)的需要,其中原因之一是人機界面中的鍵盤顯示占用了系統(tǒng)太多資源,從而造成系統(tǒng)龐大,同時降低了系統(tǒng)的可靠性。在單片機應用系統(tǒng)中,鍵盤顯示通?刹捎靡韵聨追N方式: (1)采用并行接口的鍵盤顯示專用芯片8279。但8279所需外圍元件多(顯示驅動、譯碼等)、占用電路板面積大、綜合成本高,在中小系統(tǒng)中常常大材小用; (2)采用通用并行I/O芯片擴展(如用8155等),但此方案同樣需要驅動顯示,同時鍵盤顯示掃描還需占用CPU大量時間; (3)采用專用顯示控制器,并用CPU的I/O引腳完成鍵盤輸入(如MC14499、PS7219、MAX7219、ICM7218、TLC5921等,大多是串行接口并有顯示驅動能力,I/O占用少)。這種接口方式省去了顯示的掃描,而且電路大多也很簡單,通常在系統(tǒng)需要的按鍵較少時比較適用; (4)采用帶I2C總線的鍵盤顯示芯片(如顯示用SAA1064,鍵盤用PCF8574),不過這種方式對于無I2C總線接口的CPU來說,編程顯得有些不便; (5)采用串行接口的鍵盤顯示專用芯片,如BC7280/81、HD7279、CH451等。這類芯片占用CPU的資源少,傳輸速度較快,外圍器件要求也較少,在中小系統(tǒng)中都可得到廣泛的應用。BC7280/81與HD7279中已有介紹,本文著重介紹CH451的主要特性及接口應用方法。 CH451是一個整合了數碼管顯示驅動和鍵盤掃描控制以及μP監(jiān)控的多功能外圍芯片。CH451內置RC振蕩電路,可以直接動態(tài)驅動8位數碼管或者64位LED,具有BCD譯碼或不譯碼功能,可實現數據的左移、右移、左循環(huán)、右循環(huán)、各數字獨立閃爍等控制功能。CH451內置大電流驅動級,段電流不小于30mA,字電流不小于160mA,并有16 級亮度控制功能;在鍵盤控制方面,該器件內置64鍵鍵盤控制器,可實現8×8矩陣鍵盤掃描,并內置去抖動電路,可提供按鍵中斷與按鍵釋放標志位等功能;在外部接口方面,CH451可選擇簡潔的1線串行接口或高速4線串行接口,且內置上電復位,可提供高電平有效復位和低電平有效復位兩種輸出,同時內置看門狗電路Watch-Dog。CH451提供有28引腳的DIP28與SOP28封裝以及DIP24S封裝形式,28腳與24腳在功能上稍有差別,它們的引腳定義見表1所列。
2 CH451的操作命令 CH451的操作命令均為12位,其中高4位為標識碼,低8位為參數,各操作命令如下: ●空操作:0000xxxxxxxxB(x可為任意值,下同) 空操作命令對CH451不產生任何影響。該命令可以在多個CH451級聯(lián)的應用中透過前級CH451向后級CH451發(fā)送操作命令而不影響前級CH451的狀態(tài)。例如,要將操作命令001000000001B發(fā)送給兩級級聯(lián)電路中的后級CH451(后級CH451的DIN引腳連接到前級CH451的DOUT引腳),只要在該操作命令后添加空操作命令000000000000B再發(fā)送,那么,該操作命令將經過前級CH451到達后級CH451,而空操作命令留給了前級CH451。另外,為了在不影響CH451的前提下變化DCLK以清除看門狗計時器,也可以發(fā)送空操作命令。在非級聯(lián)的應用中,空操作命令可只發(fā)送高4位。 ● 芯片內部復位:001000000001B 內部復位命令可將CH451的各個寄存器和各種參數復位到默認的狀態(tài)。芯片上電時,CH451均被復位,此時各個寄存器均復位為0,各種參數均恢復為默認值。 ● 字數據移位:0011000000[D1][D0]B 字數據移位命令共有4個:開環(huán)左移、右移,閉環(huán)左移、右移。D0為0時為開環(huán),為1時為閉環(huán),D1為0時左移,為1時為右移。開環(huán)左移時DIG0引腳對應的單元補00H,此時不譯碼方式顯示為空格,BCD譯碼方式時顯示為0;開環(huán)右移時,DIG7引腳對應的單元補00H;而在閉環(huán)時DIG0與DIG7頭尾相接,閉環(huán)移位。 ● 設定系統(tǒng)參數:010000000[WDOG][KEYB][DISP]B 該命令用于設定CH451的系統(tǒng)級參數如看門狗使能WDOG、鍵盤掃描使能KEYB、顯示驅動使能DISP等。各個參數均可通過1位數據來進行控制,將相應的數據位置為1可啟用該功能,否則關閉該功能(默認值)。 ● 設定顯示參數:0101[MODE][LIMIT][INTENSITY]B 此命令用于設定CH451的顯示參數,如譯碼方式MODE(1位)、掃描極限LIMIT(3位)、顯示亮度INTENSITY(4位)等。譯碼方式MODE為1時選擇BCD譯碼方式,為0時選擇不譯碼方式。CH451默認工作于不譯碼方式,此時8個數據寄存器中字節(jié)數據的位7~位0分別對應8個數碼管的小數點和段G~段A,當數據位為1時,對應的數據段(或發(fā)光管)點亮;數據位為0時熄滅。CH451工作于BCD譯碼方式主要應用于數碼管驅動,單片機只要給出二進制數的BCD碼,便可由CH451將其譯碼并直接驅動數碼管以顯示對應的字符。BCD譯碼方式是對數據寄存器中字節(jié)數據的位4~位0進行兼容BCD的譯碼,可用于控制段驅動引腳SEG6~SEG0的輸出,它們對應于數碼管的段G~段A,同時可用字節(jié)數據的位7控制段來驅動引腳SEG7的輸出以對應數碼管的小數點,字節(jié)數據的位6和位5不影響BCD譯碼的輸出,它們可以是任意值。將位4~位0進行BCD譯碼可顯示以下28個字符,其中00000B~01111B分別對應于“0~F”、10000B~11010B分別對應于“ ”空格 、“+”+或加號 、“-”負號或減號 、“=”等于號 、“"左方括號 、“”右方括號 、“_”下劃線 、“H” 、“L” 、“P” 、“.”小數點 、其余值為空格。 掃描極限LIMIT控制位001B~111B和000B(默認值)可分別設定掃描極限1~7和8。顯示亮度INTENSITY控制位的0001B~1111B和0000B(默認值)則用于分別設定顯示驅動占空比1/16~15/16 和16/16,以實現16級顯示亮度控制。 ●設定閃爍控制:0110[D7S][D6S][D5S][D4S][D3S][D2S][D1S][D0S]B 設定閃爍控制命令用于設定CH451的閃爍顯示屬性,其中D7S~D0S 分別對應于8個字驅動DIG7~DIG0。閃爍屬性D7S~D0S分別通過1位數據控制,將相應的數據位置為1可使能閃爍顯示,否則為正常顯示,不閃爍(默認值)。 ●加載字數據:1[DIG_ADDR][DIG_DATA]B 加載字數據命令用于將字節(jié)數據DIG_DATA(8位)寫入DIG_ADDR(3位)指定的數據寄存器中。DIG_ADDR的000B~111B分別用于指定數據寄存器的地址0~7,并分別對應于DIG0~DIG7引腳驅動的8個數碼管。DIG_DATA為待寫入的字節(jié)數據。 ●讀取按鍵代碼:0111xxxxxxxxB 讀取按鍵代碼命令用于獲得CH451最近檢測到的有效按鍵的按鍵代碼。該命令是唯一的具有數據返回的命令,CH451通常從DOUT引腳輸出按鍵代碼,按鍵代碼總是7位數據,最高位是狀態(tài)碼,位5~位0是掃描碼。讀取按鍵代碼命令的位數據B7~B0可以是任意值,所以控制器可以將該操作命令縮短為4位數據B11~B8。例如,CH451檢測到有效按鍵并中斷時,如按鍵代碼是5EH,則先向CH451發(fā)出讀取按鍵代碼命令0111B,然后再從DOUT獲得按鍵代碼5EH。 CH451所提供的按鍵代碼為7位,位2~位0是列掃描碼,位5~位3是行掃描碼,位6是狀態(tài)碼(鍵按下為1,鍵釋放為0)。例如,連接DIG3與SEG4的鍵被按下時,按鍵代碼為63H,鍵被釋放后,按鍵代碼是23H。單片機可以在任何時候讀取按鍵代碼,但一般在CH451檢測到有效按鍵而產生鍵盤中斷時讀取按鍵代碼,此時按鍵代碼的位6總是1。另外,如果需要了解按鍵何時釋放,單片機可以通過查詢方式定期讀取按鍵代碼,直到按鍵代碼的位6為0。表2是連接在DIG7~DIG0與SEG7~SEG0之間的鍵被按下時,CH451所提供的按鍵代碼。這些按鍵代碼具有一定的規(guī)律,如果需要鍵被釋放時的按鍵代碼,可將表2中的按鍵代碼的位6 置0,也可將表中的按鍵代碼減去40H。應注意的是:CH451不支持組合鍵,也就是說,同一時刻,不能有兩個或者更多的鍵被按下。
3 串行接口應用電路 CH451與MCS-51單片機的連接如圖1所示,其中DOUT引腳最好連接到單片機的中斷輸入引腳,這樣可用中斷方式響應按鍵。如果連接到非中斷輸入引腳,則應該使用查詢方式確定CH451是否檢測到有效按鍵,同時還可向單片機提供復位信號RESET并帶Watch-Dog功能。CH451的段驅動引腳串接的電阻R1(200Ω)用于限制和均衡段驅動電流。在5V電源電壓下,串接200Ω電阻通常對應13mA段電流。CH451具有64鍵的鍵盤掃描功能,為了防止鍵被按下后在SEG信號線與DIG信號線之間形成短路而影響數碼管顯示,一般應在CH451的DIG0~DIG7引腳與鍵盤矩陣之間串接限流電阻R2,其阻值可以從1kΩ至10kΩ。 將P1.0與DIN連接可用于輸入串行數據,串行數據輸入的順序是低位在前,高位在后。另外,在上電復位后,CH451 默認選擇1線串行接口,如需選擇4線串行接口,則應在DCLK輸出串行時鐘之前,先在DIN上輸出一個低電平脈沖,以通知CH451為4線串行接口。將P1.1與DCLK連接可提供串行時鐘,以使CH451在其上升沿從DIN輸入數據,并在其下降沿從DOUT輸出數據。LOAD用于加載串行數據,CH451一般在其上升沿加載移位寄存器中的12位數據以作為操作命令進行分析并處理。也就是說,LOAD的上升沿是串行數據幀的幀完成標志,此時無論移位寄存器中的12位數據是否有效,CH451都會將其當作操作命令來處理。應注意的是,在級聯(lián)電路中,單片機每次輸出的串行數據必須是單個CH451的串行數據的位數乘以級聯(lián)的級數。 下面是該電路的驅動程序: ;主程序需要定義的參數 DCLK BIT P1.1 ;串行數據時鐘,上升沿激活 DIN BIT P1.0 ;串行數據輸入 LOAD BIT P1.2 ;串行命令加載,上升沿激活 DOUT BIT P3.2 ;接INT0,鍵盤中斷和鍵值數據輸出 KEY DATA 7FH ;存放鍵盤中斷時讀取的鍵值 ;******* 初始化子程序 ******* INIT CLR DIN ;先低后高,輸出上升沿通知 CH451選擇4線串行接口 SETB DCLK ;置為默認的高電平 SETB DIN SETB LOAD SETB DOUT ;置為輸入 MOV B#04H ;設置系統(tǒng)參數命令 MOV A#07H ; Watch-Dog使能,開鍵盤、顯示功能 LCALL WRITE MOV B#03H ;設置移位命令 MOV A#00H ;開環(huán)左移 LCALL WRITE MOV B#05H ;設置顯示參數 MOV A#00H ;不譯碼,8位顯示,最亮 LCALL WRITE MOV B#06H ;設置閃爍控制 MOV A#00H ;不閃爍 LCALL WRITE CLR IT0 ;置外部信號為低電平觸發(fā) CLR IE0 ;清中斷標志 SETB EX0 ;允許鍵盤中斷 SETB EA RET ;******* 輸出命令子程序 ****** ;入參:B、ACC待寫的12位數據 低8位在ACC中 高4位在B的低4位中 WRITE CLR EX0 ;禁止鍵盤中斷 CLR LOAD ;命令開始,此命令可以放在后面 MOV R7#08H ;將ACC中8位送出 WRITE_8RRC A ;低位在前,高位在后 CLR DCLK MOV DINC ;送出一位數據 SETB DCLK ;產生時鐘上升沿通知 CH451輸入位數據 DJNZ R7 WRITE 8 ;位數據未完,繼續(xù) MOV AB MOV R7#04H ;將B中4位送出 WRITE 4RRC A ;低位在前高位在后 CLR DCLK MOV DINC SETB DCLK DJNZ R7 WRITE 4 SETB LOAD ;產生加載上升沿通知 CH451處理命令數據 SETB EX0 ;允許鍵盤中斷 RET ******* 輸入鍵值子程序 ****** 出參 ACC鍵值數據 READ CLR EX0 ;禁止鍵盤中斷 CLR LOAD ;命令開始 MOV A#07H ;讀取鍵值命令的高4 位0111B MOV R7#04H ;忽略12位命令的低 8位 READ 4 RRC A ;低位在前,高位在后 CLR DCLK MOV DINC SETB DCLK DJNZ R7 READ 4 SETB LOAD ;產生加載上升沿通知 CH451處理命令數據 CLR A ;先清除鍵值單元以便移位 MOV R7#07H ;讀入7位鍵值 READ_7 MOV CDOUT ;讀入一位數據 CLR DCLK ;產生時鐘下降沿通知 CH451輸出下一位 RLC A ;數據移入ACC,高位 在前,低位在后 SETB DCLK DJNZ R7 READ_7 ;位數據未完繼續(xù) CLR IE0 ;清中斷標志,讀操作 過程中有低電平脈沖 SETB EX0 ;允許鍵盤中斷 RET 用CH451擴展鍵盤顯示接口,具有接口簡單、占用CPU資源少、外圍器件簡單、性能價格比高等優(yōu)點,可在各種單片機系統(tǒng)中得到廣泛的應用。 |
|
|||
|
|