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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論