第四章1人機(jī)通道配置與接口技術(shù)_第1頁(yè)
第四章1人機(jī)通道配置與接口技術(shù)_第2頁(yè)
第四章1人機(jī)通道配置與接口技術(shù)_第3頁(yè)
第四章1人機(jī)通道配置與接口技術(shù)_第4頁(yè)
第四章1人機(jī)通道配置與接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第四章第四章1 通道配置與接口技術(shù)通道配置與接口技術(shù) 控制系統(tǒng)與外部設(shè)備的輸入與輸出通道可以分為4個(gè)部分:1、人機(jī)通道- 人與應(yīng)用系統(tǒng)對(duì)話的通道,通過(guò)這些通道,人對(duì)系統(tǒng)狀態(tài)進(jìn)行干預(yù),輸入運(yùn)行參數(shù),發(fā)布指令,系統(tǒng)向人顯示運(yùn)行過(guò)程、狀態(tài)與結(jié)果。2、前向通道 - 應(yīng)用系統(tǒng)中與外部各種物理量檢測(cè)設(shè)備的電路連接通道,即所有反映外界狀態(tài)信號(hào)變化的信號(hào)輸入通道。3、后向通道- 應(yīng)用系統(tǒng)與被控制對(duì)象的連接通道,控制對(duì)象有外部驅(qū)動(dòng)設(shè)備、執(zhí)行機(jī)構(gòu)。4、相互通道- 多機(jī)系統(tǒng)、多個(gè)應(yīng)用系統(tǒng)之間的相互連接通道。4.1 人機(jī)通道人機(jī)通道遠(yuǎn)程輸入按鈕/鍵盤數(shù)字撥碼盤語(yǔ)音輸入輸出設(shè)備遠(yuǎn)程端口MCS51通用PC機(jī)通訊口打印機(jī)顯

2、示設(shè)備CRT、LED、LCD狀態(tài)指示燈4.1.1 LED4.1.1 LED數(shù)碼顯示器結(jié)構(gòu)原理數(shù)碼顯示器結(jié)構(gòu)原理一、 LED數(shù)碼顯示器結(jié)構(gòu)原理二、二、 LED LED數(shù)碼顯示器的顯示碼數(shù)碼顯示器的顯示碼數(shù)碼顯示器的顯示碼續(xù)數(shù)碼顯示器的顯示碼續(xù)三、三、 LEDLED顯示器的顯示方式顯示器的顯示方式LED顯示器的顯示方式一般有兩種,其一是靜態(tài)方式,其二是動(dòng)態(tài)方式,主要由接口電路決定。動(dòng)態(tài)顯示方式動(dòng)態(tài)顯示方式所謂動(dòng)態(tài)顯示方式是指當(dāng)數(shù)個(gè)顯示器在顯示字符時(shí),顯示接口的數(shù)據(jù)不斷地變化著。采用動(dòng)態(tài)顯示方式,可以節(jié)省接口電路的數(shù)量,從而降低硬件成本。例例4-24-2:若某單片機(jī)應(yīng)用系統(tǒng)的顯示器接口電路如圖9-3

3、所示。試分析接口電路,并編寫顯示子程序。圖圖9-39-3(一)分析接口電路(一)分析接口電路l8個(gè)顯示器配2個(gè)并行接口。 l8255PA口作為輸出口,輸出信號(hào)控制各數(shù)碼管的共陰極。 l8255PB口也作為輸出口,輸出顯示碼給8個(gè)顯示器。 l8255PA口地址為7FFCH。 l8255PB口地址為7FFDH。 l8255控制口地址為7FFFH。l驅(qū)動(dòng)電路是提高8255A驅(qū)動(dòng)顯示器的能力。動(dòng)態(tài)顯示方式的工作原理動(dòng)態(tài)顯示方式的工作原理視覺(jué)滯留原理:即當(dāng)一個(gè)物體突然從眼前移去時(shí),該物體的像還能在人的視網(wǎng)膜上保持一定時(shí)間。發(fā)光物體的余輝原理:當(dāng)發(fā)光體的電源被切斷時(shí),該發(fā)光體原來(lái)顯示的內(nèi)容將被保持一定時(shí)間

4、4.1.2 4.1.2 鍵盤結(jié)構(gòu)原理與接口技術(shù)鍵盤結(jié)構(gòu)原理與接口技術(shù)在通用計(jì)算機(jī)中,鍵盤的電路一般采用的是編碼鍵盤。在單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常采用非編碼鍵盤。一、一、 鍵盤電路的結(jié)構(gòu)原理鍵盤電路的結(jié)構(gòu)原理計(jì)算機(jī)中使用的鍵鈕一般都是機(jī)械式非自鎖式鍵,按下鍵,開(kāi)關(guān)閉合,松開(kāi)鍵,則開(kāi)關(guān)斷開(kāi)。如果想保持開(kāi)關(guān)閉合,就必須一直按住鍵。在單片機(jī)應(yīng)用系統(tǒng)中,如果鍵的數(shù)量比較少,可采用獨(dú)立式鍵盤電路;如果鍵的數(shù)量較多,則可采用行列式鍵盤電路。1 1、獨(dú)立式鍵盤電路、獨(dú)立式鍵盤電路2 2、行列式鍵盤電路、行列式鍵盤電路(1 1)如何判斷有鍵按下)如何判斷有鍵按下先將所有列線Y0Y3清0(低電平),然后輸入行線X0X

5、3的狀態(tài),如果此時(shí)有鍵按下,那么行線X0X3中一定有一根線的狀態(tài)為0。反之,如果此時(shí)沒(méi)有鍵按下,行線X0X3保持全1。(2 2)如何判斷哪一個(gè)鍵按下)如何判斷哪一個(gè)鍵按下要判斷哪一個(gè)鍵按下,可采用逐列掃描的方法。通過(guò)逐列的掃描,確定按下鍵的行號(hào)和列號(hào)。鍵號(hào)=行號(hào)4+列號(hào)二、二、 鍵抖動(dòng)問(wèn)題鍵抖動(dòng)問(wèn)題由于鍵的機(jī)械觸點(diǎn)的彈性作用,鍵在按下和釋放的瞬間產(chǎn)生接觸不穩(wěn)定,造成電壓信號(hào)的抖動(dòng)現(xiàn)象,如圖9-7所示。鍵從被按下到釋放,共經(jīng)歷三個(gè)階段。t1:鍵按下時(shí)的抖動(dòng)時(shí)間,510ms左右。 t2:鍵按下時(shí)的保持時(shí)間。 t3:鍵釋放時(shí)的抖動(dòng)時(shí)間,510ms左右。消除鍵抖動(dòng)的方法消除鍵抖動(dòng)的方法2 2、觸發(fā)器法

6、、觸發(fā)器法1 1、延時(shí)法、延時(shí)法三、三、 鍵盤接口電路舉例鍵盤接口電路舉例例例4-34-3:若某單片機(jī)擁有系統(tǒng)的顯示器/鍵盤接口電路如圖9-9所示,請(qǐng)分析接口電路,并編寫鍵盤掃描子程序。(一)分析系統(tǒng)接口電路(一)分析系統(tǒng)接口電路l8255A的B口是基本方式的輸出口,輸出顯示碼。l8255A的A口也是基本方式的輸出口,經(jīng)驅(qū)動(dòng)電路,不僅掃描顯示器,而且作為鍵盤的列掃描線。l8255A的C口是基本方式的輸入口,用了4根線PC0PC3,作為鍵盤行線的輸入接口。l8255A的選片信號(hào)端接單片機(jī)的P2.7,這樣8255A的A口、B口、C口和控制口的地址分別為7FFCH、7FFDH、7FFEH和7FFFH

7、。4.1.3 82794.1.3 8279鍵盤鍵盤/ /顯示器電路顯示器電路考慮到顯示器/鍵盤接口電路的節(jié)省成本,又考慮到系統(tǒng)軟件運(yùn)行時(shí)間的節(jié)省,可以采用一個(gè)折中的方案,就是采用專用的顯示器/鍵盤接口電路。8279芯片就是這樣一種比較專用的LED顯示器/鍵盤的接口電路芯片。8279芯片的特性芯片的特性u(píng)Intel 8279是一種通用的可編程的鍵盤/顯示器接口器件。u可對(duì)64個(gè)開(kāi)關(guān)矩陣組成的鍵盤進(jìn)行自動(dòng)掃描。u并在有鍵輸入時(shí)向CPU請(qǐng)求中斷。u8279內(nèi)部有一個(gè)168的顯示緩沖器,能對(duì)8位或16位LED數(shù)碼顯示器自動(dòng)掃描,使顯示緩沖器的內(nèi)容在顯示器上顯示出來(lái)。一、一、82798279內(nèi)部結(jié)構(gòu)內(nèi)部

8、結(jié)構(gòu)鍵盤去抖鍵盤去抖動(dòng)和控制動(dòng)和控制有關(guān)顯示的電路有關(guān)顯示的電路1、顯示RAM:有8/16個(gè)單元,存放顯示器所需顯示信息的顯示碼。3、顯示寄存器:存放來(lái)自顯示RAM的顯示碼,向顯示器直接提供顯示碼。4、掃描計(jì)數(shù)器:產(chǎn)生顯示掃描信息,從SL3SL0發(fā)出掃描信息??刂颇囊粋€(gè)顯示器顯示。2、顯示地址寄存器:用于確定對(duì)顯示RAM輸入/輸出顯示碼的單元。有關(guān)鍵盤的電路有關(guān)鍵盤的電路1、掃描計(jì)數(shù)器:它不僅提供顯示器的掃描信息,同時(shí)也產(chǎn)生鍵盤列掃描信息,從SL3SL0發(fā)出掃描信息。2、回送電路:接收鍵盤行線信息,從RL7RL0輸入,確定是否有鍵按下。3、FIFO RAM:存放按鍵的行線和列線信息。4、鍵盤去

9、抖動(dòng)控制:發(fā)現(xiàn)有鍵按下后,自動(dòng)再產(chǎn)生列掃描信號(hào)。5、FIFO/RAM狀態(tài)字寄存器:存放FIFO RAM中是否有按鍵信息。顯示器顯示器/ /鍵盤掃描原理圖鍵盤掃描原理圖OUTA0OUTA1OUTA2OUTA3OUTB0OUTB1OUTB2OUTB3SL2SL1SL08279RL3RL05V7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 823 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24譯碼電路7 7顯示碼顯示碼6顯示碼5顯示碼4顯示碼3顯示碼2顯示碼1顯示碼0顯示碼顯示RAMY0Y1Y2Y3Y4Y5Y6Y7顯示工作原理顯示工作

10、原理1、假設(shè)在顯示掃描前,8279內(nèi)的顯示RAM07單元中已存放了8個(gè)顯示碼。2、8279一輪掃描過(guò)程如下:l將顯示RAM0#單元的顯示碼經(jīng)顯示碼寄存器從OUTA,OUTB端口輸出。同時(shí)掃描編碼線SL2SL0輸出000信息,經(jīng)譯碼器譯碼,Y0輸出低電平,選通最右邊的顯示器,使其顯示剛從顯示RAM0#單元輸出的顯示碼。l隔一定時(shí)間,將顯示RAM1#單元的顯示碼輸出。同時(shí)掃描編碼線SL2SL0輸出001信息,經(jīng)譯碼器譯碼,Y1輸出低電平,選通右邊第2個(gè)的顯示器,使其顯示剛從顯示RAM1#單元輸出的顯示碼。l以此類推,最后將顯示RAM7#單元的顯示碼輸出。同時(shí)掃描編碼線SL2SL0輸出111信息,經(jīng)

11、譯碼器譯碼,Y7輸出低電平,選通左邊第1個(gè)的顯示器,使其顯示剛從顯示RAM7#單元輸出的顯示碼。完成一輪顯示掃描過(guò)程。3、8279一直循環(huán)往復(fù)一輪一輪掃描顯示,使顯示器保持顯示。鍵盤工作原理鍵盤工作原理1、8279一輪鍵盤掃描過(guò)程如下:l掃描計(jì)數(shù)器從掃描編碼線SL2SL0輸出000信息,經(jīng)譯碼器譯碼,Y0輸出低電平,對(duì)第0列鍵盤進(jìn)行掃描。接著8279回送電路輸入鍵盤的行線RL0RL3的信息。l隔一定時(shí)間,掃描計(jì)數(shù)器從掃描編碼線SL2SL0輸出001信息,經(jīng)譯碼器譯碼,Y1輸出低電平,對(duì)第1列鍵盤進(jìn)行掃描。接著8279回送電路輸入鍵盤的行線RL0RL3的信息。l以此類推,最后掃描編碼線SL2SL

12、0輸出111信息,經(jīng)譯碼器譯碼,Y7輸出低電平,對(duì)第7列鍵盤進(jìn)行掃描。接著8279回送電路輸入鍵盤的行線RL0RL3的信息。在以上對(duì)鍵盤的掃描過(guò)程中,如發(fā)現(xiàn)行線中RL0RL3出現(xiàn)0,則將按鍵的行線和列線的信息存入FIFO RAM中,并在FIFO/RAM狀態(tài)寄存器記下有鍵按下的信息。2、8279一直循環(huán)往復(fù)一輪一輪掃描鍵盤,保持對(duì)鍵盤的不斷監(jiān)測(cè)。(1 1)I/OI/O控制和數(shù)據(jù)緩沖器控制和數(shù)據(jù)緩沖器u雙向的三態(tài)數(shù)據(jù)緩沖器將內(nèi)部總線和外部系統(tǒng)的數(shù)據(jù)總線DB0DB7相連,用于在CPU和8279之間傳送命令、數(shù)據(jù)和狀態(tài)信息。uI/O控制電路以CS、A0、RD、WR線上的輸入信號(hào)控制總線上信息的傳送,即

13、對(duì)內(nèi)部不同的寄存器和緩沖器進(jìn)行讀或?qū)?。uA0為信息屬性選擇線,用來(lái)指出所傳送的信息是命令/狀態(tài)還是數(shù)據(jù),A0為邏輯“1”時(shí),CPU寫入8279的信息是控制命令,從8279讀出的信息是狀態(tài)字節(jié)。uA0為邏輯“0”時(shí),讀出和寫入的信息都是數(shù)據(jù)。A0通常接系統(tǒng)的地址總線低位。(2 2)時(shí)序控制邏輯)時(shí)序控制邏輯u時(shí)序和控制部件包含了定時(shí)計(jì)數(shù)器,其中一個(gè)計(jì)數(shù)器是N分頻器。u分頻系數(shù)N可編程為231之間的任一個(gè)數(shù),對(duì)CLK上輸入的時(shí)鐘脈沖信號(hào)進(jìn)行N分頻,以產(chǎn)生基本的100KHz的內(nèi)部計(jì)數(shù)信號(hào)。(3 3)掃描計(jì)數(shù)器)掃描計(jì)數(shù)器u掃描計(jì)數(shù)器是產(chǎn)生鍵盤和顯示器掃描控制信號(hào)的部件,它具有有兩種工作方式。u一種是

14、編碼工作方式,計(jì)數(shù)器以二進(jìn)制方式計(jì)數(shù),4位計(jì)數(shù)器的狀態(tài)直接從掃描線SL0SL3上輸出,必須由外部譯碼器對(duì)SL0SL3進(jìn)行譯碼,以產(chǎn)生對(duì)鍵盤和顯示器的掃描信號(hào);u另一種是譯碼工作方式,對(duì)計(jì)數(shù)器的低二位進(jìn)行譯碼后從SL0SL3上輸出,作為48鍵盤和4位顯示器的掃描信號(hào),因此在譯碼方式中只有顯示RAM的前4個(gè)字符被顯示出來(lái)。譯碼方式中掃描輸出線低電平有效。(4 4)輸入緩沖器和鍵盤去抖動(dòng)控制)輸入緩沖器和鍵盤去抖動(dòng)控制u輸入緩沖器鎖存RL0RL7上的信息。在鍵盤工作方式中,對(duì)鍵盤進(jìn)行掃描,搜索鍵盤上的閉合鍵,記錄了鍵盤電路行的信息。u去抖動(dòng)電路檢測(cè)到某個(gè)鍵閉合后等待10ms,再檢測(cè)該鍵的狀態(tài),若仍然

15、閉合,則將該鍵在矩陣中的地址(行、列號(hào))以及SHIFT和CNTL狀態(tài)都寫入FIFO RAM。(5 5)FIFO/FIFO/傳感器傳感器RAMRAMuFIFO/傳感器RAM是一個(gè)雙功能的88RAM緩沖器。u在鍵盤和選通輸入方式中,88RAM是一個(gè)先進(jìn)先出的數(shù)據(jù)緩沖器,每一個(gè)新輸入的信息寫入RAM中的下個(gè)單元,并按寫入的次序讀出。(6 6)顯示地址寄存器和顯示)顯示地址寄存器和顯示RAMRAMu顯示地址寄存器用于存放CPU當(dāng)前正在讀/寫的顯示RAM單元地址以及正在顯示的兩個(gè)4位半字節(jié)地址。u讀/寫顯示RAM地址由編程設(shè)定,也可以定義為每次讀/寫后地址自動(dòng)加1。u在選定了工作方式和地址后,CPU可直

16、接讀出顯示RAM中的內(nèi)容。uA、B兩個(gè)半字節(jié)顯示地址由8279自動(dòng)刷新。二、接口工作方式二、接口工作方式1、鍵盤工作方式、鍵盤工作方式1)1)雙鍵封鎖雙鍵封鎖u若有許多鍵同時(shí)按下,則不管它們以什么次序釋放,只能有一個(gè)鍵的 信息進(jìn)入FIFO.u如果在去抖動(dòng)周期有兩個(gè)鍵按下,則認(rèn)為是同時(shí)按下,在兩者之一釋放之前不進(jìn)行識(shí)別,只有最后釋放的那個(gè)鍵作單鍵閉合處理,送FIFO。2) N2) N鍵巡回鍵巡回u在N鍵巡回工作方式中,各個(gè)鍵的處理與其他鍵無(wú)關(guān)。按下一個(gè)鍵時(shí),去抖動(dòng)電路等待兩個(gè)鍵掃描周期,然后檢查該鍵狀態(tài),如果仍被按下,則該鍵信息送入FIFO。u在這種方式下,一次可以按下任意個(gè)鍵,這些鍵均被識(shí)別,

17、依鍵掃描的順序,將鍵信息分別送入FIFO。2 2、顯示器方式、顯示器方式1)1)左端輸入左端輸入左端輸入方式是最簡(jiǎn)單的顯示方式,顯示RAM地址07分別對(duì)應(yīng)于顯示器0(左)位7(右)位??梢砸来螐牧愕刂坊蚰骋粋€(gè)地址開(kāi)始將顯示段數(shù)據(jù)寫入顯示RAM。地址大于7時(shí)再?gòu)?地址開(kāi)始寫入,寫入過(guò)程如下:左端輸入顯示過(guò)程左端輸入顯示過(guò)程0 01 12 23 34 45 56 67 718279顯示RAM地址第一次寫入數(shù)據(jù)0 01 12 23 34 45 56 67 712第二次寫入數(shù)據(jù)0 01 12 23 34 45 56 67 712345678第八次寫入數(shù)據(jù)0 01 12 23 34 45 56 67 7

18、92345678第九次寫入數(shù)據(jù)2 2)8 8位右端輸入位右端輸入輸入數(shù)據(jù)總是寫入右邊的顯示RAM單元,原來(lái)的內(nèi)容左移一個(gè)位置,寫入的字節(jié)數(shù)大于8,最左邊的字符移出丟失。單片機(jī)顯示緩沖區(qū)、單片機(jī)顯示緩沖區(qū)、82798279顯示顯示RAMRAM和顯示器和顯示器0 0# #1 1# #2 2# #3 3# #4 4# #5 5# #6 6# #7 7# #7070# #7171# #7272# #7373# #7474# #7575# #7676# #7777# #8279RAM單片機(jī)顯示緩沖區(qū)20090415三、三、82798279的控制命令字、的控制命令字、狀態(tài)字和數(shù)據(jù)格式狀態(tài)字和數(shù)據(jù)格式控制命

19、令字控制命令字: :是8279選擇其工作方式的控制命令。常用的有6個(gè).狀態(tài)字狀態(tài)字: :是反映8279在工作中受控鍵盤和顯示器的狀態(tài).只有1個(gè).數(shù)據(jù)格式數(shù)據(jù)格式: :是反映按鍵的位置以及復(fù)合鍵的按鍵情況.只有1個(gè).1 1、82798279的命令字的命令字000DDKKK D7 D6 D5 D4 D3 D2 D1 D0D7D6D5=000是方式設(shè)置命令的特征位。DD(D4D3)為顯示器工作方式選擇位.KKK(D2D1D0)為鍵盤工作方式選擇位.它們的定義如表1、表2所示。(1)鍵盤)鍵盤/顯示器方式設(shè)置命令顯示器方式設(shè)置命令表表 9-1 9-1 顯示器方式選擇顯示器方式選擇 D4 D3顯示器方式

20、 0 088字符顯示左邊輸入 0 1168字符顯示左邊輸入 1 088字符顯示右邊輸入 1 1168字符顯示右邊輸入表表 9-2 9-2 鍵盤工作方式選擇鍵盤工作方式選擇D2 D1 D0鍵盤工作方式0 0 0編碼掃描鍵盤-雙鍵封鎖0 0 1譯碼掃描鍵盤-雙鍵封鎖0 1 0編碼掃描鍵盤-N鍵巡回0 1 1譯碼掃描鍵盤-N鍵巡回1 0 0編碼掃描傳感器矩陣1 0 1譯碼掃描傳感器矩陣1 1 0選通輸入編碼掃描顯示器1 1 1選通輸入譯碼掃描顯示器如果鍵盤/顯示器方式字=00H,則鍵盤選擇編碼掃描鍵盤-雙鍵封鎖方式,顯示器選擇88字符顯示左邊輸入方式。(2 2)時(shí)鐘編程命令)時(shí)鐘編程命令001PPP

21、PPD7 D6 D5 D4 D3 D2 D1 D0D7D6D5=001為時(shí)鐘編程命令的特征位。uD4D0為分頻系數(shù)(231).u利用這條命令,可以對(duì)來(lái)自CLK引線的外部輸入時(shí)鐘分頻.以取得100KHz的內(nèi)部定時(shí)脈沖信號(hào)。u例如,CLK輸入時(shí)鐘頻率為1MHz,則PPPPP=01010B=10。復(fù)位后分頻系數(shù)為2AH。(3 3)讀)讀FIFO/FIFO/傳感器傳感器RAMRAM命令命令在讀8279的FIFO/傳感器RAM中的數(shù)據(jù)之前,必須先將讀FIFO/傳感器RAM的命令字寫入8279,該命令字格式如下:010AIAAAD7 D6 D5 D4 D3 D2 D1 D0D7D6D5=010為該命令的特

22、征位。D2D0(AAA)為起始地址。D4(AI)為多次讀時(shí)的地址自動(dòng)增量標(biāo)志。在鍵掃描方式中,AI、AAA均被忽略,CPU讀鍵輸入數(shù)據(jù)時(shí)總是按先進(jìn)先出的規(guī)律讀出,直至輸入鍵全部讀出為止。如果鍵盤選擇雙鍵封鎖方式,則每一次讀同一個(gè)FIFO/RAM單元,命令字為40H。(4 4)讀顯示緩沖器命令)讀顯示緩沖器命令在CPU讀顯示數(shù)據(jù)(檢查)之前必須先輸出讀顯示緩沖器RAM的命令,命令格式如下:011AIAAAAD7 D6 D5 D4 D3 D2 D1 D0uD7D6D5=011是該命令字的特征位。u4位二進(jìn)制代碼AAAA用來(lái)尋址顯示RAM的一個(gè)緩沖單元。uAI為自動(dòng)增量標(biāo)志,若AI=1,則每次讀出后

23、,地址自動(dòng)加1。(5 5)寫顯示數(shù)據(jù)命令)寫顯示數(shù)據(jù)命令在CPU將顯示數(shù)據(jù)寫入8279的顯示緩沖器RAM之前必須先輸出寫顯示數(shù)據(jù)緩沖器的命令,命令格式如下:u該命令的特征位為D7D6D5=100。uAI為自動(dòng)增量標(biāo)志,AAAA為起始地址,數(shù)據(jù)寫入按左輸入或右輸入的方式操作。u若AI=1,每次寫入后地址自動(dòng)加1。一般寫顯示碼是連續(xù)進(jìn)行的,故該命令字為90H。100AIAAAAD7 D6 D5 D4 D3 D2 D1 D0(6 6)清除命令)清除命令CPU將清除命令寫入8279,使顯示緩沖器清成初態(tài)(暗碼),同時(shí)也能清除鍵輸入標(biāo)志和中斷請(qǐng)求標(biāo)志。清除命令的格式如下:u該命令的特征位D7D6D5=1

24、10。uD4D3D2用來(lái)設(shè)定清除顯示RAM的方式,定義如表3所示。110CDCDCDCFCAD7 D6 D5 D4 D3 D2 D1 D0表表9-3 9-3 清除方式設(shè)定清除方式設(shè)定D4D3 D2清除方式10 將顯示RAM全部清01 0 將顯示RAM清成20H1 1 將顯示RAM全部置10 不清除(CA=0時(shí))如果將顯示器全部暗掉,則命令字為D0H。2 2、FIFOFIFO狀態(tài)字狀態(tài)字在鍵盤和選通方式下,F(xiàn)IFO狀態(tài)字用來(lái)指出FIFO中的字符數(shù)、出錯(cuò)信息以及能否對(duì)顯示RAM進(jìn)行寫入操作。其格式如下:3 3、鍵盤掃描方式、鍵盤掃描方式FIFO/ RAMFIFO/ RAM數(shù)據(jù)格式數(shù)據(jù)格式在鍵盤掃描

25、方式下,進(jìn)入FIFO RAM的數(shù)據(jù)對(duì)應(yīng)于閉合鍵在鍵盤中的位置以及CNTL和SHIFT線的狀態(tài),其格式如下:D2D0為行線RL07的行號(hào),D5D3為掃描計(jì)數(shù)器值(列號(hào))。FIFO/RAM中的數(shù)據(jù)被稱為鍵值。CNTLSHIFT掃描值回送值 D7 D6 D5 D4 D3 D2 D1 D0四、四、82798279芯片外部引腳芯片外部引腳CLKCLK:時(shí)鐘輸入線,用于產(chǎn)生內(nèi)部定時(shí);RESETRESET:復(fù)位輸入線,該引腳上輸入一個(gè)高電平信號(hào)將復(fù)位8279,復(fù)位后置為下列方式:16位顯示器左邊輸入,編碼掃描鍵盤雙鍵封鎖,時(shí)鐘系數(shù)為34H;CSCS:選片輸入線,輸入低電平時(shí)CPU選中8279,允許對(duì)8279

26、進(jìn)行讀、寫操作;A A0 0:緩沖器地址輸入線,高電平時(shí)數(shù)據(jù)線上傳送的是命令或狀態(tài)信息,低電平時(shí)數(shù)據(jù)線上傳送的是數(shù)據(jù)信息;RDRD:讀信號(hào)輸入線,低電平有效,8279內(nèi)部緩沖器信息送DB07;WRWR:寫信號(hào)輸入線,低電平有效,接收數(shù)據(jù)總線DB07上的信息寫入內(nèi)部緩沖器;外部引腳續(xù)外部引腳續(xù)DBDB0 0DBDB7 7:雙向數(shù)據(jù)總線,用于在CPU和8279之間傳送命令、數(shù)據(jù)和狀態(tài);OUTAOUTA0 0OUTAOUTA3 3:四位輸出口;OUTBOUTB0 0OUTBOUTB3 3:四位輸出口;這兩個(gè)端口是164顯示器更新寄存器的輸出端,輸出的數(shù)據(jù)與掃描線(SL0SL3)上的信號(hào)同步,用于多位

27、顯示器顯示。這兩個(gè)端口也可以合并為一個(gè)8位輸出口,輸出顯示碼。OUTB03為低4位,OUTA03為高4位.SLSL0 0SLSL3 3:掃描輸出線,用以對(duì)鍵盤/傳感器矩陣和顯示器進(jìn)行掃描;RLRL0 0RLRL7 7:數(shù)據(jù)輸入線,鍵盤/傳感器矩陣的行(或列)數(shù)據(jù)輸入線。這些輸入線內(nèi)部有拉高電路,使之保持為高電平,也可以由外部開(kāi)關(guān)拉成低電平。在選通工作方式中RL0RL7可作為8位數(shù)據(jù)輸入線。外部引腳續(xù)外部引腳續(xù)SHIFTSHIFT:換檔輸入線,在鍵掃描中閉合鍵的位置信息(行和列號(hào))和換檔輸入線狀態(tài)一起存入FIFO RAM,使鍵盤上的每個(gè)鍵可定義為上、下兩檔功能。SHIFT線內(nèi)部也有上拉電路使之保

28、持高電平,也可以被外部開(kāi)關(guān)拉成低電平;CNTL/STBCNTL/STB:控制/選通輸入線,在鍵盤方式中,作為控制輸入線,它的狀態(tài)和鍵輸入信息一起存貯到FIFO RAM中。在選通輸入方式中作為數(shù)據(jù)送入FIFO RAM的選通輸入線。CNTL/STB線內(nèi)部也有拉高電路使之保持高電平,也可被外部開(kāi)關(guān)拉成低電平;外部引腳外部引腳IRQIRQ:中斷請(qǐng)求輸出線,高電平有效。在鍵盤工作方式中,F(xiàn)IFO RAM中有鍵輸入數(shù)據(jù)時(shí),IRQ上升為高電平,向CPU請(qǐng)求中斷,CPU每次讀出FIFO RAM數(shù)據(jù)時(shí),IRQ變?yōu)榈碗娖?,若RAM中還有數(shù)據(jù),IRQ在讀出后又返回高電平,直止FIFO中數(shù)據(jù)被讀完IRQ才保持低電平。

29、在傳感器方式中,每當(dāng)檢測(cè)到傳感器信號(hào)變化時(shí)IRQ上升為高電平;BDBD:顯示消隱輸出線,低電平有效,該輸出線在數(shù)字切換過(guò)程中或使用顯示器熄滅命令使顯示器消隱(暗);VccVcc:電源輸入腳(+5V);VssVss:地。五、五、82798279的應(yīng)用舉例的應(yīng)用舉例(實(shí)驗(yàn)十四)(實(shí)驗(yàn)十四)例例4-4:若某單片機(jī)擁有系統(tǒng)的顯示器/鍵盤接口電路如圖9-12所示,請(qǐng)分析接口電路,并編寫顯示器/鍵盤程序。圖圖9-129-12l8個(gè)數(shù)碼管顯示器和16個(gè)鍵(44)l8279的OUTA03、 OUTB03經(jīng)74LS244驅(qū)動(dòng)后接數(shù)碼管數(shù)據(jù)端。l8279的SL20經(jīng)譯碼器輸出掃描信號(hào)。Y0Y7再經(jīng)74LS244驅(qū)

30、動(dòng)后作為點(diǎn)亮控制掃描信號(hào);Y0Y3直接作為鍵盤的列掃描信號(hào),分別接鍵盤第0列至第3列。l8279的RL0RL3作為鍵盤的行輸入線,分別接鍵盤的第0行至第3行。l8279的CS端接系統(tǒng)譯碼器的輸出Y6。l8279的CLK端接系統(tǒng)1Mhz信號(hào)。(一)接口電路分析(一)接口電路分析接口電路分析續(xù)接口電路分析續(xù)根據(jù)系統(tǒng)的接線,可得到以下信息:l數(shù)據(jù)口地址為E000H,控制口地址為E001H。l8279的分頻系數(shù)為1Mhz/100Khz=10。l因?yàn)?279的SL20經(jīng)譯碼器輸出掃描信號(hào),所以掃描計(jì)數(shù)器采用編碼方式。l鍵盤上鍵號(hào)的排列是左下角第一個(gè)鍵是0號(hào)鍵,沿著這一行依次是1號(hào)鍵、2號(hào)鍵和3號(hào)鍵,右上

31、角的是F號(hào)鍵。接口電路分析續(xù)接口電路分析續(xù)根據(jù)鍵盤電路中行線和列線的接法,鍵的位置與FIFO/RAM數(shù)據(jù)的對(duì)應(yīng)關(guān)系如下:CNTLSHIFT掃描值回送值 D7 D6 D5 D4 D3 D2 D1 D00號(hào)鍵 0 0 0 0 0 0 0 0 (00H) D7 D6 列號(hào) 行號(hào)1號(hào)鍵 0 0 0 0 1 0 0 0(08H)2號(hào)鍵 0 0 0 1 0 0 0 0(10H)F號(hào)鍵 0 0 0 1 1 0 1 1(1BH)設(shè)FIFO/RAM中的數(shù)據(jù)為鍵值,根據(jù)鍵值可求出鍵號(hào)。鍵號(hào)和鍵值的對(duì)應(yīng)關(guān)系表鍵號(hào)和鍵值的對(duì)應(yīng)關(guān)系表鍵號(hào)鍵值鍵號(hào)鍵值鍵號(hào)鍵值鍵號(hào)鍵值000H401H802HC03H108H509H90A

32、HD0BH210H611HA12HE13H318H719HB1AHF1BH82798279鍵盤顯示器應(yīng)用電路鍵盤顯示器應(yīng)用電路1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y431G12G19UB5274LS244A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77UB5374LS138OUTA027OUTB031OUTA126OUTB130OUTA225OUTB229OUTA324OUTB328DB012BD23DB113DB214SL032DB315SL133D

33、B416SL234DB517SL335DB618DB719RL038RL139IRQ4RL21RL32CS22RL45RD10RL56WR11RL67A021RL78CLK3SHIFT36RESET9CNTL/S37UB518279VCCGNDCS5RSTWRRDD0D1D2D3D4D5D6D7A0abcdefgh12345678JB521A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y431G12G19UB5474LS244b112345678JB53bit0-bit712345678JB5412345

34、678JB51a-h8279CS28279CLKR82794.7KVCCSK15SK14SK11SK16SK13SK12SK10SK9D4IN4148SK7SK6SK3SK8SK5SK4SK2SK1R161KR171KR181KR191KKBit4KBit5KBit6KBit7D3IN4148D2IN4148D1IN4148a10b9c8d5e4f2g3dp7gp1gp6LED8a10b9c8d5e4f2g3dp7gp1gp6LED7a10b9c8d5e4f2g3dp7gp1gp6LED6a10b9c8d5e4f2g3dp7gp1gp6LED5a10b9c8d5e4f2g3dp7gp1gp6L

35、ED4a10b9c8d5e4f2g3dp7gp1gp6LED3a10b9c8d5e4f2g3dp7gp1gp6LED2a10b9c8d5e4f2g3dp7gp1gp6LED112345678JP8_1BIT12345678Jp8_2CODEaa1234J4_1KH1234J4_2KLY61MHz(二)程序設(shè)計(jì)(二)程序設(shè)計(jì)該程序的功能是初始狀態(tài)顯示器顯示“8279-1“,然后是按那個(gè)鍵,顯示那個(gè)鍵號(hào).整個(gè)程序結(jié)構(gòu)由三部分程序構(gòu)成,一個(gè)主程序、二個(gè)子程序。u 主程序的功能:初始化顯示緩沖區(qū),初始化8279芯片,循環(huán)調(diào)用顯示子程序和鍵盤掃描子程序。u 顯示子程序功能:將顯示緩沖區(qū)的數(shù)據(jù)轉(zhuǎn)換成顯示碼

36、,然后送入8279顯示RAM。u 鍵盤子程序功能:查詢鍵盤是否有鍵按下,將8279中的鍵值轉(zhuǎn)換成鍵號(hào),然后將鍵號(hào)送入顯示緩沖區(qū)。82798279應(yīng)用程序續(xù)應(yīng)用程序續(xù)主程序框圖顯示子程序框圖鍵盤掃描子程序框圖82798279應(yīng)用程序續(xù)應(yīng)用程序續(xù)ORG0000HAJMPMAINORG 0030HMAIN: MOVSP,#60HMOV70H,#8H ; ;70H-77H為顯示緩存器,初始顯示8279-1 MOV71H,#2H ; MOV72H,#7H ; MOV73H,#9H ; MOV74H,#12H ; MOV75H,#12H ; MOV76H,#12H ; MOV77H,#01H ;程序編制如

37、下:82798279應(yīng)用程序續(xù)應(yīng)用程序續(xù);8279初始化C8279EQU 0E001H ;定義8279控制口地址D8279EQU 0E000H ;定義8279數(shù)據(jù)口地址 MOVDPTR,#C8279;設(shè)置8279控制口指針 MOVA,#0H;88左邊輸入顯示,編碼鍵盤掃描,雙鍵封鎖. MOVX DPTR,A ; 寫8279方式字 MOV A,#2AH;分頻系數(shù)為10. MOVX DPTR,A ;寫分頻系數(shù) MOVA,#0D0H;將顯示RAM清0控制字. MOVX DPTR,A ;清顯示DISP1: MOVX A,DPTR;讀入FIFO狀態(tài)字 JB ACC.7,DISP1 ;判斷8279工作是否正常;8279初始化結(jié)束82798279應(yīng)用程序續(xù)應(yīng)用程序續(xù)LOOP: LCALLDISP ;調(diào)顯示 LCALLGETKEY;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論