【正文】
0 置 l 時, CPU 對 8279 寫入數(shù)據(jù)為命令字,讀出的數(shù)據(jù)為狀態(tài)字。 8279 共有 8 條命令。其功能及命令字定義如下。 ( 1)鍵盤 /顯示方式設置命令 其中: D D D5=000 為設置命令特征位。 D D3:設定顯示方式,其定義如下: 00: 8 個字符顯示,左入口; 01: 16 個字符顯示,左入口; 10: 8 個字符顯示,右入口; 11: 16 個字符顯示,右入口。 左入口:即顯示位置從最左一位(最高位)開始,以后逐次輸入的顯示字符逐個向右順序排列;右入口,即顯示位置從最右一位(最低位)開始,以后逐次輸入的顯示字等待時,已有的顯示字符逐個向左順序排列。 D D D0:用來設定鍵盤工作方式,如下所示。 000 編碼掃描鍵盤,雙鍵鎖定; 001 譯碼掃描鍵盤,雙鍵鎖定; 010 編碼掃描鍵盤, N 鍵輪回; 011 譯碼掃描鍵盤, N 鍵輪回; 本科生畢業(yè)設計(論文) 20 100 掃描傳感器矩陣; 101 譯碼掃描傳感器矩陣; 110 選通輸入,編碼顯示掃描; 111 選通輸入,譯碼顯示掃描。 雙鍵鎖定于 N 鍵輪回是多鍵按下的兩種不同的保護方式。雙鍵鎖定是為兩鍵同時按下提供的保護方法。在消抖周期里,如果有兩鍵同時按下,則只有其中一個鍵彈起,而另 — 個鍵保持在按下位置時,才被認可。 N 鍵輪回是對若干鍵同時按下的保護方法。當有若干鍵按下時,鍵盤掃描能夠根據(jù)檢測到的他們按下的順序,依次將它們的狀態(tài)送入 FIFORAM 中。 ( 2)程序時鐘命令 其中: D D D5=001 為時鐘命令特征位。 D D D D D0 用來設定外部輸入 CLK 端的時鐘進行分頻的分頻數(shù) N。N 取值為 2~3l。例如外部時鐘頻率為 2MHz, D D D D D0 被置為 10100( N= 20),則對輸入的外部時鐘 20 分頻,以獲得 8279 內(nèi)部要求的 100kMHz 的基本頻率。 ( 3)讀 FIFO/傳感器 RAM 命令 其中: D D D5= 010 是讀 FIFO/傳感器 RAM 命令特征位。該命令字只在傳感器方式時使用。在 CPU 讀傳感器 RAM 之前,必須使用這條命令來設定傳感器 RAM中的 8 個地址(每個地址一個字節(jié))。 D D D0 是傳感器 RAM 中的 8 個字節(jié)地址。 AI( D4)為自動增量特征位,當 AI= 1 時,每次讀出傳感器 RAM 后地址自動加 1,地址指針指向下 — 個存儲單元。這樣,下一個數(shù)據(jù)便從下一個地址讀出,而不必重新設讀 FIFO/傳感器 RAM 命令。 在鍵盤工作方式中,由于讀出操作嚴格按照先入先出順序,因此,不需要使用此命令。 ( 4)讀顯示 RAM 命令 其中: D D D5= 100 為寫顯示 RAM 命令字的特征位,在寫顯示器 RAM 之前用該命令設定將要寫入的顯示 RAM 地址。 D D D D0 是將要寫入的存儲單元地址。 Al( D4)為自動增量特征位,當 AI= l,每次寫入后地址自動加 1,指向下一次寫入地址。 本科生畢業(yè)設計(論文) 21 ( 5)顯示禁止寫入 /消隱命令特征位 其中: D D D5= 101 為顯不禁止寫入 /消隱命令特征位。 W/A、 IW/B ( D D2)為 A、 B 組顯示 RAM 寫入屏蔽位。由于顯示寄存器分成 A、 B 兩組,可以單獨送數(shù),故用兩位來分別屏蔽。當 A 組的屏蔽位 D3=1時, A 組的顯示 RAM 禁止寫入:從 CPU 寫入顯示器 RAM 數(shù)據(jù)時,不會影響 A的顯示。這種情況通常在采用雙 4 位顯示器時使用,因為兩個雙四位顯示器是相互獨立的。為了給其中一個雙四位顯示器輸入數(shù)據(jù)而又不影響另一個四位顯 示器,因此必須對另一組的輸入實行屏蔽。 BL/A、 BL/B( D D0)為消隱顯示位。用于對兩組顯示輸出消隱。若 BL=1 時,對應組的顯示輸出被消隱。當 BL=0 時,則恢復顯示。 ( 6)清除命令 其中: D D D5= 110 清除命令特征位。 D D D2 用來設定清除顯示RAM 方式。共有 4 種消涂方式,如表 所示。 CF( D1)用來置空 FIFORAM,當 CP= l 時,執(zhí)行清除命令后, FIFORAM被置空,使中斷輸出線復位。同時,傳感器 RAM 的讀出地址也被置 0。 CA( D0)為總清除的特征位,它兼有 CD 和 CF 的功能。在 CD= l 時,對顯示的清除方式由 D D2 的編碼決定。 清除顯示 RAM 約需 160μ s,在此期間 FIFO 狀態(tài)的最高位 DU= 1,表示顯示無效, CPU 不能向顯示 RAM 寫入數(shù)據(jù)。 ( 7)結束中斷錯誤方式設置命令 其中: D D D5= 111 為該命令的特征位。此命令有兩種不同的作用。 作為結束中斷命令。在傳感器工作方式中使用。當傳感器狀態(tài)出現(xiàn)變化時,掃描檢測電路將其狀態(tài)寫入傳感器 RAM,并啟動中斷邏輯,使 IRQ 變高,向 CPU請求中斷,并且禁止寫入傳感器 RAM。此時,若傳感器 RAM 讀出地址的自動遞增特征沒有置位( AI= 0),則中斷請求 IRQ 在 CPU 第一次從傳感器 RAM 讀出數(shù)據(jù)時就被清除。若自動遞增特征已置位 (AI= 1),則 CPU 對傳感器 RAM 的讀出并不能清除 IRQ,而必須通過給 8279 寫入結束中斷 /錯誤方式設置命令才能使 IRQ變低。因此在傳感器工作方式中,此命令用來結束傳感器 RAM 的 I 中斷請求。 作為特定錯誤方式設置命令。在 8279 已被設定為鍵盤掃描 N 鍵輪回方式以后,如果 CPU 給 8279 又寫入結束中斷 /錯誤方式設置命令( E= 1),則 8279 將以一種特定的錯誤方式工作。這種方式的特點是:在 8279 的消 抖周期內(nèi),如果發(fā)現(xiàn)多個按鍵同時按下,則 FIFO 狀態(tài)字中的錯誤特征位 S/E 將置 1,并產(chǎn)生中斷請求信號, 本科生畢業(yè)設計(論文) 22 阻止寫入 FIFORAM。 上述 8 種用于確定 8279 操作方式的命令字皆由 D D D5 特征位確定,輸入 8279 后能自動尋址相應的命令寄存器。因此,寫入命令字時惟一的要求是使數(shù)據(jù)選擇信號 A0= 1。 狀態(tài)格式與狀態(tài)字 8279 的 FIFO 狀態(tài)字主要用于鍵盤和選通工作方式,以指示 FIFORAM 中的字符數(shù)和有無錯誤發(fā)生。 其中: DU( D7)為顯示無效特征位。 DU=1 表示顯示無效。當顯示 RAM 由于清除顯示或全清命令尚未 完成時, DU=1。 D6( S/E)為傳感器信號結束 /錯誤特征位。當 8279 工作在傳感器工作方式時,若 S/E=1,表示最后一個傳感器信號已進入傳感器 RAM 中,而當 8279 工作在特殊錯誤方式時,若 S/E= l 則表示出現(xiàn)了多鍵同時按下的錯誤。此特征位在讀出 FIFO狀態(tài)字時被讀出,而在執(zhí)行 CF=1 的清除命令時被恢復。 D D4( OU)為超出、不足錯誤特征位。對 FIFORAM 的操作可能出現(xiàn)兩種錯誤:超出或不足。當 FIFO 已經(jīng)充滿時,若其他的鍵盤數(shù)據(jù)還企圖寫入 FIFORAM中,則出現(xiàn)超出錯誤。狀態(tài)字的 O 位置 1;當 FIFORAM 已經(jīng)置空時,若 CPU 還企圖讀出,則出現(xiàn)不足錯誤,狀態(tài)字的 U 位置 1。 D3( F)表示 FIFORAM 是否已滿。當 F=1 時,表示 FIFORAM 中已滿。 D2D1D0( NNN)表示 FIFORAM 中的字符數(shù),最多 8 個。 8279 與 AT89S51 的接口設計 本次設計中, 8279 與單片機及顯示器的接口電路如下圖 所示。 本科生畢業(yè)設計(論文) 23 1 2 3 4 5 6 7 8ABCD87654321DCBAT i t l eN u m be r R e v i s i o nS i z eA3D a t e : 2 6 M a y 20 0 6 S he e t o f F i l e : D : \ w e n \ w e nl i . d d b D r a w n B y:E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10V C C40GND20U1A T 89 S 5 1A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U47 4L S 1 38+ 5V+ 5VA027B031A126B130A225B229A324B328D012D113D214S L 032D315S L 133D416S L 234D517D618D719R L 038R L 139I R Q4R L 21R L 32CS22R L 45RD10R L 56WR11R L 67A021R L 78C L K3S H I F T36R E S E T9C N T L / S37U38 27 92 0U F+ 5V2KOC1C11B73A72B64A65B57A56B48A49B313A312B214A215B117A116B018A019U27 4L S 3 731Do1Qa2Dn2Qb3Dm3Qc4Dl4Qd5Dk5Qe6Dj6Qf7Di7Qg8Dh8QdpU58 70 81Do1Qa2Dn2Qb3Dm3Qc4Dl4Qd5Dk5Qe6Dj6Qf7Di7Qg8Dh8QdpU58 70 8abfcgdeV C C1234567abcdefg8dpdp9abfcgdeV C C1234567abcdefg8dpdp9abfcgdeV C C1234567abcdefg8dpdp9abfcgdeV C C1234567abcdefg8dpdp9abfcgdeV C C1234567abcdefg8dpdp9S 15S6S9S2S8S 11S 10S7S4S 12S 16S 13 S 14S1S5S3+ 5V5 . 1 K5 . 1 K5 . 1 K5 . 1 K+ 5V 圖 8279 與 AT89S51 接口設計 顯示器的選擇 本次設計的顯示器采用 LED 數(shù)碼管。眾所周知,發(fā)光二極管 (英文縮寫為 LED)是由半導體材料制成的、能將電信號轉 換成光信號的結型電致發(fā)光器件,如果把發(fā)光二極管制成條狀,再按照一定方式連接,組成數(shù)字“ 8”,就構成 LED 數(shù)碼管。使用時按規(guī)定使某些筆段上的發(fā)光二極管發(fā)光,即可組成 0~9 的一系列數(shù)字。 LED是目前比較常用的一種數(shù)顯器件。 LED 數(shù)碼管分共陽極與共陰極兩種,本次設計采用共陰極 LED,其外形見圖。 a~g 代表 7 個筆段的驅(qū)動端,亦稱筆段電極。 DP 是小數(shù)點。第 3 腳與第 8腳內(nèi)部連通。共陰極 LED 數(shù)碼管,內(nèi)部結