版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(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)存儲(chǔ)空間分配 ……………………(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ū)動(dòng)程序……………………………(26)</p><p> 5.1并行輸入輸出接口芯片8255A …………………(26)</p><p> 5.2編程鍵盤顯示接口8279A…………………………(28)</p><p> 6一個(gè)具體輸入輸出的應(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í)也對(duì)本設(shè)計(jì)中使用的輸入輸出設(shè)備開關(guān)量、數(shù)碼管顯示器、與輸入輸出相關(guān)的接口芯片及其驅(qū)動(dòng)程序進(jìn)行了詳細(xì)的講解。最后給出了一個(gè)具體的輸入輸出的應(yīng)用,以此來了解如何進(jìn)行一個(gè)完整的輸入輸出系統(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ī)交互的唯一渠道,在一個(gè)小型的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)存的容量,存儲(chǔ)器地址的范圍,端口的地址范圍,中斷資源等必須滿足輸入輸出的基本要求。第三,相應(yīng)的輸入輸出設(shè)備的接口必須具有,選擇了那些接口,就有相應(yīng)的功能。第四,輸入輸出設(shè)備的驅(qū)動(dòng)程序要有,即如何對(duì)接口進(jìn)行符合要求的編程,最后,有一個(gè)具體的應(yīng)用來驗(yàn)證設(shè)計(jì)的整個(gè)輸入輸出系統(tǒng)能否正常使用。本文主要介紹DVCC
14、8086十六位微型機(jī)的硬件組成,討論了十六位微機(jī)實(shí)驗(yàn)系統(tǒng)的輸入輸出的有關(guān)內(nèi)容。描述DVCC8086十六位微型機(jī)本身的所有資源,同時(shí)也對(duì)本設(shè)計(jì)中使用的輸入輸出設(shè)備開關(guān)量、數(shù)碼管顯示器、與輸入輸出相關(guān)的接口芯片及其驅(qū)動(dòng)程序進(jìn)行了詳細(xì)的講解。最后給出了一個(gè)具體的輸入輸出的應(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)的程序存儲(chǔ)區(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ū)動(dòng)器使CPU的AB/DB分時(shí)復(fù)用,形成AB、DB分離的總線方式</p><p> (4) 由可編程鍵盤顯示接口8279A對(duì)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)。同時(shí)將AB、DB和CB三總線均引出供實(shí)驗(yàn)使用,為了減少和防止外接電路對(duì)CPU的影響,各信號(hào)均加入了驅(qū)動(dòng)、隔離電路。</p><p> (5)通用外圍電路,包括邏輯電平開關(guān)電路、發(fā)光二極管顯示電路、時(shí)鐘電路、單脈沖發(fā)生電路、繼電器及驅(qū)動(dòng)電路、直流電機(jī)及驅(qū)動(dòng)電路、步進(jìn)電機(jī)及驅(qū)動(dòng)電路、電子音響及驅(qū)動(dòng)電路、模擬電壓產(chǎn)生電路。</p><p>
19、 (6) 提供各種微機(jī)常用I/O接口芯片:包括定時(shí)/計(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ò)充、串級(jí)中斷源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為核心部件,并以最小方式工作。同時(shí)由8284芯片給CPU提供時(shí)鐘和復(fù)位信號(hào), 通過總線收發(fā)器和地址鎖存器對(duì)系統(tǒng)中的數(shù)據(jù)信息和地址信息進(jìn)行緩沖或鎖存,由FPGA對(duì)靜態(tài)RAM和32KEPROM進(jìn)行管理,通過總線插座將信號(hào)引出,為各實(shí)驗(yàn)提供必要的信號(hào)。而在圖1.2的元件位置圖中我們可以了解
23、到,此系統(tǒng)由很多基本元件搭建而成,在此系統(tǒng)中放置了開關(guān)輸入按鍵,LED指示燈,單脈沖發(fā)生器等信號(hào)的發(fā)生、指示電路,實(shí)驗(yàn)用小鍵盤;同時(shí),也放置了七段LED,數(shù)碼管,接線板和常用集成電路芯片(如:8251、8253、8255、8259等),這些芯片安放在實(shí)驗(yàn)板上,并將芯片每一引腳均引出,沒有和電路發(fā)生聯(lián)系。這樣在做基本實(shí)驗(yàn)時(shí),學(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ā)光二極管顯示電路、時(shí)鐘電路、單脈沖發(fā)生電路、繼電器及驅(qū)動(dòng)電路、直流電機(jī)及驅(qū)動(dòng)電路、電子音響及驅(qū)動(dòng)電路、模擬電壓產(chǎn)生電路;另外,系統(tǒng)中設(shè)計(jì)了系統(tǒng)總線擴(kuò)展插座和通用IC插座。</p><p
25、> (1)邏輯電平開關(guān)電路</p><p> 該系統(tǒng)提供8個(gè)邏輯電平開關(guān),每一個(gè)輸出端有一個(gè)插孔,分別標(biāo)有K1~K8。開關(guān)向上打時(shí),輸出高電平“1”,向下時(shí)輸出低電平“0”。具體電路如圖1.3。</p><p> 圖1.3 邏輯電平開關(guān)電路</p><p> (2)發(fā)光二極管顯示電路</p><p> DVCC8086實(shí)驗(yàn)系統(tǒng)
26、提供有十二個(gè)發(fā)光二極管,其中四紅、四綠、四黃。其輸入端有十二個(gè)插孔,分別標(biāo)有L1~L2,它對(duì)應(yīng)1~12上發(fā)光二極管。輸入端為高電平“1”時(shí),發(fā)光二極管滅;輸入端為低電平“0”,發(fā)光二極管亮。具體電路如圖1.4。</p><p> 圖1.4 發(fā)光二極管顯示電路</p><p><b> (3)時(shí)鐘電路</b></p><p> 時(shí)鐘電路可以
27、輸出1MHZ、2MHZ兩種時(shí)鐘信號(hào),供0809A/D轉(zhuǎn)換器、8253A定時(shí)器/計(jì)數(shù)器、8250串行接口實(shí)驗(yàn)使用,如圖1.5。</p><p><b> 圖1.5 時(shí)鐘電路</b></p><p> (4)單脈沖發(fā)生電路</p><p> 采用RS觸發(fā)器產(chǎn)生±單脈沖。實(shí)驗(yàn)者每按一次AN按鈕,即可以從兩個(gè)插座上分別輸出一個(gè)正脈沖/S
28、P,供"中斷"、"DMA"、定時(shí)器/計(jì)數(shù)器等實(shí)驗(yàn)使用,如圖1.6。</p><p> 圖1.6 單脈沖發(fā)生電路</p><p> (5)繼電器及驅(qū)動(dòng)電路</p><p> 現(xiàn)代自動(dòng)化控制設(shè)備中都存在一個(gè)電子與電氣電路的互相聯(lián)結(jié)問題。一方面要使電子電路的控制電氣電路的執(zhí)行元件(電動(dòng)機(jī)、電磁鐵、電燈泡);另一方面又要為電子電
29、路的電氣設(shè)備提供良好的電隔離,以保護(hù)電子電路和人身的安全。電子繼電器便能完成這一橋梁作用,如圖1.7。</p><p> 圖1.7 繼電器的驅(qū)動(dòng)電路</p><p> 實(shí)驗(yàn)系統(tǒng)上設(shè)有一個(gè)+5V直流繼電器及相應(yīng)的驅(qū)動(dòng)電路,當(dāng)其開關(guān)量輸入數(shù)字電平“0”時(shí),繼電器動(dòng)作,常開觸點(diǎn)閉合、常閉觸點(diǎn)斷開。通過相應(yīng)的實(shí)驗(yàn)可以使學(xué)生了解開關(guān)量控制的一般原理。</p><p>
30、(6)直流電機(jī)及驅(qū)動(dòng)電路</p><p> 系統(tǒng)中設(shè)計(jì)有一個(gè)+5V直流電機(jī)及相應(yīng)的驅(qū)動(dòng)電路。小直流電機(jī)的轉(zhuǎn)速是由加到其輸入端“DJ”的脈沖電平及占空比來決定的,正向占空比越大轉(zhuǎn)速越快,反之越慢。 如圖1.8所示。</p><p> 圖1.8 直流電機(jī)的驅(qū)動(dòng)電路</p><p> (7)步進(jìn)電機(jī)及驅(qū)動(dòng)電路</p><p> 步進(jìn)電機(jī)是工
31、業(yè)控制儀表中常用的控制元件之一,它有輸入脈沖與電機(jī)軸轉(zhuǎn)角成比例的特征,在智能機(jī)器人、軟盤驅(qū)動(dòng)器、數(shù)控機(jī)床中廣泛使用,微電腦控制步進(jìn)電機(jī)最適宜。系統(tǒng)中設(shè)計(jì)使用20BY—0型號(hào)步進(jìn)電機(jī),它使用+5V直流電源,步距角為18度,電機(jī)線圈由四相組成。</p><p> (8)模擬信號(hào)電平產(chǎn)生電路、總路線擴(kuò)展插座和通用IC插座</p><p> 系統(tǒng)中提供2路0~5V模擬電壓信號(hào),供A/D轉(zhuǎn)換實(shí)驗(yàn)
32、時(shí)用,它采用32芯圓孔插座,引出數(shù)據(jù)總線D0~7、地址總線A0~19、存儲(chǔ)器讀書信號(hào)MEMR、MEMW、I/O讀書信號(hào)IOW、IOR、復(fù)位RST、時(shí)鐘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)置時(shí),該插座裝在反面</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定時(shí)/計(jì)數(shù)器通道0有關(guān)信號(hào)線引出插座,作為用戶擴(kuò)展實(shí)驗(yàn)用,Z4為8255并行I/O接口芯片PA口引出插座,作為擴(kuò)展實(shí)驗(yàn)用。</p><p> Z5為系統(tǒng)總線信號(hào)引出插座,為擴(kuò)充接口實(shí)驗(yàn)而設(shè)置。如擴(kuò)充DMA8237A實(shí)驗(yàn)、串行通信8250A實(shí)驗(yàn)、8259A串級(jí)中
35、斷實(shí)驗(yàn)等。Z6是專為做級(jí)聯(lián)中斷而引出的信號(hào)插座。用于連級(jí)級(jí)聯(lián)中斷實(shí)驗(yàn)板(如圖1.11)。Z7是ADC0809通道IN2通道IN7的模擬量輸入端和單級(jí)中斷控制芯片8259A中斷源輸入信號(hào)。</p><p> 圖1.11 Z6信號(hào)插座 圖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)存儲(chǔ)空間分配</p><p> 對(duì)于8088CPU系統(tǒng)來說,8088有1兆存儲(chǔ)空間,系統(tǒng)提供給用戶使用的空間為00000H~0FFFFH,用于存放調(diào)試實(shí)驗(yàn)程序,具體分配如表2.1:
37、</p><p> 表2.1 系統(tǒng)存儲(chǔ)空間分配</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ù)卻非常多。同時(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)行簡單的高電平和低電平信號(hào)的輸入。如在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,前四個(gè)是地址段,后面四個(gè)是數(shù)據(jù)段。</p><p> 用戶可以通過鍵盤和顯示完成下列的操作:</p><p> a、讀/寫寄存器內(nèi)容</p><p> b、讀/寫存儲(chǔ)器單元內(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”,此時(shí)只須按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)的小鍵盤,對(duì)于一些用戶的上位機(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個(gè)鍵,右邊為8個(gè)功能鍵,左邊為16進(jìn)制數(shù)字鍵。16個(gè)十六進(jìn)制數(shù)字鍵均是復(fù)合功能鍵,其功能符號(hào)印在鍵盤上,左上角英文字母是命令字的縮寫,右下角的英文字母是寄存器的縮寫。其中EB為字節(jié)讀寫,ER為寄存器讀寫,GO為連續(xù)執(zhí)行程序,ST為單步執(zhí)行程序,IB為I/O口輸入字節(jié),OB為I/O口輸出字節(jié),MV為程序塊移動(dòng),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)前的活動(dòng),返回監(jiān)控等待,用戶輸入命令。Intr無條件暫停鍵,中斷當(dāng)前的活動(dòng),并保護(hù)所有寄存器的內(nèi)容返回監(jiān)控,等待用戶輸入命;Exec開始連續(xù)執(zhí)行用戶程序,當(dāng)按下此鍵時(shí),當(dāng)前的命令被執(zhí)行;Step是開始單步運(yùn)
47、行用戶程序,當(dāng)按下此鍵時(shí),剛才輸入的單步命令ST被執(zhí)行,每按一次,執(zhí)行一條命令;Move是程序塊移動(dòng);Last地址減量,在存儲(chǔ)器字讀寫下,按此鍵地址值減2,并顯示該地址的內(nèi)容,字節(jié)下減1;Next地址增量,在存儲(chǔ)器字讀寫下,按此鍵地址值加2,并顯示該地址的內(nèi)容,字節(jié)下加1;:是分隔符,在任何命令中,當(dāng)需要輸入地址時(shí),此鍵作為段地址和偏移地址的分隔符,輸入段地址后按此鍵,輸入偏移地址;Mem是存儲(chǔ)器讀寫,此鍵作為存儲(chǔ)器、寄存器、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顯示修改存儲(chǔ)器字節(jié)單元,EB XXXX:XXXX Mem,按“Next”鍵使地址加1再顯示,按“Last”鍵使地址減1再顯示;</p><p> b、EW顯示修改存儲(chǔ)器單元,EW XXXX:XXXXMem,對(duì)指定地址按字顯示存儲(chǔ)器單元內(nèi)容。其
50、它和EB類似。</p><p> c、ER顯示修改寄存內(nèi)容 ER XX Mem 對(duì)指定寄存器內(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端口地址,讀入一個(gè)8位的字節(jié)或16位的字,并顯示在數(shù)據(jù)段上,再按Mem鍵,再次從該I/O口地址讀入數(shù)據(jù),并顯
51、示在數(shù)據(jù)段上,由于I/O端口地址最大尋址范圍為64K,因而對(duì)于端口地址不允許用段值。</p><p> e、OB、IW以字節(jié)或字對(duì)I/O端口寫數(shù)據(jù)OB(or OW) XXXX Mem XX Mem從指定的I/O端口地址,寫入一個(gè)8位的字節(jié)或者16位的字,寫完后將數(shù)據(jù)段顯示清掉,等待下一個(gè)數(shù)據(jù)字節(jié)或數(shù)據(jù)字的輸入,若按MON鍵,則返回監(jiān)控。</p><p> f、MV存儲(chǔ)器中的數(shù)據(jù)塊移動(dòng)M
52、V XXXX:XXXX Next XXXX Next XXXX:XXXX Move 在存儲(chǔ)器中成組移動(dòng)數(shù)據(jù)。</p><p> g、GO連續(xù)或斷點(diǎn)運(yùn)行實(shí)驗(yàn)程序:GO XXXX:XXXX Next XXXX Exec(斷點(diǎn)運(yùn)行時(shí))GO XXXX:XXXX Exec(連續(xù)運(yùn)行時(shí))按下GO命令鍵時(shí),在地址段上就顯示出當(dāng)前IP的內(nèi)容,在數(shù)據(jù)段上顯示IP指示的存儲(chǔ)單元內(nèi)容,此時(shí)可以輸入一個(gè)起動(dòng)地址。如果要求輸入起動(dòng)地址的
53、話,從鍵盤上輸入此地址。為使程序開始執(zhí)行,要按下Exec鍵,當(dāng)按下該鍵時(shí),程序便開始運(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所指向的存儲(chǔ)單元的內(nèi)容,若顯示的地址和所選取的起始地址不同,那么就鍵入的起始地址,再按Step鍵,開始單步運(yùn)行用戶程序,執(zhí)行完一條指令,將
54、下一條要執(zhí)行的指令的偏移地址顯示在地址段上,這個(gè)地址中的指令字節(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)信號(hào),以便向CPU報(bào)告接口或外設(shè)的工作情況,稱為狀態(tài)口。</p><p> b.接收和執(zhí)行CPU命令的功能 ,CPU對(duì)I/O設(shè)備的控制命令,一般以代碼的形式送到接口的命令寄存器,稱為命令口;再由接口電
58、路對(duì)命令代碼進(jìn)行誤碼和分析,產(chǎn)生若干控制信號(hào),傳到I/O設(shè)備,使其產(chǎn)生相應(yīng)的操作。</p><p> c.信號(hào)轉(zhuǎn)換功能,由于外設(shè)所需的控制信號(hào)和它所能提供的狀態(tài)信號(hào)往往與系統(tǒng)的總路線信號(hào)不匹配,信號(hào)變換就不可避免。它是接口設(shè)計(jì)中的一個(gè)重要內(nèi)容。CPU能夠直接處理的是并行數(shù)據(jù),而有的外設(shè)只能處理串行數(shù)據(jù)。在這種情況下,接口就應(yīng)具有數(shù)據(jù)“并/串”和“串/并”變換能力,還有信號(hào)類型的變換,如A/D和D/A轉(zhuǎn)換。<
59、;/p><p> d.設(shè)備選擇功能,應(yīng)用系統(tǒng)中一般帶有多種外設(shè)。一臺(tái)外設(shè)也可能包含多個(gè)I/O端口,這就需要借助接口中的地址設(shè)碼電路對(duì)外設(shè)進(jìn)行I/O端口尋址。只有被選中的設(shè)備才能與CPU進(jìn)行數(shù)據(jù)交換或通信。</p><p> e.中斷管理功能,當(dāng)外設(shè)需要及時(shí)得到CPU的服務(wù),特別是在出現(xiàn)故障時(shí),這就要在接口中設(shè)置中斷控制器,為CPU處理有關(guān)中斷事務(wù)。這樣,既做到系統(tǒng)對(duì)外界的實(shí)時(shí)響應(yīng),又使CP
60、U與外設(shè)并行工作,提高CPU的效率。</p><p> f.可編程功能,現(xiàn)在的口芯片基本上都是可編程的,這樣在不改動(dòng)硬件的情況下,只修改相應(yīng)的驅(qū)動(dòng)程序就可以改變接口的工作方式,大大地增加了接口的靈活性和可擴(kuò)充性。</p><p><b> (2)接口交換信號(hào)</b></p><p> 一個(gè)簡單的、基本的外設(shè)接口如圖4.1所示:</p
61、><p> 圖4.1 外設(shè)接口簡單框圖</p><p> 外設(shè)接口是CPU與外設(shè)之間傳送信息的一個(gè)“界面”。外設(shè)接口一邊通過CPU的三總線與CPU連接,一邊通過數(shù)據(jù)信息、控制信息和狀態(tài)信息三種信息與外設(shè)連接,CPU通過外設(shè)接口與外設(shè)交換的信息就是這三種信息。其中,數(shù)據(jù)信息可以有數(shù)字量、模擬量和開關(guān)量三種類型??刂菩畔⑹怯蒀PU發(fā)出的、用于控制外設(shè)接口工作方式以及外設(shè)的啟動(dòng)和停止的信息。狀態(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ì)上是對(duì)這些寄存器進(jìn)行讀或?qū)懖僮鳌=涌谥羞@些可由CPU進(jìn)行讀或?qū)懙募拇嫫鞅环Q為端口。按存放信息的類型,這些端口分為數(shù)據(jù)口、狀態(tài)口與控制口,分別存放數(shù)據(jù)信息、狀態(tài)信息、和控制信息。在一個(gè)外設(shè)接口中往往需要幾個(gè)端口才能滿足和協(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ì)時(shí),根據(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操作方式,只有在外部控制過程的各種動(dòng)作時(shí)間是固定的、已知的條件下才能使用。查詢方式總是先查后送,所以這種控制方式的接口電路,除數(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ù)。因而,一個(gè)接口通常含有幾個(gè)端口,比如命令口、狀態(tài)口、數(shù)據(jù)口等。有的接口包括的端口少,而有的接口的端口多。對(duì)端口的操作也有所不同,有的端口只能寫或只能讀,有的端口既可以讀也可以寫。一般,一個(gè)端口只能寫入或讀出一種信息,也可能幾種信息共
66、用一個(gè)端口。I/O端口編址方式有兩種,一種是統(tǒng)一編址,一種是獨(dú)立編址。前者是從存儲(chǔ)空間中劃出一部分地址空間分配給I/O設(shè)備,把I/O接口中的端口作為存儲(chǔ)器單元一樣訪問,不設(shè)置專門的I/O指令。而后者是處理器有專門的I/O指令。內(nèi)存地址空間和I/O端口地址是相互獨(dú)立的。當(dāng)這種編址中時(shí),I/O操作中必須通過CPU的寄存器進(jìn)行中轉(zhuǎn)才能完成。如在8088CPU中,采用的I/O端口獨(dú)立編址時(shí),對(duì)端口的操作指令是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對(duì)外設(shè)的控制命令以及外設(shè)的狀態(tài)信息;c.地址譯碼器,用來選擇接口電路中的不同端口;d.讀/寫控制邏輯;e.中斷控制邏輯。</p><p> (1)可編程接口芯片及其特點(diǎn)</p><p> 所謂可編程實(shí)際上就是具有可選擇性,可編程接口是指接口的工作方式和功能可以用編程的方法加以改變。例如,選擇芯片中的哪一個(gè)或哪幾個(gè)數(shù)據(jù)端口與外設(shè)連接,選擇端口中哪一位或哪幾位做輸入,哪一位或哪幾位做輸出
69、,選擇端口與CPU之間采用哪種方式傳送數(shù)據(jù)等,均可由用戶在程序中寫入方式字或控制字來進(jìn)行指定,因此,它們具有廣泛的適應(yīng)性和很高的靈活性。這種可用軟件的方法改變接口的工作方式及功能的接口芯片稱為可編程接口芯片。</p><p> (2)可編程接口芯片幾個(gè)重要概念</p><p> 片選:只有通過一個(gè)地址信號(hào)選中接口芯片,才能使該接口芯片進(jìn)入電路工作狀態(tài),實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出,如圖4.2。
70、</p><p> 讀/寫:芯片已經(jīng)被選中,對(duì)讀操作而言使輸入口信息由數(shù)據(jù)總線進(jìn)入CPU,數(shù)據(jù)何時(shí)讀入CPU、由/RD控制,如圖4.3,寫操作與此類似。</p><p> 圖4.2 片選 圖4.3 讀操作</p><p> 其實(shí)在接口中還有“聯(lián)絡(luò)”這一重要概念,它是CPU通過外設(shè)接口芯片同外設(shè)交
71、換信息時(shí),接口芯片常常需要和外設(shè)間有一定的“聯(lián)絡(luò)”信號(hào),以保證信息的正常的傳送。如圖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è)備或被控制對(duì)象傳送信息,如計(jì)算機(jī)與打印機(jī),與A/D,D/A轉(zhuǎn)換器,開關(guān)量接口等。并行接口的所謂“并行”不是指接口與系統(tǒng)總路線側(cè)的并行數(shù)據(jù)線,而是指接口與I/O設(shè)備或被控制對(duì)象側(cè)并行數(shù)據(jù)線。</p><p> 若并行接口工作方式和接口功能可通過軟件編程來改變,就是可編程并行接口??删幊探涌诰哂谐浞值倪x擇性。用戶可以通過程序設(shè)置哪些端口作為輸入
73、,哪些端口作為輸出,以哪種工作方式傳送數(shù)據(jù)等。因此,可編程并行接口具有廣泛的適應(yīng)性和很高的靈活性。</p><p> 常用的可編程并行接口芯片一般具有以下三個(gè)功能:</p><p> a、兩個(gè)或兩個(gè)以上具有鎖存器或緩沖器的數(shù)據(jù)端口。</p><p> b、端口具有與CPU,與外設(shè)交換信息所必須的控制和狀態(tài)信號(hào)。</p><p> c、
74、可通過程序選擇端口、選擇數(shù)據(jù)傳送方向、選擇數(shù)據(jù)傳送方式。</p><p> 并行接口連接外設(shè),用一個(gè)通道和輸入設(shè)備相連,用另一個(gè)通道和輸出設(shè)備相連,每一個(gè)通道中除數(shù)據(jù)線外均配有一定的控制線和狀態(tài)線。并行接口中有一個(gè)控制寄存器用來接收CPU對(duì)它的控制命令;有一個(gè)狀態(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í),把“數(shù)據(jù)輸入回答”線變?yōu)楦唠娖剑鳛閷?duì)外設(shè)的響應(yīng);c、外設(shè)接到此信號(hào),便撤除數(shù)據(jù)和“數(shù)據(jù)輸入準(zhǔn)備好”信號(hào);d、數(shù)據(jù)到達(dá)接口后,接狀態(tài)寄存器中設(shè)置“輸入準(zhǔn)備好”狀態(tài)位,以便CPU對(duì)其進(jìn)
76、行查詢,或者向CPU發(fā)一個(gè)中斷請(qǐng)求。e、CPU從接口中讀取數(shù)據(jù)后,接口自動(dòng)清除狀態(tài)寄存器中的“輸入準(zhǔn)備好”狀態(tài)位,并使數(shù)據(jù)總線處于高阻狀態(tài)。</p><p> (3)并行接口的輸出過程</p><p> a、外設(shè)取走了一個(gè)數(shù)據(jù)后,接口會(huì)將狀態(tài)寄存器中的“輸出準(zhǔn)備好”狀態(tài)位置“1”,以供CPU進(jìn)行查詢,或者向CPU發(fā)一個(gè)中斷請(qǐng)求。b、CPU輸出的數(shù)據(jù)到達(dá)接口的輸出緩沖器后,接口自動(dòng)清除“
77、輸出準(zhǔn)備好”狀態(tài)位,且將數(shù)據(jù)送往外設(shè),同時(shí)接口往外設(shè)發(fā)一個(gè)“數(shù)據(jù)輸出準(zhǔn)備好”選通信號(hào),啟動(dòng)外設(shè)接收數(shù)據(jù)。c、外設(shè)被啟動(dòng)后,開始接收數(shù)據(jù),且往接口發(fā)一個(gè)“數(shù)據(jù)輸出回答”信號(hào)。d、接口收到此信號(hào)后,將狀態(tài)寄存器中的“輸出準(zhǔn)備好”狀態(tài)位置“1”,以便CPU輸出下一個(gè)數(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個(gè)8位數(shù)據(jù)口(即A口,B口,C口,其中C中還可作為兩個(gè)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時(shí),它的部分引線被分配為專用聯(lián)絡(luò)信號(hào)。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的引腳信號(hào)和功能</p><p> 8255A采用40條引腳的雙向直插式封裝。是一種可編程并行I/O接口芯片,其引腳信號(hào)如圖4.7。</p><p> 圖4.7 8255A的芯片引腳信號(hào)</p><p> 由8255A芯片的引腳信號(hào)圖可以了解到:8255A與CPU
82、連接信號(hào)有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> 片選信號(hào)/CS:輸入信號(hào),低電平有效。當(dāng)/CS為低電平時(shí)CPU選中8255A,可向8255A進(jìn)行讀寫;/CS高電平為未選中。/CS由CPU
83、輸出高位地址碼(A1~A2)譯碼得到。</p><p> 讀信號(hào)/RD:輸入信號(hào),低電平有效。/RD有效,表示CPU讀8255A,即由8255A向CPU傳送數(shù)據(jù)或狀態(tài)信息。</p><p> 寫信號(hào)/WR:輸入信號(hào),低電平有效。/WR有效,表示CPU寫8255A,由CPU將控制字或數(shù)據(jù)寫入8255A。</p><p> RESET:復(fù)位信號(hào),高電平有效。RES
84、ET有效時(shí),清除8255A中所有控制字寄存器內(nèi)容且將各端口置成輸入方式。</p><p> 地址線A1,A0:端口選擇信號(hào)。當(dāng)A1A0=00時(shí),選擇端口A;當(dāng)A1A0=01時(shí),選擇端口B;A1A0=10時(shí),選擇端口C;A1A0=11時(shí),選擇控制字寄存器。這兩條線接到系統(tǒng)地址總線的A1和A0上。當(dāng)/CS=0,8255A被選中時(shí),A1、A0用于選擇8255A內(nèi)部寄存器,以便對(duì)它們進(jìn)行讀寫操作。</p>
85、<p> 表4.1 8255的讀寫操作控制</p><p> 控制信號(hào)/CS、/RD、/WR以及A1、A0的組合可以實(shí)現(xiàn)對(duì)三個(gè)數(shù)據(jù)口(PA、PB、PC)和控制口的讀寫操作, 如表4.1。</p><p> 8255A的A,B,C三個(gè)端口有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芯片是一種通用的可編程序的鍵盤、顯示接口器件,單個(gè)芯片就能完成鍵盤輸入和LED顯示控
87、制兩種功能??膳c任何8位機(jī)接口。8279A芯片包括鍵盤輸入和顯示輸出兩個(gè)部分。若采用8279作為鍵盤/顯示器接口,則可以實(shí)現(xiàn)對(duì)鍵盤、顯示器自動(dòng)掃描,8279主要是管理鍵盤輸入和顯示器輸出的。8279可編程鍵盤顯示器接口芯片具有動(dòng)態(tài)顯示驅(qū)動(dòng)電路簡單、不占用CPU 的時(shí)間、可自動(dòng)進(jìn)行鍵盤掃描、與計(jì)算機(jī)接口方便、編程容易、系統(tǒng)靈活等特點(diǎn).當(dāng)今已成為設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng),特別是實(shí)時(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:中斷請(qǐng)求輸出線,DB0~DB7:雙向數(shù)據(jù)總路線(傳送命令、數(shù)據(jù)、狀態(tài))。/RD 、/WR:讀寫控制輸入端。RESET:復(fù)位輸入端;CLK;時(shí)鐘輸入端/CS :片選。C和/D(A0):片內(nèi)寄存器選址。OUTA0~A1、OUTB0~B3:8位顯示輸出
89、端,/BD:熄滅顯示輸出端,SL0~SL3:公用掃描輸出線。RL0~RL7:鍵盤回饋輸入線。SHIFT:抵擋鍵輸入線。CNTL/STB:控制/選通輸入線。另外,8279的鍵盤接口部分內(nèi)部有一個(gè)8×8位先進(jìn)先出的堆棧(FIFO),用來存放鍵盤輸入代碼,顯示器接口部分內(nèi)部有一個(gè)16×8位顯示RAM,用來顯示段數(shù)據(jù),能為16位LED顯示器(或其它顯示器)提供多路掃描接口。</p><p> 4.4
90、.3 8279A的引腳信號(hào)和功能</p><p> 8279A是一種可編程的鍵盤顯示器接口芯片,其顯示接口的管腳和管腳功能如圖4.9。</p><p> 圖4.9 8279A的芯片引腳信號(hào)</p><p> 8279可編程鍵盤顯示器接口芯片具有動(dòng)態(tài)顯示驅(qū)動(dòng)電路,不占用CPU 的時(shí)間、可自動(dòng)進(jìn)行鍵盤掃描、與計(jì)算機(jī)接口方便、編程容易、系統(tǒng)靈活等特點(diǎn)。</p
91、><p> 5 輸入輸出設(shè)備的驅(qū)動(dòng)程序</p><p> 5.1并行輸入/輸出接口芯片8255A </p><p> 5.1.1 8255A的工作方式</p><p> 8255A有三種工作方式。方式0是一種基本輸入輸出方式,該方式適用于較簡單的輸入/輸出場合,這種輸入輸出可以不使用聯(lián)絡(luò)線,也可以由軟件對(duì)其他端口的輸入/輸出控制來構(gòu)造聯(lián)絡(luò)
92、線,CPU可以隨時(shí)用輸入/輸出指令對(duì)指定端口進(jìn)行讀/寫操作,在方式0下,每一個(gè)口都作為基本的輸入輸出口,C口的高4位和低4位以及A口、B口都可以獨(dú)立地設(shè)置為輸入口或輸出口。4個(gè)口的輸入/輸出可以有16種組合方式,且都可以由方式控制字確定。8255A在方式0工作時(shí),CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù)。如果把C口的兩個(gè)部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相連,CPU也可以通過對(duì)C口的讀寫,實(shí)現(xiàn)對(duì)A口與B口的查詢方式工作。
93、基本輸入輸出下工作時(shí),輸出的數(shù)據(jù)被鎖存,而輸入數(shù)據(jù)是不鎖存的。方式1為選通輸入輸出方式,即可借助選通(應(yīng)答式)聯(lián)絡(luò)信號(hào)的I/O方式。方式2為分時(shí)雙向輸入輸出方式(雙向I/O方式),即同一端口的I/O線既可以作為輸入也可以作為輸出。</p><p> 5.1.2 8255A的控制字</p><p> 在使用8255A時(shí),要由CPU對(duì)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組工作方式和各端口的輸入/輸出。下面是一個(gè)對(duì)工作方式控制字的初始化編程。</p><p> 例如:要把A口指定為方式0,輸出;C口高4位為輸入;B口指定為方式0,輸出;C口低4位為輸入,工作方式控制字是10001001B即89H。若將此控制字的內(nèi)容寫到8255A的控制寄存器(設(shè)端口地址為305H),則實(shí)現(xiàn)對(duì)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對(duì)8279送入命令時(shí)來實(shí)現(xiàn)編程的。當(dāng)數(shù)據(jù)選擇端A0置1時(shí),CPU對(duì)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個(gè)字符顯示,左端輸入;00:16個(gè)字符顯示,左端輸入;00:8個(gè)字符顯示,右端輸入;00:16個(gè)字符顯示,右端輸入。D2、 D1、 D0用來設(shè)定七種鍵盤、顯示工作方式,其定義如下:000 編碼掃描鍵盤,雙鍵鎖定 ;001 譯碼掃描鍵盤,雙鍵鎖定 ; 010 編碼掃描鍵盤,N鍵輪回; 011 譯碼掃描鍵盤,N鍵輪回; 100 編碼掃描傳感器矩
99、陣;101 譯碼掃描傳感器矩陣;110 選通輸入,編碼顯示掃描;111 選通輸入,譯碼顯示掃描。雙鍵鎖定與N鍵輪回是多鍵按下時(shí)的兩種不同的保護(hù)方式。雙鍵鎖定為兩鍵同時(shí)按下提供的保護(hù)方法。再消顫周期里,如果有兩鍵同時(shí)按下,則只有其中一個(gè)鍵彈起,而另一個(gè)鍵保持在按下位置時(shí),才被認(rèn)可。N鍵輪回為N鍵同時(shí)按下的保護(hù)方法。當(dāng)有若干鍵按下時(shí),鍵盤掃描能夠根據(jù)發(fā)現(xiàn)他們的順序,依次將它們的狀態(tài)送入FIFO RAM中。</p>&l
100、t;p> (2)程序時(shí)鐘命令字(如圖5.4)</p><p> 圖5.4 程序時(shí)鐘命令字</p><p> D7、D6、D5=001為時(shí)鐘命令特征位 ,設(shè)置2~31,對(duì)外部時(shí)鐘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時(shí),A組的顯示RAM禁止寫入。BLA、BLB(D1、D0)為消隱顯示位。用于對(duì)兩組顯示輸出消隱。若BL=1時(shí),對(duì)應(yīng)組的顯示輸出
103、被消隱。當(dāng)BL=0時(shí),則恢復(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存儲(chǔ)器,當(dāng)?shù)扔?時(shí),執(zhí)行清除命令后,F(xiàn)IFO RAM被置空,使中斷輸出線復(fù)位。同時(shí)
104、,傳感器RAM的讀出地址也被置0。CA(D0)為總清的特征位。它兼有CD和CF的聯(lián)合效能。在CD=1時(shí),對(duì)顯示的清除方式由D3、D2的編碼決定。</p><p> (8)結(jié)束中斷/錯(cuò)誤方式設(shè)置命令(如圖5.9)</p><p> 圖5.9 結(jié)束中斷/錯(cuò)誤方式設(shè)置命令</p><p> 上述八種用于確定8279操作方式的命令字皆由D7D6D5特征位確定,輸入82
105、79后能自動(dòng)尋址相應(yīng)的命令寄存器。因此,寫入命令字時(shí)唯一的要求是使數(shù)據(jù)選擇信號(hào)A0=1。</p><p> 5.2.2 8279A芯片的狀態(tài)字(如圖5.10)</p><p> 8279的FIFO狀態(tài)字,主要用于鍵盤和選通工作方式,以指示FIFO RAM中的字符數(shù)和有無錯(cuò)誤發(fā)生。其格式如下:</p><p> 圖5.10 8279A芯片的狀態(tài)字</p&g
106、t;<p> DU( D7)為顯示無效特征位。當(dāng)DU=1表示顯示無效。當(dāng)顯示RAM由于清除顯示或全清命令尚未完成時(shí),DU=1。S/E=1表示傳感器信號(hào)進(jìn)入傳感器RAM/多鍵同時(shí)按下錯(cuò)誤;O =1時(shí),F(xiàn)IFO溢出出錯(cuò);U=1時(shí),F(xiàn)IFO取空出錯(cuò);F=1時(shí),F(xiàn)IFO滿,D2D1D0表示FIFO中的字符數(shù)(000~111),其中FIFO狀態(tài)字由控制字口讀入的。</p><p> 6一個(gè)具體的輸入輸出的
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í)用性,我們?cè)O(shè)計(jì)了一個(gè)具體的輸入輸出應(yīng)用——數(shù)碼管顯示開關(guān)量輸入。同時(shí)也為了進(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個(gè)開關(guān)K 1~K8,片選接070H。從PB口讀入8位開關(guān)量,將數(shù)據(jù)送到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(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è)論文外文翻譯--輸入輸出訪問
- 自動(dòng)化專業(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è)論文
評(píng)論
0/150
提交評(píng)論