版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 本 科 課 程 設(shè) 計(jì) 說 明 書微機(jī)應(yīng)用系統(tǒng)課程設(shè)計(jì) -電腦時(shí)鐘報(bào)時(shí)器學(xué) 院 名 稱 : 機(jī)械工程學(xué)院 專 業(yè) 班 級(jí) : 測(cè)控0801 學(xué) 號(hào) : 3080302009 學(xué) 生 姓 名 : 指導(dǎo)教師姓名: 指導(dǎo)教師職稱: 教 授 2011 年 6月微機(jī)系統(tǒng)與接口技術(shù)課程設(shè)計(jì)任務(wù)書一、 設(shè)計(jì)目的1、 建立微機(jī)系統(tǒng)概念,加深對(duì)微機(jī)系統(tǒng)的理解和認(rèn)識(shí),提高微機(jī)系統(tǒng)應(yīng)用能力。2、 進(jìn)一步學(xué)習(xí)和掌握微機(jī)程序設(shè)計(jì)方法,通過應(yīng)用程序編寫和調(diào)試,學(xué)習(xí)程序調(diào)試方法。3、 進(jìn)一步熟悉微機(jī)典型接口芯片的使用,接口與外設(shè)及系統(tǒng)連接方法。二、 題目微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)電腦時(shí)鐘報(bào)時(shí)器的設(shè)計(jì)三、 設(shè)計(jì)要求1、 以8086(
2、8088)cpu為主控單元,構(gòu)建微機(jī)應(yīng)用系統(tǒng)。2、 應(yīng)用系統(tǒng)的硬件設(shè)計(jì),畫出電路原理圖、線路連接圖。3、 應(yīng)用系統(tǒng)的軟件設(shè)計(jì),畫出軟件流程圖、寫出主控程序。4、 根據(jù)實(shí)驗(yàn)條件進(jìn)行微機(jī)應(yīng)用系統(tǒng)的部分模擬調(diào)試工作,寫出調(diào)試說明。5、 整理設(shè)計(jì)說明書,列出參考文獻(xiàn)清單。四、 列出所使用元器件和設(shè)備清單五、 完成定時(shí)/計(jì)數(shù)器8253,中斷控制器8259實(shí)驗(yàn),寫出實(shí)驗(yàn)報(bào)告目錄摘要 1第1章 概述 2第2章 電腦時(shí)鐘報(bào)時(shí)器硬件設(shè)計(jì)32.1、開發(fā)環(huán)境及設(shè)備 32.1.1、設(shè)計(jì)環(huán)境32.1.2、設(shè)計(jì)所用設(shè)備3 2.2、設(shè)計(jì)思想與原理 32.2.1、設(shè)計(jì)思想32.2.2、設(shè)計(jì)原理32.3、設(shè)計(jì)所用芯片結(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í)鐘報(bào)時(shí)器軟件設(shè)計(jì)83.1、軟件設(shè)計(jì)思路 83.2 軟件設(shè)計(jì)流程圖83.2.1主控模塊框圖 83.2.2時(shí)間顯示模塊框圖 93.2.3初始界面顯示模塊框圖10 3.3、主要控制程序103.3.1、主控模塊103.3.2、初始界面顯示模塊113.3.3、時(shí)間顯示模塊12第4章 系統(tǒng)模擬與試驗(yàn)調(diào)試15設(shè)計(jì)總結(jié) 20參考文獻(xiàn) 21元器件和設(shè)備清單22摘要運(yùn)用所學(xué)知識(shí),初步掌握8255、8253及74ls138譯碼器芯片使用
4、方法和編程方法,通過本次課程設(shè)計(jì),學(xué)以致用,進(jìn)一步理解所學(xué)的相關(guān)芯片的原理、內(nèi)部結(jié)構(gòu)、使用方法等,學(xué)會(huì)相關(guān)芯片實(shí)際應(yīng)用及編程。同時(shí)并了解綜合問題的程序設(shè)計(jì)掌握實(shí)時(shí)處理程序的編制和調(diào)試方法,掌握一般的設(shè)計(jì)步驟和流程,使我們以后搞設(shè)計(jì)時(shí)邏輯更加清晰,使自己的設(shè)計(jì)水平和對(duì)所學(xué)的知識(shí)的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。本次設(shè)計(jì)利用實(shí)驗(yàn)臺(tái)上提供的8255、8253、74ls138譯碼器和數(shù)碼顯示電路,設(shè)計(jì)一個(gè)電子時(shí)鐘,由8255控制定時(shí)及初始值的預(yù)置,由8253執(zhí)行定時(shí),撥動(dòng)不同開關(guān)分別控制電子時(shí)鐘和定時(shí)的啟停。關(guān)鍵詞 8255 8253 74ls138譯碼器 數(shù)碼顯示電路 電子時(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è)計(jì)是培養(yǎng)和鍛煉學(xué)生在學(xué)習(xí)完本門課后綜合應(yīng)用所學(xué)理論知識(shí)解決實(shí)際工程設(shè)計(jì)和應(yīng)用問題的能力的重要教學(xué)環(huán)節(jié),它具有動(dòng)乎、動(dòng)腦和理論聯(lián)系實(shí)際的特點(diǎn),是培養(yǎng)在校工科大學(xué)生理論聯(lián)系實(shí)際、敢于動(dòng)手、善于動(dòng)手和獨(dú)立自主解決設(shè)計(jì)實(shí)踐中遇到的各種問題能力的一種較好方法。微型計(jì)算機(jī)原理及應(yīng)用是一門應(yīng)用性、綜合性、實(shí)踐性較強(qiáng)的課程,沒有實(shí)際的有針對(duì)性的設(shè)計(jì)環(huán)節(jié),學(xué)生就不能很好的理解和掌握所學(xué)的技術(shù)知識(shí),更缺乏解決實(shí)際問題的能力。所以通過有針對(duì)性的課程設(shè)計(jì),使學(xué)生學(xué)會(huì)系統(tǒng)地綜合運(yùn)用所學(xué)的理
10、論知識(shí),提高學(xué)生在微機(jī)應(yīng)用方面的開發(fā)與設(shè)計(jì)本領(lǐng),系統(tǒng)的掌握微機(jī)硬軟件設(shè)計(jì)方法,同時(shí)并了解綜合問題的程序設(shè)計(jì)掌握實(shí)時(shí)處理程序的編制和調(diào)試方法,掌握一般的設(shè)計(jì)步驟和流程,使我們以后搞設(shè)計(jì)時(shí)邏輯更加清晰,使自己的設(shè)計(jì)水平和對(duì)所學(xué)的知識(shí)的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。時(shí)鐘就是一種對(duì)時(shí)間進(jìn)行累計(jì)的工具,即計(jì)時(shí)。計(jì)時(shí)的本質(zhì)就是計(jì)數(shù),只不過這里的“數(shù)”的單位是時(shí)間單位,如果把一小片一小片計(jì)時(shí)單位累計(jì)起來,就可獲得一段時(shí)間。因此,使用計(jì)數(shù)器對(duì)時(shí)鐘脈沖進(jìn)行計(jì)數(shù),就是時(shí)鐘實(shí)現(xiàn)的基本原理;再用led數(shù)碼管顯示出來,并設(shè)計(jì)出幾個(gè)開關(guān)用于對(duì)時(shí)鐘功能進(jìn)行控制,這樣,一個(gè)完整的時(shí)鐘就設(shè)計(jì)完成了。本次課程設(shè)
11、計(jì)系統(tǒng)中采用8088微處理器完成了電子鐘的小系統(tǒng)的獨(dú)立設(shè)計(jì),利用8253定時(shí)器和8255控制設(shè)計(jì)一個(gè)具有時(shí)、分、秒顯示的電子時(shí)鐘,并定義一個(gè)啟動(dòng)開關(guān),當(dāng)撥動(dòng)開關(guān)的時(shí)候,時(shí)鐘從當(dāng)前的設(shè)定值(可以在緩沖區(qū)中設(shè)置)開始走時(shí)。并設(shè)定一個(gè)定時(shí)開關(guān),以控制定時(shí)的開始與結(jié)束。第2章 電腦時(shí)鐘報(bào)時(shí)器硬件設(shè)計(jì)2.1、開發(fā)環(huán)境及設(shè)備2.1.1、設(shè)計(jì)環(huán)境pc機(jī)一臺(tái)、windows 98系統(tǒng)、微機(jī)原理實(shí)驗(yàn)儀、八芯排線、導(dǎo)線若干。2.1.2、設(shè)計(jì)所用設(shè)備 8255并口:用做接口芯片,和8088相連。8253芯片:用來輸出一定頻率的脈沖信號(hào)來控制定時(shí)led:六個(gè)led用于顯示時(shí):分:秒值。撥動(dòng)開關(guān):用于控制設(shè)置。led發(fā)
12、光二極管:五個(gè)發(fā)光二極管分別用于顯示60s向分鐘進(jìn)位、60分向小時(shí) 進(jìn)位、電子鐘的工作狀態(tài)標(biāo)志及2s定時(shí)的顯示。2.2、設(shè)計(jì)思想與原理2.2.1、設(shè)計(jì)思想本系統(tǒng)設(shè)計(jì)的電子時(shí)鐘以8088微處理器作為cpu,8255做可編程并行接口顯示時(shí)鐘。在此系統(tǒng)中,以軟件形式對(duì)時(shí)鐘的開關(guān)、調(diào)節(jié)和定時(shí)進(jìn)行控制,以達(dá)到初步的時(shí)鐘原型。通過8255的編程輸入,送cpu進(jìn)行處理,以完成相應(yīng)功能。2.2.2、設(shè)計(jì)原理利用實(shí)驗(yàn)臺(tái)上提供的8255、8253、74ls138譯碼器和數(shù)碼顯示電路,設(shè)計(jì)一個(gè)電子時(shí)鐘,由8255控制定時(shí)及初始值的預(yù)置,撥動(dòng)開關(guān)控制電子時(shí)鐘的啟停。電子時(shí)鐘的顯示格式hh:mm:ss由左到右分別為時(shí)、
13、分、秒,最大記時(shí)23:59:59超過這個(gè)時(shí)間時(shí)分秒位都清零從00:00:00重新開始?;竟ぷ髟恚好堪俜种幻雽?duì)百分之一秒寄存器的內(nèi)容加一,并依次對(duì)秒、分、小時(shí)寄存器的內(nèi)容加一,六個(gè)數(shù)碼管動(dòng)態(tài)顯示時(shí)、分、秒的當(dāng)前值。2.2.2.1、內(nèi)容利用實(shí)驗(yàn)臺(tái)上提供的8255、8253和數(shù)碼顯示電路,設(shè)計(jì)一個(gè)電子時(shí)鐘,由8255控制定時(shí)及初始值的預(yù)置,撥動(dòng)開關(guān)k1控制電子時(shí)鐘的啟停;由8253控制定時(shí)程序,本實(shí)驗(yàn)中定時(shí)2秒,即每?jī)擅爰t燈閃爍一次,并通過開關(guān)k2控制定時(shí)的開始與結(jié)束。電子時(shí)鐘的顯示格式hh:mm:ss由左到右分別為時(shí)、分、秒,最大記時(shí)23:59:59超過這個(gè)時(shí)間時(shí)分秒位都清零從00:00:0
14、0重新開始。2.2.2.2、要求本實(shí)驗(yàn)要求設(shè)計(jì)一個(gè)定時(shí)顯示裝置,用六個(gè)數(shù)碼管顯示時(shí)間,用撥動(dòng)開關(guān)k1控制計(jì)時(shí)開始與結(jié)束顯示時(shí)間。系統(tǒng)一運(yùn)行就從21點(diǎn)58分55秒開始計(jì)時(shí),并在數(shù)碼管上顯示時(shí)、分、秒當(dāng)前值?;竟ぷ髟恚好堪俜种幻雽?duì)百分之一秒寄存器的內(nèi)容加一,并依次對(duì)秒、分、小時(shí)寄存器的內(nèi)容加一;六個(gè)數(shù)碼管動(dòng)態(tài)顯示時(shí)、分、秒的當(dāng)前值。2.3、設(shè)計(jì)所用芯片結(jié)構(gòu)2.3.1、8255芯片的內(nèi)部結(jié)構(gòu)及引腳 8255可編程外圍接口芯片是intel公司生產(chǎn)的通用并行i/o接口芯片,它具有a、b、c三個(gè)并行接口,用+5v單電源供電,能在以下三種工作方式下工作:方式0基本輸入/輸出方式方式1選通輸入/輸出方式
15、方式2雙向選通輸入/輸出方式8255引腳圖如圖3.1示,各引腳功能如下。d7d0與cpu側(cè)連接的八條雙向數(shù)據(jù)線;wr(低電平有效)寫輸入信號(hào);rd(低電平有效)讀輸入信號(hào);cs(低電平有效)片選輸入信號(hào);a0、a1片內(nèi)寄存器選擇輸入信號(hào);pa7pa0a口外設(shè)雙向數(shù)據(jù)線;圖3.1pb7pb0b口外設(shè)雙向數(shù)據(jù)線;pc7pc0c口外設(shè)雙向數(shù)據(jù)線;reset復(fù)位輸入信號(hào)表3.1 8255端口地址表 信號(hào)線寄存器編址ioy3a口0ffd8hb口0ffd9hc口0ffdah控制寄存器0ffdbh2.3.2、8253芯片的內(nèi)部結(jié)構(gòu)及引腳8253可編程定時(shí)/計(jì)數(shù)器是intel公司生產(chǎn)的通用外圍芯片之一,有3個(gè)
16、獨(dú)立的十六位計(jì)數(shù)器,技術(shù)頻率范圍為02mhz,它所有的技術(shù)方式和操作方式都通過編程控制。8253的功能用途是:(1)延時(shí)中斷(2)可編程頻率發(fā)生器(3)事件計(jì)數(shù)器(4)二進(jìn)倍頻器(5)實(shí)時(shí)時(shí)鐘(6)數(shù)字單穩(wěn)(7)復(fù)雜的電機(jī)控制器8253有六種工作方式:(1)方式0:計(jì)數(shù)結(jié)束中斷(2)方式1:可編程頻率發(fā)生器(3)方式2:頻率發(fā)生器圖3.2(4)方式3:方波頻率發(fā)生器(5)方式4:軟件觸發(fā)的選通信號(hào)(6)方式5:硬件觸發(fā)的選通信號(hào)8253引腳圖如圖3.2示,各引腳功能如下。d7d0八條雙向數(shù)據(jù)線;wr(低電平有效)寫輸入信號(hào);rd(低電平有效)讀輸入信號(hào);cs(低電平有效)片選輸入信號(hào);a0、a
17、1片內(nèi)寄存器地址輸入信號(hào);clk計(jì)數(shù)輸入,用于輸入定時(shí)基準(zhǔn)脈沖或計(jì)數(shù)脈沖;out輸出信號(hào),以相應(yīng)的電平指示計(jì)數(shù)的完成,或輸出脈沖波形;gate選通輸入(門控輸入),用于啟動(dòng)或禁止計(jì)數(shù)器的操作,以使計(jì)數(shù)器和計(jì)測(cè)對(duì)象同步。表3.2 8253端口地址表信號(hào)線寄存器編址ioy20#計(jì)數(shù)器0ffe0h1#計(jì)數(shù)器0ffe1h2#計(jì)數(shù)器0ffe2h控制寄存器0ffe3h2.4、硬件結(jié)構(gòu)示意圖2.4.1、硬件結(jié)構(gòu)示意圖時(shí)鐘發(fā)生器a0a7csy074ls138cbaggsa2a3a4d0d78253發(fā)光二極管l12gate0 clk2 out0 out2gate2 clk0pa0 pb0發(fā)光二極管l1開關(guān)k2p
18、c4 8255 pb1發(fā)光二極管l2d0d7d0d7 pb2發(fā)光二極管l3六個(gè)七段led數(shù)碼管 顯示器 pc0發(fā)光二極管l6開關(guān)k1在本設(shè)計(jì)中,8088工作在最小模式下,負(fù)責(zé)對(duì)8253芯片進(jìn)行工作方式控制和數(shù)據(jù)處理;8253定時(shí)/計(jì)數(shù)器用來輸出一定頻率的脈沖信號(hào)來控制定時(shí)標(biāo)志發(fā)光二極管l12閃爍,并通過開關(guān)k2控制定時(shí)的開始與結(jié)束;由8255控制定時(shí)及初始值的預(yù)置,撥動(dòng)開關(guān)k1控制電子時(shí)鐘的啟停;五個(gè)發(fā)光二極管l1、l2、l3、l6、l12分別用于顯示60s向分鐘進(jìn)位、60分向小時(shí)進(jìn)位、滿24小時(shí)清零、電子鐘的工作狀態(tài)標(biāo)志及2s定時(shí)時(shí)間到的標(biāo)志。2.4.2、硬件結(jié)構(gòu)線路連接圖在現(xiàn)有的微機(jī)原理實(shí)
19、驗(yàn)儀與pc機(jī)連接成功的前提下,按如下接線:k1pc0l6,k2pc4,pb0l1,pb1l2,pb2l3,pa0gate0gate2,a2a,a3b,a4c,gsg,y08253cs,t2clk0,clk2out0,out2l12,8253地址線與cpu地址總線相連接注:k1、k2為撥動(dòng)式開關(guān)pa0、pb0、pb1、pb2、pc0、pc4分別為8255a的a、b、c口中某位l1、l2、l3、l6、l12為五個(gè)發(fā)光二極管a2、a3、a4、gs分別為8088cpu上的引腳a、 b、c、g、y0分別為74ls138譯碼器芯片上的引腳 gate0、gate2、5253cs、clk0、clk2、out0
20、、out2分別為8253芯片上的引腳t2為時(shí)鐘發(fā)生器的引腳在現(xiàn)有的微機(jī)原理實(shí)驗(yàn)儀與pc機(jī)均能正常工作的前提下,接線圖見附圖。第3章 電腦時(shí)鐘報(bào)時(shí)器軟件設(shè)計(jì)3.1、軟件設(shè)計(jì)思路本系統(tǒng)設(shè)計(jì)的電子鐘以8088微處理器作為cpu,用8253定時(shí)/計(jì)數(shù)器用來輸出一定頻率的脈沖信號(hào)來控制定時(shí)標(biāo)志發(fā)光二極管l12閃爍,8255做可編程并行接口顯示時(shí)鐘,六個(gè)8位led數(shù)碼管作顯示設(shè)備,五個(gè)發(fā)光二極管分別用于顯示60s向分鐘進(jìn)位、60分向小時(shí)進(jìn)位、電子鐘的工作狀態(tài)標(biāo)志及2s定時(shí)的顯示。在此系統(tǒng)中,8253的功能是定時(shí),并使ut0與clk2相連,構(gòu)成計(jì)數(shù)器級(jí)聯(lián),控制l12發(fā)光二極管閃爍,設(shè)定每隔2秒閃爍一次。利用
21、軟件編程實(shí)現(xiàn),六個(gè)數(shù)碼管動(dòng)態(tài)顯示時(shí)、分、秒的當(dāng)前值。程序包括主控模塊、初始界面顯示模塊、時(shí)間顯示模塊。3.2 軟件設(shè)計(jì)流程圖3.2.1主控模塊框圖:開始8255、8253初始化,a口、b口初始化初始界面顯示啟動(dòng)開關(guān)狀態(tài)是“1”調(diào)用處理子程序開始計(jì)時(shí)調(diào)用顯示子程序顯示結(jié)果yn3.2.2時(shí)間顯示模塊框圖: 恢復(fù)寄存器子程序返回位碼右移1位輸出位碼輸出段碼將字符轉(zhuǎn)換為段碼yyyyyynnnnnn保護(hù)寄存器計(jì)數(shù)單元減1秒位加110秒位加1分位加110分位加1時(shí)位加1全部清零滿1s么?滿10s么?滿60s么?滿10分么?滿60分么?滿24h么?3.2.3初始界面顯示模塊框圖:去表格table、bufda
22、首地址取字位口地址,輸出位碼取字形口地址,輸出段碼軟件延時(shí)y子程序返回掃完一遍?n循環(huán)右移1位3.3、主要控制程序3.3.1、主控模塊主控模塊是系統(tǒng)的核心模塊,對(duì)8253、8255a進(jìn)行初始化,掃描撥動(dòng)開關(guān)k1,根據(jù)開關(guān)狀態(tài)作相應(yīng)的處理,主要由軟件實(shí)現(xiàn)。它的主要功能是調(diào)用其它模塊對(duì)系統(tǒng)工作進(jìn)行協(xié)調(diào),它的主要功能是讀撥動(dòng)開關(guān)k1、k2狀態(tài)值并執(zhí)行要做的工作,如果開關(guān)k1狀態(tài)為“0”,則將顯示初始值21:58:55置入顯示緩沖,并調(diào)用時(shí)間顯示模塊顯示。如果開關(guān)狀態(tài)為“1”,調(diào)用初始界面顯示模塊顯示“hello”。撥動(dòng)開關(guān)k2狀態(tài)為“0”,定時(shí)開始,狀態(tài)為“1”,定時(shí)結(jié)束。主控模塊實(shí)現(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 ;用級(jí)聯(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 ;判斷時(shí)鐘是否啟動(dòng) jnz intr1 call l1 ;沒啟動(dòng),則轉(zhuǎn)顯示 jmp l0intr1: call intr ;調(diào)用處理子程序 jmp l03.3.2、初始界面顯示模塊在微機(jī)原理實(shí)驗(yàn)儀與pc機(jī)連接成功的前提下,運(yùn)行程序,若撥動(dòng)開關(guān)k1狀態(tài)為“1”,則調(diào)用此顯示模塊顯示“hello”,第六個(gè)led數(shù)碼管不顯示。初始界面顯示模塊實(shí)現(xiàn)代碼: lea bx,table lea di,bufda m
25、ov cl,20h ;6號(hào)的字位碼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、時(shí)間顯示模塊時(shí)間顯示模塊是將顯示緩沖區(qū)的數(shù)值送到led顯示的功能模塊,顯示緩沖區(qū)是由六個(gè)字節(jié)構(gòu)成,
26、分別保存小時(shí)的高位和低位,分鐘的高位和低位,秒鐘的高位和低位。硬件上由六個(gè)led構(gòu)成,軟件上由掃描顯示的方法實(shí)現(xiàn)。時(shí)間顯示模塊實(shí)現(xiàn)代碼: mov dx,0ffdah ;c口輸入 in al,dx and al,10h cmp al,10h ;判斷定時(shí)2s開關(guān)是否啟動(dòng) jnz dings mov dx,0ffd8h ;停止計(jì)時(shí) mov al,00h out dx,al jmp contidings: mov dx,0ffd8h ;開始計(jì)時(shí) mov al,01h out dx,alconti: dec bp ;計(jì)數(shù)單元減1 jnz l3 jmp l4 ;如未計(jì)到100,則直接轉(zhuǎn)顯示l3: jmp
27、displayl4: mov di,offset bufda mov dx,0ffd9h ;b口輸出,使燈全滅 mov al,0ffh out dx,al mov bp,0100h ;計(jì)數(shù)單元設(shè)置初值 mov al,di+05 inc al ;秒位加1 mov di+05,al cmp al,0ah ;是否引起進(jìn)位 jnz display ;無(wú)進(jìn)位則轉(zhuǎn)顯示 mov al,00 mov di+05,al mov al,di+04 inc al ;有進(jìn)位則本位清零,前一位加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 ;是否引起分位有進(jìn)位 jnz display ;否,則轉(zhuǎn)顯示 mov al,00 mov di+03,al mov al,di+02 inc al mov di+02,al ;有進(jìn)位,則本位清零,前一位加1 cmp al,06 ;是否滿60分 jnz display ;否,則轉(zhuǎn)顯示 mov al,00 mov di+02,al mov al,di+01 inc
29、al ;有進(jìn)位,則本位清零,前一位加1 mov di+01,al cmp al,04 ;是否引起時(shí)位有進(jìn)位 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小時(shí) 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號(hào)的字位碼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 ;軟件延時(shí) pop cx cmp cl,01h ;1號(hào)的字位碼 jz aa inc di ror cl,1 jmp display1aa: jmp intrretintrret: ret說明在以上程序中,用到
31、的8255、8253的端口地址如下:8255端口地址:a口、b、c、控制端口地址分別為0ffd8h,0ffd9h,0ffdah,0ffdbh。8253端口地址:控制端口和計(jì)數(shù)器0 端口地址分別為00ffe3h,0ffe0h。第4章 系統(tǒng)模擬與試驗(yàn)調(diào)試在系統(tǒng)模擬調(diào)試的過程中,首先想到的方案的主要功能是讀小鍵盤輸入鍵值并執(zhí)行要做的工作,如果鍵值為c則將顯示初始值21:58:52置入顯示緩沖,并調(diào)用顯示模塊顯示。如果鍵值為g則開中斷,(中斷程序?yàn)槊胱畹臀患右唬?。如果鍵值為d則關(guān)中斷,停止動(dòng)態(tài)顯示。如健值為p則連續(xù)六次調(diào)用小鍵盤模塊,將鍵值依次存入顯示緩沖。并調(diào)用顯示模塊顯示。如果健值為e,則終止程序
32、,返回dos,并能實(shí)現(xiàn)定時(shí)時(shí)間到時(shí)使蜂鳴器蜂鳴。但在以后的幾天的摸索和試驗(yàn)中發(fā)現(xiàn),由于自己的經(jīng)驗(yàn)不夠,使自己的這個(gè)初始方案未能成功實(shí)現(xiàn),后來在同學(xué)和老師的指導(dǎo)下,更改了現(xiàn)在的實(shí)現(xiàn)方案,即是以撥動(dòng)開關(guān)代替鍵盤輸入,以發(fā)光二極管代替蜂鳴器,由于自己的時(shí)間和水平有限,沒有實(shí)現(xiàn)程序的時(shí)間動(dòng)態(tài)更改,現(xiàn)在的實(shí)現(xiàn)功能有:時(shí)鐘工作的開始和停止的及時(shí)性,時(shí)鐘工作狀態(tài)的顯示,整分、整時(shí)、滿24小時(shí)的1s閃燈提示,時(shí)鐘定時(shí)2s閃動(dòng)一次發(fā)光二極管提示及其開始和停止的及時(shí)性?,F(xiàn)將完整的實(shí)驗(yà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;用級(jí)聯(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 ;判斷時(shí)鐘是否啟動(dòng) jnz intr1 call l1 ;沒啟動(dòng),則轉(zhuǎn)顯示 jmp l0intr1: call intr ;調(diào)用處理子程序 jmp l0;*l1 proc;初始界面顯示程序 lea bx,table lea di,bufda mov cl,20h ;6號(hào)的字位碼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 ;判斷定時(shí)2s開關(guān)是否啟動(dòng) jnz dings mov dx,0ffd8h ;停止計(jì)時(shí) mov al,00h out dx,al jm
36、p contidings: mov dx,0ffd8h ;開始計(jì)時(shí) mov al,01h out dx,alconti: dec bp ;計(jì)數(shù)單元減1 jnz l3 jmp l4 ;如未計(jì)到100,則直接轉(zhuǎn)顯示l3: jmp displayl4: mov di,offset bufda mov dx,0ffd9h ;b口輸出,使燈全滅 mov al,0ffh out dx,al mov bp,0100h ;計(jì)數(shù)單元設(shè)置初值 mov al,di+05 inc al ;秒位加1 mov di+05,al cmp al,0ah ;是否引起進(jìn)位 jnz display ;無(wú)進(jìn)位則轉(zhuǎn)顯示 mov al,
37、00 mov di+05,al mov al,di+04 inc al ;有進(jìn)位則本位清零,前一位加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 ;是否引起分位有進(jìn)位 jnz display ;否,則轉(zhuǎn)顯示 mov al,00 mov di+03,al mov al,di+02 inc al mov di+02,al ;有進(jìn)位,則本位清零,前一位加1 cmp al,06 ;是否滿60分 jnz disp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中歷史第一單元政治體制第2課西方國(guó)家古代和近代政治制度的演變學(xué)案含解析新人教版選擇性必修1
- 2025翻譯作品出版合同樣書
- 2025年南昌貨運(yùn)從業(yè)資格考試模擬考試題庫(kù)及答案大全
- 2025建筑工程施工合同模板 工程施工合同范本
- 上?,F(xiàn)代化工職業(yè)學(xué)院《電工技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海外國(guó)語(yǔ)大學(xué)賢達(dá)經(jīng)濟(jì)人文學(xué)院《建設(shè)法規(guī)與經(jīng)濟(jì)法》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海師范大學(xué)天華學(xué)院《教師綜合素質(zhì)強(qiáng)化》2023-2024學(xué)年第一學(xué)期期末試卷
- 財(cái)務(wù)分析報(bào)告范文簡(jiǎn)
- 2025公司租賃合同范本
- 2025環(huán)評(píng)技術(shù)咨詢合同協(xié)議書
- 排球試題題庫(kù)
- CJJT148-2010 城鎮(zhèn)燃?xì)饧映艏夹g(shù)規(guī)程
- 人教版八年級(jí)上冊(cè)地理問答題提綱
- 試驗(yàn)檢測(cè)方案
- 小學(xué)語(yǔ)文朗讀指導(dǎo)案例
- 小提琴入門教學(xué)法智慧樹知到期末考試答案章節(jié)答案2024年四川音樂學(xué)院
- MOOC 研究生學(xué)術(shù)規(guī)范與學(xué)術(shù)誠(chéng)信-南京大學(xué) 中國(guó)大學(xué)慕課答案
- 高爾斯華綏《品質(zhì)》原文閱讀-中學(xué)語(yǔ)文在線
- 西方文明史導(dǎo)論智慧樹知到期末考試答案2024年
- IATF16949質(zhì)量管理體系過程風(fēng)險(xiǎn)和機(jī)遇評(píng)估分析表
- 《小巴掌童話》試題及答案共6套
評(píng)論
0/150
提交評(píng)論