數(shù)字鐘_接口課設(shè)報(bào)告_8086微機(jī)原理與接口技術(shù)課程設(shè)計(jì)_第1頁
數(shù)字鐘_接口課設(shè)報(bào)告_8086微機(jī)原理與接口技術(shù)課程設(shè)計(jì)_第2頁
數(shù)字鐘_接口課設(shè)報(bào)告_8086微機(jī)原理與接口技術(shù)課程設(shè)計(jì)_第3頁
數(shù)字鐘_接口課設(shè)報(bào)告_8086微機(jī)原理與接口技術(shù)課程設(shè)計(jì)_第4頁
數(shù)字鐘_接口課設(shè)報(bào)告_8086微機(jī)原理與接口技術(shù)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、接口技術(shù)基礎(chǔ)實(shí)驗(yàn)報(bào)告學(xué)院:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院班級(jí):計(jì) 091學(xué)號(hào): 0913022032姓名:曹恒樓指導(dǎo)老師: 顧 暉時(shí)間: 2012/6/16接口技術(shù)課程設(shè)計(jì)目錄數(shù)字鐘的設(shè)計(jì) ,31設(shè)計(jì)需求分析與解決方案 ,31.1設(shè)計(jì)需求分析 ,31.1.1題目要求 ,31.1.2根據(jù)題目要求提出問題 ,31.2解決問題方法及思路 ,31.2.1硬件設(shè)計(jì)選擇部分 ,31.2.2軟件設(shè)計(jì)分析 ,42硬件設(shè)計(jì) ,52.1選擇芯片 8255,52.1.1芯片 8255A 在本設(shè)計(jì)中的功能作用 ,52.1.2芯片 8255A 的功能分析 ,52.1.38255 A方式控制字 ,52.1.48255 A與外設(shè)相連

2、的邏輯圖 ,62.2選擇器件 LED,62.2.1LED在本設(shè)計(jì)中的作用 ,62.2.2LED功能分析 ,62.2.3LED技術(shù)參數(shù) ,72.3硬件設(shè)計(jì)思路及連線圖 ,72.3.1硬件設(shè)計(jì)思路 ,72.3.2硬件接線原理圖、連接圖 ,73軟件設(shè)計(jì)思路及程序控制流程框圖 , 83.1軟件設(shè)計(jì)思路 ,83.2程序流程圖的相關(guān)說明 ,93.3程序控制流程框圖 ,93.4程序清單(見附錄) ,114實(shí)驗(yàn)環(huán)境 ,115上機(jī)調(diào)試過程 ,115.1硬件調(diào)試 ,115.2軟件調(diào)試 ,135.3軟、硬件聯(lián)立調(diào)試 ,135.4調(diào)試結(jié)果 ,136實(shí)驗(yàn)運(yùn)行結(jié)果、分析 ,156.1實(shí)驗(yàn)運(yùn)行結(jié)果與分析 ,156.2問題討

3、論 ,157實(shí)驗(yàn)心得 ,168參考文獻(xiàn) ,17附錄(源代碼) ,17- 2 -接口技術(shù)課程設(shè)計(jì)數(shù)字鐘的設(shè)計(jì)一、設(shè)計(jì)需求分析與解決方案1.1設(shè)計(jì)需求分析1.1.1題目要求設(shè)計(jì)一個(gè)接口與七段 LED 顯示器,顯示一個(gè)計(jì)時(shí)時(shí)鐘,顯示初值為 0,每隔一秒改變一次顯示值, 60s 為一分鐘, 60min 為一小時(shí), LED 顯示器循環(huán)顯示時(shí)、分、秒的動(dòng)態(tài)值。1.1.2根據(jù)題目要求提出問題1、選擇用于顯示時(shí)間的顯示器;2、怎樣使顯示器實(shí)現(xiàn)顯示時(shí)間;3、如何實(shí)現(xiàn)計(jì)時(shí)功能,是用軟件還是硬件實(shí)現(xiàn);4、選擇何種接口芯片以及考慮該接口芯片及 LED 顯示器的技術(shù)參數(shù),考慮最大工作電流,需不需要其他輔助芯片等;5、對(duì)

4、設(shè)計(jì)題目功能的擴(kuò)展,在設(shè)計(jì)中加入其他功能;6、可否用不同的設(shè)計(jì)方法完成設(shè)計(jì),與其他計(jì)算機(jī)語言設(shè)計(jì)相比的異同之處。1.2解決問題方法及思路1.2.1硬件設(shè)計(jì)選擇部分1、接口芯片的選擇秒位設(shè)置完畢后,如何將時(shí)間信息傳送到外設(shè)中, 即選擇何種芯片用于CPU與外設(shè)之間傳送信息。接口芯片是微型機(jī)系統(tǒng)中實(shí)現(xiàn)輸入輸出的常用器件,是CPU 與外設(shè)之間的界面,一方面要接收 CPU 進(jìn)行輸入 /輸出所發(fā)出的一系列信息,另一方面又要與外設(shè)交換數(shù)據(jù)以及一些聯(lián)絡(luò)信號(hào)等。為增加本設(shè)計(jì)的靈活性, 在接口的選擇上要求是可編程的輸入/輸出接口 8255A 芯片或 8251A 芯片。8255A 芯片:它是一種可編程通用并行接口芯

5、片,它有 24 條可編程的 I/O 引腳,采用 40 腳雙列直插式封裝,單一 +5V 電源,全部輸入 /輸出均與 TTL 電平兼容。在 8255A 中有 A 、B、C 三個(gè)并行輸入 /輸出端口,其功能全部由程序設(shè)定,每個(gè)端口都有自己的特點(diǎn)。 A 口、 B 口通常作為獨(dú)立的 I/O 端口使用, C 口也可以作為一般的 I/O 端口使用,但當(dāng) A 口、B 口作為應(yīng)答式的 I/O 端口使用時(shí), C 口分別以來為 A 口、 B 口提供應(yīng)答控制信號(hào)。如果采用 8255A 作為計(jì)時(shí)時(shí)鐘的輸入 /輸出接口,那么 8255A 的三個(gè)端口設(shè)置如下: A 口工作與方式 0,作為輸出口,其 PA0PA6 分別與外設(shè)

6、的段選碼相連,用以確定在何時(shí)顯示時(shí)間的哪一位; B 口工作與方式 0,作為輸出口,其 PB0PB7 分別與外設(shè)相連,作為位選線; C 口用來為 A 口、 B 口提供應(yīng)答控制信號(hào)。8251A 芯片:它是一種可編程通用串行接口芯片,是通用的同步異步接收/- 3 -接口技術(shù)課程設(shè)計(jì)發(fā)送器,它的作用是把計(jì)算機(jī)的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)發(fā)送出去,把接收到的外部串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)送入計(jì)算機(jī)內(nèi)部,它可以通過編程選用同步 /異步通信方式,它具有獨(dú)立的發(fā)送器和接收器, 能夠以單工、 半雙工或全雙工方式進(jìn)行通信,并提供相應(yīng)的控制信號(hào)。最佳解決方案:如果采用 8251A 作為計(jì)時(shí)時(shí)鐘的輸入 /輸出接口,那么就需要

7、把計(jì)算機(jī)的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)發(fā)送出去, 把接收到的外部串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)送入計(jì)算機(jī)內(nèi)部, 這個(gè)過程是需要時(shí)間的, 所以從時(shí)間效率方面來說并沒有 8255A 芯片合適;另外,可編程并行接口芯片 (8255A)數(shù)據(jù)傳輸速度快,雖然使用的通信線多, 但是傳輸距離并不算遠(yuǎn), 所以在解決接口問題時(shí), 采用可編程并行接口芯片 8255A 是比較合適的。2、時(shí)間顯示為實(shí)現(xiàn)計(jì)時(shí)時(shí)鐘的顯示, 可選擇共陰極(或共陽極)七段 LED 上,芯片 LCD或 LED ,表 1-1 為兩種芯片的比較: 發(fā)光二極管, 是由發(fā)光二極管排列組成的顯示器件,它采用低電壓掃描技術(shù),具有耗電少,使用壽命長(zhǎng),成本低,亮度高,故障

8、少,視角大,視角大,可視距離遠(yuǎn)的特點(diǎn)。通過分析和對(duì)比以及實(shí)驗(yàn)室實(shí)驗(yàn)條件可知 LED 顯示器要較優(yōu)于 LCD 顯示器,因此本實(shí)驗(yàn)選擇 LED 來實(shí)現(xiàn)時(shí)間的顯示。3、秒鐘設(shè)計(jì)秒鐘的設(shè)計(jì)有兩種解決方案:硬件實(shí)現(xiàn)、軟件實(shí)現(xiàn):(1)硬件分析:可選擇 8253A 芯片, 8253A 是一種定時(shí)準(zhǔn)確、使用方便、靈活性大的可編程定時(shí)器 /計(jì)數(shù)器,其定時(shí)的時(shí)間長(zhǎng)度可以通過軟件來設(shè)置,對(duì)芯片設(shè)置處置初值后, 計(jì)數(shù)器開始工作, 微處理器就可以去做其他工作, 定時(shí)時(shí)間到,電路會(huì)產(chǎn)生一個(gè)信號(hào), 向微處理器提出中斷請(qǐng)求, 告訴處理器定時(shí)時(shí)間已到。(2)軟件分析:為實(shí)現(xiàn) 1 秒長(zhǎng)度的設(shè)定,可執(zhí)行一個(gè)循環(huán)程序,通過循環(huán)次數(shù)和

9、循環(huán)嵌套的層數(shù)來調(diào)節(jié)計(jì)時(shí)時(shí)間的長(zhǎng)短, 該方法的優(yōu)點(diǎn)是不需要專用的硬件,從而成本低,方法簡(jiǎn)單靈活,使用起來也比較容易。(3)最佳解決方案:通過以上分析,硬件實(shí)現(xiàn) 1 秒的設(shè)定雖然較準(zhǔn)確,但用軟件來實(shí)現(xiàn)可以極大的節(jié)約成本, 而且通過周密的計(jì)算循環(huán)的次數(shù)和循環(huán)嵌套的層數(shù)也可以將計(jì)時(shí)的準(zhǔn)確度提高, 所以在實(shí)現(xiàn)計(jì)時(shí)時(shí)間方面選擇軟件是比較好的方案。1.2.2軟件設(shè)計(jì)分析1、初始值設(shè)置在程序中的數(shù)據(jù)段定義秒位數(shù)據(jù) second,分位數(shù)據(jù) minute,時(shí)位數(shù)據(jù) hour,初始值都設(shè)為 00H,并在 LED 顯示器上顯示初值。2、 8255 初始化設(shè)置 8255 的工作方式: B 口和 C 口都用于輸出,且都

10、工作在方式0。3、計(jì)時(shí)過程從初始值開始顯示,當(dāng)顯示了 1s 時(shí),秒位加 1,并判斷秒位是否為 60,若不是,則直接顯示時(shí)間;若是,則將秒位置 0,分位加 1,接著判斷分位是否為60,若不是,則直接顯示;若是,則將分位置 0,時(shí)位加 1,然后判斷時(shí)位是否- 4 -接口技術(shù)課程設(shè)計(jì)為 25,若不是,則直接顯示;若是,則將時(shí)位置 0,日期加 1,并判斷日期是否加到 31,若是,則將日期清零,重新計(jì)時(shí)。如此循環(huán)。4、 1 秒時(shí)間的設(shè)定執(zhí)行一個(gè)循環(huán)程序,通過循環(huán)次數(shù)和循環(huán)嵌套的層數(shù)來調(diào)節(jié)計(jì)時(shí)時(shí)間的長(zhǎng)短,該循環(huán)次數(shù)處定為 0100h。二、硬件設(shè)計(jì)2.1選擇芯片 82552.1.1芯片 8255 A 在本設(shè)

11、計(jì)中的功能作用8255 是并行的 I/0 接口芯片,內(nèi)部有三個(gè)相互獨(dú)立的 8 位數(shù)據(jù)端口。 8255 實(shí)現(xiàn)了外設(shè)與 8086 之間的數(shù)據(jù)傳輸。 8255 的 B 口工作于方式 0,作為輸出口,其 PB0PB7 分別與 LED 數(shù)碼管顯示器的顯示器的八段 a,b,c,d,e,f,g,dp 相連, C口作為輸出口, 其 PC7PC0與 LED 數(shù)碼管顯示器的 LED0LED7 相連,作為位選。2.1.2芯片 8255 A 的功能分析1、8255A 是可編程并行接口,內(nèi)部有 3 個(gè)相互獨(dú)立的 8 位數(shù)據(jù)端口,即 A 口、B 口和 C 口。三個(gè)端口都可以作為輸入端口或輸出端口。 A 口有三種工作方式:

12、方式 0、方式 1 和方式 2;B 口可以工作在方式 0 或方式 1 下; C 口通常作為聯(lián)絡(luò)信號(hào)使用。 8255 的工作只有當(dāng)片選 CS 有效時(shí)才能進(jìn)行工作, 而控制邏輯端口實(shí)現(xiàn)對(duì)其他端口的控制。當(dāng) 8255 A 工作在方式 0 時(shí),即基本輸入輸出方式時(shí),可將三個(gè)數(shù)據(jù)端口劃分為四個(gè)獨(dú)立的部分:A 口和 B 口作為兩個(gè) 8 位端口,C 口的高 4 位和低 4 位可以用作兩個(gè)4 位的輸入輸出口, 各個(gè)端口都可獨(dú)立地用作輸入或輸出。2、數(shù)據(jù)總線緩沖器是一個(gè) 8 位雙向三態(tài)緩沖器,三態(tài)是由讀 /寫控制邏輯控制的,它可與系統(tǒng)的 DB 直接相連,實(shí)現(xiàn) CPU 和 8255A 之間的信息傳送;讀寫控制器用

13、于管理數(shù)據(jù)、控制字或狀態(tài)字的傳送,接收來自 CPU 的地址信息及一些控制信號(hào),然后向 A 組、 B 組控制電路發(fā)送命令,控制端口數(shù)據(jù)的傳送方向。2.1.38255 A 方式控制字8255A 的方式控制字 (見圖 2-1)- 5 -接口技術(shù)課程設(shè)計(jì)圖 2-1 8255A 的方式控制字2.1.48255 A 與外設(shè)相連的邏輯圖圖 2-38255 與外設(shè)相連的邏輯圖PA7PA0:A 口數(shù)據(jù)信號(hào)線;PB7PB0:B 口數(shù)據(jù)信號(hào)線;PC7PC0:C 口數(shù)據(jù)信號(hào)線。2.2選擇器件 LED2.2.1LED在本設(shè)計(jì)中的作用LED 發(fā)光二極管( Light-Emitting Diode),在本設(shè)計(jì)中采用 7 段

14、數(shù)字發(fā)光二級(jí)管,是作為終端用來顯示計(jì)時(shí)時(shí)鐘的時(shí)、分、秒、毫秒值的。2.2.2LED功能分析LED 發(fā)光二級(jí)管分為共陽極和共陰極兩種,共陽就是7 段的顯示字碼共用- 6 -接口技術(shù)課程設(shè)計(jì)一個(gè)電源的正極, 同理共陰就是 7 段的顯示字碼共用一個(gè)電源的陰極, 共陰極數(shù)碼管原理示意圖如下:(見圖 2-4)圖 2-4 LED原理圖LED 數(shù)碼管采用砷化鎵、鎵鋁砷、和磷化鎵等材料制成,其內(nèi)部結(jié)構(gòu)為一個(gè) PN 結(jié),具有單向?qū)щ娦?。從上圖可以看出,要是數(shù)碼管顯示數(shù)字,有兩個(gè)條件: 1、是要在 VT 端( 3/8 腳)加正電源; 2、要使( a, b,c,d,e,f ,g,dp)端接低電平或“ 0”電平。這樣

15、才能顯示的。將七個(gè)發(fā)光管進(jìn)行組合,排列成數(shù)字圖形 8,再根據(jù)需要控制七個(gè)管的亮與滅,即可顯示出定義數(shù)字。2.2.3LED技術(shù)參數(shù)數(shù)字DPgfedcba二進(jìn)制編碼(字形)0001111113FH10000001103H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FHA0111011177HB011111007CHC0011100169HD010111105EHE0111100179HF0111000171H表 2-5LED 共陰極顯示管段選碼編碼表- 7

16、 -接口技術(shù)課程設(shè)計(jì)2.3硬件設(shè)計(jì)思路及連線圖2.3.1硬件設(shè)計(jì)思路8086 的 8 位數(shù)據(jù)線 D7D0 與 8255 的 D7D0 相連,地址線經(jīng) 74LS373 鎖存后其低位 A0、A1 分別與 8255 的 A0 、A1 相連,其他地址線經(jīng) 74LS138 譯碼后,其 CS0 接 8255 的片選 CS 引腳,其入口地址為 00F0H00F3H。8255 的 A 口 PA0PA7 分別與邏輯開關(guān)的 K1K8 相連,其中開關(guān)量 K7 用于判斷是否修改時(shí)間, K5K6 用于判斷修改哪一位, K1K4 為要修改的值; B 口作為段選; C 口作為位選段碼信號(hào)。2.3.2硬件接線原理圖圖 2-6

17、 硬件連線原理圖圖 2-7硬件連接圖- 8 -接口技術(shù)課程設(shè)計(jì)三、軟件設(shè)計(jì)思路及程序控制流程框圖3.1軟件設(shè)計(jì)思路1、初始化 8255A,設(shè)置其工作方式。2、設(shè)置初值,定義對(duì)應(yīng)十六進(jìn)制數(shù)的七段代碼表及其時(shí)間區(qū)表。3、顯示計(jì)時(shí)并循環(huán)判斷,當(dāng)1 秒時(shí)間到是則秒位加1 計(jì)時(shí)顯示。4、 8255A 芯片個(gè)端口地址為:控制端口地址:206HA 口地址: 200HB 口地址: 202HC 口地址: 204H3.2程序流程圖的相關(guān)說明首先對(duì) 8255A 進(jìn)行初始化,然后開始讀取開關(guān)量,判斷是否要修改時(shí)間,若需修改,則判斷需修改哪位,隨后將該位對(duì)應(yīng)的時(shí)間區(qū)數(shù)據(jù)修改為邏輯開關(guān)K1K4 對(duì)應(yīng)的值,若不需要修改則繼

18、續(xù)顯示并循環(huán)判斷,當(dāng) 1 秒時(shí)間到達(dá)時(shí),則秒位加 1 計(jì)時(shí)顯示。3.3程序控制流程框圖- 9 -接口技術(shù)課程設(shè)計(jì)開始8255 初始化送 1秒時(shí)間常數(shù)數(shù)讀取開關(guān)量N修改時(shí)間修改秒低位修改秒高位時(shí)為 00 重計(jì)時(shí)修改分低位時(shí) =23修改分高位分為 00時(shí)加 1修改時(shí)低位分 =60修改時(shí)高位秒為 00分加 1N秒 =60修改日低位秒位加 1修改日高位N1 秒時(shí)間顯示時(shí)間圖 3-1程序流程圖-10-接口技術(shù)課程設(shè)計(jì)圖 3-2 中斷操作流程圖3.4程序清單(見附錄)四、實(shí)驗(yàn)環(huán)境系統(tǒng)環(huán)境:Win-7 系統(tǒng)軟件環(huán)境:Proteus五、上機(jī)調(diào)試過程5.1硬件調(diào)試本次課程設(shè)計(jì)采用的是 Proteus 集成軟件開

19、發(fā)環(huán)境,把總體分為 3 大塊,第一塊就是 8086CPU 譯碼電路,如下圖 5-1,第二塊為 8255A 控制的時(shí)間顯示電路,如下圖 5-2,第三塊為 8255A 不可屏蔽中斷控制電路,如下圖 5-3.-11-接口技術(shù)課程設(shè)計(jì)在硬件接線連接時(shí),應(yīng)將 8255A 的 A 口與端控制端口相連,用于決定顯示值,B 口也同段控制端口相連, 決定顯示值, 而 C 口 8 位接兩個(gè)位控制端口,用于決定哪個(gè)數(shù)碼管顯示。中斷電路與 8086CPU 譯碼電路均參照課本先有實(shí)驗(yàn)圖連接,至此,硬件線路已經(jīng)接好。圖 5-1 8086CPU 譯碼電路圖 5-2 數(shù)碼管顯示電路-12-接口技術(shù)課程設(shè)計(jì)圖 5-3 中斷控制

20、電路5.2軟件調(diào)試在軟件部分,程序分為三個(gè)部分: 8255A 初始化部分,讀入初值、循環(huán)操作部分,顯示出數(shù)字量部分。5.3聯(lián)立調(diào)試軟件和硬件分別調(diào)試完畢后, 進(jìn)行聯(lián)機(jī)調(diào)試, 出現(xiàn)了新的問題: 顯示在 LED 數(shù)碼管上的數(shù)字不停跳躍,變幻不定,數(shù)值顯示不穩(wěn)定,控制不好。要解決這個(gè)問題,我問了幾個(gè)同學(xué),分別進(jìn)行修改,剛開始采用 6 位,改了好久總是控制顯示的不好,要么奇數(shù)位顯示要么偶數(shù)位顯示,修改了延時(shí)操作,又增加了清屏操作, 但是數(shù)碼管還是顯示不好。 所以最后決定用兩個(gè) 4 位數(shù)碼管顯示,增加毫秒位,這樣在軟件設(shè)計(jì)時(shí)沒有出現(xiàn)顯示問題,除此之外,每個(gè)數(shù)字顯示后的延時(shí)是利用延時(shí)子程序的循環(huán)次數(shù)來控制

21、的, 為了使數(shù)字編碼顯示得清楚,應(yīng)該通過調(diào)試,確定延時(shí)子程序的循環(huán)次數(shù)。在本設(shè)計(jì)中,循環(huán)次數(shù)設(shè)為16(10h)次。5.4調(diào)試結(jié)果調(diào)試后編碼結(jié)果正確,顯示清楚,穩(wěn)定,且可通過按鍵進(jìn)行清零,及校時(shí)操作。-13-接口技術(shù)課程設(shè)計(jì)圖 5-4-1 程序運(yùn)行效果圖 5-4-2 清零操作-14-接口技術(shù)課程設(shè)計(jì)圖 5-4-3 校時(shí)操作六、實(shí)驗(yàn)運(yùn)行結(jié)果、分析6.1實(shí)驗(yàn)運(yùn)行結(jié)果與分析結(jié)果:當(dāng)程序開始全速運(yùn)行時(shí), LED 顯示器上顯示“ 00 00 00 00”,一秒后變?yōu)椤?00 00 01”這樣每隔一秒秒位加 1,顯示“ 00 00 59”的后一秒顯示為“ 0001 00”,顯示“ 23 59 59”的后一秒

22、顯示為“00 00 00”。三個(gè)按鍵分別用于實(shí)現(xiàn)復(fù)位清零、 分鐘加一、 小時(shí)加一的系列校時(shí)操作, 按下復(fù)位后,數(shù)碼管顯示初值,加一即在原來基礎(chǔ)上進(jìn)行。分析:將 8255A 的 A 口(PA0-PA7)作為輸出用, A 口(PA0-PA7)作為輸出用(送段選碼),B 口 (PB0-PB7)作為輸出用(送段選碼) ,C 口作為輸出用(送位選碼)。程序首先從 8255A 的 A 口讀取初始值,并進(jìn)行顯示時(shí)間,若按鍵有中斷則響應(yīng)中斷操作。在 8255A 的 B 口送段選碼, C 口送位選碼后在 LED 顯示器上顯示時(shí)間;若中斷操作為分鐘加一或小時(shí)加一, 則將對(duì)應(yīng)的值經(jīng)段碼表轉(zhuǎn)換及程序轉(zhuǎn)換后在 B 口(

23、PB0-PB7)輸出作為段選碼,在 C 口輸出位選碼后在 LED 顯示器上顯示時(shí)間。 然后程序判斷之前設(shè)置的一秒的時(shí)間常量有沒有到, 若一秒時(shí)間到,則將時(shí)間加一后接著顯示。6.2問題討論該試驗(yàn)一開始較簡(jiǎn)單僅顯示分秒, 沒有出現(xiàn)什么問題, 后來加上時(shí)日和毫秒以及按鍵后致使程序變得復(fù)雜, 條件跳轉(zhuǎn)超出范圍而調(diào)用子程序又有錯(cuò), 后來終于使用 JMP 指令完成了程序,結(jié)果達(dá)到了要求但程序太繁雜條理不清,然后自己又將程序進(jìn)行一些優(yōu)化,把多余的操作刪掉后,終使程序較為理想。-15-接口技術(shù)課程設(shè)計(jì)七、實(shí)驗(yàn)心得微機(jī)原理與接口技術(shù)是一門很有趣的課程, 任何一個(gè)計(jì)算機(jī)系統(tǒng)都是一個(gè)復(fù)雜的整體,學(xué)習(xí)計(jì)算機(jī)原理是要涉

24、及到整體的每一部分。 討論某一部分原理時(shí)又要涉及到其它部分的工作原理。 這樣一來,不僅不能在短時(shí)間內(nèi)較深入理解計(jì)算機(jī)的工作原理, 而且也很難孤立地理解某一部分的工作原理。 所以,在循序漸進(jìn)的課堂教學(xué)過程中, 我總是處于 “學(xué)會(huì)了一些新知識(shí), 弄清了一些原來保留的問題,又出現(xiàn)了一些新問題”的循環(huán)中,直到課程結(jié)束時(shí),才把保留的問題基本搞清楚。學(xué)習(xí)該門課程知識(shí)時(shí), 其思維方法也和其它課程不同, 該課程偏重于工程思維,具體地說,在了解了微處理器各種芯片的功能和外部特性以后, 剩下的是如何將它們用于實(shí)際系統(tǒng)中, 其創(chuàng)造性勞動(dòng)在于如何用計(jì)算機(jī)的有關(guān)技術(shù)和廠家提供的各種芯片, 設(shè)計(jì)實(shí)用的電路和系統(tǒng), 再配上

25、相應(yīng)的應(yīng)用程序, 完成各種實(shí)際應(yīng)用項(xiàng)目。這次實(shí)驗(yàn)我選擇的題目有是數(shù)字鐘, 因?yàn)橐婚_始感覺并不是很難, 所以就想一個(gè)人獨(dú)自完成本次的課程設(shè)計(jì),剛開始我的想法是硬件主要利用兩個(gè)芯片,8255 和 8253,利用 8253 的通道 0 實(shí)現(xiàn)計(jì)時(shí)單元, 同時(shí)利用軟件進(jìn)行計(jì)數(shù), 而時(shí)間顯示則采用 6 個(gè) 7 段數(shù)碼管分別顯示時(shí)、 分、秒,并采用動(dòng)態(tài)掃描方式來實(shí)現(xiàn)。但我依著這個(gè)總體設(shè)計(jì)想法做了兩天后, 硬件也連接好了, 代碼也寫好了, 但是數(shù)碼管總是顯示的不對(duì), 然后又花了一天的時(shí)間去調(diào)代碼, 可是最后還是沒調(diào)出來,主要就是對(duì)數(shù)碼管的控制不好,用 8255 的 C 口 PC0PC6來分別控制六個(gè)數(shù)碼管,但

26、是總是顯示的不對(duì),請(qǐng)同學(xué)幫看看后,也沒有得到很好的解決。所以我立刻改了方案,利用軟件計(jì)數(shù),同時(shí)用8255 的 C 口控制 8 個(gè) 7 段數(shù)碼管,多出的兩位用來增加毫秒的顯示功能,同時(shí)利用不可屏蔽中斷NMI 實(shí)現(xiàn)始終的復(fù)位、校時(shí)的功能,當(dāng)然這樣的設(shè)計(jì)也不是一帆風(fēng)順的, 主要的困難來自對(duì)程序的理解,例如始終的兩位,逢十就要向十位進(jìn)一,余數(shù)用作個(gè)位的顯示,同時(shí)每100ms要向秒進(jìn) 1,每逢 60s 要向分進(jìn) 1,每逢 60min 要向小時(shí)進(jìn) 1,而一天只有 24 小時(shí),整個(gè)過程要用軟件進(jìn)行控制,其實(shí)是有難度的,還涉及到內(nèi)存的存取原理,低位高位的轉(zhuǎn)換等等, 都是需要我一個(gè)人去解決的, 功夫不負(fù)有心人,

27、 經(jīng)過我的摸索以及向同學(xué)的一些請(qǐng)教, 我最終對(duì)實(shí)驗(yàn)的原理有了清晰的認(rèn)識(shí)。 雖然主要芯片就是用了 8255,但是在那么短的時(shí)間內(nèi)能夠完成設(shè)計(jì)既定的功能,我對(duì)這個(gè)結(jié)果還是很滿意的??傊?,通過這次課程設(shè)計(jì),我更加清晰的認(rèn)識(shí)了計(jì)算機(jī)中常用接口電路及8255A的應(yīng)用和設(shè)計(jì)技術(shù),也認(rèn)識(shí)到了理論知識(shí)對(duì)應(yīng)用技術(shù)的指導(dǎo)性作用。通過實(shí)踐,我進(jìn)一步加深了對(duì)專業(yè)知識(shí)和理論知識(shí)學(xué)習(xí)的認(rèn)識(shí)和理解,使自己的設(shè)計(jì)水平和對(duì)所學(xué)的知識(shí)的應(yīng)用能力以及分析問題、解決問題的能力得到了一定的提高。我也更加深入地理解了, 微機(jī)原理課程上講到的各種芯片的功能,以及引腳的作用,同時(shí)加深了對(duì)于主要芯片的應(yīng)用的認(rèn)識(shí)。在實(shí)驗(yàn)過程中,我也遇到了一些困

28、難,但是我通過及時(shí)請(qǐng)教同學(xué),查詢相關(guān)資料,及時(shí)解決了問題,但仍有不足之處,我將會(huì)在今后學(xué)習(xí)中更加努力。-16-接口技術(shù)課程設(shè)計(jì)八、參考文獻(xiàn)1 顧暉,梁惺彥等 .微機(jī)原理與接口技術(shù) .北京:電子工業(yè)出版社, 2011.82 沈美明 ,溫冬嬋 .IBM-PC 匯編語言程序設(shè)計(jì)(第 2 版) . 北京:清華大學(xué)出版社, 2001附錄(源代碼):IO1 EQU200HIO2 EQU400HCODESEGMENT'CODE'ASSUMECS:CODESTART:MOVES,AXMOVSI,2H*4;不可屏蔽中斷 NMI 向量設(shè)置MOVAX,OFFSET UPDATETIME ;偏移地址M

29、OVES:SI, UPDA TETIMEMOVAX, SEGUPDA TETIME;段地址MOVES:SI+2,AXMOVAL,10001001B;顯示 8255A 初始化 ,A,B,C 三端口均工作在方式0,基本輸出MOVDX,IO1+6OUTDX,ALMOVAL,10000000B;控制器 8255A 初始化 ,C 端口輸出MOVDX,IO2+6OUTDX,ALLOP1:CALLTIMEDISPLAY;調(diào)用時(shí)間顯示器CALLTIMESET;調(diào)用設(shè)置時(shí)間JMPLOP1MOVAH,4CHINT21HTIMESETPROC;設(shè)置時(shí)間顯示器PUSHDXPUSHCXPUSHBXPUSHAXPUSHS

30、IPUSHDIPUSHFLEADI,TIMEOUTMOVDX,WORD PTRDI;取計(jì)時(shí)器分鐘MOVCX,WORD PTRDI+2;取計(jì)時(shí)器秒鐘MOVBX,WORD PTRDI+4;取計(jì)時(shí)器分鐘MOVAX,WORD PTRDI+6;取計(jì)時(shí)器秒鐘XCHGAH,AL;由于內(nèi)存關(guān)系 ,高低位交換XCHGBH,BLXCHGCH,CL;由于內(nèi)存關(guān)系 ,高低位交換XCHGDH,DLCMPAL,9;毫秒 100 進(jìn) 1,與 9 相比,如果相等則加一后向高位進(jìn)一;否則直接加一JNZNEXT2-17-接口技術(shù)課程設(shè)計(jì)MOVAL,-1;因?yàn)槎家右唬砸@示0這里給 -1值CMPAH,9JNZNEXT3MOV

31、AH,-1CMPBL,9JNZNEXT4MOVBL,-1CMPBH,5;秒60進(jìn)1JNZNEXT5MOVBH,-1CMPCL,9JNZNEXT6MOVCL,-1CMPCH,5;分60進(jìn)1JNZNEXT7MOVCH,-1CMPDL,9JNZNEXT8MOVDL,-1CMPDH,2;24 小時(shí)JNZNEXT9MOVDH,-1NEXT9:INCDH;加1操作NEXT8:INCDLNEXT7:INCCHNEXT6:INCCLNEXT5:INCBHNEXT4:INCBLNEXT3:INCAHNEXT2:INCALXCHGAH,AL;由于內(nèi)存關(guān)系 ,高低位交換XCHGBH,BLXCHGCH,CL;由于內(nèi)存

32、關(guān)系 ,高低位交換XCHGDH,DLMOVWORD PTRDI,DX;取計(jì)時(shí)器分鐘MOVWORD PTRDI+2,CX;取計(jì)時(shí)器秒鐘MOVWORD PTRDI+4,BX;取計(jì)時(shí)器分鐘MOVWORD PTRDI+6,AX;取計(jì)時(shí)器秒鐘POPFPOPDIPOPSIPOPAXPOPBXPOPCXPOPDXRETTIMESETENDPTIMEDISPLAYPROC;調(diào)用時(shí)間顯示器PUSHCXPUSHBXPUSHAXPUSHSIPUSHDIPUSHFMOVCL,77H;01110111 循環(huán)右移MOVCH,0LEASI,TIMEOUT-18-接口技術(shù)課程設(shè)計(jì)MOVDI,SIADDDI,4DISP2: MOVAL,CL;輸出位碼MOVDX,IO2+4OUTDX,ALMOVBX,OFFSET LEDTAB;輸出 A 段碼MOVAL,SIXLATMOVDX,IO2OUTDX,ALMOVBX,OFFSET LEDTAB;輸出 B 段碼MOVAL,DIXLATMOVDX,IO2+2OUTDX,ALCALLDISPLAY;延時(shí)MOVAL,0H;清空 A 端口的內(nèi)容MOVDX,IO2OUTDX,ALMOVAL,0H;清空 B 端口的內(nèi)容MOVDX,IO2+2OUTDX,ALINCD

溫馨提示

  • 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. 人人文庫(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)論