課程設(shè)計(jì)-8086電子時(shí)鐘設(shè)計(jì)(共26頁(yè))_第1頁(yè)
課程設(shè)計(jì)-8086電子時(shí)鐘設(shè)計(jì)(共26頁(yè))_第2頁(yè)
課程設(shè)計(jì)-8086電子時(shí)鐘設(shè)計(jì)(共26頁(yè))_第3頁(yè)
課程設(shè)計(jì)-8086電子時(shí)鐘設(shè)計(jì)(共26頁(yè))_第4頁(yè)
課程設(shè)計(jì)-8086電子時(shí)鐘設(shè)計(jì)(共26頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上微機(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)題能力的一種較好方法。 微機(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)

2、發(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í)鐘功能介紹 可調(diào)整運(yùn)行的

3、電子鐘具有三種工作狀態(tài):P.”狀態(tài)、運(yùn)行狀態(tài)、調(diào)整狀態(tài)。 (1)“P.”狀態(tài):依靠上電進(jìn)入,在此狀態(tài)下,按B, C, D鍵均無(wú)效,按A鍵有效,進(jìn)入運(yùn)行狀態(tài)。 (2)運(yùn)行狀態(tài):按奇數(shù)次A鍵進(jìn)入,在此狀態(tài)下,按B, 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)下,按A, B, C, D鍵均有效。如按下A鍵,則退出調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài);按下B, 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ú)A鍵按下(在“P.”狀

4、態(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的PO口和P2口外接LED數(shù)碼管構(gòu)成顯示器;P1口外接四個(gè)按鍵A, B, C, D構(gòu)成鍵盤(pán)電路。如圖2-1所示。 圖2-1 AT89S52單片機(jī)設(shè)

5、計(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方案選擇 就方案一用單片機(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ì)算: 選用82

6、53的定時(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,輸出200Hza mov dx,233h mov ax,1250 mov a1,74h out dx,al out dx,al mov aLah mov dx,231h out dx,al3.2電子鐘的時(shí)間顯示 電子鐘的時(shí)鐘時(shí)間在六位數(shù)碼管上進(jìn)行顯示,因此

7、,在內(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ì)4.1硬件設(shè)計(jì)電路圖4.1.1主電路模塊主電路模塊由8086, 8253, 8255A構(gòu)成,電路如圖4-1所示。4-1主電路模塊電路4.1.2 LED顯示模塊顯示部分由6個(gè)LED組成,用8255A的A口作LED的段碼輸出口,B口作六個(gè)LED數(shù)碼管的位控輸出線。電路如圖4-24-2顯示模塊電路4.1.3按鍵模塊 四個(gè)按鍵A, B, C, D分別完成各自功能,由8255A的C口控制。電路如圖4-

8、3 4-3按鍵模塊電路4.1.4總體電路圖 總體電路圖見(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)行顯示。1. AD7AD0(雙向。三態(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),并送到地址總線上。

9、在DMA方式時(shí),這些銀線被浮置為高阻狀態(tài)。 2.A15A8(輸出,三態(tài))為8位地址線。在讀寫(xiě)存儲(chǔ)器或外設(shè)端口色中個(gè)總線周期內(nèi),都作為地址線輸出高8位地址。在DMA方式時(shí),這些引線被浮置為高阻。3.A19/S6A16/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í)表示正

10、在對(duì)存儲(chǔ)器或IO端口進(jìn)行讀操作。若IOM為低電平,表示讀取存儲(chǔ)器的數(shù)據(jù),若IOM為高電平,表示讀取IO端口的數(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指令下面的指令。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(輸入)可屏蔽

11、中斷請(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í)

12、,及復(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(輸入)時(shí)鐘信號(hào),它為CPU和總線控制電路提供基準(zhǔn)時(shí)鐘,對(duì)時(shí)鐘信號(hào)要求:13周期為高電平,23周期為低電平。8088的標(biāo)準(zhǔn)時(shí)鐘頻率為5MZ。11.電源和地VCC為電源引線,單一的為+5V電源。引腳為1和20為兩條GND線,要求均要接地。12.IOM訪問(wèn)存儲(chǔ)器或IO端口的控制信號(hào)。若IOM為高電平,則訪問(wèn)的是IO端口;若IOM為低電平,則訪問(wèn)的是存儲(chǔ)器。13.WR寫(xiě)信號(hào)。當(dāng)其有效時(shí)表示CPU正在對(duì)存儲(chǔ)器或IO

13、端口進(jìn)行寫(xiě)操作,具體對(duì)水進(jìn)行寫(xiě)操作,有IOM信號(hào)決定。本信號(hào)在總線周期的T2,T3。TW狀態(tài)有效。在DMA方式時(shí),此線被浮置為高阻。4.2.2 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-5 8253引腳圖 由上圖可知,8253一共有24條引腳,其中: D7 -DO雙向數(shù)據(jù)線:WR(低電平有效)寫(xiě)輸入信號(hào); RD(

14、低電平有效)讀愉入信號(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ì)象同步。4.2.3 8255A芯片的內(nèi)部結(jié)構(gòu)及引腳8255A可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A, B, C三個(gè)并行接口,用+5V單電源供電,能在以下三種工作方式下工作:方式0-基木輸入/輸出方式方式1-選通輸入/輸出方式方式2-雙向選通輸入/輸出方式8255A引腳圖如圖

15、4-6所示,各引腳功能如下:D7-DO與CPU側(cè)連接的八條雙向數(shù)據(jù)線;WR(低電平有效)寫(xiě)輸入信號(hào);RD(低電平有效)讀輸入信號(hào);CS(低電平有效)片選輸入信號(hào):A0, A1片內(nèi)寄存器選擇輸入信號(hào); 4-6 8255A引腳圖PAOPA7 A口外設(shè)雙向數(shù)據(jù)線; PB7-PBO B口外設(shè)雙向數(shù)據(jù)線;PC7-PCO C口外設(shè)雙向數(shù)據(jù)線RESET復(fù)位輸入信號(hào) 5、軟件設(shè)計(jì)5.1電子時(shí)鐘部分程序流程框圖5.1.1主程序流程框圖圖5-1主程序流程框圖5.1.2鍵掃子程序流程框圖如圖5-2所示圖5-2鍵掃子程序流程框圖5.1.3中斷處理程序流程框圖如圖5-3所示圖5-3中斷處理程序流程框圖5.2電子時(shí)鐘總體

16、程序總程序見(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é)論

17、,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。有了這次的設(shè)計(jì)經(jīng)驗(yàn),相信在以后的學(xué)習(xí)設(shè)計(jì)實(shí)踐過(guò)程中,我可以做到更好。 回顧此次課程設(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)

18、 1.戴梅馨,史嘉權(quán)編著.微型計(jì)算機(jī)技術(shù)及應(yīng)用(第三版)北京:清華大學(xué)出版社,2003 2.李順增,吳國(guó)東,趙河明等.微機(jī)原理及接口技術(shù)北京:機(jī)械工業(yè)出版社,2006 3孫德文.微型計(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)顯示model small.stack 50,數(shù)據(jù)段databuf d6 0,0,0,0,0,0;顯示緩沖區(qū);數(shù)碼管筆形碼led d63FH,06H,5BH,4FH,6

19、6H,6DH,7DH,07H,7FH,6FH,80hhour d6 08h;時(shí)緩沖單元min db 30h;分緩沖單元see d6 30h;秒緩沖單元mseo d6 0;毫秒緩沖單元dex db 0;筆形碼索引值;鍵盤(pán)編碼表keytab DW 57FH,5BFH,5DFH,5EFH,5FEH,5FDH,5FBH,5F7H DW 67FH,6BFH,6DFH,6EFH,6FEH,6FDH,6FBH,6F7Hkeyend dw 7ffhagekey db 12;鍵齡oldkey dw 0;鍵碼字保存keynum d6 0;鍵號(hào)keyok db 0;按鍵響應(yīng)標(biāo)記state d6 0;系統(tǒng)狀態(tài),。一運(yùn)

20、行態(tài);1一修改態(tài)keymd db 0;修改鍵標(biāo)記,B一修改時(shí);C一修改分;D-修改秒some d6 0;時(shí)間設(shè)定單元,保存鍵盤(pán)輸入的時(shí)間二代碼段code;主程序:;實(shí)現(xiàn)8253的設(shè)置,中斷向量的設(shè)置,檢測(cè)系統(tǒng)大鍵盤(pán)信號(hào),有按鍵就結(jié)束程序返回系統(tǒng)。main proc farstart: mov ax,data;設(shè)置數(shù)據(jù)段和附加段 mov ds,ax mov es,ax cli;關(guān)中斷;設(shè)置8253, 2l,方式2,輸入250kHz,輸出200Hz mov dx,233h mov a1,74h out dx,al m- dx.231h mov ax,1250 out dx,al mov al,ah

21、 out dx,al;保存原中斷向量 a1,Obh ah,35b21hes bxdsint nush vushPush;設(shè)置新中斷向量mov dx, offset intpromov ax,seg intpromov ds,axmov a1,Obhmov ah,25htm 21h;打開(kāi)中斷屏蔽 pop ds in a1,21h and al,Of7h out 21h,a1 sti;開(kāi)中斷;等持按鍵,返回系統(tǒng)wat: mov ah,l int lbh jz wat;回復(fù)中斷向量 pop dx pop ds mov a1,Obh mov ah,25h int 21h;退出程序,返回系統(tǒng) mov a

22、x,4e00h im 21h,中斷一f程序:;完成時(shí)鐘處理、鍵盤(pán)監(jiān)控和顯示功能tntpro proc near push ds;保存寄存器 push ax push cx axax,data;設(shè)置數(shù)據(jù)段和代碼段寄存器ds,ax;不是修改狀態(tài)才走時(shí)鐘nush;時(shí)鐘處理模塊,以5毫秒為單位調(diào)整時(shí)、分秒。elk: inc msecnU魷、hcnnl m ml ad da mlcnnl抑mIadd al,lmin,almin,60hdaacmPjne nextmov min,0mov al,houradd al,ldaamov hour,alcmp hour,24hjne nextmov hour,0

23、,鍵盤(pán)監(jiān)控模塊next: dec agekeyjz nextljmp dspnextl: mov agekey,12mov dx,223h;設(shè)置PA輸出,PB輸入mov a1,82hout dx,almov a1,0 ;A口輸出低電平,讀B口mov dx,220hout dx,al mov dx,221hin al,dxmov bh,almov dx,223h;設(shè)置PB輸出,PA輸入mov a1,90hout dx,almov al,() ;bmov dx,22lhout dx,almov dx,220bin al,dxmov bl,al ;i?and bx,7ffh;去除鍵碼中無(wú)用位數(shù)cmp

24、 bx,7ffhjne keyon;有按鍵則進(jìn)入按鍵處理mov keyok,0;無(wú)按鍵則清除響應(yīng)標(biāo)志退出按鍵處理jmp dspkeyon: cmp. bx,oldkeyje keyonl;已經(jīng)去抖動(dòng)則直接處理按鍵movagekey,4;有新按鍵則設(shè)置鍵齡退出中斷mov keyok,0mov oldkey,bximp dspkeyonl: cmp keyok,ljne II;按鍵已響應(yīng)則退出鍵盤(pán)處理imp dsp11: mov keyok,l;設(shè)立按鍵響應(yīng)標(biāo)記 stdlea di,keyend;指向鍵碼表mov ax,bx;讀取鍵號(hào),地址遞減,cx的值為鍵號(hào) mov cx,17repne sca

25、swje keyon2imp dspkeyon2: mov keynum,cl;保存鍵號(hào)cmp state,0;系統(tǒng)在修改態(tài)否?jne keyon3;跳到修改態(tài)的處理cmp keynum,0ah;為A鍵否jne keybmov keymd,l;作a鍵修改標(biāo)志movhour,0aah沙時(shí)顯示為一mov state,l;進(jìn)入修改態(tài)imp dspkeyb: cmp keynum,Obh;為B鍵否jne keyemov keymd,2;作b鍵修改標(biāo)志mov min,0aah;分鐘異示為.mov state,l;進(jìn)入修改態(tài)imp dspkeyc: cmp keynum,Och;為c鍵否je keyclimp dspkeycl: mov keymd,3;作c鍵修改標(biāo)志 mov sec,0aahmov state,l;秒顯示為.imp dspkeyon3: cmp keynum,9;在修改態(tài),判斷是否為數(shù)字鍵jbe keys ;=24jb key-3mov hour,0;大于24時(shí),輸入為。mov sdme,0;清除時(shí)間單元imp dspkey-3: mov al,stimemov hour,al;小于24時(shí),輸入設(shè)定時(shí)間mov stime,0;清除時(shí)間單元imp dspkey

溫馨提示

  • 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)論