国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多功能外圍芯片CH451及其應(yīng)用

2005-04-29 05:26:06解文軍
電子世界 2005年10期
關(guān)鍵詞:數(shù)碼管譯碼寄存器

解文軍

CH451是一個整合了數(shù)碼管顯示驅(qū)動和鍵盤掃描控制以及μP監(jiān)控的多功能外圍芯片。用CH451擴展鍵盤顯示接口,具有接口簡單、占用CPU資源少、外圍器件簡單、性價比高等優(yōu)點,可在各種單片機系統(tǒng)中得到廣泛的應(yīng)用。

功能說明

CH451內(nèi)置RC振蕩電路,可以直接動態(tài)驅(qū)動8位數(shù)碼管或者64位LED,具有BCD譯碼或不譯碼功能,可實現(xiàn)數(shù)據(jù)的左移、右移、左循環(huán)、右循環(huán)、各數(shù)字獨立閃爍等控制功能。CH451內(nèi)置大電流驅(qū)動級,段電流不小于30mA,字電流不小于160mA,并有16級亮度控制功能。該器件內(nèi)置64鍵鍵盤控制器,可實現(xiàn)8×8矩陣鍵盤掃描,并內(nèi)置去抖動電路,可提供按鍵中斷與按鍵釋放標志位等功能。CH451可選擇簡潔的1線串行接口或高速4線串行接口,且內(nèi)置上電復(fù)位,可提供高電平有效復(fù)位和低電平有效復(fù)位兩種輸出,同時內(nèi)置看門狗電路。

封裝及引腳功能

CH451有28引腳的DIP28與SOP28封裝以及DIP24S封裝形式,28腳與24腳在功能上稍有差別,它們的引腳定義見表1所列。

操作命令

CH451共有11條操作命令,每條操作命令均為12位,其中高4位為標識碼,低8位為參數(shù),x可為任意值(下同)。

空操作(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ā)送,那么,該操作命令將經(jīng)過前級CH451到達后級CH451,而空操作命令留給了前級CH451。另外,為了在不影響CH451的前提下變化DCLK以清除看門狗計時器,也可以發(fā)送空操作命令。在非級聯(lián)的應(yīng)用中,空操作命令可只發(fā)送高4位。

芯片內(nèi)部復(fù)位(001000000001B) 內(nèi)部復(fù)位命令可將CH451的各個寄存器和各種參數(shù)復(fù)位到默認的狀態(tài)。芯片上電時,CH451均被復(fù)位,此時各個寄存器均復(fù)位為0,各種參數(shù)均恢復(fù)為默認值。

字數(shù)據(jù)左移(001100000000B)字數(shù)據(jù)左移命令將CH451的字數(shù)據(jù)左移一次,即從DIG0向DIG7移動一位,然后最右邊的DIG0補進數(shù)據(jù)00H。例如,在數(shù)碼管DIG7~DIG0 顯示“87654321”時,執(zhí)行字數(shù)據(jù)左移命令,顯示變?yōu)椤?654321 ”(不譯碼方式)或者“76543210”(BCD 譯碼方式)。

字數(shù)據(jù)右移(001100000010B) 字數(shù)據(jù)右移命令將CH451的字數(shù)據(jù)右移一次,即從DIG7向DIG0移動一位,然后最左邊的DIG7補進數(shù)據(jù)00H。例如,在數(shù)碼管DIG7~DIG0 顯示“87654321”時,執(zhí)行字數(shù)據(jù)右移命令,顯示變?yōu)椤?765432”(不譯碼方式)或者“08765432”(BCD 譯碼方式)。

字數(shù)據(jù)左循環(huán)(001100000001B) 字數(shù)據(jù)左循環(huán)命令將CH451的字數(shù)據(jù)左循環(huán)一次,即從DIG0向DIG7移動一位,然后最右邊的DIG0補進原DIG7的數(shù)據(jù)。例如,在數(shù)碼管DIG7~DIG0顯示“87654321”時,執(zhí)行字數(shù)據(jù)左循環(huán)命令,顯示變?yōu)椤?6543218”。

字數(shù)據(jù)右循環(huán)(001100000011B) 字數(shù)據(jù)右循環(huán)命令將CH451的字數(shù)據(jù)右循環(huán)一次,即從DIG7向DIG0移動一位,然后最左邊的DIG7補進原DIG0的數(shù)據(jù)。例如,在數(shù)碼管DIG7~DIG0顯示“87654321”時,執(zhí)行字數(shù)據(jù)右循環(huán)命令,顯示變?yōu)椤?8765432”。

設(shè)定系統(tǒng)參數(shù)(010000000[WDOG][KEYB][DISP]B)該命令用于設(shè)定CH451的系統(tǒng)級參數(shù),如看門狗使能WDOG,鍵盤掃描使能KEYB,顯示驅(qū)動使能DISP。各個參數(shù)均可通過1位數(shù)據(jù)來進行控制,將相應(yīng)的數(shù)據(jù)位置為1可啟用該功能,否則關(guān)閉該功能(默認值)。

設(shè)定顯示參數(shù)(0101[MODE][LIMIT][INTENSITY]B) 此命令用于設(shè)定CH451的顯示參數(shù),如譯碼方式MODE(1位)、掃描極限LIMIT(3位)、顯示亮度INTENSITY(4位)等。譯碼方式MODE為1時選擇BCD譯碼方式,為0時選擇不譯碼方式。CH451默認工作于不譯碼方式,此時8個數(shù)據(jù)寄存器中字節(jié)數(shù)據(jù)的位7~位0分別對應(yīng)8個數(shù)碼管的小數(shù)點和段G~段A,當(dāng)數(shù)據(jù)位為1時,對應(yīng)的數(shù)據(jù)段(或發(fā)光管)點亮;數(shù)據(jù)位為0時熄滅。CH451工作于BCD譯碼方式主要應(yīng)用于數(shù)碼管驅(qū)動,單片機只要給出二進制數(shù)的BCD碼,便可由CH451將其譯碼,并直接驅(qū)動數(shù)碼管以顯示對應(yīng)的字符。BCD譯碼方式是對數(shù)據(jù)寄存器中字節(jié)數(shù)據(jù)的位4~位0進行兼容BCD的譯碼,可用于控制段驅(qū)動引腳SEG6~SEG0的輸出,它們對應(yīng)于數(shù)碼管的段G~段A,同時可用字節(jié)數(shù)據(jù)的位7控制段來驅(qū)動引腳SEG7的輸出以對應(yīng)數(shù)碼管的小數(shù)點,字節(jié)數(shù)據(jù)的位6和位5不影響B(tài)CD譯碼的輸出,它們可以是任意值。將位4~位0進行BCD譯碼可顯示以下28個字符,其中00000B~01111B分別對應(yīng)于“0~F”,10000B~11010B分別對應(yīng)于“”空格、“+”、+或加號、“-”或減號、“=”等于號、“左方括號”、“右方括號”、“_”下劃線、“H”、“L”、“P”、“.”小數(shù)點、其余值為空格。

掃描極限LIMIT控制位001B~111B和000B(默認值)可分別設(shè)定掃描極限1~7和8。顯示亮度INTENSITY控制位的0001B~1111B和0000B(默認值)則用于分別設(shè)定顯示驅(qū)動占空比1/16~15/16和16/16,以實現(xiàn)16級顯示亮度控制。

設(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可使能閃爍顯示,否則為正常顯示,不閃爍(默認值)。

加載字數(shù)據(jù)(1[DIG_ADDR]DIG_DATA]B) 加載字數(shù)據(jù)命令用于將字節(jié)數(shù)據(jù)DIG_DATA(8位)寫入DIG_ADDR(3位)指定的數(shù)據(jù)寄存器中。DIG_ADDR的000B~111B分別用于指定數(shù)據(jù)寄存器的地址0~7,并分別對應(yīng)于DIG0~DIG7引腳驅(qū)動的8個數(shù)碼管。DIG_DATA為待寫入的字節(jié)數(shù)據(jù)。

讀取按鍵代碼(0111xxxxxxxxB)讀取按鍵代碼命令用于獲得CH451最近檢測到的有效按鍵的按鍵代碼。該命令是唯一的具有數(shù)據(jù)返回的命令,CH451通常從DOUT引腳輸出按鍵代碼,按鍵代碼總是7位數(shù)據(jù),最高位是狀態(tài)碼,位5~位0是掃描碼。讀取按鍵代碼命令的位數(shù)據(jù)B7~B0可以是任意值,所以控制器可以將該操作命令縮短為4位數(shù)據(jù)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檢測到有效按鍵而產(chǎn)生鍵盤中斷時讀取按鍵代碼,此時按鍵代碼的位6總是1。另外,如果需要了解按鍵何時釋放,單片機可以通過查詢方式定期讀取按鍵代碼,直到按鍵代碼的位6為0。表2是連接在DIG7~DIG0與SEG7~SEG0之間的鍵被按下時,CH451所提供的按鍵代碼。這些按鍵代碼具有一定的規(guī)律,如果需要鍵被釋放時的按鍵代碼,可將表2中的按鍵代碼的位6 置0,也可將表中的按鍵代碼減去40H。應(yīng)注意的是CH451不支持組合鍵,也就是說,同一時刻,不能有兩個或者更多的鍵被按下。

串行接口應(yīng)用電路

CH451與AT89C2051單片機的連接如附圖所示,其中DOUT引腳連接到單片機的中斷輸入引腳,這樣可用中斷方式響應(yīng)按鍵。如果連接到非中斷輸入引腳,則應(yīng)該使用查詢方式確定CH451是否檢測到有效按鍵,同時還可向單片機提供復(fù)位信號RESET并帶Watch-Dog功能。CH451的段驅(qū)動引腳串接的電阻R1(200Ω)用于限制和均衡段驅(qū)動電流。在5V電源電壓下,串接200Ω電阻通常對應(yīng)13mA段電流。CH451具有64鍵的鍵盤掃描功能,為了防止鍵被按下后在SEG信號線與DIG信號線之間形成短路而影響數(shù)碼管顯示,一般應(yīng)在CH451的DIG0~DIG7引腳與鍵盤矩陣之間串接限流電阻R2,其阻值可以從1~10kΩ。

將P1.6與DIN連接可用于輸入串行數(shù)據(jù),串行數(shù)據(jù)輸入的順序是低位在前,高位在后。另外,在上電復(fù)位后,CH451默認選擇1線串行接口,如需選擇4線串行接口,則應(yīng)在DCLK輸出串行時鐘之前,先在DIN上輸出一個低電平脈沖,以通知CH451為4線串行接口。將P1.7與DCLK連接可提供串行時鐘,以使CH451在其上升沿從DIN輸入數(shù)據(jù),并在其下降沿從DOUT輸出數(shù)據(jù)。LOAD用于加載串行數(shù)據(jù),CH451一般在其上升沿加載移位寄存器中的12位數(shù)據(jù)以作為操作命令進行分析并處理。LOAD的上升沿是串行數(shù)據(jù)幀的幀完成標志,此時無論移位寄存器中的12位數(shù)據(jù)是否有效,CH451都會將其當(dāng)作操作命令來處理。應(yīng)注意的是,在級聯(lián)電路中,單片機每次輸出的串行數(shù)據(jù)必須是單個CH451的串行數(shù)據(jù)的位數(shù)乘以級聯(lián)的級數(shù)。軟件程序見本刊網(wǎng)站。

猜你喜歡
數(shù)碼管譯碼寄存器
基于校正搜索寬度的極化碼譯碼算法研究
Lite寄存器模型的設(shè)計與實現(xiàn)
Arduino編程
電腦報(2019年2期)2019-09-10 07:22:44
MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
單片機控制的四位數(shù)碼管動態(tài)顯示編程
基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計與實現(xiàn)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
從霍爾的編碼譯碼理論看彈幕的譯碼
新聞傳播(2016年3期)2016-07-12 12:55:27
LDPC 碼改進高速譯碼算法
遙測遙控(2015年2期)2015-04-23 08:15:19
基于概率裁剪的球形譯碼算法
确山县| 荃湾区| 泾阳县| 株洲县| 临海市| 凤山市| 湖州市| 吴堡县| 金溪县| 德阳市| 鄂伦春自治旗| 昌都县| 临西县| 门头沟区| 汤原县| 喀喇沁旗| 丰镇市| 彰化县| 洪雅县| 南昌县| 化德县| 行唐县| 垫江县| 永泰县| 安泽县| 罗江县| 依安县| 大化| 会昌县| 明星| 东山县| 兰坪| 定南县| 开江县| 彭阳县| 高碑店市| 衡阳市| 洪江市| 错那县| 剑河县| 吉安市|