下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)課程名稱微機(jī)課程設(shè)計(jì)題目名稱計(jì)時(shí)器(計(jì)數(shù)3)學(xué)生學(xué)院自動(dòng)化學(xué)院專業(yè)班級13 電氣(2)班學(xué) 號 3113001318學(xué)生姓名彭浩指導(dǎo)老師廉迎戰(zhàn)2015年10月23日一、概述1. 課程設(shè)計(jì)的目的1)鞏固和掌握對“微機(jī)原理”課程內(nèi)容的認(rèn)識和理解,提高應(yīng)用水平。2)掌握匯編語言程序的編制方法。8253編程。2. 課程設(shè)計(jì)的要求1)系統(tǒng)硬件設(shè)計(jì)設(shè)計(jì)8053定時(shí)器計(jì)時(shí),8253地址為40H4伯42H43H,控制電路如圖:+5TGATE?IRQ7000UT28253KK1KKUMT圖33肌通道方式0實(shí)驗(yàn)接歧圖2)軟件編程內(nèi)容顯示器工作于查詢方式,鍵盤工作于中斷方式。16個(gè)按鍵定義的鍵值為:0 F,
2、按任意鍵在顯示器上顯示對應(yīng)鍵值。設(shè)定8253的通道2工作于方式0,用于事件計(jì)數(shù),當(dāng)計(jì)數(shù)值為 8,按鍵9次后,發(fā)出中 斷請求信號并顯示“ EEEEEE”。顯示滿30秒時(shí)數(shù)字清除。8253只寫高8位計(jì)數(shù)值時(shí),8253的計(jì)數(shù)是8位計(jì)數(shù),還是16位計(jì)數(shù)?A、 軟件實(shí)現(xiàn):計(jì)數(shù)結(jié)束后,讀取計(jì)數(shù)值,看是0還是0FFH?B、 軟件實(shí)現(xiàn):定時(shí)結(jié)束后,讀取定時(shí)數(shù)值,看是0還是0FFH?二、設(shè)計(jì)思路微型計(jì)算機(jī)由微處理器,存儲器,接口電路以及連接在這些部件上的總線組成。微處理器,存儲器和所有10設(shè)備之間的信息交換都通過總線進(jìn)行。總線包括地址總線,數(shù)據(jù)總線 和控制總線,他們始于 CPU或終于CPU,現(xiàn)代微機(jī)大部分都是這
3、種以總線為中心的結(jié)構(gòu)。8086CPU的地址 數(shù)據(jù)總線 AD15-AD0和地址 狀態(tài)總線 A16/S3-A19/S6是復(fù)用的,必須通過 地址鎖存器把地址總線和數(shù)據(jù)總線分離。控制總線直接和8086CPU相連,這樣8086CPU就工作在最小工作方式。微型計(jì)算機(jī)及外圍設(shè)備組成微型計(jì)算機(jī)系統(tǒng)的硬件,外圍設(shè)備必須通過接口電路才能與系統(tǒng)總線相連,因此構(gòu)建一個(gè)基于8086CPU的簡單微型計(jì)算機(jī)系統(tǒng)就是工作于最小工作方式的8086CPU系統(tǒng)總線上掛上一定規(guī)模的存儲器和接口電路,然后在把合適的外圍設(shè)備連 接到接口電路上。一個(gè)基于8088CPU的簡單微型計(jì)算機(jī)系統(tǒng)框圖如圖所示。圖中鍵盤與顯示器作為外圍設(shè)備通過接口芯
4、片與系統(tǒng)總線相連。本次課程設(shè)計(jì)使用軟件是wmd86 硬件是TP-PITE 5.4板,通過8255可編程并行I/O接口芯片可以對 4X4鍵盤進(jìn)行掃描,從而可以確定哪一個(gè)鍵被按下,同時(shí)又可對七段數(shù)碼 管的輸出顯示進(jìn)行控制,從而可以做到按下某個(gè)鍵后在數(shù)碼管上顯示出自己需要顯示的相應(yīng) 的字符。8254可編程定時(shí)和計(jì)數(shù)芯片有三個(gè)計(jì)數(shù)器,利用其中任何一個(gè)計(jì)數(shù)器設(shè)置其工作方式 為0,其中的out端口接到8259A中斷控制器芯片的中斷請求端口上,CLK接到板子的KK1 +接口上,通過人工觸發(fā)的方式給計(jì)時(shí)器送計(jì)時(shí)脈沖,將計(jì)數(shù)次數(shù)8送進(jìn)計(jì)數(shù)器,那么按鍵KK1+九次后計(jì)數(shù)器計(jì)數(shù)終止計(jì)數(shù),同時(shí)out端口送出一個(gè)高電平
5、,這個(gè)就是中斷請求信號,由此進(jìn)入中斷,中斷服務(wù)程序里面利用8255芯片對七段數(shù)碼管進(jìn)行輸出顯示控制,讓數(shù)碼管顯示“ EEEEEE”,最后再在顯示程序后設(shè)定一個(gè)30s的延時(shí)子程序,由此實(shí)現(xiàn)了 “設(shè)定8253的通道2工作于方式0,用于事件計(jì)數(shù),當(dāng)計(jì)數(shù)值為8,按鍵9次后,發(fā)出中斷請求信號并顯示“ EEEEEE "。顯示滿30秒時(shí)數(shù)字清除”。三、系統(tǒng)詳細(xì)原理1.硬件電路系統(tǒng)設(shè)計(jì)1) 確定組成電路所用元器件本次課程設(shè)計(jì)使用實(shí)驗(yàn)室提供的元器件,分別為:8086微處理器可編程接口芯片 8255A可編程定時(shí)器/計(jì)數(shù)器8253可編程中斷控制器 8259A74LS07芯片鍵盤及數(shù)碼管顯示單元2) 808
6、6 CPU的引腳信號和功能a. 引言如下圖所示,是8088/8086CPU的外部結(jié)構(gòu),即引腳信號圖。4039萸著蚩務(wù)露3332313C2928毎26252423222180O 12345678901- ni "4 6- _7- ao 1- 11 1- 11 SI 1- 1- T1 1- 1- 2AD1$二:険A1g一MN/MX一RDHOLDM/IQDTODEN吐EBTESTREADYRESET(RQTOJ (Joc啊(QSU1119ad7ADe AD5 ADqADSADjAD;ADnNMIINTR CLK 地12403933S437366357卻S339808E32103111301
7、2291328142715261.6251724162319223021一vccAD 15二緞A18 侶5虹他二翻質(zhì)RDHOLD凹丸WIQDT/RDEN些IMTATEST READY 尺ESET(RQ/GTT)(focig圖2-5 8086/8088CPU引腳功能8088/8086CPU芯片都是雙列直插式集成電路芯片,都有40個(gè)引腳,其中32個(gè)引腳在兩種工作模式下的名稱和功能是相同的,還有8個(gè)引腳在不同的工作模式下,具有不同的名稱和功能。下面,我們分別來介紹這些引腳的輸入/輸出信號及其功能。b. 兩種模式下,名稱和功能相同的32個(gè)引腳 VCC GND電源、接地引腳(3),8088/8086CP
8、U 采用單一的+5V電源,但有兩個(gè)接地引腳。 AD15-AD0( Address Data Bus ):地址/數(shù)據(jù)復(fù)用信號輸入/輸出引腳(16),分時(shí)輸出低16位地址信號及進(jìn)行數(shù)據(jù)信號的輸入/輸出。 A19/S6 A15/s3 (Address Status Bus):地址/狀態(tài)復(fù)用信號輸出引腳 (4),分時(shí)輸出地 址的高4位及狀態(tài)信息,其中 s6為0用以指示8086/8088CPU當(dāng)前與總線連通;s5為1表 明8086/8088CPU可以響應(yīng)可屏蔽中斷;s4、s3共有四個(gè)組態(tài),用以指明當(dāng)前使用的段寄存器,00 ES 01 SS 10 CS 11 DS NMI(Non-Maskable Int
9、errupt)、INTR (InterruptRequest ):中斷請求信號輸入引腳,弓I入中斷源向 CPU提出的中斷請求信號,高電平有效,前者為非屏蔽中斷請求,后者 為可屏蔽中斷請求信號。 RD ( Read):讀控制輸出信號引腳(1),低電平有效,用以指明要執(zhí)行一個(gè)對內(nèi)存單元或I/O端口的讀操作,具體是讀內(nèi)存單元,還是讀I/O端口,取決于 M /|O控制信號。 CLK/(Clock ):時(shí)鐘信號輸入引腳(1),時(shí)鐘信號的方波信號,占空比約為33%即1/3周期為高電平,2/3周期為底電平,8088/8088的時(shí)鐘頻率(又稱為主頻)為4.77MHz,即從該引腳輸入的時(shí)鐘信號的頻率為4.77M
10、Hz。 Reset(Reset):復(fù)位信號輸入引腳(1),高電平有效。8088/8086CPU要求復(fù)位信號至少維持4個(gè)時(shí)鐘周期才能起到復(fù)位的效果,復(fù)位信號輸入之后,CPU結(jié)束當(dāng)前操作,并對處理器的標(biāo)志寄存器、IP、DS SS ES寄存器及指令隊(duì)列進(jìn)行清零操作,而將CS設(shè)置為0FFFFH READY( Ready):“準(zhǔn)備好”狀態(tài)信號輸入引腳(1),高電平有效。 TEST (Test):測試信號輸入引腳,低電平有效,TEST信號與WAIT指令結(jié)合起來使 用,CPU執(zhí)行WAIT指令后,處于等待狀態(tài),當(dāng)TEST引腳輸入低電平時(shí), 系統(tǒng)脫離等待狀態(tài), 繼續(xù)執(zhí)行被暫停執(zhí)行的指令。 MN/MX( Mini
11、mum/Maximum Model Control )最小/最大模式設(shè)置信號輸入引腳 ,該輸入引腳電平的高、低決定了 CPU工作在最小模式還是最大模式,當(dāng)該引腳接 +5V時(shí),CPU工 作于最小模式下,當(dāng)該引腳接地時(shí),CPU工作于最大模式下。c. 最小模式下的24-31引腳當(dāng)8088/8086CPU的MN /MX引腳固定接+5V時(shí),CPU處于最小模式下,這時(shí)候剩余的24 31共8個(gè)引腳的名稱及功能如下: INTA (In terrupt Ack no wledge)中斷響應(yīng)信號輸出引腳低電平有效,該引腳是CPU響應(yīng)中斷請求后,向中斷源發(fā)出的認(rèn)可信號,用以通知中斷源,以便提供中斷類型碼,該信號為兩
12、個(gè)連續(xù)的負(fù)脈沖。 ALE (Address Lock Enable ):地址鎖存允許輸出信號引腳高電平有效,CPU通過該引腳向地址鎖存器8282/8283發(fā)出地址鎖存允許信號,把當(dāng)前地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,鎖存到地址鎖存器8282/8283中去。注意:ALE信號不能被浮空。 DEN (Data Enable):數(shù)據(jù)允許輸出信號引腳低電平有效,為總線收發(fā)器8286提供一個(gè)控制信號,表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一項(xiàng)數(shù)據(jù)。 DT / R (Data Transmit/Receive):數(shù)據(jù)收發(fā)控制信號輸出引腳CPU通過該引腳發(fā)出控制數(shù)據(jù)傳送方向的控制信號,在使用8286/8287作為數(shù)
13、據(jù)總 線收發(fā)器時(shí),DT/R信號用以控制數(shù)據(jù)傳送的方向,當(dāng)該信號為高電平時(shí),表示數(shù)據(jù)由CPU經(jīng)總線收發(fā)器8286/8287輸出,否則,數(shù)據(jù)傳送方向相反。 10/M ( Memory/Input &Output ):存儲器/I/O 端口選擇信號輸出引腳這是CPU區(qū)分進(jìn)行存儲器訪問還是I/O訪問的輸出控制信號。當(dāng)該引腳輸出高電平時(shí),表明CPU要進(jìn)行I/O端口的讀寫操作,低位地址總線上出現(xiàn)的是 I/O端口的地址;當(dāng)該引腳 輸出低電平時(shí),表明CPU要進(jìn)行存儲器的讀寫操作,地址總線上出現(xiàn)的是訪問存儲器的地址。 WR(Write): 寫控制信號輸出引腳低電平有效,與IO/M配合實(shí)現(xiàn)對存儲單元、I/O
14、端口所進(jìn)行的寫操作控制。 HOLD(Hold Request):總線保持請求信號輸入引腳高電平有效。這是系統(tǒng)中的其它總線部件向CPU發(fā)來的總線請求信號輸入引腳。 HLDA(Hold Acknowledge ):總線保持響應(yīng)信號輸出引腳高電平有效,表示 CPU認(rèn)可其他總線部件提出的總線占用請求,準(zhǔn)備讓出總線控制權(quán)。3)8255A芯片基本資料a. 8255A內(nèi)部結(jié)構(gòu)如下圖所示I'OPC3-PC0I'OPB7-PBLJIOPC7-PC4 8255A有3個(gè)8位數(shù)據(jù)接口,即接口 A、接口 B和接口 C。使用者可以用軟件使它們分另M乍為輸入端口或輸出端口。(1) 端口 A :一個(gè)8位數(shù)據(jù)輸
15、入鎖存器和一個(gè) 數(shù)據(jù)輸入均被鎖存。(2) 端口 B :一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè) 數(shù)據(jù)輸入時(shí)不被鎖存,數(shù)據(jù)輸出時(shí)被鎖存。(3) 端口 C :一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸出鎖存器/緩沖器,用來傳送數(shù)據(jù)。8位數(shù)據(jù)輸出鎖存器/緩沖器,用來傳送數(shù)據(jù)。8位數(shù)據(jù)輸出鎖存器/緩沖器,用作輸入端口時(shí),數(shù)據(jù)不被鎖存;而作為輸出端口是,數(shù)據(jù)被鎖存。 A組控制和B組控制這兩組控制電路一方面接收芯片內(nèi)部總線上的控制字,一方面接收來自讀/寫控制邏輯電路的讀/寫命令,從而解決端口的工作方式和讀/寫操作。其中,A組控制電路控制端口 A和端口 C高4位(PC7-PC4的工作方式和讀/寫操作:而B組控制電路控制端口
16、 B和端口 C 低4位(PC3-PC0工作方式和讀寫操作。 讀/寫控制邏輯電路讀/寫控制邏輯電路負(fù)責(zé)管理 8255A的數(shù)據(jù)傳輸過程。它接收來自系統(tǒng)總線的信號A1,A0和控制總線信號 RESET WR RD將這些信號組合后,得到 A組控制部件和B組控制部件 的控制命令,并將命令發(fā)給這兩個(gè)部件,完成對數(shù)據(jù)、狀態(tài)信息的傳輸。 數(shù)據(jù)總線緩沖器這是個(gè)雙向三態(tài) 8位數(shù)據(jù)緩沖器,8255A通過它與系統(tǒng)數(shù)據(jù)總線相連。輸入數(shù)據(jù)、輸 出數(shù)據(jù)、CPU發(fā)給8255A的控制字都是通過這個(gè)緩沖器傳遞的。b. 8255的引腳信號 與外部設(shè)備端相連的引腳PA7-PA0 : A端口的輸入/輸出引腳。PB7-PB0 : B端口的
17、輸入/輸出引腳。PC7-PC0: C端口的輸入/輸出引腳。 與CPU!連的引腳PA3.PA2PA1PAO.RD, 濡 c:'jrj Ah 40.- HC7.PtyPf.d PCO PCI PC2- PCS. 卩盹 PB1- FBZPM8255A- RE5E7RESET :復(fù)位信號,低電平有效。當(dāng)RESET信號來到時(shí),所有內(nèi)部寄存器都被清 0,同時(shí)3個(gè)端口被自動(dòng)設(shè)為輸入端口。D7-D0 : 8255A的數(shù)據(jù)線,和系統(tǒng)數(shù)據(jù)總線相連。CS :芯片選擇信號。只有當(dāng)CS有效時(shí),讀出信號 RD和寫入信號 WR才對8255A有效。RD :讀出信號。CPU通過IN指令使RD有效,將數(shù)據(jù)或狀態(tài) 信息從8
18、255A中讀到CPU。WR :寫入信號。CPU通過OUT指令使 WR有效,將數(shù)據(jù)或 狀態(tài)信息從 CPU中寫道8255A.A1,A0 :端口選擇信號。8255A內(nèi)部有3個(gè)數(shù)據(jù)端口和1個(gè) 控制端口,共4個(gè)端口。規(guī)定A1,A0為00、01、10和11時(shí), 分別選中端口 A、端口 B、端口 C和控制端口。C. 8255的控制字方式選擇控制字(1) 方式選擇控制字把 A、B、C三個(gè)端口分為 A、B兩組來設(shè)定工作方式。 A組包括端口A和端口 C的上半部,B組包括端口 B和端口 C的下半部。(2) 端口 A可工作于3種方式中的任何一種;端口 B只能工作于方式 0和方式1;而端口C除用作輸入、輸出口(方式 0
19、)外,通常用來配合端口 A和端口 B提供聯(lián)絡(luò)控制信號和 狀態(tài)信號。(3)歸在同一組的兩個(gè)端口可分別作為輸入端口或輸出端口,不要求同為輸入或輸出。端口 C按位置位/復(fù)位控制字(1) 端口 C按位置位/復(fù)位控制字盡管是對端口C進(jìn)行操作的,但此控制字必須寫入控制 口,而不寫入端口 C。(2) 一個(gè)控制字只能完成端口C中某一位置的置1或置0,要對多位置1或置0,必須使 用多個(gè)控制字。d. 實(shí)驗(yàn)中8253對應(yīng)端口地址如下表所示:實(shí)驗(yàn)系統(tǒng)中8255A對應(yīng)的端口地址表信號線A 口B 口C 口控制寄存器IOY00600H0602H0604H0606HIOY10640H0642H0644H0646HIOY206
20、80H0682H0684H0686HIOY306C0H06C2H06C4H06C6H4)8253工作原理a. 8253工作方式8253可編程計(jì)數(shù)器/定時(shí)器的工作頻率為 02MHz,它有3個(gè)獨(dú)立編程的計(jì)數(shù)器,每個(gè) 計(jì)數(shù)器有三個(gè)引腳,分別為時(shí)鐘CLK、門控GATE、計(jì)數(shù)器和計(jì)時(shí)結(jié)束輸出OUT,每個(gè)計(jì)數(shù)器分別有6種工作方式。下面僅對方式 1和方式2的工作原理進(jìn)行簡述。 方式1 :可編程單穩(wěn),即由外部硬件產(chǎn)生的門控信號GATE觸發(fā)8253而輸出單穩(wěn)脈沖。計(jì)數(shù)器裝入計(jì)數(shù)初值后,在門控信號GATE由低電平變高電平并保持時(shí),計(jì)數(shù)器開始計(jì)數(shù),此時(shí)輸出端變成低電平并開始單穩(wěn)過程。當(dāng)計(jì)數(shù)結(jié)束時(shí),輸出端OUT轉(zhuǎn)變成
21、高電平,單穩(wěn)過程結(jié)束,在OUT端輸出一個(gè)單穩(wěn)脈沖。硬件再次觸發(fā)。OUT端可再次輸出一個(gè)同樣的單穩(wěn)脈沖。單穩(wěn)脈沖的寬度由裝入計(jì)數(shù)器的計(jì)數(shù)初值決定。在WR信號的上升沿(CPU寫控制字之后),輸出端OUT保持高電平(若OUT原為低電平則變?yōu)楦唠娖剑?。CPU寫入計(jì)數(shù)值后, 計(jì)數(shù)器并不馬上開始計(jì)數(shù),而要等到門控信號GATE啟動(dòng)之后的下一個(gè) CLK的下降沿才開始。在整個(gè)計(jì)數(shù)過程中,輸出端OUT保持低電平直至計(jì)數(shù)值至 0, OUT變?yōu)楦唠娖綖橹埂?方式2 :速率發(fā)生器,其功能如同一個(gè)N分頻計(jì)數(shù)器。其輸出是將輸入時(shí)鐘按照N計(jì)數(shù)值分頻后得到的一個(gè)連續(xù)脈沖。在該方式下,當(dāng)計(jì)數(shù)器裝入初始值開始工作后,輸出端OUT將
22、不斷地輸出負(fù)脈沖,其寬度為一個(gè)時(shí)鐘周期的時(shí)間,而兩個(gè)負(fù)脈沖間的時(shí)間脈沖個(gè) 數(shù)等于計(jì)數(shù)器裝入的計(jì)數(shù)初值。若計(jì)數(shù)初值為N,則每N個(gè)輸入脈沖輸出一個(gè)脈沖。當(dāng)CPU 寫完控制字后,輸出端 OUT轉(zhuǎn)變成高電平,計(jì)數(shù)器將立即自動(dòng)開始對輸入CLK時(shí)鐘計(jì)數(shù)。在計(jì)數(shù)過程中,OUT端始終保持高電平,直至計(jì)數(shù)器的計(jì)數(shù)值減到1時(shí),OUT端才變?yōu)榈碗娖剑浔3值膶挾葹橐粋€(gè)輸入CLK時(shí)鐘周期的時(shí)間,然后輸出端OUT恢復(fù)高電平,計(jì)數(shù)器重新開始計(jì)數(shù)。b. 8253控制字格式SC1 SC0為計(jì)數(shù)器選擇位,RL1 RL0為計(jì)數(shù)器讀寫操作選擇位, 以確定計(jì)數(shù)器進(jìn)行裝入 或讀出是單字節(jié)還是雙字節(jié), M2、M1、M0為計(jì)數(shù)器工作方式選
23、擇位, BCD表示計(jì)數(shù)器計(jì) 數(shù)方式選擇位。c. 8253的內(nèi)部結(jié)構(gòu)框及引腳如下圖所示:內(nèi)部數(shù)據(jù)總諜C(jī)LK1<(SATE10UT18253內(nèi)部結(jié)構(gòu)框圖計(jì)數(shù)Kiri計(jì)數(shù)逋道2CJJ2<G竝陀一 口睛8253引腳圖這是8253與CPU數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器,是8253內(nèi)部總線與CPU系統(tǒng) 的8位數(shù)據(jù)總線之間的接口。CPU通過它寫方式控制字到控制字寄存器,寫計(jì)數(shù)初值到計(jì)通過編程向8253數(shù)通道,讀取計(jì)數(shù)通道的當(dāng)前計(jì)數(shù)值。 即數(shù)據(jù)總線緩沖器有三個(gè)基本功能: 寫入確定8253工作方式的命令;向計(jì)數(shù)寄存器裝入計(jì)數(shù)初值;讀出當(dāng)前計(jì)數(shù)值。 內(nèi)能的寄寫個(gè)獨(dú)以邏的部操作的控制部分個(gè)當(dāng)照存器寫操
24、來的的選擇高及地時(shí)址和據(jù)RDWRmt Sts o c jmo)可人ri甄初曲旳計(jì)數(shù)捲】(iSiS 1、寫入冋計(jì)數(shù)體芒)駕2計(jì)數(shù)IM*從計(jì)數(shù)出1噪出槪也莉計(jì)數(shù)AT,無帰蘭盤無陳作三血 控制字寄存器 計(jì)數(shù)通道d. 實(shí)驗(yàn)中8253對應(yīng)端口地址如下表所示:實(shí)驗(yàn)系統(tǒng)8253對應(yīng)的端口地址表信號線計(jì)數(shù)器0'計(jì)數(shù)器1計(jì)數(shù)器2控制寄存器IOY00600H0602H0604H0606HIOY10640H0642H0644H0646HIOY20680H0682H0684H0686HIOY306C0H06C2H06C4H06C6H5)8259A中斷控制器a. 引言b. 工作原理c. 實(shí)驗(yàn)中8259A對應(yīng)端口
25、地址 6)存儲器芯片,接口芯片與系統(tǒng)總線的連接存儲器芯片,接口芯片與系統(tǒng)總線的連接就是如何把存儲器芯片和接口芯片掛到系 統(tǒng)的三類總線上。存儲器芯片和接口芯片與數(shù)據(jù)總線的連接比較簡單,因?yàn)槭呛唵蜗到y(tǒng),對數(shù)據(jù)總線 的負(fù)載能力沒有特別的要求,所以只要把存儲器芯片和接口芯片的數(shù)據(jù)引腳與數(shù)據(jù)總線 相應(yīng)各位作并聯(lián)就可以。連接到芯片上的控制總線不多,常用的有10/M,RD,WR,RESET等信號,這些信號線也都是與各芯片的有關(guān)引腳做并聯(lián)連接。存儲器芯片,接口芯片與地址總線的連接原則上是一樣的, 低地址線與存儲器芯片或接 口芯片的地址引腳直接并聯(lián)連接, 用來作為芯片內(nèi)部單元的選擇, 高位地址線經(jīng)譯碼器譯碼 后
26、一般連接到芯片的片選端作為芯片的選擇。 一般高位地址線的低位部分作為譯碼器的譯碼輸入,高位部分則作為譯碼器譯碼的許可條件。由于80886CPU的端口地址采用獨(dú)立編址方式,為了區(qū)分是存儲器芯片地址還是接口芯片地址,一定要把IO/M信號參與到芯片的片選端控制。本次設(shè)計(jì)的連接圖如下所示:XA1K?R=row-IOYE-AlUKRDD"CS8 255 A0AlMRRDIOY2CSDClfcCS253oraSOSSCPI: 8255A.睨刃芯片的連接7)接口芯片與外圍設(shè)備的連接采用8255A接口芯片作為4*4鍵盤與6位七段數(shù)碼管顯示器的接口。 如下圖所示:PB7PB0os寸 0BuPC7325
27、5A.PC4FEdCS9Ab76543210PA3PA0S255A與鍵盤及數(shù)碼管顯示單元的連接a. 8255A接口芯片與4*4鍵盤的連接圖中有4行4列,4根行線通過 74LS07芯片與PA3PA0相連,4根列線與 PC7PC4 相連。按鍵設(shè)置在行、列交點(diǎn)處,行、列線分別連接到按鍵開關(guān)的兩端。當(dāng)列線通過上拉電阻接+5V時(shí),就被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下是由行線送入全掃描字、列線讀 入行線狀態(tài)來判斷的。這就是:給行線所有I/O線均置成低電平,然后讀入列線電平狀態(tài)。如果有按鍵按下,總會(huì)有一根列線電平被拉置底電平,從而使列線輸入不全為1。鍵盤中哪一個(gè)鍵按下是由行線逐行置低電平后,檢查列線輸入
28、狀態(tài)予以確定的。其方法是:依次給行線送低電平,然后查所有列線狀態(tài),如果全為I,則所按下之鍵不在此行。如果不全為1,則所按下之鍵必在此行。而且是在與0電平行線相交的交點(diǎn)上的那個(gè)鍵。鍵盤的工作方式采用編程掃描工作方式,即通過調(diào)用鍵盤子程序來響應(yīng)鍵輸入的要求,在鍵盤掃描子程序中完成下述功能:1)判斷鍵盤上有無鍵按下。其方法是先使PA3PA0=O,然后讀PC7PC4的狀態(tài),若為全1,則鍵盤中無鍵按下;若不全為1,則說明鍵盤中有鍵按下。2)去除按鍵的機(jī)械抖動(dòng)影響。對于由機(jī)械觸點(diǎn)構(gòu)成的按鍵,由于機(jī)械觸點(diǎn)的彈性作用,觸點(diǎn)在閉合及斷開瞬間有一個(gè)抖動(dòng)過程,一般為510ms時(shí)間。為了消除抖動(dòng)影響可作這樣處理,當(dāng)判
29、斷有鍵按下后,軟件延時(shí)一段時(shí)間再判斷鍵盤狀態(tài),如果仍為有鍵按下狀態(tài),則認(rèn)為有一個(gè)確定的鍵按下,否則按鍵抖動(dòng)處理。3)求按下鍵的鍵值及鍵號。鍵盤上的縛個(gè)鍵都對應(yīng)一個(gè)鍵值。 鍵值的組成,低8位為掃描 該鍵時(shí)的行線輸出值(PA3PA0),高8位為該鍵按下時(shí)的列線輸入值( PC7PC4為有效 位其余位令其為1 )。4)為保證鍵閉合一次 CPU僅進(jìn)行一次鍵功能操作。程序中需要等待鍵釋放以后再將鍵號送累加器AH。鍵盤的工作方式還有定時(shí)掃描及中斷工作方式,前者是一種定時(shí)中斷,CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時(shí)轉(zhuǎn)入鍵功能處理程序。中斷工作方式只有在鍵盤按下時(shí),才執(zhí)行鍵盤掃描,并執(zhí)行該鍵的功能程序。
30、b. 顯示電路的連接在程序內(nèi)設(shè)置8255的控制字D2-D1位分別為00,使B端口工作在方式0作為輸出端, PB0-PB7分別對應(yīng)連接數(shù)碼管的 A-DP。七段發(fā)光二極管為陽極 LED器件。要讓A段點(diǎn)亮,要求PB0輸出高電平“ 1”,要使 B段熄滅,要求從 PB1輸出低電平“ 0”。其余各段以此類推。要使 LED上顯示0-F十六個(gè) 數(shù)字,需要按照如下段碼表來驅(qū)動(dòng)數(shù)碼管的七段LED。顯示字符01234567七段代碼3FH06H5BH4FH66H6DH7DH07H顯示字符89AbCdEF七段代碼7FH6EH77H7CH39H5EH79H71H8) LED顯示器的工作方式LED數(shù)碼管是目前最常用的數(shù)字顯
31、示器,圖A、B為共陰管和共陽管的電路,圖C為兩種不同出線形式的引出腳功能圖。一個(gè)LED數(shù)碼管可用來顯示一位 09十進(jìn)制數(shù)和一個(gè)小數(shù)點(diǎn)。小型數(shù)碼管(0.5寸和0.36寸)每段發(fā)光二極管的正向壓降,隨顯示光的顏色不同略有差別,通常約為22.5V,每個(gè)發(fā)光二極管的點(diǎn)亮電流在510mA。LED數(shù)碼管要顯示BCD碼所表示的十進(jìn)制數(shù)字就需要有一個(gè)專門的譯碼器,該譯碼器不但要完成譯碼功能,還要有相當(dāng)?shù)尿?qū)動(dòng)能力。fo VT e?LWT£-V 0 h 1WT尊 二¥1" f 7wt e VT d -tivto c -0 b 一 立。農(nóng)圖B共陽連接(“ 0”電平驅(qū)動(dòng))圖A共陰連接(“
32、 1”電平驅(qū)動(dòng))e d © c hM1 .1 i - I 1fhe|C1 h d*1 1 1丨e d O c h MM g f G> aLED數(shù)碼管符號及引腳功能圖LED顯示器有靜態(tài)和動(dòng)態(tài)兩種工作方式。LED顯示器工作在靜態(tài)顯示方式下,共陰極或共陽極連接在一起,然后接地或+5V,每位的段選線(A、B.G、H )與一個(gè)8位并行口相連。這樣,只要在每一位的段選線上保持 段選碼電平,該位就能保持相應(yīng)的顯示字符。在多位LED顯示時(shí),為了簡化電路,降低成本,將所有位的段選線并聯(lián)在一起,由一 個(gè)8位的I/O 口控制,即控制段選碼而共陰極點(diǎn)或共陽極點(diǎn)分別由相應(yīng)的I/O線控制即控制位選碼,這就
33、是動(dòng)態(tài)顯示。4位LED動(dòng)態(tài)顯示電路只需一個(gè)8位I/O 口及一個(gè)4位I/O 口,其中8個(gè)I/O控制段選碼,4位I/O控制位選。進(jìn)行4位字符顯示時(shí),采用掃描顯示方式,即在每一瞬間只使某一 位顯示相應(yīng)字符,在此瞬間,段選控制I/O 口輸出相應(yīng)字符段選碼,位選控制I/O 口在該顯示位送入選通電平(共陰極送低電平,共陽極送高電平),以保證該位顯示相應(yīng)字符。如此 輪流,使每位顯示該位應(yīng)顯示字符,并保持延遲一段時(shí)間 (15ms),以造成視覺暫留效果。不斷循環(huán)送出相應(yīng)的段選碼、位選碼,就可以獲得視覺穩(wěn)定的顯示狀態(tài)。2.軟件系統(tǒng)設(shè)計(jì)框圖4 r按鍵定義程序超團(tuán)實(shí)現(xiàn)設(shè)計(jì)要求3程序擁圖na. 按鍵定義:運(yùn)行程序,82
34、55A進(jìn)行初始化。程序運(yùn)行時(shí)首先會(huì)判斷是否有壓鍵操作,如果沒有壓鍵操作,則重復(fù)顯示掃描和判斷操作。若有壓鍵操作,則程序會(huì)逐線逐列置低電平同時(shí)逐行檢 查行線輸入狀態(tài),當(dāng)判斷到存在列線和行線同時(shí)為0,則在數(shù)碼管上顯示對應(yīng)的鍵值。隨后,會(huì)執(zhí)行詢問是否放鍵的操作,放鍵則繼續(xù)執(zhí)行有無壓鍵判斷;如果不放鍵,則跳轉(zhuǎn)至顯示掃描操作。b. 設(shè)計(jì)要求3:運(yùn)行程序,8255,8259,8253先后進(jìn)行初始化。程序運(yùn)行時(shí)會(huì)判斷是否按鍵 9次,當(dāng)按鍵 達(dá)9次之后,會(huì)在數(shù)碼管上顯示“ EEEEEE”。隨后進(jìn)入延時(shí) 30秒,計(jì)時(shí)30秒后,數(shù)碼管 被清0,程序結(jié)束。四、源程序STACK SEGMENT STACKDW 64
35、DUPSTACK ENDSDATA SEGMENTVA1 DB 0F7H,0BH,0FDH,0FEHVA2 DB 00HTABLE DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71H;初始化8255;初始化82590方式0DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATA START: MOV AX,DATAMOV DS,AXMOV DX,0606HMOV AL,88HOUT DX,ALMOV BX,0000HPUSH DSMOV AX,0000HMOV DS,AXMOV
36、 AX,OFFSET IRQ7MOV SI,003CHMOV SI,AXMOV AX,CSMOV SI,003EHMOV SI,AXPOP DSMOV AL,11HOUT 20H,ALMOV AL,08HOUT 21H,ALMOV AL,04HOUT 21H,ALMOV AL,01HOUT 21H,ALMOV AL,7FHOUT 21H,ALSTI;初始化8253MOV DX,0686HMOV AL,10H;設(shè)置計(jì)數(shù)器OUT DX,ALMOV DX,0680HMOV AL,08H ;設(shè)置計(jì)數(shù)值為OUT DX,ALLEA SI,TABLESTT: MOV AL,00HMOV DX,0600HOU
37、T DX,ALMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEYABCCALL DISPJMP STTKEYABC:CALL TIMEMOV DX,0604HIN AL,DXAND AL,0F0HCMP AL,0F0HJNZ KEYJMP STTKEY: MOV SI, OFFSET TABLEMOV DX,0600HMOV AL,0FEHOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,10HJNZ KEY_7CALL KEY3JMP STTKKEY_7: TEST AL,20HJNZ KEY_8CALL KEY7JMP
38、 STTKKEY_ 8: TEST AL,40HJNZ KEY_FCALL KEY8JMP STTKKEY_F: TEST AL,80HJNZ KEY_2CALL KEYFJMP STTKKEY_2: MOV DX,0600HMOV AL,0FDHOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,10HJNZ KEY_6CALL KEY2JMP STTKKEY_6: TEST AL,20HJNZ KEY_9CALL KEY6JMP STTKKEY_9: TEST AL,40H JNZ KEY_E CALL KEY9 JMP STTKKEY_E: TEST AL,80H
39、JNZ KEY_1 CALL KEYE JMP STTKKEY_1: MOV DX,0600H MOV AL,0FBH OUT DX,AL MOV DX,0604HIN AL,DX TEST AL,10H JNZ KEY_5 CALL KEY1JMP STTKKEY_5: TEST AL,20H JNZ KEY_A CALL KEY5 JMP STTKKEY_A: TEST AL,40H JNZ KEY_D CALL KEYA JMP STTKKEY_D: TEST AL,80H JNZ KEY_0 CALL KEYD JMP STTKKEY_0: MOV DX,0600H MOV AL,0F
40、7H OUT DX,AL MOV DX,0604HIN AL,DX TEST AL,10H JNZ KEY_4 CALL KEY0 JMP STTKKEY_4: TEST AL,20H JNZ KEY_B CALL KEY4 JMP STTKKEY_B: TEST AL,40HJNZ KEY_CCALL KEYBJMP STTK KEY_C: TEST AL,80HJNZ KEY_C1CALL KEYCJMP STTK KEY_C1:JMP STTK KEY0: MOV AL,SI+0MOV VA2,ALCALL DISPRETKEY1: MOV AL,SI+1MOV VA2,ALCALL D
41、ISPRETKEY2: MOV AL,SI+2MOV VA2,AL CALL DISPRETKEY3: MOV AL,SI+3MOV VA2,ALCALL DISPRET KEY4: MOV AL,SI+4MOV VA2,ALCALL DISPRETKEY5: MOV AL,SI+5MOV VA2,ALCALL DISPRETKEY6: MOV AL,SI+6MOV VA2,ALCALL DISPRETKEY7: MOV AL,SI+7MOV VA2,AL CALL DISPRETKEY8: MOV AL,SI+8MOV VA2,ALCALL DISPRETKEY9: MOV AL,SI+9 MOV VA2,AL CALL DISP RETKEYA: MOV AL,SI+10 MOV VA2,AL CALL DISP RETKEYB: MOV AL,SI+11 MOV VA2,AL CALL DISP RETKEYC: MOV AL,SI+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年青海省中考?xì)v史真題卷及答案解析
- 執(zhí)法資格考試基本級復(fù)習(xí)試題
- 拉土造地工程合同范例
- 廣告公司設(shè)計(jì)安裝合同模板
- 回收拆遷合同范例
- epc加投資合同范例
- 工地運(yùn)輸協(xié)議合同范例
- 房屋地皮轉(zhuǎn)讓合同范例
- 委托個(gè)人理財(cái)合同范例
- 常用民間借款合同范例
- 土力學(xué)(全套課件)
- 《先輩們唱過的歌》 單元作業(yè)設(shè)計(jì)
- 民俗習(xí)慣的司法適用
- 《繪畫的構(gòu)圖》課件
- 三年級數(shù)學(xué)上冊第三單元《測量》課件
- 創(chuàng)新實(shí)踐(理論)學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫2023年
- 高支模施工難點(diǎn)
- 大學(xué)生勞動(dòng)教育-合肥工業(yè)大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 訴訟前民事調(diào)解委托書
- 孩子探視權(quán)起訴書
- 國家開放大學(xué)一網(wǎng)一平臺電大《當(dāng)代中國政治制度》形考任務(wù)1-4網(wǎng)考題庫及答案
評論
0/150
提交評論