課程設(shè)計(jì)電子時(shí)鐘設(shè)計(jì)_第1頁(yè)
課程設(shè)計(jì)電子時(shí)鐘設(shè)計(jì)_第2頁(yè)
課程設(shè)計(jì)電子時(shí)鐘設(shè)計(jì)_第3頁(yè)
課程設(shè)計(jì)電子時(shí)鐘設(shè)計(jì)_第4頁(yè)
課程設(shè)計(jì)電子時(shí)鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理及其接口技術(shù)課程設(shè)計(jì)題目:8086電子時(shí)鐘設(shè)計(jì)前言課程設(shè)計(jì)是培養(yǎng)和鍛煉學(xué)生在學(xué)習(xí)完本門(mén)課后綜合應(yīng)用所學(xué)理論知識(shí)解決實(shí)際工程設(shè)計(jì)和應(yīng)用問(wèn)題的能力的重要教學(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í)踐中遇到的各種問(wèn)題能力的一種較好方法?!段C(jī)接口技術(shù)》是一門(mén)應(yīng)用性、綜合性、實(shí)踐性較強(qiáng)的課程,沒(méi)有實(shí)際的有針對(duì)性的設(shè)計(jì)環(huán)節(jié),學(xué)生就不能很好的理解和掌握所學(xué)的技術(shù)知識(shí),更缺乏解決實(shí)際問(wèn)題的能力。所以通過(guò)有針對(duì)性的課程設(shè)計(jì),使學(xué)生學(xué)會(huì)系統(tǒng)地綜合運(yùn)用所學(xué)的理論知識(shí),提高學(xué)生在微機(jī)應(yīng)用方面的開(kāi)發(fā)與設(shè)計(jì)本領(lǐng),系統(tǒng)的掌握微機(jī)硬軟件設(shè)計(jì)方法。時(shí)鐘就是一種對(duì)時(shí)間進(jìn)行累計(jì)的工具,即計(jì)時(shí)。計(jì)時(shí)的本質(zhì)就是計(jì)數(shù),只不過(guò)這里的“數(shù)”的單位是時(shí)間單位,如果把一小片一小片計(jì)時(shí)單位累計(jì)起來(lái),就可獲得一段時(shí)間。因此,使用計(jì)數(shù)器對(duì)時(shí)鐘脈沖進(jìn)行計(jì)數(shù),就是時(shí)鐘實(shí)現(xiàn)的基本原理;再用LED數(shù)碼管顯示出來(lái),并設(shè)計(jì)出幾個(gè)按鍵用于對(duì)時(shí)鐘進(jìn)行調(diào)整,這樣,一個(gè)完整的時(shí)鐘就設(shè)計(jì)完成了。本次課程設(shè)計(jì)要求利用8253定時(shí)器設(shè)計(jì)一個(gè)具有時(shí)、分、秒顯示的電子時(shí)鐘,并定義一個(gè)啟動(dòng)鍵,當(dāng)按下該鍵的時(shí)候,時(shí)鐘從當(dāng)前的設(shè)定值(可以在緩沖區(qū)中設(shè)置)開(kāi)始走時(shí)。同時(shí),再定義三個(gè)按鍵,分別對(duì)時(shí)、分、秒進(jìn)行校正。目錄目錄 1、電子時(shí)鐘功能介紹 2、電子時(shí)鐘系統(tǒng)總體方案設(shè)計(jì) 2.1方案比較 2.2方案選擇 3、電子時(shí)鐘的工作原理 實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)的基本方法 電子鐘的時(shí)間顯示 4、硬件設(shè)計(jì) 硬件設(shè)計(jì)電路圖 主電路模塊 2LED顯示模塊 4.1.3按鍵模塊總體電路圖 硬件設(shè)計(jì)所用芯片介紹 8253芯片的內(nèi)部結(jié)構(gòu)及引腳 8255A芯片的內(nèi)部結(jié)構(gòu)及引腳 5、軟件設(shè)計(jì) 電子時(shí)鐘部分程序流程框圖 主程序流程框圖 鍵掃子程序流程框圖 中斷處理程序流程框圖 電子時(shí)鐘總體程序 6、總結(jié)與體會(huì) 參考文獻(xiàn) 附錄1 附錄21、電子時(shí)鐘功能介紹可調(diào)整運(yùn)行的電子鐘具有三種工作狀態(tài):"P."狀態(tài)、運(yùn)行狀態(tài)、調(diào)整狀態(tài)?!癙.”狀態(tài):依靠上電進(jìn)入,在此狀態(tài)下,按8,C,D鍵均無(wú)效,按A鍵有效,進(jìn)入運(yùn)行狀態(tài)。(2)運(yùn)行狀態(tài):按奇數(shù)次A鍵進(jìn)入,在此狀態(tài)下,按8,C,D鍵均無(wú)效,只有按A鍵有效,按下A鍵后,退出運(yùn)行狀態(tài),進(jìn)入調(diào)整狀態(tài)。(3)調(diào)整狀態(tài):按偶數(shù)次A鍵進(jìn)入,在此狀態(tài)下,按&B,C,D鍵均有效。如按下人鍵,則退出調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài);按下氏C,D鍵,則分別對(duì)時(shí)、分、秒加1,調(diào)整結(jié)束后必須按A鍵,即可退出調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài)口基本功能要求:“P.”穩(wěn)定地顯示在LED顯示器的最左端數(shù)碼管上,無(wú)人鍵按下(在“P.”狀態(tài)下,按下B,C,D鍵無(wú)效),則不進(jìn)入電子鐘的運(yùn)行狀態(tài),繼續(xù)顯示“P.”。按下A鍵后,電子鐘從當(dāng)前的設(shè)定值開(kāi)始走時(shí)。再次按下A鍵后,電子鐘退出運(yùn)行狀態(tài),進(jìn)入調(diào)整狀態(tài),利用B,C,D鍵把電子鐘的顯示時(shí)間修改為當(dāng)前實(shí)時(shí)時(shí)間,時(shí)間修改正確后可再次按下A鍵,電子鐘則退出調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài)。2、電子時(shí)鐘系統(tǒng)總體方案設(shè)計(jì)2.1方案比較方案一:利用AT89S52單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷定時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí):AT89s52的P0口和P2口外接LED數(shù)碼管構(gòu)成顯示器;P1口外接四個(gè)按鍵A,B,C,D構(gòu)成鍵盤(pán)電路。如圖2-1所示。圖2-1AT89s52單片機(jī)設(shè)計(jì)方案框圖方案二:以8086微處理器作為CPU,8253做定時(shí)計(jì)數(shù)器產(chǎn)生時(shí)鐘脈沖,8255A做可編程并行接口,接LED顯示時(shí)鐘和擴(kuò)展調(diào)整按鍵。如圖2-2所示。圖2-2以8086為CPU設(shè)計(jì)方案框圖2.2方案選擇2.2方案選擇就方案一用單片機(jī)來(lái)設(shè)計(jì)電子時(shí)鐘,從主要芯片耗材上來(lái)說(shuō)比方案二要少,但是用單片機(jī)來(lái)設(shè)計(jì)電子時(shí)鐘,需要做的其他模塊,如單片機(jī)最小系統(tǒng),相對(duì)方案二要復(fù)雜很多,而且就程序上的編寫(xiě)來(lái)說(shuō),方案二也比方案一簡(jiǎn)單。因此,本設(shè)計(jì)采用方案二來(lái)做。3、電子時(shí)鐘的工作原理3.1實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)的基本方法利用8253的16位可編程定時(shí)/計(jì)數(shù)器及8086中斷系統(tǒng)實(shí)現(xiàn)時(shí)鐘計(jì)數(shù)。(1)計(jì)數(shù)初值計(jì)算:選用8253的定時(shí)/計(jì)數(shù)器1,把定時(shí)器設(shè)為工作方式2.輸入250kHz,輸出200Hz,定時(shí)時(shí)間為5-,則計(jì)數(shù)溢出200次即得時(shí)鐘計(jì)時(shí)最小單位一秒.(2)采用中斷方式進(jìn)行fly出次數(shù)累計(jì),計(jì)滿200次為秒計(jì)時(shí)((1秒);(3)從秒到分和從分到時(shí)的計(jì)時(shí)是通過(guò)累加和數(shù)值比較實(shí)現(xiàn)。8253的初始化程序段:設(shè)置8253,t1,方式2,輸入250kHz,輸出200Hzamovdx,233hmova1,74hmovax,1250outdx,aloutdx,almovaLahmovdx,231houtdx,al3.2電子鐘的時(shí)間顯示電子鐘的時(shí)鐘時(shí)間在六位數(shù)碼管上進(jìn)行顯示,因此,在內(nèi)部RAN中設(shè)置顯示緩沖區(qū)共6個(gè)單元。3.3電子鐘的啟、停及時(shí)間調(diào)整電子鐘設(shè)置4個(gè)按鍵通過(guò)程序控制來(lái)完成電子鐘的啟、停及時(shí)間調(diào)整A鍵控制電子鐘的啟、停:B鍵調(diào)整時(shí)C鍵調(diào)整分D鍵調(diào)整秒4、硬件設(shè)計(jì)硬件設(shè)計(jì)電路圖主電路模塊由8086,8253,8255A構(gòu)成,電路如圖4-1所示。4-1主電路模塊電路.2LED顯示模塊顯示部分由6個(gè)LED組成,用8255A的A口作LED的段碼輸出口,B口作六個(gè)LED數(shù)碼管的位控輸出線。電路如圖4-24-2顯示模塊電路四個(gè)按鍵&B,C,D分別完成各自功能,由8255A的C口控制。電路如圖4-34-3按鍵模塊電路總體電路圖見(jiàn)附錄l4.2硬件設(shè)計(jì)所用芯片介紹在本系統(tǒng)中,8086工作在最小模式下。負(fù)責(zé)對(duì)8259,8253等芯片進(jìn)行工作方式控制和數(shù)據(jù)處理,對(duì)時(shí)鐘信號(hào)進(jìn)行響應(yīng)并控制led數(shù)碼管進(jìn)行顯示。AD7~AD0(雙向。三態(tài))為低8位地址/數(shù)據(jù)的復(fù)用引腳線。采用分時(shí)的多路轉(zhuǎn)換方法來(lái)實(shí)現(xiàn)對(duì)地址線和數(shù)據(jù)線的復(fù)用。在總線坐騎的T1狀態(tài)。這些銀線表示為這些銀線用作株距總線。可見(jiàn)對(duì)復(fù)用信號(hào)使用時(shí)間來(lái)加以劃分的。它要求在T1狀態(tài)線出現(xiàn)低8位地址時(shí),用地址鎖存器加以鎖存。這樣在隨后的T狀態(tài),即使這些線用作數(shù)據(jù)線,而第8位地址線的地址在個(gè)體卻被記錄保存下來(lái),并送到地址總線上。在DMA方式時(shí),這些銀線被浮置為高阻狀態(tài)。2.A15~A8(輸出,三態(tài))為8位地址線。在讀寫(xiě)存儲(chǔ)器或外設(shè)端口色中個(gè)總線周期內(nèi),都作為地址線輸出高8位地址。在DMA方式時(shí),這些引線被浮置為高阻。3.A19/S6~A16/S3(輸出。三態(tài))為地址/狀態(tài)服用引腳線,在總線周期的T1狀態(tài),這些線表示為最高4位的地址線,在總線周期的其他T狀態(tài),這些線用作提供狀態(tài)信息,同樣需要地址鎖存器對(duì)T1狀態(tài)出現(xiàn)的最高4位地址加以鎖存。狀態(tài)信息S6總是為低電平,S5反映當(dāng)前允許中斷標(biāo)志的狀態(tài)。S4與S3一起指示當(dāng)前那一個(gè)段寄存器被使用。在DMA方式時(shí),這些引線被浮置為高阻。4.RD(輸出,三態(tài))讀信號(hào),當(dāng)其有效時(shí)表示正在對(duì)存儲(chǔ)器或I/O端口進(jìn)行讀操作。若IO/M為低電平,表示讀取存儲(chǔ)器的數(shù)據(jù),若IO/M為高電平,表示讀取I/O端口的數(shù)據(jù)。在DMA方式時(shí),這些引線被浮置為高阻。5.READY(輸入)為準(zhǔn)備就緒信號(hào)。低電平有效。本信號(hào)由等待指令WAIT來(lái)檢查。我們知道當(dāng)CPU執(zhí)行WAIT指令時(shí),CPU處于等待狀態(tài),一旦檢測(cè)到TEST號(hào)為低,則結(jié)束等待狀態(tài),繼續(xù)執(zhí)行WAIT指令下面的指令。15.6.TEST15.6.TEST(輸入)為檢測(cè)信號(hào),低電平有效。本信號(hào)由低呢古代指令WAIT來(lái)檢查。我們知道當(dāng)CPU執(zhí)行WAIT指令時(shí),CPU處于等待狀態(tài),一旦檢測(cè)到TEST號(hào)為低,則結(jié)束等待狀態(tài),繼續(xù)執(zhí)行WAIT指令下面的指令。7.INTR(輸入)可屏蔽中斷請(qǐng)求信號(hào),高電平有效。CPU在執(zhí)行每條指令的最后一個(gè)T狀態(tài)時(shí),去采樣INTR信號(hào),若發(fā)現(xiàn)有效,而中斷允許標(biāo)志IF有為1,則CPU在結(jié)束當(dāng)前指令周期后相應(yīng)中斷請(qǐng)求,賺取執(zhí)行中斷處理程序。8.NMI(輸入)非屏幕中斷請(qǐng)求信號(hào),為一個(gè)邊緣觸發(fā)信號(hào),不能有軟件加以屏蔽。只要在NMI線上出現(xiàn)由低到高的變化信號(hào),則CPU就會(huì)在當(dāng)前指令中,賺取之行給屏蔽中斷處理程序。9.RESET(輸入)復(fù)位信號(hào),高電平有效,復(fù)位時(shí)該信號(hào)要求維持高電平值到4個(gè)時(shí)鐘周期,若使初次加電,則高電平信號(hào)至少要保持50us,復(fù)位信號(hào)的到來(lái),將立即結(jié)束CPU的當(dāng)前操作,內(nèi)部寄存器恢復(fù)到初始狀態(tài)。當(dāng)RESET信號(hào)從高電平回到低電平時(shí),及復(fù)位后進(jìn)入重新啟動(dòng)時(shí),變質(zhì)型從內(nèi)存FFFF0H處帶式的指令,通常在FFFF0H存放一條無(wú)條件轉(zhuǎn)移指令,轉(zhuǎn)移到系統(tǒng)程序的實(shí)際入口處。這樣只要系統(tǒng)被復(fù)位啟動(dòng),就自動(dòng)進(jìn)入系統(tǒng)程序。10.CLK(輸入)25.時(shí)鐘信號(hào),它為CPU和總線控制電路提供基準(zhǔn)時(shí)鐘,對(duì)時(shí)鐘信號(hào)要求:1/3周期為高電平,2/3周期為低電平。8088的標(biāo)準(zhǔn)時(shí)鐘頻率為5MZ。25.11.電源和地VCC為電源引線,單一的為+5V電源。引腳為1和20為兩條GND線,要求均要接地。12.IO/M訪問(wèn)存儲(chǔ)器或I/O端口的控制信號(hào)。若IO/M為高電平,則訪問(wèn)的是I/O端口;若IO/M為低電平,則訪問(wèn)的是存儲(chǔ)器。13.WR寫(xiě)信號(hào)。當(dāng)其有效時(shí)表示CPU正在對(duì)存儲(chǔ)器或I/O端口進(jìn)行寫(xiě)操作,具體對(duì)水進(jìn)行寫(xiě)操作,有IO/M信號(hào)決定。本信號(hào)在總線周期的T2,T3。TW狀態(tài)有效。在DMA方式時(shí),此線被浮置為高阻。8253芯片的內(nèi)部結(jié)構(gòu)及引腳8253有3個(gè)獨(dú)立的十六位計(jì)數(shù)器,計(jì)數(shù)頻率范圍為0-2hIHZ。它所有的計(jì)數(shù)方式和操作方式都通過(guò)編程控制。8253的功能用途是:(1)延時(shí)中斷;(2)可編程頻率發(fā)生器;(3)事件計(jì)數(shù)器;(4)二進(jìn)倍頻器;(5)實(shí)時(shí)時(shí)鐘;(6)數(shù)字單穩(wěn);(7)復(fù)雜的電機(jī)控制器。8253引腳圖以及功能說(shuō)明:圖4-58253引腳圖由上圖可知,8253一共有24條引腳,其中:D7-DO一雙向數(shù)據(jù)線:WR(低電平有效)一寫(xiě)輸入信號(hào);RD(低電平有效)一讀愉入信號(hào);CS(低電平有效)一片選輸入信號(hào):A0,A1一片內(nèi)寄存器地址輸入信號(hào);CLK一一-it數(shù)輸入,用于輸入定時(shí)基準(zhǔn)脈沖或計(jì)數(shù)脈沖OUT輸出信號(hào),以相應(yīng)的電平指示計(jì)數(shù)的完成,或輸出脈沖波形GATE-迭通輸入(門(mén)控輸入),用于啟動(dòng)或禁止計(jì)數(shù)器的操作,以使計(jì)數(shù)器和計(jì)測(cè)對(duì)象同步。8255A芯片的內(nèi)部結(jié)構(gòu)及引腳8255A可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A,B,Cm個(gè)并行接口,用+5V單電源供電,能在以下三種工作方式下工作:方式0-基木輸入/輸出方式方式1-選通輸入/輸出方式方式2-雙向選通輸入/輸出方式圖圖5-2鍵掃子程序流程框圖8255A引腳圖如圖4-6所示,各引腳功能如下:D7-DO—與CPU側(cè)連接的八條雙向數(shù)據(jù)線;WR(低電平有效)一寫(xiě)輸入信號(hào);RD(低電平有效)一讀輸入信號(hào);CS(低電平有效)一片選輸入信號(hào):343 PADI>1 "13 FA2D3 P*33 p人同DJ FA3ly? PJL-7RO :PBO的8255APD1曲口 FB2火1 FB31RESET FB*-S PB3PB?5PET7PCOPCIPC3!PC3FC4PCMFC^1^?4333愛(ài)231123手y73IM9統(tǒng)&q6A243514151-51-?13121Iir-A0,A1一片內(nèi)寄存器選擇輸入信號(hào);4-68255A引腳圖PAO—PA7A口外設(shè)雙向數(shù)據(jù)線;PB7-PBOB口外設(shè)雙向數(shù)據(jù)線;PC7-PCOC口外設(shè)雙向數(shù)據(jù)線RESET一復(fù)位輸入信號(hào)5、軟件設(shè)計(jì)電子時(shí)鐘部分程序流程框圖圖5-1主程序流程框圖如圖5-2所示如圖5-3所示圖5-3中斷處理程序流程框圖電子時(shí)鐘總體程序總程序見(jiàn)附錄26、總結(jié)與體會(huì)微機(jī)接口技術(shù)是一門(mén)應(yīng)用性、綜合性、實(shí)踐性都較強(qiáng)的課程,通過(guò)本次課程設(shè)計(jì)過(guò)程,我基木熟悉和掌握了微機(jī)系統(tǒng)的軟件、硬件設(shè)計(jì)的方法、設(shè)計(jì)步驟,是一次微機(jī)開(kāi)發(fā)應(yīng)用方面的初步訓(xùn)練;通過(guò)本次課程設(shè)計(jì)使我熟練掌握了微機(jī)系統(tǒng)與接口擴(kuò)展電路的設(shè)計(jì)方法,并熟練應(yīng)用8086匯編語(yǔ)言編寫(xiě)應(yīng)用程序和實(shí)際設(shè)計(jì)中的硬軟件調(diào)試方法和步驟,熟悉微機(jī)系統(tǒng)的硬軟件開(kāi)發(fā)工具的使用方法.這次的課程設(shè)計(jì)對(duì)我來(lái)說(shuō),是一次非常重要的鍛煉,通過(guò)這次設(shè)計(jì),我對(duì)所學(xué)的知識(shí)有了更深刻的了解和掌握,使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。有了這次的設(shè)計(jì)經(jīng)驗(yàn),相信在以后的學(xué)習(xí)設(shè)計(jì)實(shí)踐過(guò)程中,我可以做到更好?;仡櫞舜握n程設(shè)計(jì)的過(guò)程,可以用“累并收獲著”來(lái)概括。通過(guò)本次設(shè)計(jì),不但使我的專業(yè)知識(shí)得到鞏固和開(kāi)拓,而且能使我將所學(xué)與實(shí)踐聯(lián)系起來(lái),認(rèn)識(shí)到自身知識(shí)的缺漏,明確自己的努力的方向。計(jì)算機(jī)技術(shù)的發(fā)展日新月異,其接口技術(shù)應(yīng)用十分廣泛,我不但要經(jīng)常跟蹤專業(yè)新技術(shù)、新動(dòng)態(tài),時(shí)刻走在時(shí)代的前列;還要注重積累經(jīng)驗(yàn),在此次設(shè)計(jì)中,積累一些通用俗語(yǔ),才能使自己慢慢地融入專業(yè)之中,更快地進(jìn)入工作角色:此外,還要注重養(yǎng)成終身的學(xué)習(xí)習(xí)慣,擴(kuò)大自己的知識(shí)面,才能促進(jìn)自己不斷進(jìn)步。參考文獻(xiàn)1.戴梅馨,史嘉權(quán)編著.微型計(jì)算機(jī)技術(shù)及應(yīng)用(第三版)北京:清華大學(xué)出版社,20032.李順增,吳國(guó)東,趙河明等.微機(jī)原理及接口技術(shù)北京:機(jī)械工業(yè)出版社,20063孫德文.微型計(jì)算機(jī)技術(shù)高等教育出版社4.趙明富.黃麗雯,李文杰.微機(jī)原理及接口技術(shù)實(shí)驗(yàn)重慶工學(xué)院電子信息與白動(dòng)化學(xué)院5侯伯亨,李伯成微機(jī)原理與接口技術(shù)西安電子科技大學(xué)出版社附錄1附錄2電子時(shí)鐘程序;8255用作讀鍵盤(pán)信息;8253提供時(shí)鐘信號(hào);led采用動(dòng)態(tài)顯示modelsmall.stack50,數(shù)據(jù)段databufd60,0,0,0,0,0;顯示緩沖區(qū);數(shù)碼管筆形碼ledd63FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,80hhourd608h;時(shí)緩沖單元mindb30h;分緩沖單元seed630h;秒緩沖單元mseod60;毫秒緩沖單元dexdb0;筆形碼索引值;鍵盤(pán)編碼表keytabDW57FH,5BFH,5DFH,5EFH,5FEH,5FDH,5FBH,5F7HDW67FH,6BFH,6DFH,6EFH,6FEH,6FDH,6FBH,6F7Hkeyenddw7ffhagekeydb12;鍵齡oldkeydw0;鍵碼字保存keynumd60;鍵號(hào)keyokdb0;按鍵響應(yīng)標(biāo)記stated60;系統(tǒng)狀態(tài),。一運(yùn)行態(tài);1一修改態(tài)keymddb0;修改鍵標(biāo)記,B一修改時(shí);C一修改分;D-修改秒somed60;時(shí)間設(shè)定單元,保存鍵盤(pán)輸入的時(shí)間二代碼段code;主程序:;實(shí)現(xiàn)8253的設(shè)置,中斷向量的設(shè)置,檢測(cè)系統(tǒng)大鍵盤(pán)信號(hào),有按鍵就結(jié)束程序返回系統(tǒng)。mainprocfarstart:movax,data;設(shè)置數(shù)據(jù)段和附加段movds,axmoves,axcli;關(guān)中斷;設(shè)置8253,21,方式2,輸入250kHz,輸出200Hzmovdx,233hmova1,74houtdx,alm-dx.231hmovax,1250outdx,almoval,ahoutdx,al;保存原中斷向量a1,Obhah,35b21hesbxdsJ^intnushvushPush;設(shè)置新中斷向量movdx,offsetintpromovax,segintpromovds,axmova1,Obhmovah,25htm21h;打開(kāi)中斷屏蔽popdsina1,21handal,Of7hout21h,a1sti;開(kāi)中斷;等持按鍵,返回系統(tǒng)wat:movah,lintlbhjzwat;回復(fù)中斷向量popdxpopdsmova1,Obhmovah,25hint21h;退出程序,返回系統(tǒng)movax,4e00him21h,中斷一f程序:;完成時(shí)鐘處理、鍵盤(pán)監(jiān)控和顯示功能tntproprocnearpushds;保存寄存器pushaxpushcxaxmovdx,220hmovdx,220hmoval,hourmoval,hourax,data;設(shè)置數(shù)據(jù)段和代碼段寄存器ds,ax;不是修改狀態(tài)才走時(shí)鐘nush;時(shí)鐘處理模塊,以5毫秒為單位調(diào)整時(shí)、分秒。elk:incmsecnU魷、hcn]nlmmladdamlcn]nl抑mladdal,lmin,almin,60hdaa』cmPjnenextmovmin,0addal,ldaamovhour,alcmphour,24hjnenextmovhour,0,鍵盤(pán)監(jiān)控模塊next:decagekeyjznextljmpdspnextl:movagekey,12movdx,223h;設(shè)置PA輸出,PB輸入mova1,82houtdx,almova1,0;A口輸出低電平,讀B口outdx,almovdx,221hinal,dxmovbh,almovdx,223h;設(shè)置PB輸出,PA輸入mova1,90houtdx,almoval,();bmovdx,22lhoutdx,almovdx,220binal,dxmovbl,al;i?andbx,7ffh;去除鍵碼中無(wú)用位數(shù)cmpbx,7ffhjne卜?丫???有按鍵則進(jìn)入按鍵處理movcx,17movcx,17mov卜6丫。卜,0;無(wú)按鍵則清除響應(yīng)標(biāo)志退出按鍵處理jmpdspkeyon:cmp.bx,oldkeyjekeyonl;E經(jīng)去抖動(dòng)則直接處理按鍵movagekey,4;有新按鍵則設(shè)置鍵齡退出中斷movkeyok,0movoldkey,bximpdspkeyonl:cmpkeyok,ljne^按鍵已響應(yīng)則退出鍵盤(pán)處理impdsp11:movkeyok,l;設(shè)立按鍵響應(yīng)標(biāo)記stdleadi,keyend;指向鍵碼表movax,bx;讀取鍵號(hào),地址遞減,cx的值為鍵號(hào)repnescaswjekeyon2impdspkeyon2:movkeynum,cl;保存鍵號(hào)cmpstate,0;系統(tǒng)在修改態(tài)否?jnekeyon3;跳到修改態(tài)的處理cmpkeynum,0ah;為A鍵否jnekeybmovkeymd,l;作a鍵修改標(biāo)志movhour,0aah沙時(shí)顯示為一movstate,l;進(jìn)入修改態(tài)impdspkeyb:cmpkeynum,Obh;為B鍵否jnekeyemovkeymd,2;作b鍵修改標(biāo)志movmin,0aah;分鐘異示為..mov$土2{0,1;進(jìn)入修改態(tài)impdspkeyc:cmpkeynum,Och;為c鍵否jekeyclimpdspkeycl:movkeymd,3;作c鍵修改標(biāo)志movsec,0aahmovstate,l;秒顯示為..impdspkeyon3:cmpkeynum,9;在修改態(tài),判斷是否為數(shù)字鍵jbekeys;<=9則認(rèn)為是數(shù)字鍵impkeyen;否則判斷是否為確定鍵keyn:moval,stime滋取輸入時(shí)間,十進(jìn)制格式movc1,4shlal,cl;在確定以前最后輸入的兩個(gè)十進(jìn)制數(shù)有效oral,keynummovstime,almovstime,alimpdspkeyen:cmpkeynum,Ofh;處理f鍵jekeyenlimpdspkeyenl:movstate,0;恢復(fù)到運(yùn)行態(tài)cmpkeymd,l;將修改內(nèi)容送小時(shí)單元jnekeyen2movkeymd,0;清除修改小時(shí)標(biāo)志empstime,24h;判斷輸入時(shí)間是否>二24jbkey-3movhour,0;大于24時(shí),輸入為。movsdme,0;清除時(shí)間單元impdspkey-3:moval,stimemovhour,al;小于24時(shí),輸入設(shè)定時(shí)間movsti

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論