2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  微機原理與接口技術(shù)</b></p><p><b>  課程設(shè)計報告</b></p><p>  設(shè)計名稱: 電子表設(shè)計 </p><p>  專 業(yè): 計算機原理與接口技術(shù) </p><p>  班 級: xxxxxxx

2、 </p><p>  姓 名: XXX </p><p>  學 號: XXXXXXXXX </p><p>  指導教師: XXXXXXXX </p><p>  2014年 11 月 27 日</p><p&g

3、t;<b>  目 錄</b></p><p>  摘要................................................................2</p><p>  一、 設(shè)計目的及要求.................................................3</p><p>

4、  1.1設(shè)計任務(wù)......................................................3</p><p>  1.2設(shè)計功能..................................................... 3</p><p>  1.3課程設(shè)計方式及基本要求..................................

5、......3</p><p>  1.3.1 實驗方式..................................................3</p><p>  1.3.2 基本要求..................................................3 </p><p>  1.4設(shè)計所用元件.........

6、.........................................4</p><p>  二、 設(shè)計題目及思想.................................................4</p><p>  2.1設(shè)計原理......................................................4</p>

7、<p>  2.2主要模塊.......................................................5</p><p>  2.3芯片初始化....................................................7</p><p>  2.4程序流程圖.............................

8、.......................9</p><p>  2.5硬件接線圖...................................................11</p><p>  三、 調(diào)試結(jié)果..................................................... 13</p><p>  四、

9、課程設(shè)計總結(jié)...................................................16</p><p>  4.1遇到問題及解決方案............................................16</p><p>  4.2 課程設(shè)計心得體會.............................................

10、16</p><p><b>  參考文獻</b></p><p><b>  附錄</b></p><p><b>  摘要</b></p><p>  匯編語言是計算機能夠提供給用戶使用的最快而又最有效的語言, 也是能夠利用計算機所有硬件特性并能直接控制硬件的唯一語言。因而

11、,對程序的空間和時間的要求很高的場合,匯編語言的應(yīng)用是必不可少的。至于很多需要直接控制 硬件的應(yīng)用場合,則更是非用匯編語言不可了。隨著科學技術(shù)迅速發(fā)展,理工科大學生不僅需要掌握計算機方面的基本理論知識,而且還需要掌握基本的實驗技 能及一定的科學研究能力。 </p><p>  通過課程設(shè)計,使學生鞏固和加深微型計算機原理理論知識, 通過實踐進一步加強學生獨立分析問題和解決問題的能力、綜合設(shè)計及 創(chuàng)新能力的培養(yǎng),同

12、時注意培養(yǎng)學生實事求是、嚴肅認真的科學作風和良好的實驗習慣,為今后工作打下良好的基礎(chǔ)。鑒于匯編語言的廣泛用途及其在當代計算機界的重要作用,本人利用學的知 識,在同學門的幫助下,花費大量時間,完成了關(guān)于電子表的系統(tǒng)設(shè)計。這個系統(tǒng)是應(yīng)用于電腦中的小應(yīng)用程序,可是顯示電腦中的時間。很多地方都會有個時鐘顯示,其中大多是應(yīng)用了類似這樣的方法。</p><p>  關(guān)鍵詞:匯編語言微機原理接口技術(shù)時鐘顯示</p&

13、gt;<p><b>  一、設(shè)計目的及要求</b></p><p><b>  1.1設(shè)計任務(wù): </b></p><p>  隨著科學技術(shù)迅速發(fā)展,理工科大學生不僅需要掌握計算機方面的基本理論知識,而且還需要掌握基本的實驗技能及一定的科學研究能力。</p><p>  通過課程設(shè)計,使學生鞏固和加深微型計

14、算機原理理論知識,通過實踐進一步加強學生獨立分析問題和解決問題的能力、綜合設(shè)計及創(chuàng)新能力的培養(yǎng),同時注意培養(yǎng)學生實事求是、嚴肅認真的科學作風和良好的實驗習慣,為今后工作打下良好的基礎(chǔ)。計算機原理與接口課程課程設(shè)計結(jié)合教學內(nèi)容,從應(yīng)用的角度出發(fā),進行三類課程設(shè)計,分別分為:匯編語言程序設(shè)計、微機標準接口課程設(shè)計和接口技術(shù)課程設(shè)計。</p><p>  (1)通過設(shè)計電子表,掌握中斷的使用方法。 </p>

15、<p>  (2)掌握基本的顯存讀寫技術(shù)。 </p><p>  (3)學會在屏幕上以七段數(shù)碼管的形式顯示本機時間的方法。 </p><p> ?。?)學會用匯編語言編寫一個完整的程序,提高自己的動手操作能力。 </p><p> ?。?)學習程序設(shè)計的基本思路和方法,培養(yǎng)分析問題、解決問題的能力。</p><p><b&

16、gt;  設(shè)計功能:</b></p><p>  1.電子表,具有時、分、秒24小時制的運行,并可以在8位數(shù)碼管上顯示。</p><p>  2電子表具有啟動鍵、停止鍵、初始化、蜂鳴、按點報時、暫停跳轉(zhuǎn)CSU--CSU。</p><p>  1.3 課程設(shè)計方式與基本要求</p><p>  1.3.1 實驗方式:</p&

17、gt;<p>  微機原理與接口技術(shù)課程設(shè)計共2周,要求學生做出設(shè)計方案(硬件線路圖、程序框圖)并提交指導教師檢查確認。然后進行硬件連接、軟件調(diào)試、得出結(jié)果,由指導教師檢查是否達到設(shè)計要求,最后撰寫報告。根據(jù)通信工程專業(yè)學生的實際情況,課程設(shè)計的指導思想是:對于學習成績好、動手能力強的學生,讓他們有充分發(fā)揮的余地;對于大多數(shù)學生務(wù)必完成設(shè)計要求;對于少數(shù)學習稍差的學生只需完成基本要求?;谶@一原則給出了3~5個題目,每一個

18、題目的大小、難易可以伸縮,由學生自選。</p><p>  1.3.2 基本要求:</p><p>  電子表以時、分、秒的形式實時顯示當前時間。掌握 8255、8259、8253 芯片使用方法和編程方法,通過本次課程設(shè)計,學以致用,進一步理解所學的相關(guān)芯片的原理、內(nèi)部結(jié)構(gòu)、使用方法 等,學會相關(guān)芯片實際應(yīng)用及編程,系統(tǒng)中采用 8088 微處理器完成了電子鐘的小 系統(tǒng)的獨立設(shè)計。同時并了

19、解綜合問題的程序設(shè)計掌握實時處理程序的編制和調(diào) 試方法,掌握一般的設(shè)計步驟和流程,使我們以后搞設(shè)計時邏輯更加清晰。</p><p>  1.熟練掌握匯編語言的程序設(shè)計;</p><p>  熟練掌握各種編程接口芯片的編程應(yīng)用</p><p>  3.通過實驗方法掌握各種電路綜合分析與設(shè)計方法。</p><p>  1.4 設(shè)計所用元件<

20、;/p><p>  設(shè)備是武漢恒科電子教學儀器有限公司的超想—3000TB綜合實驗/仿真系統(tǒng)。配合PC機構(gòu)成實驗環(huán)境。</p><p>  8253 定時器:用于產(chǎn)生秒脈沖,其輸出信號可作為中斷請示信號送 IRQ2。 </p><p>  8279 接口芯片:實現(xiàn)鍵盤輸入和顯示輸出。 </p><p>  8259 中斷控制器:用于產(chǎn)生中斷。&l

21、t;/p><p>  8255 并行控制器:觸發(fā)LED燈閃爍和蜂鳴器揚聲。</p><p>  數(shù)碼管:六個 LED 用于顯示時:分:秒值。</p><p>  發(fā)光二極管:閃爍報時。</p><p><b>  蜂鳴器:揚聲報時。</b></p><p>  二、 設(shè)計題目及思想</p>

22、<p>  2.1 設(shè)計原理:</p><p>  計算機原理與接口技術(shù)是通信工程專業(yè)的一門專業(yè)基礎(chǔ)課程,學生需要掌握RAM擴充、8253計數(shù)器/定時器、8255并行口、8251串行口、8259中斷控制器、D/A數(shù)模轉(zhuǎn)換、A/D模數(shù)轉(zhuǎn)換、DMA、LED顯示等各個器件的性能和使用方法。課程設(shè)計的目地是綜合這些基礎(chǔ)知識,就具體問題讓學生做出軟、硬件解決方案并付諸實施,以培養(yǎng)解決實際問題的能力。<

23、/p><p>  本程序的主要設(shè)計原理是用主程序完成鍵盤按鍵的掃描,實現(xiàn)計時結(jié)果的數(shù)碼管顯示,實現(xiàn)秒與分之間的轉(zhuǎn)換。通過判斷鍵盤按鍵調(diào)用相應(yīng)功能程序段以實現(xiàn)相應(yīng)功能,即實現(xiàn)了啟動、暫停、復(fù)位功能,以及通過鍵盤進行十分、分、十秒、秒時間的手動設(shè)置功能。</p><p>  利用8253的定時器功能。8253的四個端口地址為48H,49H,4AH,4BH,本實驗采用8253的通道2,工作在方式3(

24、方波發(fā)生器方式)輸入CLK2為1MHZ。先給8253的初始值0C350H,循環(huán)記數(shù)。即一次記數(shù)完后,自動裝入初始值。輸出OUT2作為8259的輸入脈沖。8259有兩個口地址,本實驗為20H和21H,其中20H用來寫ICW1,21H用來寫ICW2、ICW4,本實驗中8259為單片,邊沿觸發(fā),采用3號中斷源,即IR3和8253輸出口OUT2相連,每過1/20秒接收到一個中斷,向8259發(fā)出中斷請求信號,如果電平信號不符合要求,則自動轉(zhuǎn)到7號

25、中斷,顯示"ERR",CPU響應(yīng)后,在中斷處理程序中,對中斷次數(shù)進行記數(shù),記滿20次,把時間緩沖區(qū)中的時間加1,并將其輸入到顯示緩沖區(qū),以便顯示器顯示更新后的時間。</p><p>  計數(shù)初值的計算:1/1000000*X=1/20 X=50000D=0C350H(用1MHZ信號產(chǎn)生1/20秒方波)。</p><p><b>  2.2 主要模塊 </

26、b></p><p><b>  系統(tǒng)各個模塊設(shè)計 </b></p><p><b>  系統(tǒng)總體設(shè)計 </b></p><p>  本系統(tǒng)設(shè)計的電子鐘以 8088 微處理器作為 CPU, 8253 做定時計數(shù)器產(chǎn)生時 用 鐘頻率,8279 做可編程并行接口顯示時鐘和鍵盤電路,8259 做中斷控制器產(chǎn)生中 斷。在此系

27、統(tǒng)中,8253 的功能是定時,接入 8253 的 CLK 信號為周期性時鐘信號。 8253 采用計數(shù)器 0,工作于方式 2,使 8253 的 OUT0 端輸出周期性的負脈沖信號。 即每隔 20ms, 8253 的 OUT0 端就會輸出一個負脈沖的信號, 此信號接 8259 的 IR2, 當中斷到 50 次數(shù)后,CPU 即處理,使液晶顯示器上的時間發(fā)生變化。8255接受CS片選信號,計時到點數(shù)產(chǎn)生輸出。程序由以下模塊組成:系統(tǒng)共有 5 個

28、功能模塊,分別為,主控模塊,顯示模塊,定時模塊,并行接口模塊,中斷模塊。</p><p><b>  2、主控模塊 </b></p><p>  主控模塊是系的核心模塊,對 8253、8279 進行初始化,設(shè)置中斷向量,掃描 鍵盤根據(jù)按鍵值作相應(yīng)的處理。主要由軟件實現(xiàn)。它的主要功能是調(diào)用其它模塊 對系統(tǒng)工作進行協(xié)調(diào),它的主要功能是讀小鍵盤輸入鍵值并執(zhí)行要做的工作,如

29、果鍵值為 C 則將顯示初始值 00:00:00 置入顯示緩沖,并調(diào)用顯示模塊顯示。如 果鍵值為 G 則開中斷, (中斷程序為秒最低位加一) 。如果鍵值為 D 則關(guān)中斷,停 止動態(tài)顯示。如健值為 P 則連續(xù)六次調(diào)用小鍵盤模塊,將鍵值依次存入顯示緩沖。 并調(diào)用顯示模塊顯示。如果健值為 E,則終止程序,返回 DOS。</p><p><b>  3. 定時模塊 </b></p>&l

30、t;p>  定時模塊是為 8259 提供中斷請求信號的。由一片 8253 實現(xiàn),選用定時器 0#, 工作在方式 3,由于時鐘應(yīng)該 1 秒走動一次,所以輸出值應(yīng)為 1S,其輸出信號可作 為 8259 的中斷請求信號。 </p><p>  4. 中斷處理模塊 </p><p>  中斷模塊實現(xiàn)動態(tài)顯示的,硬件為一片 8259,由于中斷請求信號為每秒一次, 中斷程序該為時間按秒

31、增加,并顯示,只要開中斷,便可實現(xiàn)每秒顯示時間增加一 秒,從而達到動態(tài)顯示的效果。</p><p><b>  5 . 并行模塊</b></p><p>  并行模塊是8255是數(shù)據(jù)在多根傳輸線上一次以8位為單位進行傳輸。8255由數(shù)據(jù)總線緩沖器,讀/寫控制邏輯、A組和B 組控制電路以及3個數(shù)據(jù)端口(A 口、B 口和C口)等組成。</p><p&

32、gt;<b>  6. 顯示模塊</b></p><p>  顯示模塊是將顯示緩沖區(qū)的數(shù)值送到 LED 顯示的功能模塊,顯示緩沖區(qū)是由六 個字節(jié)構(gòu)成,分別保存小時的高位和低位,分鐘的高位和低位,秒鐘的高位和低位。 硬件上由六個 LED 構(gòu)成,軟件上由掃描顯示的方法實現(xiàn)。</p><p><b>  2.3 芯片初始化</b></p>

33、<p>  1.8253A定時/計數(shù)</p><p>  8253 A既可作定時器又可作計數(shù)器:</p><p>  (1) 計數(shù): 計數(shù)器裝入初值后,當GATE為高電平時,可用外部事件作為CLK 脈沖對計數(shù)值進行減1 計數(shù),每來一個脈沖減1,當計數(shù)值減至0時,由OUT 端輸出一個標志信號。</p><p>  (2) 定時: 計數(shù)器裝入初值后,當GAT

34、E為高電平時,由CLK 脈沖觸發(fā)開始自動計數(shù),當計數(shù)到零時,發(fā)計數(shù)結(jié)束定時信號。</p><p>  除上述典型應(yīng)用外,8253A還可作頻率發(fā)生器、分頻器、實時鐘、單脈沖發(fā)生器等。</p><p><b>  8253A控制字</b></p><p>  2.8259單級中斷控制</p><p>  8259A編程及初始

35、化</p><p><b>  寫初始化命令字</b></p><p>  寫初始化命令字ICW1(A0=0),以確定中斷請求信號類型,清除中斷屏蔽寄存器,中斷優(yōu)先級排隊和確定系統(tǒng)用單片還是多片。</p><p>  中斷優(yōu)先級排隊和確定系統(tǒng)用單片還是多片。</p><p>  3. 8279顯示接口</p>

36、<p>  8279A的控制命令</p><p>  (1) 鍵盤顯示器方式設(shè)置命令</p><p>  * RESET后,設(shè)定為該種方式。</p><p>  (2) 掃描頻率控制命令</p><p><b>  4.8255并行</b></p><p><b>  8

37、255A控制字</b></p><p>  (1) 方式選擇控制字</p><p><b>  2.4 程序流程圖</b></p><p><b>  1.主程序流程圖</b></p><p><b>  2.電子表處理程序</b></p><p

38、><b>  2.5硬件接線圖</b></p><p><b>  實驗線路連接</b></p><p>  1.8253A芯片的CLK2引出插孔連分頻輸出插孔T1(1MHZ)。</p><p>  2. 8259A的IRQ3插孔和8253A的OUT2插孔相連。</p><p>  3.將82

39、79接口模塊上的插座DU(JB51)(a-h)用8芯線連接至數(shù)碼管模塊插座DU (a-h),8279接口模塊上插座BIT(JB53)連接至數(shù)碼管模塊插座BIT。</p><p>  4.8255 的片選CS插孔和8253A的Y2插孔相連,PC0-7和發(fā)光二極管相連,PC0和蜂鳴器相連。</p><p>  5.1MHz和開關(guān)K1 相連,開關(guān)K2 和8259A 的IR7相連。</p

40、><p><b>  三、 調(diào)試結(jié)果</b></p><p>  打開匯編軟件DVCC實驗系統(tǒng),設(shè)置正確的接口并且聯(lián)機進入程序匯編界面。</p><p>  按照電子表設(shè)計的硬件把線路一一連接正確。</p><p>  8253計數(shù)器接線情況</p><p>  8255并行接口接線情況</p

41、><p>  8259單級中斷接線情況</p><p>  數(shù)碼管位選與段選接線情況</p><p><b>  K開關(guān)接線情況</b></p><p>  按照正確接線之后,再把程序通過DVCC匯編寫進去,編譯再次鏈接,然后調(diào)試無誤,點擊運行。數(shù)碼管會顯示初始時間00-59-40,8個發(fā)光二極管保持常亮,然后時間開始往下運

42、行,到01-00-00時,發(fā)光二極管同時閃爍并且蜂鳴器揚聲,該狀態(tài)持續(xù)一分鐘后自動停止;此外,撥動K 開關(guān),會調(diào)出CSU—CSU,并且時間暫停,重新?lián)芑厝?,則繼續(xù)運行時間。程序正確無誤,實驗效果良好,需要多次在不同的機子嘗試。</p><p><b>  四、 課程設(shè)計總結(jié)</b></p><p>  4.1遇到問題及解決方案</p><p>

43、  在設(shè)計中遇到不少的難題:</p><p>  在一開始按照指導書接線后沒有得到相應(yīng)的效果讓我十分的疑惑,也認真檢查了硬件的接線線路,后來得知是不一定每一個的儀器都能順利與主機鏈接上,后來經(jīng)過多次的多部機子調(diào)試后得到能成功運行代碼的平臺。</p><p>  在改進設(shè)計方案中,考慮過加入數(shù)字鍵盤進行時間校對,但從儀器的內(nèi)部接線方法上我暫時得不到可行的計劃,或許鍵盤確實能實現(xiàn)時間的校對;此

44、外,我發(fā)現(xiàn)8279有RESET的功能,不過從電路原理圖上找不到接線,沒法簡單得實現(xiàn)時間重置。</p><p>  為了解決時間暫停,我想到簡單的硬件操作,就是直接給脈沖接上低電平,使8253A的計數(shù)功能無法繼續(xù)進行,當脈沖接回高電平則繼續(xù)計數(shù)。</p><p>  當數(shù)碼管暫停后,為了讓效果更好,我加入了IRQ7中斷,本來該中斷是觸發(fā)錯誤電平,數(shù)碼管顯示Err,然后我把中斷屏蔽取消,并且給

45、DATA1本是存儲IRQ7的緩存數(shù)據(jù)改為新的代碼,讓其顯示CSU—CSU。</p><p>  在整點報時上,融入了8255,8255由DATA8的數(shù)值決定跳轉(zhuǎn)哪種狀態(tài),當分鐘大于等于1分鐘,則是二極管常亮,當分鐘小于等于0分鐘,則是二極管閃爍和蜂鳴器揚聲。</p><p>  4.2 課程設(shè)計心得體會</p><p>  在設(shè)計剛開始時,我們只是知道要用8253A

46、完成計數(shù),用8259與數(shù)碼管單元完成顯示功能,但是具體怎么實現(xiàn)的還不是很清楚。在接下來的一小段時間里,我們覺得無從下手,但通過自己耐心搜集資料,向老師和同學請教,慢慢理出了頭緒,也有了自己的設(shè)計思想和設(shè)計框架,并有了一定的實現(xiàn)方法。</p><p>  對于設(shè)計題目來說,并非那么得復(fù)雜,但要設(shè)計者將所學轉(zhuǎn)換成相應(yīng)的實際應(yīng)用卻并非一件容易的事情。本設(shè)計題目的設(shè)計思想是簡單的,只需要使用8255A完成計數(shù),用8259

47、與8279A數(shù)碼管單元完成顯示功能,并通過自己的理解附加一些功能片段來完成電子表的人性化功能設(shè)計,如電子表的校準、電子表的開始、停止、清零等功能。</p><p>  在課程設(shè)計過程中,我深刻地體會到:《微機原理與接口技術(shù)》這門課程對于我們的要求不僅限于對書本知識的理解,更重要的是對書本知識的運用。除此之外,我們應(yīng)該在學習過程中充分發(fā)揮自己的想象力和創(chuàng)新意識,將對書本知識的理解與我們的創(chuàng)新意識相結(jié)合,設(shè)計出實用且

48、功能良好的實物。通過本次課程設(shè)計,也提高了我們的編程能力、協(xié)作能力和創(chuàng)新能力,為以后的學習打下了良好的基礎(chǔ)。</p><p><b>  參考文獻</b></p><p>  [1]梁健武 ,《微機原理與接口技術(shù)》 中國水利水電出版社</p><p>  [2] 宋杰 汪志宏 江敏,《微機原理與接口技術(shù)課程設(shè)計》機械工業(yè)出版社</p>

49、;<p>  [3]范會敏 李晉惠,《微型計算機原理及接口技術(shù)應(yīng)用》 科學出版社</p><p>  附錄:電子表軟件代碼</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE//指定代碼段為CS</p><p>  INTPORT1 EQU 0020H/

50、/8259端口地址,EQU符號常量</p><p>  INTPORT2 EQU 0021H//把地址定義為符號名</p><p>  INTQ3 EQU INTERUPT3</p><p>  INTQ7 EQU INTERUPT7</p><p>  CONTPORT EQU 00DFH//82

51、79端口地址</p><p>  DATAPORT EQU 00DEH</p><p>  DATA1 EQU 0500H//數(shù)據(jù)段</p><p>  DATA2 EQU 0508H</p><p>  DATA3 EQU 0518H</p><p>  DATA4 EQU 05

52、20H</p><p>  DATA5 EQU 0528H</p><p>  DATA6 EQU 0529H</p><p>  DATA7 EQU 052AH//時</p><p>  DATA8 EQU 052BH//分</p><p>  DATA9 EQU 0

53、52CH//秒</p><p>  DATA10 EQU 052EH</p><p>  IOCONPT EQU 0073H//8255端口,控制寄存器端口地址</p><p>  IOCPT EQU 0072H//C口</p><p>  IOBPT EQU

54、 0071H//B口</p><p>  IOAPT EQU 0070H//A口</p><p>  ORG 1000H//目標程序第一字節(jié)的入口地址,1000H為數(shù)據(jù)段劃分區(qū)間</p><p>  START: CALL FORMAT//CALL調(diào)用子程序</p><p>  

55、CLD//方向標志位,DF復(fù)位,程序往下執(zhí)行</p><p>  MOV DX,CONTPORT //8279初始化</p><p>  MOV AL,00H//000為標志位,鍵盤互鎖</p><p>  OUT DX,AL ;KEYBORD DIS

56、PLY MODE</p><p>  MOV AL,2AH//001為標志位,分頻系數(shù)是10D</p><p>  OUT DX,AL ;8279 CLOCK</p><p>  MOV AL,0d0h//110為標志位,清除FIFO狀態(tài)字</p><p&g

57、t;  OUT DX,AL ;8279 CLEAR</p><p>  MOV AL,90h//100為標志位,顯示RAM,AI自增1</p><p>  OUT DX,AL ;READ FIFO RAM COMMAND</p><p>  MOV

58、 DX,004BH //8255初始化,是16位計數(shù)器,片選</p><p>  MOV AL,0B6H//計數(shù)器2方式3先低后高二進制</p><p>  OUT DX,AL</p><p>  MOV DX,004AH//計數(shù)器2的端口地址</p><p>  MOV AL,50

59、H</p><p>  OUT DX,AL</p><p>  MOV AL,0C3H</p><p>  OUT DX,AL//裝載0C350H初值</p><p>  MOV SI,DATA3//源操作數(shù)放到源變址寄存器</p><p>  CALL LEDDI

60、SP</p><p>  MOV AX,0H</p><p>  MOV DS,AX</p><p>  CALL WRINTVER</p><p>  MOV AL,13H //8253初始化,邊沿觸發(fā)單片用ICW4</p><p>  MOV DX,I

61、NTPORT1//命令寄存器地址</p><p>  OUT DX,AL</p><p>  MOV AL,08H//00001000B選中第3個,11為IRQ3</p><p>  MOV DX,INTPORT2//IRQ3,寫ICW2</p><p>  OUT DX,AL</p>

62、;<p>  MOV AL,0BH//緩沖主片非自動處理器8086</p><p>  OUT DX,AL//寫基本工作方式ICW4</p><p>  MOV AL,77H//操作命令字OCW1,中斷屏蔽</p><p>  OUT DX,AL//01110111B,0為中斷1為屏蔽<

63、/p><p>  MOV AL,80H //8255初始化,寫控制字</p><p>  MOV DX,IOCONPT</p><p>  OUT DX,AL//A方式0,ABC口為輸出</p><p>  MOV DX,IOCPT//C口</p>&l

64、t;p>  MOV AL,0FFH//高電平,燈全亮</p><p>  OUT DX,AL</p><p>  WAITING: STI//開中斷,整點報時</p><p>  IOLED0: MOV AL,0FFH//方式2,ABC為輸入</p><p>

65、  MOV DX,IOCPT</p><p>  OUT DX,AL</p><p>  CALL T1</p><p>  MOV CX,2</p><p>  MOV AL,0FFH</p><p>  IOLED1: MOV DX,IOCPT<

66、/p><p>  OUT DX,AL</p><p>  AND AL,00H</p><p>  PUSH CX</p><p>  MOV CX,8FFFH</p><p>  DELAY0: LOOP DELAY0</p><p>  POP

67、 CX</p><p>  LOOP IOLED1</p><p>  CALL T2</p><p>  JMP IOLED0</p><p>  T1: CMP BYTE PTR DS:[DATA8],1H//>=1min燈亮</p><p&g

68、t;  JNB T1</p><p>  T2: CMP BYTE PTR DS:[DATA8],0H//<=0min燈閃蜂鳴</p><p>  JB T2</p><p>  WRINTVER: MOV AX,0H</p><p>  MOV ES

69、,AX</p><p>  MOV DI,002CH//002CH=44D=4*11,11為中斷類型</p><p>  LEA AX,INTQ3//取中斷向量表IRQ3偏移地址到AX</p><p>  STOSW//再把AX內(nèi)容放到ES:DI所指002CH</p><p>  MOV AX,CS

70、//取中斷向量表IRQ3段地址</p><p><b>  STOSW</b></p><p>  MOV DI,003CH//003CH=60D=4*15,15為IRQ7中斷</p><p>  LEA AX,INTQ7//類型號</p><p><b>  STOSW</b&g

71、t;</p><p>  MOV AX,CS</p><p><b>  STOSW</b></p><p><b>  RET</b></p><p>  INTERUPT3:CLI //關(guān)中斷,CPU 開始執(zhí)行</p>

72、<p>  MOV AL,DS:[DATA6]</p><p>  INC AL//AL自增</p><p>  MOV DS:[DATA6],AL//記錄中斷次數(shù)</p><p>  CMP AL,14H//滿20次,往下執(zhí)行</p><p>  JC PLAY

73、//有借位跳PLAY</p><p>  MOV BYTE PTR DS:[DATA6],00H</p><p>  MOV SI,DATA4//顯示把DATA4地址給SI</p><p>  CALL LEDDISP</p><p>  CALL NEWTIME</p><p

74、>  CALL CONVERSALL</p><p>  PLAY: MOV AL,20H//再讀一次中斷</p><p>  MOV DX,INTPORT1//OCW2</p><p>  OUT DX,AL</p><p><b>  STI</b>

75、;</p><p><b>  IRET</b></p><p>  INTERUPT7: CLI//當電平不符,自動跳Err</p><p>  MOV SI,DATA1</p><p>  CALL LEDDISP</p><p>  MOV AL,2

76、0H</p><p>  MOV DX,INTPORT1</p><p>  OUT DX,AL</p><p><b>  IRET</b></p><p>  LEDDISP: MOV AL,90H//顯示RAM</p><p>  MOV

77、DX,CONTPORT</p><p>  OUT DX,AL</p><p>  MOV CX,08H //與LOOP共用,循環(huán)8次</p><p>  MOV BYTE PTR DS:[DATA5],07H//刷新數(shù)碼管</p><p><b>  LED1:</b></p>

78、<p>  MOV BL,DS:[DATA5]</p><p>  MOV BH,0H</p><p>  MOV AL,CS:[BX+SI]//051FH為段地址</p><p>  MOV DX,DATAPORT</p><p>  OUT DX,AL</p>&

79、lt;p>  SUB BYTE PTR DS:[DATA5],01H//從051FH每次減1</p><p>  LOOP LED1//直到0518H跳出循環(huán)</p><p>  LED2:RET</p><p>  FORMAT: MOV BX,0//DATA1,顯示CSU--CSU</p>

80、;<p>  MOV WORD PTR DS:[BX+DATA1],6D3EH</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],4039H</p><p>  ADD BX,2</p><p>  MOV WORD PTR D

81、S:[BX+DATA1],3E40H</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],396DH</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],063FH//DATA2</p

82、><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],4F5BH</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],6D66H</p><p>  ADD BX,2&l

83、t;/p><p>  MOV WORD PTR DS:[BX+DATA1],077DH</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],6F7FH</p><p>  ADD BX,2</p><p>  MOV WOR

84、D PTR DS:[BX+DATA1],7C77H</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],5E39H</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],7179H</p&

85、gt;<p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],3F3FH//DATA3</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],3F40H</p><p>  ADD

86、BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],403FH</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],3F3FH</p><p>  ADD BX,2</p><p>  MOV

87、 WORD PTR DS:[BX+DATA1],3F3FH//DATA4</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],3F40H</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1

88、],403FH</p><p>  ADD BX,2</p><p>  MOV WORD PTR DS:[BX+DATA1],3F3FH</p><p>  MOV BYTE PTR DS:[DATA6],00D//DATA6-10</p><p>  MOV BYTE PTR DS:[DATA7],11

89、H</p><p>  MOV BYTE PTR DS:[DATA8],59H</p><p>  MOV BYTE PTR DS:[DATA9],40H</p><p>  MOV WORD PTR DS:[DATA10],DATA4</p><p>  RET//遠返回</p>

90、;<p>  CONVERS1: MOV BH,0H//只要個位</p><p>  AND AL,0FH//主函數(shù)每次加1</p><p>  MOV BL,AL//給低8位到BL</p><p>  MOV AL,CS:[BX+DATA2]//從DATA2找到BX對應(yīng)數(shù)</p&

91、gt;<p><b>  RET</b></p><p>  CONVERS2: PUSH AX//保護原來AX寄存器存放的內(nèi)容</p><p>  CALL CONVERS1</p><p>  MOV BX,WORD PTR DS:[DATA10]</p><p>

92、  MOV DS:[BX],AL</p><p>  ADD WORD PTR DS:[DATA10],01H//地址0520H+1</p><p>  POP AX//AL重置為DATA9或8或7</p><p>  PUSH CX//保護CX</p><p>  MOV CL,4H&l

93、t;/p><p>  SHR AL,CL//右移兩個數(shù)碼管,先移個位后十位</p><p>  POP CX</p><p>  CALL CONVERS1</p><p>  MOV BX,WORD PTR DS:[DATA10]</p><p>  MOV DS:[BX],A

94、L</p><p><b>  RET</b></p><p>  CONVERSALL: MOV AL,BYTE PTR DS:[DATA9]//秒</p><p>  CALL CONVERS2</p><p>  ADD WORD PTR DS:[DATA10],02H</p

95、><p>  MOV AL,BYTE PTR DS:[DATA8]//分</p><p>  CALL CONVERS2</p><p>  ADD WORD PTR DS:[DATA10],02H</p><p>  MOV AL,BYTE PTR DS:[DATA7]//時</p><

96、p>  CALL CONVERS2</p><p>  MOV WORD PTR DS:[DATA10],DATA4</p><p><b>  RET</b></p><p>  NEWTIME: CMP BYTE PTR DS:[DATA9],59H//判斷秒到59?</p><p

97、>  JC ADD1</p><p>  MOV BYTE PTR DS:[DATA9],0D</p><p>  CMP BYTE PTR DS:[DATA8],59H//判斷分=59?</p><p>  JC ADD2</p><p>  MOV BYTE PTR DS:[DATA8]

98、,0D</p><p>  CMP BYTE PTR DS:[DATA7],23H//判斷時=23?</p><p>  JC ADD3</p><p>  MOV BYTE PTR DS:[DATA7],0D</p><p>  JMP OK</p><p>  ADD1:

99、 MOV AL,BYTE PTR DS:[DATA9]//秒步進1</p><p>  ADD AL,1D</p><p>  DAA//十六進制調(diào)整消ABCDEF…</p><p>  MOV BYTE PTR DS:[DATA9],AL</p><p>  JMP OK</

100、p><p>  ADD2: MOV AL,BYTE PTR DS:[DATA8]//分步進1</p><p>  ADD AL,1D</p><p><b>  DAA</b></p><p>  MOV BYTE PTR DS:[DATA8],AL</p><

101、;p>  JMP OK</p><p>  ADD3: MOV AL,BYTE PTR DS:[DATA7]//時步進1</p><p>  ADD AL,1D</p><p><b>  DAA</b></p><p>  MOV BYTE PTR DS:[

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論