微機應(yīng)用系統(tǒng)課程設(shè)計電腦時鐘報時器_第1頁
微機應(yīng)用系統(tǒng)課程設(shè)計電腦時鐘報時器_第2頁
微機應(yīng)用系統(tǒng)課程設(shè)計電腦時鐘報時器_第3頁
微機應(yīng)用系統(tǒng)課程設(shè)計電腦時鐘報時器_第4頁
微機應(yīng)用系統(tǒng)課程設(shè)計電腦時鐘報時器_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 本 科 課 程 設(shè) 計 說 明 書微機應(yīng)用系統(tǒng)課程設(shè)計 -電腦時鐘報時器學 院 名 稱 : 機械工程學院 專 業(yè) 班 級 : 測控0801 學 號 : 3080302009 學 生 姓 名 : 指導(dǎo)教師姓名: 指導(dǎo)教師職稱: 教 授 2011 年 6月微機系統(tǒng)與接口技術(shù)課程設(shè)計任務(wù)書一、 設(shè)計目的1、 建立微機系統(tǒng)概念,加深對微機系統(tǒng)的理解和認識,提高微機系統(tǒng)應(yīng)用能力。2、 進一步學習和掌握微機程序設(shè)計方法,通過應(yīng)用程序編寫和調(diào)試,學習程序調(diào)試方法。3、 進一步熟悉微機典型接口芯片的使用,接口與外設(shè)及系統(tǒng)連接方法。二、 題目微機應(yīng)用系統(tǒng)設(shè)計電腦時鐘報時器的設(shè)計三、 設(shè)計要求1、 以8086(

2、8088)cpu為主控單元,構(gòu)建微機應(yīng)用系統(tǒng)。2、 應(yīng)用系統(tǒng)的硬件設(shè)計,畫出電路原理圖、線路連接圖。3、 應(yīng)用系統(tǒng)的軟件設(shè)計,畫出軟件流程圖、寫出主控程序。4、 根據(jù)實驗條件進行微機應(yīng)用系統(tǒng)的部分模擬調(diào)試工作,寫出調(diào)試說明。5、 整理設(shè)計說明書,列出參考文獻清單。四、 列出所使用元器件和設(shè)備清單五、 完成定時/計數(shù)器8253,中斷控制器8259實驗,寫出實驗報告目錄摘要 1第1章 概述 2第2章 電腦時鐘報時器硬件設(shè)計32.1、開發(fā)環(huán)境及設(shè)備 32.1.1、設(shè)計環(huán)境32.1.2、設(shè)計所用設(shè)備3 2.2、設(shè)計思想與原理 32.2.1、設(shè)計思想32.2.2、設(shè)計原理32.3、設(shè)計所用芯片結(jié)構(gòu) 42

3、.3.1、8255芯片的內(nèi)部結(jié)構(gòu)及引腳 42.3.2、8253芯片的內(nèi)部結(jié)構(gòu)及引腳 52.4、硬件結(jié)構(gòu)示意圖 62.4.1、硬件結(jié)構(gòu)示意圖62.4.1、硬件結(jié)構(gòu)示意圖7第3章 電腦時鐘報時器軟件設(shè)計83.1、軟件設(shè)計思路 83.2 軟件設(shè)計流程圖83.2.1主控模塊框圖 83.2.2時間顯示模塊框圖 93.2.3初始界面顯示模塊框圖10 3.3、主要控制程序103.3.1、主控模塊103.3.2、初始界面顯示模塊113.3.3、時間顯示模塊12第4章 系統(tǒng)模擬與試驗調(diào)試15設(shè)計總結(jié) 20參考文獻 21元器件和設(shè)備清單22摘要運用所學知識,初步掌握8255、8253及74ls138譯碼器芯片使用

4、方法和編程方法,通過本次課程設(shè)計,學以致用,進一步理解所學的相關(guān)芯片的原理、內(nèi)部結(jié)構(gòu)、使用方法等,學會相關(guān)芯片實際應(yīng)用及編程。同時并了解綜合問題的程序設(shè)計掌握實時處理程序的編制和調(diào)試方法,掌握一般的設(shè)計步驟和流程,使我們以后搞設(shè)計時邏輯更加清晰,使自己的設(shè)計水平和對所學的知識的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。本次設(shè)計利用實驗臺上提供的8255、8253、74ls138譯碼器和數(shù)碼顯示電路,設(shè)計一個電子時鐘,由8255控制定時及初始值的預(yù)置,由8253執(zhí)行定時,撥動不同開關(guān)分別控制電子時鐘和定時的啟停。關(guān)鍵詞 8255 8253 74ls138譯碼器 數(shù)碼顯示電路 電子時鐘abs

5、tract using studies the knowledge,masters 8255、8253 and the 74ls138 translator chip application method and the programming method initially,through this curriculum project,studies for the purpose of application ,further understood studies related chip principle,internal structure,application method

6、and so on,academic society related to chip practical application and programming.simultaneously and understood that the synthesis problems the programming grasps the real-time processing procedure the establishment and the debug method,grasps the general design procedure and the flow,causes we will

7、later do when the design logic to be clearer,causes own design level and to the knowledge application ability which as well as the analysis question will study solves the question ability to have the comprehensive enhancement.this design uses in the laboratory bench to provide 8255、8253、74ls138 tran

8、slator and the numerical code display circuit ,designs an electronic clock,by 8255 controls fixed time and the starting value initialization,by 8253 executions fixed time,moves the different switch to control the electronic clock separately and fixed time opens and stops.keywords: 8255 8253 74ls138t

9、ranslator numerical code display circuit electronic clock第1章 概述課程設(shè)計是培養(yǎng)和鍛煉學生在學習完本門課后綜合應(yīng)用所學理論知識解決實際工程設(shè)計和應(yīng)用問題的能力的重要教學環(huán)節(jié),它具有動乎、動腦和理論聯(lián)系實際的特點,是培養(yǎng)在校工科大學生理論聯(lián)系實際、敢于動手、善于動手和獨立自主解決設(shè)計實踐中遇到的各種問題能力的一種較好方法。微型計算機原理及應(yīng)用是一門應(yīng)用性、綜合性、實踐性較強的課程,沒有實際的有針對性的設(shè)計環(huán)節(jié),學生就不能很好的理解和掌握所學的技術(shù)知識,更缺乏解決實際問題的能力。所以通過有針對性的課程設(shè)計,使學生學會系統(tǒng)地綜合運用所學的理

10、論知識,提高學生在微機應(yīng)用方面的開發(fā)與設(shè)計本領(lǐng),系統(tǒng)的掌握微機硬軟件設(shè)計方法,同時并了解綜合問題的程序設(shè)計掌握實時處理程序的編制和調(diào)試方法,掌握一般的設(shè)計步驟和流程,使我們以后搞設(shè)計時邏輯更加清晰,使自己的設(shè)計水平和對所學的知識的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。時鐘就是一種對時間進行累計的工具,即計時。計時的本質(zhì)就是計數(shù),只不過這里的“數(shù)”的單位是時間單位,如果把一小片一小片計時單位累計起來,就可獲得一段時間。因此,使用計數(shù)器對時鐘脈沖進行計數(shù),就是時鐘實現(xiàn)的基本原理;再用led數(shù)碼管顯示出來,并設(shè)計出幾個開關(guān)用于對時鐘功能進行控制,這樣,一個完整的時鐘就設(shè)計完成了。本次課程設(shè)

11、計系統(tǒng)中采用8088微處理器完成了電子鐘的小系統(tǒng)的獨立設(shè)計,利用8253定時器和8255控制設(shè)計一個具有時、分、秒顯示的電子時鐘,并定義一個啟動開關(guān),當撥動開關(guān)的時候,時鐘從當前的設(shè)定值(可以在緩沖區(qū)中設(shè)置)開始走時。并設(shè)定一個定時開關(guān),以控制定時的開始與結(jié)束。第2章 電腦時鐘報時器硬件設(shè)計2.1、開發(fā)環(huán)境及設(shè)備2.1.1、設(shè)計環(huán)境pc機一臺、windows 98系統(tǒng)、微機原理實驗儀、八芯排線、導(dǎo)線若干。2.1.2、設(shè)計所用設(shè)備 8255并口:用做接口芯片,和8088相連。8253芯片:用來輸出一定頻率的脈沖信號來控制定時led:六個led用于顯示時:分:秒值。撥動開關(guān):用于控制設(shè)置。led發(fā)

12、光二極管:五個發(fā)光二極管分別用于顯示60s向分鐘進位、60分向小時 進位、電子鐘的工作狀態(tài)標志及2s定時的顯示。2.2、設(shè)計思想與原理2.2.1、設(shè)計思想本系統(tǒng)設(shè)計的電子時鐘以8088微處理器作為cpu,8255做可編程并行接口顯示時鐘。在此系統(tǒng)中,以軟件形式對時鐘的開關(guān)、調(diào)節(jié)和定時進行控制,以達到初步的時鐘原型。通過8255的編程輸入,送cpu進行處理,以完成相應(yīng)功能。2.2.2、設(shè)計原理利用實驗臺上提供的8255、8253、74ls138譯碼器和數(shù)碼顯示電路,設(shè)計一個電子時鐘,由8255控制定時及初始值的預(yù)置,撥動開關(guān)控制電子時鐘的啟停。電子時鐘的顯示格式hh:mm:ss由左到右分別為時、

13、分、秒,最大記時23:59:59超過這個時間時分秒位都清零從00:00:00重新開始?;竟ぷ髟恚好堪俜种幻雽Π俜种幻爰拇嫫鞯膬?nèi)容加一,并依次對秒、分、小時寄存器的內(nèi)容加一,六個數(shù)碼管動態(tài)顯示時、分、秒的當前值。2.2.2.1、內(nèi)容利用實驗臺上提供的8255、8253和數(shù)碼顯示電路,設(shè)計一個電子時鐘,由8255控制定時及初始值的預(yù)置,撥動開關(guān)k1控制電子時鐘的啟停;由8253控制定時程序,本實驗中定時2秒,即每兩秒紅燈閃爍一次,并通過開關(guān)k2控制定時的開始與結(jié)束。電子時鐘的顯示格式hh:mm:ss由左到右分別為時、分、秒,最大記時23:59:59超過這個時間時分秒位都清零從00:00:0

14、0重新開始。2.2.2.2、要求本實驗要求設(shè)計一個定時顯示裝置,用六個數(shù)碼管顯示時間,用撥動開關(guān)k1控制計時開始與結(jié)束顯示時間。系統(tǒng)一運行就從21點58分55秒開始計時,并在數(shù)碼管上顯示時、分、秒當前值?;竟ぷ髟恚好堪俜种幻雽Π俜种幻爰拇嫫鞯膬?nèi)容加一,并依次對秒、分、小時寄存器的內(nèi)容加一;六個數(shù)碼管動態(tài)顯示時、分、秒的當前值。2.3、設(shè)計所用芯片結(jié)構(gòu)2.3.1、8255芯片的內(nèi)部結(jié)構(gòu)及引腳 8255可編程外圍接口芯片是intel公司生產(chǎn)的通用并行i/o接口芯片,它具有a、b、c三個并行接口,用+5v單電源供電,能在以下三種工作方式下工作:方式0基本輸入/輸出方式方式1選通輸入/輸出方式

15、方式2雙向選通輸入/輸出方式8255引腳圖如圖3.1示,各引腳功能如下。d7d0與cpu側(cè)連接的八條雙向數(shù)據(jù)線;wr(低電平有效)寫輸入信號;rd(低電平有效)讀輸入信號;cs(低電平有效)片選輸入信號;a0、a1片內(nèi)寄存器選擇輸入信號;pa7pa0a口外設(shè)雙向數(shù)據(jù)線;圖3.1pb7pb0b口外設(shè)雙向數(shù)據(jù)線;pc7pc0c口外設(shè)雙向數(shù)據(jù)線;reset復(fù)位輸入信號表3.1 8255端口地址表 信號線寄存器編址ioy3a口0ffd8hb口0ffd9hc口0ffdah控制寄存器0ffdbh2.3.2、8253芯片的內(nèi)部結(jié)構(gòu)及引腳8253可編程定時/計數(shù)器是intel公司生產(chǎn)的通用外圍芯片之一,有3個

16、獨立的十六位計數(shù)器,技術(shù)頻率范圍為02mhz,它所有的技術(shù)方式和操作方式都通過編程控制。8253的功能用途是:(1)延時中斷(2)可編程頻率發(fā)生器(3)事件計數(shù)器(4)二進倍頻器(5)實時時鐘(6)數(shù)字單穩(wěn)(7)復(fù)雜的電機控制器8253有六種工作方式:(1)方式0:計數(shù)結(jié)束中斷(2)方式1:可編程頻率發(fā)生器(3)方式2:頻率發(fā)生器圖3.2(4)方式3:方波頻率發(fā)生器(5)方式4:軟件觸發(fā)的選通信號(6)方式5:硬件觸發(fā)的選通信號8253引腳圖如圖3.2示,各引腳功能如下。d7d0八條雙向數(shù)據(jù)線;wr(低電平有效)寫輸入信號;rd(低電平有效)讀輸入信號;cs(低電平有效)片選輸入信號;a0、a

17、1片內(nèi)寄存器地址輸入信號;clk計數(shù)輸入,用于輸入定時基準脈沖或計數(shù)脈沖;out輸出信號,以相應(yīng)的電平指示計數(shù)的完成,或輸出脈沖波形;gate選通輸入(門控輸入),用于啟動或禁止計數(shù)器的操作,以使計數(shù)器和計測對象同步。表3.2 8253端口地址表信號線寄存器編址ioy20#計數(shù)器0ffe0h1#計數(shù)器0ffe1h2#計數(shù)器0ffe2h控制寄存器0ffe3h2.4、硬件結(jié)構(gòu)示意圖2.4.1、硬件結(jié)構(gòu)示意圖時鐘發(fā)生器a0a7csy074ls138cbaggsa2a3a4d0d78253發(fā)光二極管l12gate0 clk2 out0 out2gate2 clk0pa0 pb0發(fā)光二極管l1開關(guān)k2p

18、c4 8255 pb1發(fā)光二極管l2d0d7d0d7 pb2發(fā)光二極管l3六個七段led數(shù)碼管 顯示器 pc0發(fā)光二極管l6開關(guān)k1在本設(shè)計中,8088工作在最小模式下,負責對8253芯片進行工作方式控制和數(shù)據(jù)處理;8253定時/計數(shù)器用來輸出一定頻率的脈沖信號來控制定時標志發(fā)光二極管l12閃爍,并通過開關(guān)k2控制定時的開始與結(jié)束;由8255控制定時及初始值的預(yù)置,撥動開關(guān)k1控制電子時鐘的啟停;五個發(fā)光二極管l1、l2、l3、l6、l12分別用于顯示60s向分鐘進位、60分向小時進位、滿24小時清零、電子鐘的工作狀態(tài)標志及2s定時時間到的標志。2.4.2、硬件結(jié)構(gòu)線路連接圖在現(xiàn)有的微機原理實

19、驗儀與pc機連接成功的前提下,按如下接線:k1pc0l6,k2pc4,pb0l1,pb1l2,pb2l3,pa0gate0gate2,a2a,a3b,a4c,gsg,y08253cs,t2clk0,clk2out0,out2l12,8253地址線與cpu地址總線相連接注:k1、k2為撥動式開關(guān)pa0、pb0、pb1、pb2、pc0、pc4分別為8255a的a、b、c口中某位l1、l2、l3、l6、l12為五個發(fā)光二極管a2、a3、a4、gs分別為8088cpu上的引腳a、 b、c、g、y0分別為74ls138譯碼器芯片上的引腳 gate0、gate2、5253cs、clk0、clk2、out0

20、、out2分別為8253芯片上的引腳t2為時鐘發(fā)生器的引腳在現(xiàn)有的微機原理實驗儀與pc機均能正常工作的前提下,接線圖見附圖。第3章 電腦時鐘報時器軟件設(shè)計3.1、軟件設(shè)計思路本系統(tǒng)設(shè)計的電子鐘以8088微處理器作為cpu,用8253定時/計數(shù)器用來輸出一定頻率的脈沖信號來控制定時標志發(fā)光二極管l12閃爍,8255做可編程并行接口顯示時鐘,六個8位led數(shù)碼管作顯示設(shè)備,五個發(fā)光二極管分別用于顯示60s向分鐘進位、60分向小時進位、電子鐘的工作狀態(tài)標志及2s定時的顯示。在此系統(tǒng)中,8253的功能是定時,并使ut0與clk2相連,構(gòu)成計數(shù)器級聯(lián),控制l12發(fā)光二極管閃爍,設(shè)定每隔2秒閃爍一次。利用

21、軟件編程實現(xiàn),六個數(shù)碼管動態(tài)顯示時、分、秒的當前值。程序包括主控模塊、初始界面顯示模塊、時間顯示模塊。3.2 軟件設(shè)計流程圖3.2.1主控模塊框圖:開始8255、8253初始化,a口、b口初始化初始界面顯示啟動開關(guān)狀態(tài)是“1”調(diào)用處理子程序開始計時調(diào)用顯示子程序顯示結(jié)果yn3.2.2時間顯示模塊框圖: 恢復(fù)寄存器子程序返回位碼右移1位輸出位碼輸出段碼將字符轉(zhuǎn)換為段碼yyyyyynnnnnn保護寄存器計數(shù)單元減1秒位加110秒位加1分位加110分位加1時位加1全部清零滿1s么?滿10s么?滿60s么?滿10分么?滿60分么?滿24h么?3.2.3初始界面顯示模塊框圖:去表格table、bufda

22、首地址取字位口地址,輸出位碼取字形口地址,輸出段碼軟件延時y子程序返回掃完一遍?n循環(huán)右移1位3.3、主要控制程序3.3.1、主控模塊主控模塊是系統(tǒng)的核心模塊,對8253、8255a進行初始化,掃描撥動開關(guān)k1,根據(jù)開關(guān)狀態(tài)作相應(yīng)的處理,主要由軟件實現(xiàn)。它的主要功能是調(diào)用其它模塊對系統(tǒng)工作進行協(xié)調(diào),它的主要功能是讀撥動開關(guān)k1、k2狀態(tài)值并執(zhí)行要做的工作,如果開關(guān)k1狀態(tài)為“0”,則將顯示初始值21:58:55置入顯示緩沖,并調(diào)用時間顯示模塊顯示。如果開關(guān)狀態(tài)為“1”,調(diào)用初始界面顯示模塊顯示“hello”。撥動開關(guān)k2狀態(tài)為“0”,定時開始,狀態(tài)為“1”,定時結(jié)束。主控模塊實現(xiàn)代碼: mov

23、 bp,0100h mov dx,0ffdbh mov al,89h ;8255控制字,c口輸入,a/b口輸出 out dx,al ;8255初始化 mov dx,0ffe3h ;8253初始化 mov al,25h out dx,al mov dx,0ffe0h ;2s閃光一次 mov al,40h out dx,al mov dx,0ffe3h ;用級聯(lián) mov al,0a5h out dx,al mov dx,0ffe2h mov al,03h out dx,al;* mov dx,0ffd9h ;使燈均處于滅的狀態(tài)/b口 mov al,0ffh out dx,al mov dx,0ff

24、d8h ;使燈均處于滅的狀態(tài)/a口 mov al,00h out dx,all0: mov dx,0ffdah ;從c口寫入開關(guān)數(shù)據(jù) in al,dx and al,01h cmp al,01h ;判斷時鐘是否啟動 jnz intr1 call l1 ;沒啟動,則轉(zhuǎn)顯示 jmp l0intr1: call intr ;調(diào)用處理子程序 jmp l03.3.2、初始界面顯示模塊在微機原理實驗儀與pc機連接成功的前提下,運行程序,若撥動開關(guān)k1狀態(tài)為“1”,則調(diào)用此顯示模塊顯示“hello”,第六個led數(shù)碼管不顯示。初始界面顯示模塊實現(xiàn)代碼: lea bx,table lea di,bufda m

25、ov cl,20h ;6號的字位碼next: mov dx,0ffddh ;字位口地址 mov al,cl out dx,al ;輸出位碼 mov al,di+06 ;取段碼 xlat mov dx,0ffdch ;輸出段碼,字形口地址 out dx,al push cx mov cx,30h loop $ ;軟件延遲 pop cx cmp cl,01h ;判斷是否掃完一遍 jz l2 ;顯示完一遍則返回 inc di ror cl,1 ;循環(huán)右移一位 jmp next l2: ret3.3.3、時間顯示模塊時間顯示模塊是將顯示緩沖區(qū)的數(shù)值送到led顯示的功能模塊,顯示緩沖區(qū)是由六個字節(jié)構(gòu)成,

26、分別保存小時的高位和低位,分鐘的高位和低位,秒鐘的高位和低位。硬件上由六個led構(gòu)成,軟件上由掃描顯示的方法實現(xiàn)。時間顯示模塊實現(xiàn)代碼: mov dx,0ffdah ;c口輸入 in al,dx and al,10h cmp al,10h ;判斷定時2s開關(guān)是否啟動 jnz dings mov dx,0ffd8h ;停止計時 mov al,00h out dx,al jmp contidings: mov dx,0ffd8h ;開始計時 mov al,01h out dx,alconti: dec bp ;計數(shù)單元減1 jnz l3 jmp l4 ;如未計到100,則直接轉(zhuǎn)顯示l3: jmp

27、displayl4: mov di,offset bufda mov dx,0ffd9h ;b口輸出,使燈全滅 mov al,0ffh out dx,al mov bp,0100h ;計數(shù)單元設(shè)置初值 mov al,di+05 inc al ;秒位加1 mov di+05,al cmp al,0ah ;是否引起進位 jnz display ;無進位則轉(zhuǎn)顯示 mov al,00 mov di+05,al mov al,di+04 inc al ;有進位則本位清零,前一位加1 mov di+04,al cmp al,06 ;是否滿60秒 jnz display ;否,則轉(zhuǎn)顯示 mov dx,0ff

28、d9h ;b口輸出,使黃燈亮 mov al,0feh out dx,al mov al,00 mov di+04,al mov al,di+03 inc al ;是則本位清零,而分位加1 mov di+03,al cmp al,0ah ;是否引起分位有進位 jnz display ;否,則轉(zhuǎn)顯示 mov al,00 mov di+03,al mov al,di+02 inc al mov di+02,al ;有進位,則本位清零,前一位加1 cmp al,06 ;是否滿60分 jnz display ;否,則轉(zhuǎn)顯示 mov al,00 mov di+02,al mov al,di+01 inc

29、al ;有進位,則本位清零,前一位加1 mov di+01,al cmp al,04 ;是否引起時位有進位 jnz display ;否,則轉(zhuǎn)顯示 mov dx,0ffd9h ;b口輸出,使黃燈、綠燈燈亮 mov al,0fch out dx,al mov al,00 mov di+01,al mov al,di inc al ;是則本位清零,前一位加1 mov si,al cmp al,02 ;是否滿24小時 jbe display ;否,則轉(zhuǎn)顯示 mov dx,0ffd9h ;b口輸出,使黃燈、綠燈及紅燈全亮 mov al,0f8h out dx,al mov al,00 mov di,a

30、l ;是則本位清零display: lea bx,table lea di,bufda mov cl,20h ;6號的字位碼display1: mov al,cl mov dx,0ffddh ;字位口地址 out dx,al mov al,di xlat mov dx,0ffdch ;字形口地址 out dx,al push cx mov cx,0a0hwait1: loop wait1 ;軟件延時 pop cx cmp cl,01h ;1號的字位碼 jz aa inc di ror cl,1 jmp display1aa: jmp intrretintrret: ret說明在以上程序中,用到

31、的8255、8253的端口地址如下:8255端口地址:a口、b、c、控制端口地址分別為0ffd8h,0ffd9h,0ffdah,0ffdbh。8253端口地址:控制端口和計數(shù)器0 端口地址分別為00ffe3h,0ffe0h。第4章 系統(tǒng)模擬與試驗調(diào)試在系統(tǒng)模擬調(diào)試的過程中,首先想到的方案的主要功能是讀小鍵盤輸入鍵值并執(zhí)行要做的工作,如果鍵值為c則將顯示初始值21:58:52置入顯示緩沖,并調(diào)用顯示模塊顯示。如果鍵值為g則開中斷,(中斷程序為秒最低位加一)。如果鍵值為d則關(guān)中斷,停止動態(tài)顯示。如健值為p則連續(xù)六次調(diào)用小鍵盤模塊,將鍵值依次存入顯示緩沖。并調(diào)用顯示模塊顯示。如果健值為e,則終止程序

32、,返回dos,并能實現(xiàn)定時時間到時使蜂鳴器蜂鳴。但在以后的幾天的摸索和試驗中發(fā)現(xiàn),由于自己的經(jīng)驗不夠,使自己的這個初始方案未能成功實現(xiàn),后來在同學和老師的指導(dǎo)下,更改了現(xiàn)在的實現(xiàn)方案,即是以撥動開關(guān)代替鍵盤輸入,以發(fā)光二極管代替蜂鳴器,由于自己的時間和水平有限,沒有實現(xiàn)程序的時間動態(tài)更改,現(xiàn)在的實現(xiàn)功能有:時鐘工作的開始和停止的及時性,時鐘工作狀態(tài)的顯示,整分、整時、滿24小時的1s閃燈提示,時鐘定時2s閃動一次發(fā)光二極管提示及其開始和停止的及時性?,F(xiàn)將完整的實驗程序列出如下:code segment assume cs:code,ds:code org 1200hstart: mov bp,

33、0100h mov dx,0ffdbh mov al,89h ;8255控制字,c口輸入,a/b口輸出 out dx,al ;8255初始化;* mov dx,0ffe3h ;8253初始化 mov al,25h out dx,al mov dx,0ffe0h ;2s閃光一次 mov al,40h out dx,al mov dx,0ffe3h;用級聯(lián) mov al,0a5h out dx,al mov dx,0ffe2h mov al,03h out dx,al;* mov dx,0ffd9h ;使燈均處于滅的狀態(tài)/b口 mov al,0ffh out dx,al mov dx,0ffd8h

34、 ;使燈均處于滅的狀態(tài)/a口 mov al,00h out dx,al;*l0: mov dx,0ffdah ;從c口寫入開關(guān)數(shù)據(jù) in al,dx and al,01h cmp al,01h ;判斷時鐘是否啟動 jnz intr1 call l1 ;沒啟動,則轉(zhuǎn)顯示 jmp l0intr1: call intr ;調(diào)用處理子程序 jmp l0;*l1 proc;初始界面顯示程序 lea bx,table lea di,bufda mov cl,20h ;6號的字位碼next: mov dx,0ffddh ;字位口地址 mov al,cl out dx,al ;輸出位碼 mov al,di+0

35、6 ;取段碼 xlat mov dx,0ffdch ;輸出段碼,字形口地址 out dx,al push cx mov cx,30h loop $ ;軟件延遲 pop cx cmp cl,01h ;判斷是否掃完一遍 jz l2 ;顯示完一遍則返回 inc di ror cl,1 ;循環(huán)右移一位 jmp nextl2: retl1 endp;*intr proc mov dx,0ffdah ;c口輸入 in al,dx and al,10h cmp al,10h ;判斷定時2s開關(guān)是否啟動 jnz dings mov dx,0ffd8h ;停止計時 mov al,00h out dx,al jm

36、p contidings: mov dx,0ffd8h ;開始計時 mov al,01h out dx,alconti: dec bp ;計數(shù)單元減1 jnz l3 jmp l4 ;如未計到100,則直接轉(zhuǎn)顯示l3: jmp displayl4: mov di,offset bufda mov dx,0ffd9h ;b口輸出,使燈全滅 mov al,0ffh out dx,al mov bp,0100h ;計數(shù)單元設(shè)置初值 mov al,di+05 inc al ;秒位加1 mov di+05,al cmp al,0ah ;是否引起進位 jnz display ;無進位則轉(zhuǎn)顯示 mov al,

37、00 mov di+05,al mov al,di+04 inc al ;有進位則本位清零,前一位加1 mov di+04,al cmp al,06 ;是否滿60秒 jnz display ;否,則轉(zhuǎn)顯示 mov dx,0ffd9h ;b口輸出,使黃燈亮 mov al,0feh out dx,al mov al,00 mov di+04,al mov al,di+03 inc al ;是則本位清零,而分位加1 mov di+03,al cmp al,0ah ;是否引起分位有進位 jnz display ;否,則轉(zhuǎn)顯示 mov al,00 mov di+03,al mov al,di+02 inc al mov di+02,al ;有進位,則本位清零,前一位加1 cmp al,06 ;是否滿60分 jnz disp

溫馨提示

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

評論

0/150

提交評論