【正文】
0 置 l 時(shí), CPU 對(duì) 8279 寫入數(shù)據(jù)為命令字,讀出的數(shù)據(jù)為狀態(tài)字。 8279 共有 8 條命令。其功能及命令字定義如下。 ( 1)鍵盤 /顯示方式設(shè)置命令 其中: D D D5=000 為設(shè)置命令特征位。 D D3:設(shè)定顯示方式,其定義如下: 00: 8 個(gè)字符顯示,左入口; 01: 16 個(gè)字符顯示,左入口; 10: 8 個(gè)字符顯示,右入口; 11: 16 個(gè)字符顯示,右入口。 左入口:即顯示位置從最左一位(最高位)開(kāi)始,以后逐次輸入的顯示字符逐個(gè)向右順序排列;右入口,即顯示位置從最右一位(最低位)開(kāi)始,以后逐次輸入的顯示字等待時(shí),已有的顯示字符逐個(gè)向左順序排列。 D D D0:用來(lái)設(shè)定鍵盤工作方式,如下所示。 000 編碼掃描鍵盤,雙鍵鎖定; 001 譯碼掃描鍵盤,雙鍵鎖定; 010 編碼掃描鍵盤, N 鍵輪回; 011 譯碼掃描鍵盤, N 鍵輪回; 本科生畢業(yè)設(shè)計(jì)(論文) 20 100 掃描傳感器矩陣; 101 譯碼掃描傳感器矩陣; 110 選通輸入,編碼顯示掃描; 111 選通輸入,譯碼顯示掃描。 雙鍵鎖定于 N 鍵輪回是多鍵按下的兩種不同的保護(hù)方式。雙鍵鎖定是為兩鍵同時(shí)按下提供的保護(hù)方法。在消抖周期里,如果有兩鍵同時(shí)按下,則只有其中一個(gè)鍵彈起,而另 — 個(gè)鍵保持在按下位置時(shí),才被認(rèn)可。 N 鍵輪回是對(duì)若干鍵同時(shí)按下的保護(hù)方法。當(dāng)有若干鍵按下時(shí),鍵盤掃描能夠根據(jù)檢測(cè)到的他們按下的順序,依次將它們的狀態(tài)送入 FIFORAM 中。 ( 2)程序時(shí)鐘命令 其中: D D D5=001 為時(shí)鐘命令特征位。 D D D D D0 用來(lái)設(shè)定外部輸入 CLK 端的時(shí)鐘進(jìn)行分頻的分頻數(shù) N。N 取值為 2~3l。例如外部時(shí)鐘頻率為 2MHz, D D D D D0 被置為 10100( N= 20),則對(duì)輸入的外部時(shí)鐘 20 分頻,以獲得 8279 內(nèi)部要求的 100kMHz 的基本頻率。 ( 3)讀 FIFO/傳感器 RAM 命令 其中: D D D5= 010 是讀 FIFO/傳感器 RAM 命令特征位。該命令字只在傳感器方式時(shí)使用。在 CPU 讀傳感器 RAM 之前,必須使用這條命令來(lái)設(shè)定傳感器 RAM中的 8 個(gè)地址(每個(gè)地址一個(gè)字節(jié))。 D D D0 是傳感器 RAM 中的 8 個(gè)字節(jié)地址。 AI( D4)為自動(dòng)增量特征位,當(dāng) AI= 1 時(shí),每次讀出傳感器 RAM 后地址自動(dòng)加 1,地址指針指向下 — 個(gè)存儲(chǔ)單元。這樣,下一個(gè)數(shù)據(jù)便從下一個(gè)地址讀出,而不必重新設(shè)讀 FIFO/傳感器 RAM 命令。 在鍵盤工作方式中,由于讀出操作嚴(yán)格按照先入先出順序,因此,不需要使用此命令。 ( 4)讀顯示 RAM 命令 其中: D D D5= 100 為寫顯示 RAM 命令字的特征位,在寫顯示器 RAM 之前用該命令設(shè)定將要寫入的顯示 RAM 地址。 D D D D0 是將要寫入的存儲(chǔ)單元地址。 Al( D4)為自動(dòng)增量特征位,當(dāng) AI= l,每次寫入后地址自動(dòng)加 1,指向下一次寫入地址。 本科生畢業(yè)設(shè)計(jì)(論文) 21 ( 5)顯示禁止寫入 /消隱命令特征位 其中: D D D5= 101 為顯不禁止寫入 /消隱命令特征位。 W/A、 IW/B ( D D2)為 A、 B 組顯示 RAM 寫入屏蔽位。由于顯示寄存器分成 A、 B 兩組,可以單獨(dú)送數(shù),故用兩位來(lái)分別屏蔽。當(dāng) A 組的屏蔽位 D3=1時(shí), A 組的顯示 RAM 禁止寫入:從 CPU 寫入顯示器 RAM 數(shù)據(jù)時(shí),不會(huì)影響 A的顯示。這種情況通常在采用雙 4 位顯示器時(shí)使用,因?yàn)閮蓚€(gè)雙四位顯示器是相互獨(dú)立的。為了給其中一個(gè)雙四位顯示器輸入數(shù)據(jù)而又不影響另一個(gè)四位顯 示器,因此必須對(duì)另一組的輸入實(shí)行屏蔽。 BL/A、 BL/B( D D0)為消隱顯示位。用于對(duì)兩組顯示輸出消隱。若 BL=1 時(shí),對(duì)應(yīng)組的顯示輸出被消隱。當(dāng) BL=0 時(shí),則恢復(fù)顯示。 ( 6)清除命令 其中: D D D5= 110 清除命令特征位。 D D D2 用來(lái)設(shè)定清除顯示RAM 方式。共有 4 種消涂方式,如表 所示。 CF( D1)用來(lái)置空 FIFORAM,當(dāng) CP= l 時(shí),執(zhí)行清除命令后, FIFORAM被置空,使中斷輸出線復(fù)位。同時(shí),傳感器 RAM 的讀出地址也被置 0。 CA( D0)為總清除的特征位,它兼有 CD 和 CF 的功能。在 CD= l 時(shí),對(duì)顯示的清除方式由 D D2 的編碼決定。 清除顯示 RAM 約需 160μ s,在此期間 FIFO 狀態(tài)的最高位 DU= 1,表示顯示無(wú)效, CPU 不能向顯示 RAM 寫入數(shù)據(jù)。 ( 7)結(jié)束中斷錯(cuò)誤方式設(shè)置命令 其中: D D D5= 111 為該命令的特征位。此命令有兩種不同的作用。 作為結(jié)束中斷命令。在傳感器工作方式中使用。當(dāng)傳感器狀態(tài)出現(xiàn)變化時(shí),掃描檢測(cè)電路將其狀態(tài)寫入傳感器 RAM,并啟動(dòng)中斷邏輯,使 IRQ 變高,向 CPU請(qǐng)求中斷,并且禁止寫入傳感器 RAM。此時(shí),若傳感器 RAM 讀出地址的自動(dòng)遞增特征沒(méi)有置位( AI= 0),則中斷請(qǐng)求 IRQ 在 CPU 第一次從傳感器 RAM 讀出數(shù)據(jù)時(shí)就被清除。若自動(dòng)遞增特征已置位 (AI= 1),則 CPU 對(duì)傳感器 RAM 的讀出并不能清除 IRQ,而必須通過(guò)給 8279 寫入結(jié)束中斷 /錯(cuò)誤方式設(shè)置命令才能使 IRQ變低。因此在傳感器工作方式中,此命令用來(lái)結(jié)束傳感器 RAM 的 I 中斷請(qǐng)求。 作為特定錯(cuò)誤方式設(shè)置命令。在 8279 已被設(shè)定為鍵盤掃描 N 鍵輪回方式以后,如果 CPU 給 8279 又寫入結(jié)束中斷 /錯(cuò)誤方式設(shè)置命令( E= 1),則 8279 將以一種特定的錯(cuò)誤方式工作。這種方式的特點(diǎn)是:在 8279 的消 抖周期內(nèi),如果發(fā)現(xiàn)多個(gè)按鍵同時(shí)按下,則 FIFO 狀態(tài)字中的錯(cuò)誤特征位 S/E 將置 1,并產(chǎn)生中斷請(qǐng)求信號(hào), 本科生畢業(yè)設(shè)計(jì)(論文) 22 阻止寫入 FIFORAM。 上述 8 種用于確定 8279 操作方式的命令字皆由 D D D5 特征位確定,輸入 8279 后能自動(dòng)尋址相應(yīng)的命令寄存器。因此,寫入命令字時(shí)惟一的要求是使數(shù)據(jù)選擇信號(hào) A0= 1。 狀態(tài)格式與狀態(tài)字 8279 的 FIFO 狀態(tài)字主要用于鍵盤和選通工作方式,以指示 FIFORAM 中的字符數(shù)和有無(wú)錯(cuò)誤發(fā)生。 其中: DU( D7)為顯示無(wú)效特征位。 DU=1 表示顯示無(wú)效。當(dāng)顯示 RAM 由于清除顯示或全清命令尚未 完成時(shí), DU=1。 D6( S/E)為傳感器信號(hào)結(jié)束 /錯(cuò)誤特征位。當(dāng) 8279 工作在傳感器工作方式時(shí),若 S/E=1,表示最后一個(gè)傳感器信號(hào)已進(jìn)入傳感器 RAM 中,而當(dāng) 8279 工作在特殊錯(cuò)誤方式時(shí),若 S/E= l 則表示出現(xiàn)了多鍵同時(shí)按下的錯(cuò)誤。此特征位在讀出 FIFO狀態(tài)字時(shí)被讀出,而在執(zhí)行 CF=1 的清除命令時(shí)被恢復(fù)。 D D4( OU)為超出、不足錯(cuò)誤特征位。對(duì) FIFORAM 的操作可能出現(xiàn)兩種錯(cuò)誤:超出或不足。當(dāng) FIFO 已經(jīng)充滿時(shí),若其他的鍵盤數(shù)據(jù)還企圖寫入 FIFORAM中,則出現(xiàn)超出錯(cuò)誤。狀態(tài)字的 O 位置 1;當(dāng) FIFORAM 已經(jīng)置空時(shí),若 CPU 還企圖讀出,則出現(xiàn)不足錯(cuò)誤,狀態(tài)字的 U 位置 1。 D3( F)表示 FIFORAM 是否已滿。當(dāng) F=1 時(shí),表示 FIFORAM 中已滿。 D2D1D0( NNN)表示 FIFORAM 中的字符數(shù),最多 8 個(gè)。 8279 與 AT89S51 的接口設(shè)計(jì) 本次設(shè)計(jì)中, 8279 與單片機(jī)及顯示器的接口電路如下圖 所示。 本科生畢業(yè)設(shè)計(jì)(論文) 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 接口設(shè)計(jì) 顯示器的選擇 本次設(shè)計(jì)的顯示器采用 LED 數(shù)碼管。眾所周知,發(fā)光二極管 (英文縮寫為 LED)是由半導(dǎo)體材料制成的、能將電信號(hào)轉(zhuǎn) 換成光信號(hào)的結(jié)型電致發(fā)光器件,如果把發(fā)光二極管制成條狀,再按照一定方式連接,組成數(shù)字“ 8”,就構(gòu)成 LED 數(shù)碼管。使用時(shí)按規(guī)定使某些筆段上的發(fā)光二極管發(fā)光,即可組成 0~9 的一系列數(shù)字。 LED是目前比較常用的一種數(shù)顯器件。 LED 數(shù)碼管分共陽(yáng)極與共陰極兩種,本次設(shè)計(jì)采用共陰極 LED,其外形見(jiàn)圖。 a~g 代表 7 個(gè)筆段的驅(qū)動(dòng)端,亦稱筆段電極。 DP 是小數(shù)點(diǎn)。第 3 腳與第 8腳內(nèi)部連通。共陰極 LED 數(shù)碼管,內(nèi)部結(jié)