版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 目 錄</p><p> 前 言……………………………………………………………(1)</p><p> 1 DVCC-8086十六位微型機(jī)的硬件組成…………………(2)</p><p> 1.1 系統(tǒng)的部分硬件組成………………………………… (2)</p><p> 1.2 總體框圖和
2、元件位置圖………………………………(4)</p><p> 1.3 通用外圍電路及各插頭座的定義……………………(5)</p><p> 2 DVCC-8086十六位微型機(jī)本身的資源…………………(9)</p><p> 2.1 DVCC-8086系統(tǒng)存儲空間分配 ……………………(9)</p><p> 2.2 DVCC808
3、6系統(tǒng)輸入輸出接口地址的分配 ………(10)</p><p> 3 輸入輸出設(shè)備開關(guān)量、數(shù)碼管顯示器和小鍵盤 ………(10)</p><p> 3.1邏輯電平開關(guān)… ……………………………………(10)</p><p> 3.2 數(shù)碼管顯示器和小鍵盤……………………………(11)</p><p> 4 輸入輸出的接口……………………
4、……………………(14)</p><p> 4.1 接口技術(shù)概述………………………………………(14)</p><p> 4.2 可編程接口芯片概述………………………………(18)</p><p> 4.3 并行輸入輸出接口…………………………………(19)</p><p> 4.4 8279A鍵盤顯示器接口………………………
5、……(24)</p><p> 輸入輸出設(shè)備的驅(qū)動程序……………………………(26)</p><p> 5.1并行輸入輸出接口芯片8255A …………………(26)</p><p> 5.2編程鍵盤顯示接口8279A…………………………(28)</p><p> 6一個具體輸入輸出的應(yīng)用—數(shù)碼管顯示開關(guān)量輸入…(31)<
6、;/p><p> 6.1數(shù)碼管顯示開關(guān)量輸入的目的和內(nèi)容……………(31)</p><p> 6.2數(shù)碼管顯示開關(guān)量輸入源程序……………………(32)</p><p> 6.3數(shù)碼管顯示開關(guān)量輸入數(shù)據(jù)分析…………………(34)</p><p> 結(jié)束語…………………………………………………………(34)</p>&l
7、t;p> 附錄……………………………………………………………(35)</p><p> 致謝……………………………………………………………(35)</p><p> 參考文獻(xiàn)………………………………………………………(36)</p><p> 基于DVCC8086的輸入與輸出系統(tǒng)設(shè)計(jì)</p><p> 摘 要:本文
8、從介紹DVCC8086十六位微型機(jī)的硬件組成開始,討論了十六位微機(jī)實(shí)驗(yàn)系統(tǒng)的輸入輸出的相關(guān)內(nèi)容。描述DVCC8086十六位微型機(jī)本身的所有資源,同時也對本設(shè)計(jì)中使用的輸入輸出設(shè)備開關(guān)量、數(shù)碼管顯示器、與輸入輸出相關(guān)的接口芯片及其驅(qū)動程序進(jìn)行了詳細(xì)的講解。最后給出了一個具體的輸入輸出的應(yīng)用,以此來了解如何進(jìn)行一個完整的輸入輸出系統(tǒng)的設(shè)計(jì)。</p><p> Abstract;This paper mainly i
9、ntroduced the DVCC8086 16 bits miniature computers’ hardware compositions, discussed the relating contents of 16 bits microcomputers experiments system’s input and output. Described DVCC8086 16 bits miniature machines’s
10、resources, simultaneously also include the input-output device switch quantity, the digital tube monitor, and the relating interface chips and its drivering program carried on the detailed explanation of the input and ou
11、tput. Finally produced a concret</p><p> 關(guān) 鍵 詞 :單板機(jī); 監(jiān)控程序; 匯編語言;輸入/輸出系統(tǒng);接口;可編程</p><p> Key Words:single board computer; monitor program ;assemble language ;Input/output system ;Interface;Progr
12、ammable</p><p><b> 前 言</b></p><p> 輸入輸出系統(tǒng)在微機(jī)系統(tǒng)中占有重要的地位,它是人機(jī)交互的唯一渠道,在一個小型的DVCC8086十六位微型單板機(jī)系統(tǒng)中,輸入輸出系統(tǒng)無法采用傳統(tǒng)的鍵盤和CRT顯示器,只能采用一些簡單的輸入輸出設(shè)備,如開關(guān)量和數(shù)碼管顯示器,雖然設(shè)備簡單,但要使它在DVCC8086十六位微型機(jī)系統(tǒng)中正常工作,涉
13、及的技術(shù)卻非常多,首先,DVCC8086十六位微型機(jī)本身的資源是夠用的,即CPU、內(nèi)存、總線這些構(gòu)成微型機(jī)的整體框架的硬件要有。第二,內(nèi)存的容量,存儲器地址的范圍,端口的地址范圍,中斷資源等必須滿足輸入輸出的基本要求。第三,相應(yīng)的輸入輸出設(shè)備的接口必須具有,選擇了那些接口,就有相應(yīng)的功能。第四,輸入輸出設(shè)備的驅(qū)動程序要有,即如何對接口進(jìn)行符合要求的編程,最后,有一個具體的應(yīng)用來驗(yàn)證設(shè)計(jì)的整個輸入輸出系統(tǒng)能否正常使用。本文主要介紹DVCC
14、8086十六位微型機(jī)的硬件組成,討論了十六位微機(jī)實(shí)驗(yàn)系統(tǒng)的輸入輸出的有關(guān)內(nèi)容。描述DVCC8086十六位微型機(jī)本身的所有資源,同時也對本設(shè)計(jì)中使用的輸入輸出設(shè)備開關(guān)量、數(shù)碼管顯示器、與輸入輸出相關(guān)的接口芯片及其驅(qū)動程序進(jìn)行了詳細(xì)的講解。最后給出了一個具體的輸入輸出的應(yīng)用,</p><p> 1 DVCC8086十六位微型機(jī)的硬件組成</p><p> DVCC8086 十六位微型機(jī)輸入
15、輸出系統(tǒng)是為了適應(yīng)微機(jī)原理、微機(jī)接口技術(shù)等課程的實(shí)驗(yàn)而設(shè)計(jì)的。它為大中專院校學(xué)生學(xué)習(xí)微機(jī)原理、微機(jī)接口技術(shù)提供了理想的實(shí)驗(yàn)環(huán)境,它可有效地幫助學(xué)生深入理解微機(jī)原理等課程中的基本概念,理解微機(jī)的工作過程接口芯片的工作原理,從而達(dá)到學(xué)好微機(jī)原理和接口技術(shù)等課程的目的。</p><p> 1.1系統(tǒng)的部分硬件組成</p><p> (1)系統(tǒng)采用主頻為4.77HZ的8088CPU為主CPU,
16、并以最小工作方式構(gòu)成系統(tǒng)。</p><p> (2)采用靜態(tài)RAM形成監(jiān)控程序的數(shù)據(jù)區(qū)和用戶實(shí)驗(yàn)的程序存儲區(qū),系統(tǒng)以二片62256靜態(tài)RAM構(gòu)成系統(tǒng)的64K基本內(nèi)存,地址范圍為00000H~0FFFFH。其中00000H~004FFH為系統(tǒng)數(shù)據(jù)區(qū),00500-00FFFH為用戶數(shù)據(jù)區(qū),01000H~0FFFFH為用戶程序區(qū)。用EPROM形成系統(tǒng)監(jiān)控程序區(qū),主要是一片32KEPROM存放系統(tǒng)程序和實(shí)驗(yàn)程序,地址范
17、圍為F8000H-FFFFFH。</p><p> (3) 系統(tǒng)中采用74LS373、74LS245總線驅(qū)動器使CPU的AB/DB分時復(fù)用,形成AB、DB分離的總線方式</p><p> (4) 由可編程鍵盤顯示接口8279A對24鍵的小鍵盤和8位的七段LED顯示進(jìn)行管理。自帶鍵盤顯示器,采用進(jìn)口鍵座、彩色字符鍵帽,能單機(jī)獨(dú)立運(yùn)行,為實(shí)驗(yàn)程序的調(diào)試帶來方便。</p>&l
18、t;p> 以上就構(gòu)成了最基本的微機(jī)工作系統(tǒng)。同時將AB、DB和CB三總線均引出供實(shí)驗(yàn)使用,為了減少和防止外接電路對CPU的影響,各信號均加入了驅(qū)動、隔離電路。</p><p> (5)通用外圍電路,包括邏輯電平開關(guān)電路、發(fā)光二極管顯示電路、時鐘電路、單脈沖發(fā)生電路、繼電器及驅(qū)動電路、直流電機(jī)及驅(qū)動電路、步進(jìn)電機(jī)及驅(qū)動電路、電子音響及驅(qū)動電路、模擬電壓產(chǎn)生電路。</p><p>
19、 (6) 提供各種微機(jī)常用I/O接口芯片:包括定時/計(jì)數(shù)器接口芯片(8253A),并行接口芯片(8255A),A/D轉(zhuǎn)換芯片(0809),D/A轉(zhuǎn)換芯片(0832),中斷控制器接口芯片(8259A),鍵盤顯示接口芯片(8279A),串行通信接口芯片(8251A)等。</p><p> (7) 備有系統(tǒng)總線擴(kuò)展插座,便于其他硬件接口器件的擴(kuò)展(如DAM控制器8237A的擴(kuò)充、串級中斷源8259A的擴(kuò)充、串行口82
20、50A擴(kuò)充、A/D的擴(kuò)充等)。</p><p> (8) 可以配接溫度測量、壓力測量實(shí)驗(yàn)板。</p><p> (9)備有通用IC插座,和其他外圍電路配合作數(shù)字實(shí)驗(yàn)儀用。</p><p> (10)實(shí)驗(yàn)電路連接采用自鎖緊插座及導(dǎo)線,消除接觸不良現(xiàn)象。</p><p> (11)提供標(biāo)準(zhǔn)RS-232異步通信接口,以聯(lián)接IBMPC及其兼容
21、機(jī)。</p><p> 1.2 總體框圖和元件位置圖</p><p> 1.2.1 DVCC-8086H實(shí)驗(yàn)系統(tǒng)總體原理框圖(如圖1.1)</p><p> 圖1.1 系統(tǒng)總體原理框圖</p><p> 1.2.2 元件位置圖(如圖1.2)</p><p> 圖1.2 元件位置圖</p><
22、;p> 圖1.1是DVCC-8086H實(shí)驗(yàn)系統(tǒng)總體原理框圖,由此可以看出在DVCC8086十六位微機(jī)實(shí)驗(yàn)系統(tǒng)的中,該系統(tǒng)是以Inte18088CPU為核心部件,并以最小方式工作。同時由8284芯片給CPU提供時鐘和復(fù)位信號, 通過總線收發(fā)器和地址鎖存器對系統(tǒng)中的數(shù)據(jù)信息和地址信息進(jìn)行緩沖或鎖存,由FPGA對靜態(tài)RAM和32KEPROM進(jìn)行管理,通過總線插座將信號引出,為各實(shí)驗(yàn)提供必要的信號。而在圖1.2的元件位置圖中我們可以了解
23、到,此系統(tǒng)由很多基本元件搭建而成,在此系統(tǒng)中放置了開關(guān)輸入按鍵,LED指示燈,單脈沖發(fā)生器等信號的發(fā)生、指示電路,實(shí)驗(yàn)用小鍵盤;同時,也放置了七段LED,數(shù)碼管,接線板和常用集成電路芯片(如:8251、8253、8255、8259等),這些芯片安放在實(shí)驗(yàn)板上,并將芯片每一引腳均引出,沒有和電路發(fā)生聯(lián)系。這樣在做基本實(shí)驗(yàn)時,學(xué)員只需按原理圖接線,無需插拔芯片,可減少了常用芯片的無故消耗。</p><p> 1.3
24、 通用外圍電路及各插頭的定義</p><p> 1.3.1 通用外圍電路</p><p> DVCC-8086H實(shí)驗(yàn)系統(tǒng)中設(shè)計(jì)了一系列實(shí)驗(yàn)所必需的通用外圍電路:包括邏輯電平開關(guān)電路、發(fā)光二極管顯示電路、時鐘電路、單脈沖發(fā)生電路、繼電器及驅(qū)動電路、直流電機(jī)及驅(qū)動電路、電子音響及驅(qū)動電路、模擬電壓產(chǎn)生電路;另外,系統(tǒng)中設(shè)計(jì)了系統(tǒng)總線擴(kuò)展插座和通用IC插座。</p><p
25、> (1)邏輯電平開關(guān)電路</p><p> 該系統(tǒng)提供8個邏輯電平開關(guān),每一個輸出端有一個插孔,分別標(biāo)有K1~K8。開關(guān)向上打時,輸出高電平“1”,向下時輸出低電平“0”。具體電路如圖1.3。</p><p> 圖1.3 邏輯電平開關(guān)電路</p><p> (2)發(fā)光二極管顯示電路</p><p> DVCC8086實(shí)驗(yàn)系統(tǒng)
26、提供有十二個發(fā)光二極管,其中四紅、四綠、四黃。其輸入端有十二個插孔,分別標(biāo)有L1~L2,它對應(yīng)1~12上發(fā)光二極管。輸入端為高電平“1”時,發(fā)光二極管滅;輸入端為低電平“0”,發(fā)光二極管亮。具體電路如圖1.4。</p><p> 圖1.4 發(fā)光二極管顯示電路</p><p><b> (3)時鐘電路</b></p><p> 時鐘電路可以
27、輸出1MHZ、2MHZ兩種時鐘信號,供0809A/D轉(zhuǎn)換器、8253A定時器/計(jì)數(shù)器、8250串行接口實(shí)驗(yàn)使用,如圖1.5。</p><p><b> 圖1.5 時鐘電路</b></p><p> (4)單脈沖發(fā)生電路</p><p> 采用RS觸發(fā)器產(chǎn)生±單脈沖。實(shí)驗(yàn)者每按一次AN按鈕,即可以從兩個插座上分別輸出一個正脈沖/S
28、P,供"中斷"、"DMA"、定時器/計(jì)數(shù)器等實(shí)驗(yàn)使用,如圖1.6。</p><p> 圖1.6 單脈沖發(fā)生電路</p><p> (5)繼電器及驅(qū)動電路</p><p> 現(xiàn)代自動化控制設(shè)備中都存在一個電子與電氣電路的互相聯(lián)結(jié)問題。一方面要使電子電路的控制電氣電路的執(zhí)行元件(電動機(jī)、電磁鐵、電燈泡);另一方面又要為電子電
29、路的電氣設(shè)備提供良好的電隔離,以保護(hù)電子電路和人身的安全。電子繼電器便能完成這一橋梁作用,如圖1.7。</p><p> 圖1.7 繼電器的驅(qū)動電路</p><p> 實(shí)驗(yàn)系統(tǒng)上設(shè)有一個+5V直流繼電器及相應(yīng)的驅(qū)動電路,當(dāng)其開關(guān)量輸入數(shù)字電平“0”時,繼電器動作,常開觸點(diǎn)閉合、常閉觸點(diǎn)斷開。通過相應(yīng)的實(shí)驗(yàn)可以使學(xué)生了解開關(guān)量控制的一般原理。</p><p>
30、(6)直流電機(jī)及驅(qū)動電路</p><p> 系統(tǒng)中設(shè)計(jì)有一個+5V直流電機(jī)及相應(yīng)的驅(qū)動電路。小直流電機(jī)的轉(zhuǎn)速是由加到其輸入端“DJ”的脈沖電平及占空比來決定的,正向占空比越大轉(zhuǎn)速越快,反之越慢。 如圖1.8所示。</p><p> 圖1.8 直流電機(jī)的驅(qū)動電路</p><p> (7)步進(jìn)電機(jī)及驅(qū)動電路</p><p> 步進(jìn)電機(jī)是工
31、業(yè)控制儀表中常用的控制元件之一,它有輸入脈沖與電機(jī)軸轉(zhuǎn)角成比例的特征,在智能機(jī)器人、軟盤驅(qū)動器、數(shù)控機(jī)床中廣泛使用,微電腦控制步進(jìn)電機(jī)最適宜。系統(tǒng)中設(shè)計(jì)使用20BY—0型號步進(jìn)電機(jī),它使用+5V直流電源,步距角為18度,電機(jī)線圈由四相組成。</p><p> (8)模擬信號電平產(chǎn)生電路、總路線擴(kuò)展插座和通用IC插座</p><p> 系統(tǒng)中提供2路0~5V模擬電壓信號,供A/D轉(zhuǎn)換實(shí)驗(yàn)
32、時用,它采用32芯圓孔插座,引出數(shù)據(jù)總線D0~7、地址總線A0~19、存儲器讀書信號MEMR、MEMW、I/O讀書信號IOW、IOR、復(fù)位RST、時鐘CLK、電源Vcc、地GND,供學(xué)生自行搭試各種實(shí)驗(yàn)電路用。系統(tǒng)擴(kuò)有IC—14、IC—16、IC—40通用插座,IC—40可采用自鎖緊插座,這樣既可以插寬IC—40、IC—28、IC—24,亦可以插窄IC—24、IC—18、IC—20等。非常靈活方便。</p><p&g
33、t; 1.3.2各插頭座的定義</p><p><b> (1) Z1、Z2</b></p><p> Z1為電源,其定義見圖1.9,電源內(nèi)置時,該插座裝在反面</p><p> Z2為通信插座,其定義見圖1.10。</p><p> 圖1.9 電源 圖1.1
34、0 通信插座</p><p> (2) Z3、Z4、Z5、Z6、Z7</p><p> Z3為8253定時/計(jì)數(shù)器通道0有關(guān)信號線引出插座,作為用戶擴(kuò)展實(shí)驗(yàn)用,Z4為8255并行I/O接口芯片PA口引出插座,作為擴(kuò)展實(shí)驗(yàn)用。</p><p> Z5為系統(tǒng)總線信號引出插座,為擴(kuò)充接口實(shí)驗(yàn)而設(shè)置。如擴(kuò)充DMA8237A實(shí)驗(yàn)、串行通信8250A實(shí)驗(yàn)、8259A串級中
35、斷實(shí)驗(yàn)等。Z6是專為做級聯(lián)中斷而引出的信號插座。用于連級級聯(lián)中斷實(shí)驗(yàn)板(如圖1.11)。Z7是ADC0809通道IN2通道IN7的模擬量輸入端和單級中斷控制芯片8259A中斷源輸入信號。</p><p> 圖1.11 Z6信號插座 圖1.12 步進(jìn)電機(jī)插座</p><p> (3)J1、J2、DM</p><p> J1為步
36、進(jìn)電機(jī)插座(如圖1.12),J2為電子音響插座,DM為直流電機(jī)插座。</p><p> 2 DVCC8086十六位微型機(jī)本身的資源</p><p> 2.1 DVCC-8086系統(tǒng)存儲空間分配</p><p> 對于8088CPU系統(tǒng)來說,8088有1兆存儲空間,系統(tǒng)提供給用戶使用的空間為00000H~0FFFFH,用于存放調(diào)試實(shí)驗(yàn)程序,具體分配如表2.1:
37、</p><p> 表2.1 系統(tǒng)存儲空間分配</p><p> 中斷矢量區(qū)00000H~00013H作為單步(T)、斷點(diǎn)INT3、無條件暫停(NMI)中斷矢量區(qū),用戶也可以更改這些矢量,指向用戶的處理,但失去了相應(yīng)的單步、斷點(diǎn)、暫停等系統(tǒng)功能。其中中斷矢量區(qū)、系統(tǒng)數(shù)據(jù)和堆棧區(qū)可統(tǒng)稱為系統(tǒng)區(qū)。</p><p> 2.2 DVCC-8086系統(tǒng)輸入輸出接口地址的
38、分配(如表2.2)</p><p> 表2.2 系統(tǒng)輸入輸出接口地址的分配表</p><p> 3 輸入輸出設(shè)備開關(guān)量、數(shù)碼管顯示器和小鍵盤</p><p> DVCC-8086實(shí)驗(yàn)系統(tǒng)采用一些簡單的輸入輸出設(shè)備,如開關(guān)量和數(shù)碼管顯示器,雖然設(shè)備簡單,但要使它在DVCC8086十六位微型機(jī)系統(tǒng)中正常工作,涉及的技術(shù)卻非常多。同時在部分用戶上位機(jī)配置不足的情況下
39、,可以采用單機(jī)獨(dú)立運(yùn)行,無須任何外部設(shè)備,利用實(shí)驗(yàn)系統(tǒng)上的小鍵盤、數(shù)碼管、管理監(jiān)控和微控制器,自成系統(tǒng)。通過一系列的鍵盤命令來完成實(shí)驗(yàn)程序的輸入、編輯、調(diào)試運(yùn)行等功能。</p><p> 3.1 邏輯電平開關(guān)</p><p> 在外圍電路中,我們已經(jīng)了解了邏輯電平開關(guān)電路,熟悉了它的原理圖。其實(shí)在DVCC8086實(shí)驗(yàn)系統(tǒng)中邏輯電平開關(guān)可以進(jìn)行簡單的高電平和低電平信號的輸入。如在8255
40、A可編程并行口的實(shí)驗(yàn)中,它作為一種簡單的輸入設(shè)備,來控制發(fā)光二極管的亮和滅。</p><p> 3.2 數(shù)碼管顯示器和小鍵盤</p><p> 3.2.1數(shù)碼管顯示器</p><p> 在DVCC-8086實(shí)驗(yàn)系統(tǒng)中,數(shù)碼管顯示器是一種最基本的輸出設(shè)備。它可以將輸入的地址,程序執(zhí)行的結(jié)果等數(shù)據(jù)顯示出來,讓用戶能夠和DVCC8086實(shí)驗(yàn)系統(tǒng)進(jìn)行交互,從而達(dá)到微型
41、機(jī)系統(tǒng)的功能。</p><p> 八位LED顯示器的顯示內(nèi)容及位置為XXXX.XXXX,前四個是地址段,后面四個是數(shù)據(jù)段。</p><p> 用戶可以通過鍵盤和顯示完成下列的操作:</p><p> a、讀/寫寄存器內(nèi)容</p><p> b、讀/寫存儲器單元內(nèi)容</p><p> c、通過單步,斷點(diǎn)功能來調(diào)
42、試運(yùn)行實(shí)驗(yàn)程序</p><p> d、往I/O口讀寫數(shù)據(jù)</p><p><b> 3.2.2小鍵盤</b></p><p><b> (1)鍵盤監(jiān)控 </b></p><p> 在DVCC8086實(shí)驗(yàn)儀上各種實(shí)驗(yàn),可以通過鍵盤監(jiān)控程序來完成。一經(jīng)接通電源,按下系統(tǒng)復(fù)位鍵(RESET)后,D
43、VCC8086實(shí)驗(yàn)儀中數(shù)碼管顯示“DVCC8086H”,此時只須按DVCC8086實(shí)驗(yàn)儀中小鍵盤的任意鍵(除Reset和Intr外),即可進(jìn)入鍵盤監(jiān)控,鍵盤顯示器上顯示鍵盤監(jiān)控提示符“—”。</p><p><b> (2)小鍵盤的排列</b></p><p> 在DVCC-8086實(shí)驗(yàn)系統(tǒng)中,我們了解到數(shù)碼管顯示器是一種最基本的輸出設(shè)備,而在數(shù)碼管顯示器的下面就
44、是DVCC8086實(shí)驗(yàn)系統(tǒng)的小鍵盤,對于一些用戶的上位機(jī)配置不理想的情況下,小鍵盤就能為用戶提供很大方便,它是此系統(tǒng)中一種重要的輸入設(shè)備。鍵盤的排列如圖3.1。</p><p> 圖3.1 鍵盤的排列</p><p><b> (3)鍵盤功能說明</b></p><p> 在鍵盤監(jiān)控狀態(tài)下,用戶可以通過鍵盤上的鍵,輸入各種命令和數(shù)據(jù)。鍵盤
45、上有24個鍵,右邊為8個功能鍵,左邊為16進(jìn)制數(shù)字鍵。16個十六進(jìn)制數(shù)字鍵均是復(fù)合功能鍵,其功能符號印在鍵盤上,左上角英文字母是命令字的縮寫,右下角的英文字母是寄存器的縮寫。其中EB為字節(jié)讀寫,ER為寄存器讀寫,GO為連續(xù)執(zhí)行程序,ST為單步執(zhí)行程序,IB為I/O口輸入字節(jié),OB為I/O口輸出字節(jié),MV為程序塊移動,EW為字讀寫,IW為I/O口輸入字,OW為I/O口輸出字,ES為EPROM查空,EC為EPROM讀出,EP為EPROM編程
46、,EV為EPROM校驗(yàn),SP為SP棧指針,AX、BX、CX、DX、BP、SI、DI、CS、DS、SS、ES、IP、FL寄存器。</p><p> 鍵盤上的功能鍵操作有,Reset系統(tǒng)復(fù)位鍵,允許用戶終止任何當(dāng)前的活動,返回監(jiān)控等待,用戶輸入命令。Intr無條件暫停鍵,中斷當(dāng)前的活動,并保護(hù)所有寄存器的內(nèi)容返回監(jiān)控,等待用戶輸入命;Exec開始連續(xù)執(zhí)行用戶程序,當(dāng)按下此鍵時,當(dāng)前的命令被執(zhí)行;Step是開始單步運(yùn)
47、行用戶程序,當(dāng)按下此鍵時,剛才輸入的單步命令ST被執(zhí)行,每按一次,執(zhí)行一條命令;Move是程序塊移動;Last地址減量,在存儲器字讀寫下,按此鍵地址值減2,并顯示該地址的內(nèi)容,字節(jié)下減1;Next地址增量,在存儲器字讀寫下,按此鍵地址值加2,并顯示該地址的內(nèi)容,字節(jié)下加1;:是分隔符,在任何命令中,當(dāng)需要輸入地址時,此鍵作為段地址和偏移地址的分隔符,輸入段地址后按此鍵,輸入偏移地址;Mem是存儲器讀寫,此鍵作為存儲器、寄存器、I/O口讀
48、寫命令執(zhí)行鍵;MON返回監(jiān)控,除連續(xù)執(zhí)行狀態(tài)外,按下此鍵,返回監(jiān)控。</p><p><b> (4)操作過程</b></p><p> 進(jìn)入鍵盤監(jiān)控,寄存器初始化值為:</p><p> SP=0300H,CS=0000H,DS=0000H,SS=0000H,ES=0000H,IP=0000H,FL=0000H,鍵盤監(jiān)控狀態(tài),段地址缺省
49、值為0000H。</p><p><b> 監(jiān)控程序命令及操作</b></p><p> a、EB顯示修改存儲器字節(jié)單元,EB XXXX:XXXX Mem,按“Next”鍵使地址加1再顯示,按“Last”鍵使地址減1再顯示;</p><p> b、EW顯示修改存儲器單元,EW XXXX:XXXXMem,對指定地址按字顯示存儲器單元內(nèi)容。其
50、它和EB類似。</p><p> c、ER顯示修改寄存內(nèi)容 ER XX Mem 對指定寄存器內(nèi)容進(jìn)行顯示。當(dāng)按下Mem鍵后,在數(shù)據(jù)段上顯示指定寄存器AX中的內(nèi)容。</p><p> d、IB、IW以字節(jié)或字從I/O端口讀入數(shù)據(jù) IB(or IW) XXXX Mem,從指定的I/O端口地址,讀入一個8位的字節(jié)或16位的字,并顯示在數(shù)據(jù)段上,再按Mem鍵,再次從該I/O口地址讀入數(shù)據(jù),并顯
51、示在數(shù)據(jù)段上,由于I/O端口地址最大尋址范圍為64K,因而對于端口地址不允許用段值。</p><p> e、OB、IW以字節(jié)或字對I/O端口寫數(shù)據(jù)OB(or OW) XXXX Mem XX Mem從指定的I/O端口地址,寫入一個8位的字節(jié)或者16位的字,寫完后將數(shù)據(jù)段顯示清掉,等待下一個數(shù)據(jù)字節(jié)或數(shù)據(jù)字的輸入,若按MON鍵,則返回監(jiān)控。</p><p> f、MV存儲器中的數(shù)據(jù)塊移動M
52、V XXXX:XXXX Next XXXX Next XXXX:XXXX Move 在存儲器中成組移動數(shù)據(jù)。</p><p> g、GO連續(xù)或斷點(diǎn)運(yùn)行實(shí)驗(yàn)程序:GO XXXX:XXXX Next XXXX Exec(斷點(diǎn)運(yùn)行時)GO XXXX:XXXX Exec(連續(xù)運(yùn)行時)按下GO命令鍵時,在地址段上就顯示出當(dāng)前IP的內(nèi)容,在數(shù)據(jù)段上顯示IP指示的存儲單元內(nèi)容,此時可以輸入一個起動地址。如果要求輸入起動地址的
53、話,從鍵盤上輸入此地址。為使程序開始執(zhí)行,要按下Exec鍵,當(dāng)按下該鍵時,程序便開始運(yùn)行,在顯示器上顯示“E”。</p><p> h、ST單步運(yùn)行命令 ST XXXX:XXXX Step 是單步運(yùn)行用戶程序,按ST命令鍵后,地址段將顯示當(dāng)前的IP的內(nèi)容,關(guān)在數(shù)據(jù)段上顯示IP所指向的存儲單元的內(nèi)容,若顯示的地址和所選取的起始地址不同,那么就鍵入的起始地址,再按Step鍵,開始單步運(yùn)行用戶程序,執(zhí)行完一條指令,將
54、下一條要執(zhí)行的指令的偏移地址顯示在地址段上,這個地址中的指令字節(jié)顯示在數(shù)據(jù)段上。再按Step鍵繼續(xù)步進(jìn)到下一條指令。如果要修改起始地址可以鍵入新的地址,再按Step鍵就從新的起始地址開始單步運(yùn)行。按MON鍵退出單步命令,返回監(jiān)控。</p><p> 4 輸入輸出的接口</p><p><b> 4.1接口技術(shù)概述</b></p><p>
55、 接口技術(shù)主要是研究微處理器如何與外設(shè)之間進(jìn)行最佳的耦合和匹配,以實(shí)現(xiàn)高效、可靠的信息交換的一門技術(shù)。接口電路作為信息交換的中轉(zhuǎn)站,有三種類型端口:數(shù)據(jù)口、狀態(tài)口與控制口,分別存放數(shù)據(jù)信息、狀態(tài)信息和控制信息。CPU通過訪問這些端口,了解外設(shè)的狀態(tài),控制外設(shè)的工作,同外設(shè)進(jìn)行數(shù)據(jù)傳輸。</p><p> 所謂接口就是微處理器CPU與外設(shè)的連接電路,是CPU與外界進(jìn)行信息交換的中轉(zhuǎn)站。如源程序或數(shù)據(jù)需要通過接口
56、電路從輸入設(shè)備送入系統(tǒng),運(yùn)算結(jié)果需要通過接口電路向輸出設(shè)備送出去;控制命令通過接口電路發(fā)出去,現(xiàn)場狀態(tài)通過接口電路取進(jìn)來,這些來往信息都要通過接口電路進(jìn)行變換與傳遞。</p><p><b> (1)接口的功能</b></p><p> 由于接口存在于CPU與外設(shè)(或總線與外設(shè))之間,其一般功能包括如下:</p><p> a.數(shù)據(jù)緩沖功
57、能,為了解決CPU高速與外設(shè)低速的矛盾,避免速度不一致而丟失數(shù)據(jù),接口中一般都設(shè)置數(shù)據(jù)寄存器或鎖存器,稱數(shù)據(jù)口。為了實(shí)現(xiàn)CPU與外設(shè)之間的聯(lián)絡(luò),接口電路還要提供寄存器“空”、“滿”、“準(zhǔn)備好”、“忙”、“閑”等狀態(tài)信號,以便向CPU報(bào)告接口或外設(shè)的工作情況,稱為狀態(tài)口。</p><p> b.接收和執(zhí)行CPU命令的功能 ,CPU對I/O設(shè)備的控制命令,一般以代碼的形式送到接口的命令寄存器,稱為命令口;再由接口電
58、路對命令代碼進(jìn)行誤碼和分析,產(chǎn)生若干控制信號,傳到I/O設(shè)備,使其產(chǎn)生相應(yīng)的操作。</p><p> c.信號轉(zhuǎn)換功能,由于外設(shè)所需的控制信號和它所能提供的狀態(tài)信號往往與系統(tǒng)的總路線信號不匹配,信號變換就不可避免。它是接口設(shè)計(jì)中的一個重要內(nèi)容。CPU能夠直接處理的是并行數(shù)據(jù),而有的外設(shè)只能處理串行數(shù)據(jù)。在這種情況下,接口就應(yīng)具有數(shù)據(jù)“并/串”和“串/并”變換能力,還有信號類型的變換,如A/D和D/A轉(zhuǎn)換。<
59、;/p><p> d.設(shè)備選擇功能,應(yīng)用系統(tǒng)中一般帶有多種外設(shè)。一臺外設(shè)也可能包含多個I/O端口,這就需要借助接口中的地址設(shè)碼電路對外設(shè)進(jìn)行I/O端口尋址。只有被選中的設(shè)備才能與CPU進(jìn)行數(shù)據(jù)交換或通信。</p><p> e.中斷管理功能,當(dāng)外設(shè)需要及時得到CPU的服務(wù),特別是在出現(xiàn)故障時,這就要在接口中設(shè)置中斷控制器,為CPU處理有關(guān)中斷事務(wù)。這樣,既做到系統(tǒng)對外界的實(shí)時響應(yīng),又使CP
60、U與外設(shè)并行工作,提高CPU的效率。</p><p> f.可編程功能,現(xiàn)在的口芯片基本上都是可編程的,這樣在不改動硬件的情況下,只修改相應(yīng)的驅(qū)動程序就可以改變接口的工作方式,大大地增加了接口的靈活性和可擴(kuò)充性。</p><p><b> (2)接口交換信號</b></p><p> 一個簡單的、基本的外設(shè)接口如圖4.1所示:</p
61、><p> 圖4.1 外設(shè)接口簡單框圖</p><p> 外設(shè)接口是CPU與外設(shè)之間傳送信息的一個“界面”。外設(shè)接口一邊通過CPU的三總線與CPU連接,一邊通過數(shù)據(jù)信息、控制信息和狀態(tài)信息三種信息與外設(shè)連接,CPU通過外設(shè)接口與外設(shè)交換的信息就是這三種信息。其中,數(shù)據(jù)信息可以有數(shù)字量、模擬量和開關(guān)量三種類型??刂菩畔⑹怯蒀PU發(fā)出的、用于控制外設(shè)接口工作方式以及外設(shè)的啟動和停止的信息。狀態(tài)
62、信息是表示外設(shè)當(dāng)前所處的工作狀態(tài)。控制信息、狀態(tài)信息和數(shù)據(jù)信息通常都以數(shù)據(jù)形式通過CPU的數(shù)據(jù)總線與CPU進(jìn)行傳送的,這些信息分別存放在外設(shè)接口的不同類型寄存器中。CPU與外設(shè)之間的信息傳送,實(shí)質(zhì)上是對這些寄存器進(jìn)行讀或?qū)懖僮?。接口中這些可由CPU進(jìn)行讀或?qū)懙募拇嫫鞅环Q為端口。按存放信息的類型,這些端口分為數(shù)據(jù)口、狀態(tài)口與控制口,分別存放數(shù)據(jù)信息、狀態(tài)信息、和控制信息。在一個外設(shè)接口中往往需要幾個端口才能滿足和協(xié)調(diào)外設(shè)工作的要求。CPU
63、通過訪問這些端口了解外設(shè)的狀態(tài),控制外設(shè)的工作,與外設(shè)之間進(jìn)行數(shù)據(jù)傳輸。</p><p> (3)CPU與接口之間傳送信息的方式及端口地址相關(guān)內(nèi)容</p><p> 應(yīng)用系統(tǒng)與外部設(shè)備之間的信息傳輸實(shí)際上是CPU與接口之間的信息傳送,在接口電路設(shè)計(jì)時,根據(jù)應(yīng)用系統(tǒng)的要求,在CPU與外設(shè)之間的信息傳送采用適當(dāng)?shù)男畔魉涂刂品绞绞侵陵P(guān)重要的。CPU與外設(shè)之間信息傳送控制方式一般有四種,即程
64、序控制方式、中斷方式、DMA方式和處理機(jī)方式。程序控制方式是由CPU執(zhí)行預(yù)先編寫的輸入/輸出程序?qū)崿F(xiàn)數(shù)據(jù)傳送的,其中無條件傳送方式實(shí)際上是一種無需控制的I/O操作方式,只有在外部控制過程的各種動作時間是固定的、已知的條件下才能使用。查詢方式總是先查后送,所以這種控制方式的接口電路,除數(shù)據(jù)口外,還必須有狀態(tài)口。中斷方式中,輸入輸出程序出現(xiàn)在中斷服務(wù)程序中,CPU響應(yīng)中斷,才進(jìn)入中斷服務(wù)程序,完成輸入/輸出操作。</p>&l
65、t;p> 在實(shí)際應(yīng)用中,通常把I/O接口電路中能被CPU直接訪問的寄存器或某些特定的器件稱為端口。I/O端口地址是CPU與I/O設(shè)備直接通信的地址。CPU可以通過這些端口發(fā)送命令、讀取狀態(tài)和傳送數(shù)據(jù)。因而,一個接口通常含有幾個端口,比如命令口、狀態(tài)口、數(shù)據(jù)口等。有的接口包括的端口少,而有的接口的端口多。對端口的操作也有所不同,有的端口只能寫或只能讀,有的端口既可以讀也可以寫。一般,一個端口只能寫入或讀出一種信息,也可能幾種信息共
66、用一個端口。I/O端口編址方式有兩種,一種是統(tǒng)一編址,一種是獨(dú)立編址。前者是從存儲空間中劃出一部分地址空間分配給I/O設(shè)備,把I/O接口中的端口作為存儲器單元一樣訪問,不設(shè)置專門的I/O指令。而后者是處理器有專門的I/O指令。內(nèi)存地址空間和I/O端口地址是相互獨(dú)立的。當(dāng)這種編址中時,I/O操作中必須通過CPU的寄存器進(jìn)行中轉(zhuǎn)才能完成。如在8088CPU中,采用的I/O端口獨(dú)立編址時,對端口的操作指令是IN和OUT。這樣在系統(tǒng)設(shè)計(jì)中,就要
67、進(jìn)行必須的I/O端口地址的分配,DVCC—8086H輸入輸出接口地址的分配在上面已經(jīng)介紹過,在這里就不在重復(fù)了!</p><p> 4.2 可編程接口芯片概述</p><p> CPU要同外設(shè)交換信息,必須通過接口電路,在接口電路中多數(shù)具有如下電路單元:a.輸入/輸出數(shù)據(jù)鎖存器和緩沖器,用以解決CPU與外設(shè)之間速度不匹配的矛盾,以及起隔離和緩沖作用;b.控制命令和狀態(tài)寄存器,以存放CP
68、U對外設(shè)的控制命令以及外設(shè)的狀態(tài)信息;c.地址譯碼器,用來選擇接口電路中的不同端口;d.讀/寫控制邏輯;e.中斷控制邏輯。</p><p> (1)可編程接口芯片及其特點(diǎn)</p><p> 所謂可編程實(shí)際上就是具有可選擇性,可編程接口是指接口的工作方式和功能可以用編程的方法加以改變。例如,選擇芯片中的哪一個或哪幾個數(shù)據(jù)端口與外設(shè)連接,選擇端口中哪一位或哪幾位做輸入,哪一位或哪幾位做輸出
69、,選擇端口與CPU之間采用哪種方式傳送數(shù)據(jù)等,均可由用戶在程序中寫入方式字或控制字來進(jìn)行指定,因此,它們具有廣泛的適應(yīng)性和很高的靈活性。這種可用軟件的方法改變接口的工作方式及功能的接口芯片稱為可編程接口芯片。</p><p> (2)可編程接口芯片幾個重要概念</p><p> 片選:只有通過一個地址信號選中接口芯片,才能使該接口芯片進(jìn)入電路工作狀態(tài),實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出,如圖4.2。
70、</p><p> 讀/寫:芯片已經(jīng)被選中,對讀操作而言使輸入口信息由數(shù)據(jù)總線進(jìn)入CPU,數(shù)據(jù)何時讀入CPU、由/RD控制,如圖4.3,寫操作與此類似。</p><p> 圖4.2 片選 圖4.3 讀操作</p><p> 其實(shí)在接口中還有“聯(lián)絡(luò)”這一重要概念,它是CPU通過外設(shè)接口芯片同外設(shè)交
71、換信息時,接口芯片常常需要和外設(shè)間有一定的“聯(lián)絡(luò)”信號,以保證信息的正常的傳送。如圖4.4:</p><p><b> 圖4.4 聯(lián)絡(luò)</b></p><p> 4.3并行輸入/輸出接口</p><p> 4.3.1并行輸入/輸出接口概述</p><p> (1)并行接口的基本概念</p><
72、p> 并行接口這是在多條數(shù)據(jù)線上,以數(shù)據(jù)字節(jié)或字為單位與I/O設(shè)備或被控制對象傳送信息,如計(jì)算機(jī)與打印機(jī),與A/D,D/A轉(zhuǎn)換器,開關(guān)量接口等。并行接口的所謂“并行”不是指接口與系統(tǒng)總路線側(cè)的并行數(shù)據(jù)線,而是指接口與I/O設(shè)備或被控制對象側(cè)并行數(shù)據(jù)線。</p><p> 若并行接口工作方式和接口功能可通過軟件編程來改變,就是可編程并行接口??删幊探涌诰哂谐浞值倪x擇性。用戶可以通過程序設(shè)置哪些端口作為輸入
73、,哪些端口作為輸出,以哪種工作方式傳送數(shù)據(jù)等。因此,可編程并行接口具有廣泛的適應(yīng)性和很高的靈活性。</p><p> 常用的可編程并行接口芯片一般具有以下三個功能:</p><p> a、兩個或兩個以上具有鎖存器或緩沖器的數(shù)據(jù)端口。</p><p> b、端口具有與CPU,與外設(shè)交換信息所必須的控制和狀態(tài)信號。</p><p> c、
74、可通過程序選擇端口、選擇數(shù)據(jù)傳送方向、選擇數(shù)據(jù)傳送方式。</p><p> 并行接口連接外設(shè),用一個通道和輸入設(shè)備相連,用另一個通道和輸出設(shè)備相連,每一個通道中除數(shù)據(jù)線外均配有一定的控制線和狀態(tài)線。并行接口中有一個控制寄存器用來接收CPU對它的控制命令;有一個狀態(tài)寄存器提供外設(shè)狀態(tài),以便CPU查詢。為了實(shí)現(xiàn)輸入和輸出,并行接口中還有相應(yīng)的輸入緩沖寄存器和輸出緩沖寄存器,用于解決CPU與外設(shè)之間速度不匹配的矛盾,
75、以及起隔離和緩沖的作用。</p><p> (2)并行接口的輸入過程</p><p> a、外設(shè)首先將數(shù)據(jù)送給接口,且使用狀態(tài)線“數(shù)據(jù)輸入設(shè)備好”成為高電平;b、接口把數(shù)據(jù)接收到的數(shù)據(jù)輸入緩沖寄存器的同時,把“數(shù)據(jù)輸入回答”線變?yōu)楦唠娖?,作為對外設(shè)的響應(yīng);c、外設(shè)接到此信號,便撤除數(shù)據(jù)和“數(shù)據(jù)輸入準(zhǔn)備好”信號;d、數(shù)據(jù)到達(dá)接口后,接狀態(tài)寄存器中設(shè)置“輸入準(zhǔn)備好”狀態(tài)位,以便CPU對其進(jìn)
76、行查詢,或者向CPU發(fā)一個中斷請求。e、CPU從接口中讀取數(shù)據(jù)后,接口自動清除狀態(tài)寄存器中的“輸入準(zhǔn)備好”狀態(tài)位,并使數(shù)據(jù)總線處于高阻狀態(tài)。</p><p> (3)并行接口的輸出過程</p><p> a、外設(shè)取走了一個數(shù)據(jù)后,接口會將狀態(tài)寄存器中的“輸出準(zhǔn)備好”狀態(tài)位置“1”,以供CPU進(jìn)行查詢,或者向CPU發(fā)一個中斷請求。b、CPU輸出的數(shù)據(jù)到達(dá)接口的輸出緩沖器后,接口自動清除“
77、輸出準(zhǔn)備好”狀態(tài)位,且將數(shù)據(jù)送往外設(shè),同時接口往外設(shè)發(fā)一個“數(shù)據(jù)輸出準(zhǔn)備好”選通信號,啟動外設(shè)接收數(shù)據(jù)。c、外設(shè)被啟動后,開始接收數(shù)據(jù),且往接口發(fā)一個“數(shù)據(jù)輸出回答”信號。d、接口收到此信號后,將狀態(tài)寄存器中的“輸出準(zhǔn)備好”狀態(tài)位置“1”,以便CPU輸出下一個數(shù)據(jù)。</p><p> CPU、并行接口和輸入輸出設(shè)備之間的關(guān)系,如圖4.5所示。</p><p> 圖4.5 并行接口連接外
78、設(shè)示意圖</p><p> 4.3.2 并行輸入/輸出接口芯片8255A</p><p><b> 8255A主要特性</b></p><p> 8255A具有3個8位數(shù)據(jù)口(即A口,B口,C口,其中C中還可作為兩個4位口來使用)的并行輸入/輸出接口芯片。</p><p> 具有三種工作方式,即方式0,方式1和方
79、式2。可適應(yīng)CPU與外設(shè)間的多種數(shù)據(jù)傳送方式,如查詢方式和中斷方式等,以滿足用戶的各種應(yīng)用要求。</p><p> c. PC口除作為數(shù)據(jù)端口,工作于方式0以外,當(dāng)PA,PB工作方式1,方式2時,它的部分引線被分配為專用聯(lián)絡(luò)信號。PC口可按位置位/復(fù)位。</p><p> (2)8255A的內(nèi)部結(jié)構(gòu)(如圖4.6)</p><p> 圖4.6 8255A的內(nèi)部
80、結(jié)構(gòu)構(gòu)圖</p><p> 8255A是一種通用的可編程并行I/O接口芯片,以稱“可編程外設(shè)接口芯片”由內(nèi)部結(jié)構(gòu)圖可以看出有四部分組成:</p><p> A組和B組控制部件;</p><p> 并行I/O端口PA,PB,PC;</p><p><b> 數(shù)據(jù)總線緩沖器;</b></p><p
81、> d、 讀寫控制邏輯。</p><p> (3) 8255A的引腳信號和功能</p><p> 8255A采用40條引腳的雙向直插式封裝。是一種可編程并行I/O接口芯片,其引腳信號如圖4.7。</p><p> 圖4.7 8255A的芯片引腳信號</p><p> 由8255A芯片的引腳信號圖可以了解到:8255A與CPU
82、連接信號有14條,分別為8條數(shù)據(jù)總線D0~D7和6條讀寫線。</p><p> 數(shù)據(jù)總線D0~D7:它們?yōu)槿龖B(tài)輸出輸入線,用于將8255與系統(tǒng)數(shù)據(jù)總線相連,是8255與CPU接口數(shù)據(jù)線,供CPU向8255讀寫數(shù)據(jù)、命令和狀態(tài)信息。</p><p> 片選信號/CS:輸入信號,低電平有效。當(dāng)/CS為低電平時CPU選中8255A,可向8255A進(jìn)行讀寫;/CS高電平為未選中。/CS由CPU
83、輸出高位地址碼(A1~A2)譯碼得到。</p><p> 讀信號/RD:輸入信號,低電平有效。/RD有效,表示CPU讀8255A,即由8255A向CPU傳送數(shù)據(jù)或狀態(tài)信息。</p><p> 寫信號/WR:輸入信號,低電平有效。/WR有效,表示CPU寫8255A,由CPU將控制字或數(shù)據(jù)寫入8255A。</p><p> RESET:復(fù)位信號,高電平有效。RES
84、ET有效時,清除8255A中所有控制字寄存器內(nèi)容且將各端口置成輸入方式。</p><p> 地址線A1,A0:端口選擇信號。當(dāng)A1A0=00時,選擇端口A;當(dāng)A1A0=01時,選擇端口B;A1A0=10時,選擇端口C;A1A0=11時,選擇控制字寄存器。這兩條線接到系統(tǒng)地址總線的A1和A0上。當(dāng)/CS=0,8255A被選中時,A1、A0用于選擇8255A內(nèi)部寄存器,以便對它們進(jìn)行讀寫操作。</p>
85、<p> 表4.1 8255的讀寫操作控制</p><p> 控制信號/CS、/RD、/WR以及A1、A0的組合可以實(shí)現(xiàn)對三個數(shù)據(jù)口(PA、PB、PC)和控制口的讀寫操作, 如表4.1。</p><p> 8255A的A,B,C三個端口有24條線用以與外設(shè)連接:</p><p> PA7~PA0:A口外設(shè)數(shù)據(jù)線(雙向)。</p>&
86、lt;p> PB7~PB0:B口外設(shè)數(shù)據(jù)線(雙向)。</p><p> PC7~PC0:C口外設(shè)數(shù)據(jù)線(雙向)。</p><p> 4.4 8279A鍵盤顯示器接口</p><p> 4.4.1 8279A主要特性</p><p> 8279A芯片是一種通用的可編程序的鍵盤、顯示接口器件,單個芯片就能完成鍵盤輸入和LED顯示控
87、制兩種功能。可與任何8位機(jī)接口。8279A芯片包括鍵盤輸入和顯示輸出兩個部分。若采用8279作為鍵盤/顯示器接口,則可以實(shí)現(xiàn)對鍵盤、顯示器自動掃描,8279主要是管理鍵盤輸入和顯示器輸出的。8279可編程鍵盤顯示器接口芯片具有動態(tài)顯示驅(qū)動電路簡單、不占用CPU 的時間、可自動進(jìn)行鍵盤掃描、與計(jì)算機(jī)接口方便、編程容易、系統(tǒng)靈活等特點(diǎn).當(dāng)今已成為設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng),特別是實(shí)時性較高的測控系統(tǒng)的首選器件之一。</p><p
88、> 4.4.2 8279A的內(nèi)部結(jié)構(gòu)(如圖4.8)</p><p> 圖4.8 8279A的內(nèi)部結(jié)構(gòu)</p><p> 圖中,IRQ:中斷請求輸出線,DB0~DB7:雙向數(shù)據(jù)總路線(傳送命令、數(shù)據(jù)、狀態(tài))。/RD 、/WR:讀寫控制輸入端。RESET:復(fù)位輸入端;CLK;時鐘輸入端/CS :片選。C和/D(A0):片內(nèi)寄存器選址。OUTA0~A1、OUTB0~B3:8位顯示輸出
89、端,/BD:熄滅顯示輸出端,SL0~SL3:公用掃描輸出線。RL0~RL7:鍵盤回饋輸入線。SHIFT:抵擋鍵輸入線。CNTL/STB:控制/選通輸入線。另外,8279的鍵盤接口部分內(nèi)部有一個8×8位先進(jìn)先出的堆棧(FIFO),用來存放鍵盤輸入代碼,顯示器接口部分內(nèi)部有一個16×8位顯示RAM,用來顯示段數(shù)據(jù),能為16位LED顯示器(或其它顯示器)提供多路掃描接口。</p><p> 4.4
90、.3 8279A的引腳信號和功能</p><p> 8279A是一種可編程的鍵盤顯示器接口芯片,其顯示接口的管腳和管腳功能如圖4.9。</p><p> 圖4.9 8279A的芯片引腳信號</p><p> 8279可編程鍵盤顯示器接口芯片具有動態(tài)顯示驅(qū)動電路,不占用CPU 的時間、可自動進(jìn)行鍵盤掃描、與計(jì)算機(jī)接口方便、編程容易、系統(tǒng)靈活等特點(diǎn)。</p
91、><p> 5 輸入輸出設(shè)備的驅(qū)動程序</p><p> 5.1并行輸入/輸出接口芯片8255A </p><p> 5.1.1 8255A的工作方式</p><p> 8255A有三種工作方式。方式0是一種基本輸入輸出方式,該方式適用于較簡單的輸入/輸出場合,這種輸入輸出可以不使用聯(lián)絡(luò)線,也可以由軟件對其他端口的輸入/輸出控制來構(gòu)造聯(lián)絡(luò)
92、線,CPU可以隨時用輸入/輸出指令對指定端口進(jìn)行讀/寫操作,在方式0下,每一個口都作為基本的輸入輸出口,C口的高4位和低4位以及A口、B口都可以獨(dú)立地設(shè)置為輸入口或輸出口。4個口的輸入/輸出可以有16種組合方式,且都可以由方式控制字確定。8255A在方式0工作時,CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù)。如果把C口的兩個部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相連,CPU也可以通過對C口的讀寫,實(shí)現(xiàn)對A口與B口的查詢方式工作。
93、基本輸入輸出下工作時,輸出的數(shù)據(jù)被鎖存,而輸入數(shù)據(jù)是不鎖存的。方式1為選通輸入輸出方式,即可借助選通(應(yīng)答式)聯(lián)絡(luò)信號的I/O方式。方式2為分時雙向輸入輸出方式(雙向I/O方式),即同一端口的I/O線既可以作為輸入也可以作為輸出。</p><p> 5.1.2 8255A的控制字</p><p> 在使用8255A時,要由CPU對8255A寫入控制命令字。有兩種控制字,一種是工作方式控
94、制字,一種是C口按位置位/復(fù)位控制字。工作方式控制字的格式如圖5.1,C口按位置位/復(fù)位控制字格式如圖5.2。</p><p> 圖5.1 工作方式控制字 圖5.2 C口按位置位/復(fù)位控制字</p><p> 5.1.3 8255A初始化編程</p><p> 8255A工作前必須進(jìn)行初始化編程。可以根據(jù)工作方式控制字的不同代
95、碼組合,可以分別選擇A組和B組工作方式和各端口的輸入/輸出。下面是一個對工作方式控制字的初始化編程。</p><p> 例如:要把A口指定為方式0,輸出;C口高4位為輸入;B口指定為方式0,輸出;C口低4位為輸入,工作方式控制字是10001001B即89H。若將此控制字的內(nèi)容寫到8255A的控制寄存器(設(shè)端口地址為305H),則實(shí)現(xiàn)對8255A的初始化。初始化程序段為:</p><p>
96、 MOV AL ,89H ;工作方式控制字</p><p> MOV DX,305H ;控制口地址為305H</p><p> OUT DX,AL ;控制字送到控制口 </p><p> 5.2 編程鍵盤顯示接口8279A</p><p> 5.2.1 8279A芯片命令字</p&g
97、t;<p> 8279的操作方式是通過CPU對8279送入命令時來實(shí)現(xiàn)編程的。當(dāng)數(shù)據(jù)選擇端A0置1時,CPU對8279寫入數(shù)據(jù)為命令字,讀出的數(shù)據(jù)為狀態(tài)字。8279共有八條命令。其功能及命令字定義分述如下。</p><p> (1)鍵盤/顯示方式設(shè)置命令字(如圖5.3)</p><p> 圖5.3 鍵盤/顯示方式設(shè)置命令字</p><p> D
98、7、D6、D5=000方式設(shè)置命令特征位,D4、D3來設(shè)定顯示方式,其定義如下:00:8個字符顯示,左端輸入;00:16個字符顯示,左端輸入;00:8個字符顯示,右端輸入;00:16個字符顯示,右端輸入。D2、 D1、 D0用來設(shè)定七種鍵盤、顯示工作方式,其定義如下:000 編碼掃描鍵盤,雙鍵鎖定 ;001 譯碼掃描鍵盤,雙鍵鎖定 ; 010 編碼掃描鍵盤,N鍵輪回; 011 譯碼掃描鍵盤,N鍵輪回; 100 編碼掃描傳感器矩
99、陣;101 譯碼掃描傳感器矩陣;110 選通輸入,編碼顯示掃描;111 選通輸入,譯碼顯示掃描。雙鍵鎖定與N鍵輪回是多鍵按下時的兩種不同的保護(hù)方式。雙鍵鎖定為兩鍵同時按下提供的保護(hù)方法。再消顫周期里,如果有兩鍵同時按下,則只有其中一個鍵彈起,而另一個鍵保持在按下位置時,才被認(rèn)可。N鍵輪回為N鍵同時按下的保護(hù)方法。當(dāng)有若干鍵按下時,鍵盤掃描能夠根據(jù)發(fā)現(xiàn)他們的順序,依次將它們的狀態(tài)送入FIFO RAM中。</p>&l
100、t;p> (2)程序時鐘命令字(如圖5.4)</p><p> 圖5.4 程序時鐘命令字</p><p> D7、D6、D5=001為時鐘命令特征位 ,設(shè)置2~31,對外部時鐘CLK的分頻系數(shù),使fclk/分頻系數(shù)=100KHZ 。</p><p> (3)讀FIFO/傳感器RAM命令字 (如圖5.5) </p><p> 圖
101、5.5 讀FIFO/傳感器RAM命令字</p><p> (4)讀顯示RAM命令(如圖5.6)</p><p> 圖5.6 讀顯示RAM命令</p><p> (5)寫顯示RAM前設(shè)置的寫地址命令,和讀顯示RAM命令格式只是特征位不同,是100。其它一樣!</p><p> (6)顯示禁止寫入/消隱命令特征位(如圖5.7)</p
102、><p> 圖5.7 顯示禁止寫入/消隱命令特征位</p><p> D7D6D5 =101為顯示禁止寫入/消隱命令特征位,IWA、IWB(D3、D2)為A、B組顯示RAM寫入屏蔽位。顯示寄存器分成A、B兩組,可以單獨(dú)送數(shù),故用兩位來分別屏蔽。當(dāng)A組的屏蔽位D3=1時,A組的顯示RAM禁止寫入。BLA、BLB(D1、D0)為消隱顯示位。用于對兩組顯示輸出消隱。若BL=1時,對應(yīng)組的顯示輸出
103、被消隱。當(dāng)BL=0時,則恢復(fù)顯示。</p><p> (7)清除FIFO狀態(tài)字、顯示RAM清除命令(如圖5.8)</p><p> 圖5.8 清除FIFO狀態(tài)字、顯示RAM清除命令</p><p> CD2、CD1、CD0用來設(shè)定清除顯示RAM方式。 CF(D1)用來置空FIFO存儲器,當(dāng)?shù)扔?時,執(zhí)行清除命令后,F(xiàn)IFO RAM被置空,使中斷輸出線復(fù)位。同時
104、,傳感器RAM的讀出地址也被置0。CA(D0)為總清的特征位。它兼有CD和CF的聯(lián)合效能。在CD=1時,對顯示的清除方式由D3、D2的編碼決定。</p><p> (8)結(jié)束中斷/錯誤方式設(shè)置命令(如圖5.9)</p><p> 圖5.9 結(jié)束中斷/錯誤方式設(shè)置命令</p><p> 上述八種用于確定8279操作方式的命令字皆由D7D6D5特征位確定,輸入82
105、79后能自動尋址相應(yīng)的命令寄存器。因此,寫入命令字時唯一的要求是使數(shù)據(jù)選擇信號A0=1。</p><p> 5.2.2 8279A芯片的狀態(tài)字(如圖5.10)</p><p> 8279的FIFO狀態(tài)字,主要用于鍵盤和選通工作方式,以指示FIFO RAM中的字符數(shù)和有無錯誤發(fā)生。其格式如下:</p><p> 圖5.10 8279A芯片的狀態(tài)字</p&g
106、t;<p> DU( D7)為顯示無效特征位。當(dāng)DU=1表示顯示無效。當(dāng)顯示RAM由于清除顯示或全清命令尚未完成時,DU=1。S/E=1表示傳感器信號進(jìn)入傳感器RAM/多鍵同時按下錯誤;O =1時,F(xiàn)IFO溢出出錯;U=1時,F(xiàn)IFO取空出錯;F=1時,F(xiàn)IFO滿,D2D1D0表示FIFO中的字符數(shù)(000~111),其中FIFO狀態(tài)字由控制字口讀入的。</p><p> 6一個具體的輸入輸出的
107、應(yīng)用——數(shù)碼管顯示開關(guān)量輸入</p><p> 6.1數(shù)碼管顯示開關(guān)量輸入的目的和內(nèi)容 </p><p><b> 6.1.1目的</b></p><p> 在基于DVCC8086輸入輸出系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,為了測試系統(tǒng)的軟硬件性能和驗(yàn)證系統(tǒng)的實(shí)用性,我們設(shè)計(jì)了一個具體的輸入輸出應(yīng)用——數(shù)碼管顯示開關(guān)量輸入。同時也為了進(jìn)一步熟悉可編程并行接
108、口芯片8255A的工作方式及其編程方法。</p><p><b> 6.1.2內(nèi)容</b></p><p> 數(shù)碼管顯示開關(guān)量輸入的原理圖(如圖6.1)</p><p> 圖6.1 數(shù)碼管顯示開關(guān)量輸入的原理圖</p><p> 其中PB口接8個開關(guān)K 1~K8,片選接070H。從PB口讀入8位開關(guān)量,將數(shù)據(jù)送到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--基于8086微處理器的溫度測控系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于8086的溫度測控系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文---圖像特效輸出的設(shè)計(jì)與實(shí)現(xiàn)
- 基于mcu的操控信息輸出終端的設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于.net畢業(yè)論文管理系統(tǒng)
- 畢業(yè)論文基于jsp的畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)
- 計(jì)算機(jī)專業(yè)畢業(yè)論文外文翻譯--輸入輸出訪問
- 自動化專業(yè)畢業(yè)論文外文翻譯--輸入輸出訪問
- 在線畢業(yè)論文提交系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于php的crm系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[畢業(yè)論文]
- 畢業(yè)設(shè)計(jì)----基于.net畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文(設(shè)計(jì))基于web考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于php的crm系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于java的聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)---畢業(yè)論文
- 基于umail的營銷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 基于matlab的液壓系統(tǒng)的設(shè)計(jì)與仿真畢業(yè)論文
- 畢業(yè)論文-基于java聊天系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于.net畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 基于matlab的液壓系統(tǒng)的設(shè)計(jì)與仿真畢業(yè)論文
評論
0/150
提交評論