版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、倒計時牌一、方案選擇:1.1 題目要求:顯示距倒計時時刻還有多長時間(顯示:時、分、秒)1.2 總體初設(shè)方案和理由1.2.1 處理器芯片選擇8086微處理器的主要特點(diǎn):8086為16位微處理器,數(shù)據(jù)總線16位,地址總線20位,可尋址1MB#儲空間,時鐘頻率為510MHz8086CPU勺內(nèi)部結(jié)構(gòu)由執(zhí)行單元EUexecutionunit)和總線接口部件BIU(businterfaceunit)兩部分組成。我們最熟悉的微處理器就是8086,所以選擇8086CPU1.2.2 通信接口芯片選擇可編程并行通信接口8255,PA端口作為信號輸入,PB端口做為數(shù)碼管的位選信號輸出端口,PC端口作為數(shù)碼管的片選
2、信號輸出端口。本系統(tǒng)設(shè)計以8086微處理器作為CPU8255做可編程并行接口顯示時鐘和鍵盤電路,接LED顯示倒計時及小時、分鐘、秒(各2位)和擴(kuò)展調(diào)整鍵盤。系統(tǒng)一運(yùn)行就從23時59分59秒開始計時,并在數(shù)碼管上顯示當(dāng)前值,而且,可以用鍵盤設(shè)置當(dāng)前時間?;竟ぷ髟恚好?秒對寄存器的內(nèi)容減一,當(dāng)減60次時,分減一,秒恢復(fù)到59;當(dāng)分減60次時,時減一,分恢復(fù)到59;6個數(shù)碼管動態(tài)顯示時、分、秒的當(dāng)前值二、硬件原理電路圖的設(shè)計及分析:各部分電路的設(shè)計思想及功能特性及原理電路圖:系統(tǒng)分為3個功能模塊,分別為:主程序模塊,小鍵盤控制模塊,LED顯示模塊。2.1 主程序模塊主控模塊是其核心模塊,對825
3、5進(jìn)行初始化,掃描鍵盤根據(jù)按鍵值作相應(yīng)的處理。主要由軟件實(shí)現(xiàn)。它的主要功能是調(diào)用其它模塊對系統(tǒng)工作進(jìn)行協(xié)調(diào),讀小鍵盤輸入鍵值并執(zhí)行要做的工作,如圖1的agMDT函tfADMM猱心峪861”u:gniKB.,srqSJMaEnFFPPPPPPPPPFPPPFPFP3.PPFP圖12.2 小鍵盤模塊小鍵盤模塊送入主控模塊的子功能模塊。由軟件和硬件實(shí)現(xiàn),硬件上由小鍵盤和8255互連,將小鍵值由8255送入主控模塊。軟件上使用行掃描法獲得鍵值并送回主控模塊。本課題只考慮去抖動。執(zhí)行一個約10ms的延時程序后再掃描鍵盤,若F0=1表示真正有鍵按下,從而消除了抖動影響,如圖2圖22.3 LED顯示模塊顯示
4、模塊是將顯示緩沖區(qū)的數(shù)值送到LED顯示的功能模塊,顯示緩沖區(qū)是由六個字節(jié)構(gòu)成,分別保存時的高位和低位,分的高位和低位,秒的高位和低位。硬件上由六個LED構(gòu)成,軟件上由掃描顯示的方法實(shí)現(xiàn),如圖3。2其中,由于實(shí)際應(yīng)用中要求顯示為十進(jìn)制數(shù),而在程序中處理的數(shù)據(jù)都為十六進(jìn)制,因此在程序中要對顯示緩沖區(qū)的數(shù)據(jù)進(jìn)行十進(jìn)制調(diào)整。在總的電路圖中用8255并行通信接口的PC端口進(jìn)行片選,位選由PB端口輸出,根據(jù)如下段碼表來設(shè)計。數(shù)字0123456789七段代碼3FH06H5BH4FH66H6DH7DH07H7FH6FH三、程序設(shè)計與分析:各模塊程序的設(shè)計、完整的程序框圖:3.1 設(shè)計流程圖3.1.1 主程序流
5、程開初始化8253、8255顯示時刻功能鍵是否按下進(jìn)入時刻設(shè)置狀態(tài)確認(rèn)YY是否按下分的個位減1RET分的十位減1RET時的個位減13.1.3鍵盤掃描程序流程圖:開始時的十位減i時的個位賦9RETNN結(jié)束3.2 程序設(shè)計與分析:3.2.1 各模塊程序的設(shè)計(1) 8255A初始化程序開始時對8255A進(jìn)行初始化,PAPRPC&控制工彳在方式0,PA端口為輸入端口。PBPC為輸出端口。DATASEGMENTLEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HXDW?YDW?ZDW?DATAENDSCODESEGMENTASSUMECS:CODE
6、,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,46H;010001108255控制口地址46hMOVAL,82H;10000010A方式0輸出B方式0輸入C輸出OUTDX,AL;向8255寫控制字NEXT:MOVX,59;記錄按鍵次數(shù)MOVY,59MOVZ,23LEASI,LEDMOVAL,00010111B;定時器0方式0OUT4EH,AL;向8253寫控制字MOVAL,255;計數(shù)初值為1MOVDX,48H;計數(shù)器0的端口地址OUTDX,ALREPEAT0:(2)顯示程序模塊根據(jù)方式控制字和連線可知,B口連接數(shù)碼管的ADp進(jìn)行段鎖存,C口進(jìn)行位鎖存。顯示程序如
7、下:CONVERPROCMOVAX,XMOVCL,10DIVCL;按鍵次數(shù)除以10,商是次數(shù)的十位存在AL中,余數(shù)是次數(shù)的各位,存在AH中MOVBX,AX;AH:BHAL:BLMOVAL,02HOUT44H,AL;向8255端口C的Pc0置1使顯示管1工作MOVBP,BXANDBP,0FFH2青除余數(shù),保留商MOVAL,SI+BP;使顯示管顯示相應(yīng)的值OUT40H,AL;將商的值顯示通過PACALLDELYMOVAL,01H;00000001OUT44H,AL;點(diǎn)亮各位led置8255的Pc1為0XCHGBH,BL;交換商和余數(shù)MOVBP,BXANDBP,0FFH2青除商,保留余數(shù)MOVAL,
8、SI+BPOUT40H,AL;將余數(shù)的值顯示通過PACALLDELYMOVAX,YMOVCL,10DIVCL;按鍵次數(shù)除以10,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中MOVBX,AX;AH.BHAL.BLMOVAL,20HOUT44H,AL;向8255端口C的Pc0置1使顯示管1工作MOVBP,BXANDBP,0FFH2青除余數(shù),保留商MOVAL,SI+BP;使顯示管顯示相應(yīng)的值OUT40H,AL;將商的值顯示通過PACALLDELYMOVAL,10H;00000010OUT44H,AL;點(diǎn)亮各位led置8255的Pc1為0XCHGBH,BL;交換商和余數(shù)MOVBP,BXAN
9、DBP,0FFH2青除商,保留余數(shù)MOVAL,SI+BPOUT40H,AL;將余數(shù)的值顯示通過PACALLDELYMOVAX,ZMOVCL,10DIVCL;按鍵次數(shù)除以10,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中MOVBX,AX;AH.BHAL.BLMOVAL,80HOUT44H,AL;向8255端口C的Pc0置1使顯示管1工作MOVBP,BXANDBP,0FFH2青除余數(shù),保留商MOVAL,SI+BP;使顯示管顯示相應(yīng)的值OUT40H,AL;將商的值顯示通過PACALLDELYMOVAL,40H;01000000OUT44H,AL;點(diǎn)亮各位led,置8255的Pc1為0XC
10、HGBH,BL;交換商和余數(shù)MOVBP,BXANDBP,0FFH2青除商,保留余數(shù)MOVAL,SI+BPOUT40H,AL;將余數(shù)的值顯示通過PACALLDELYRETCONVERENDP(3)延時程序模塊控制一個循環(huán)程序循環(huán)以到達(dá)延時的目的。具體語句如下:DELYPROCPUSHCXMOVCX,1000L:LOOPLPOPCXRETDELYENDP3.3程序代碼:DATASEGMENTLEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HXDW?YDW?ZDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTAR
11、T:MOVAX,DATAMOVDS,AXMOVDX,46H;010001108255控制口地址46hMOVAL,82H;10000010A方式0輸出B方式0輸入C輸出OUTDX,AL;向8255寫控制字NEXT:MOVX,59;記錄按鍵次數(shù)MOVY,59MOVZ,23LEASI,LEDMOVAL,00010111B;定時器0方式0OUT4EH,AL;向8253寫控制字MOVAL,255;計數(shù)初值為1MOVDX,48H;計數(shù)器0的端口地址OUTDX,ALREPEAT0:REPEAT1:CALLCONVER;顯示子程序MOVDX,42HINAL,DX;將PB中的值輸入到ALPB的值取決于PB7CM
12、PAL,0FEHJZNEXTTESTAL,80H;判斷計數(shù)是否結(jié)束TEST相與但不改變相應(yīng)的值JNZREPEAT1REPEAT2:CALLCONVERMOVDX,42HINAL,DXCMPAL,7EHJZNEXTTESTAL,80HJZREPEAT2DECX;計數(shù)結(jié)束,按鍵次數(shù)減1CMPX,0JNZNEXT1MOVX,59DECYNEXT1:CMPY,0JNZNEXT2MOVY,59DECZNEXT2:CMPZ,0JNZNEXT3MOVZ,23NEXT3:CALLCONVER;顯示子程序JMPREPEAT0;重新初始化定時器,為下一次按鍵準(zhǔn)備CONVERPROCMOVAX,XMOVCL,10D
13、IVCL;按鍵次數(shù)除以10,商是次數(shù)的十位存在AL中,余數(shù)是次數(shù)的各位,存在AH中MOVBX,AX;AH:BHAL:BLMOVAL,02HOUT44H,AL;向8255端口C的Pc0置1使顯示管1工作MOVBP,BXANDBP,0FFH彳青除余數(shù),保留商MOVAL,SI+BP;使顯示管顯示相應(yīng)的值OUT40H,AL;將商的值顯示通過PACALLDELYMOVAL,01H;00000001OUT44H,AL;點(diǎn)亮各位led置8255的Pc1為0XCHGBH,BL;交換商和余數(shù)MOVBP,BXANDBP,0FFH;清除商,保留余數(shù)MOVAL,SI+BPOUT40H,AL;將余數(shù)的值顯示通過PACA
14、LLDELYMOVAX,YMOVCL,10DIVCL;按鍵次數(shù)除以10,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中MOVBX,AX;AH.BHAL.BLMOVAL,20HOUT44H,AL;向8255端口C的Pc0置1使顯示管1工作MOVBP,BXANDBP,0FFH;消除余數(shù),保留商MOVAL,SI+BP;使顯示管顯示相應(yīng)的值OUT40H,AL;將商的值顯示通過PACALLDELYMOVAL,10H;00000010OUT44H,AL;點(diǎn)亮各位led置8255的Pc1為0XCHGBH,BL;交換商和余數(shù)MOVBP,BXANDBP,0FFH;清除商,保留余數(shù)MOVAL,SI+BP
15、OUT40H,AL;將余數(shù)的值顯示通過PACALLDELYMOVAX,ZMOVCL,10DIVCL;按鍵次數(shù)除以10,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中MOVBX,AX;AH.BHAL.BLMOVAL,80HOUT44H,AL;向8255端口C的Pc0置1使顯示管1工作MOVBP,BXANDBP,0FFH彳青除余數(shù),保留商MOVAL,SI+BP;使顯示管顯示相應(yīng)的值OUT40H,AL;將商的值顯示通過PACALLDELYMOVAL,40H;01000000OUT44H,AL;點(diǎn)亮各位led,H8255的Pc1為0XCHGBH,BL;交換商和余數(shù)MOVBP,BXANDBP,
16、0FFH;清除商,保留余數(shù)MOVAL,SI+BPOUT40H,AL;將余數(shù)的值顯示通過PACALLDELYRETCONVERENDPDELYPROCPUSHCXMOVCX,1000L:LOOPLPOPCXRETDELYENDPCODEENDSENDSTART四、總電路圖:u.=I»|=*J|c-1M巨會豆三會置蕓-J-£=:!5UHZ=:3«£A::d,Jz匚-三1w="7旨EjHW*IIII五、系統(tǒng)評價:微機(jī)原理和接口技術(shù)是一門實(shí)踐性強(qiáng)的學(xué)科,其中很多的原理、規(guī)則、現(xiàn)象等僅僅靠學(xué)習(xí)教科書是無法完全掌握的,必須通過實(shí)踐才能比較直觀和深刻的理解。
17、在進(jìn)行課程設(shè)計的過程中,讓我們體驗分析問題、提出解決方案、通過編程等手段實(shí)現(xiàn)解決方案、不斷調(diào)試最終達(dá)到設(shè)計要求的全過程,從而幫助我們系統(tǒng)地掌握微機(jī)原理的接口技術(shù)的相關(guān)知識,達(dá)到將知識融會貫通的目的。本次設(shè)計的基于單片的倒計時器相較傳統(tǒng)機(jī)械式倒計時器具有可以靈活可調(diào)、性價比高等優(yōu)點(diǎn),有在現(xiàn)實(shí)生活中得到廣泛應(yīng)用的發(fā)展?jié)摿?。?086,8255,8253等芯片,工作性能穩(wěn)定,具有很好的實(shí)用性。六、心得體會:微機(jī)原理與接口技術(shù)一門很有些意義的課程。從最初的匯編到組成原理,到現(xiàn)在的微機(jī)原理與接口,一步一步的學(xué)習(xí),讓我學(xué)到更多,對計算機(jī)的最底層有了更深一步的了解。在做這個課程設(shè)計時,比想象的更加困難些,雖
18、然通過許多途徑找到了相關(guān)的資料,但是實(shí)現(xiàn)著實(shí)不簡單。對于我來說編程是一個比較困難的事情,所以做這個課程設(shè)計確實(shí)很糾結(jié)。不過做完這個課程設(shè)計,我學(xué)到了很多,在編程方面也有了一定的提升。這門課程設(shè)計必須理論和實(shí)踐相結(jié)合。整個的設(shè)計過程中,要充分利用軟件工程中的模塊化設(shè)計思想,這樣使設(shè)計減少了許多繁雜的問題,使程序看起來更加明了,不易混亂。任何事情不可能一下子完成,程序的實(shí)現(xiàn)更是要一步一步來完成,急于求成,很大程度上會增加軟件開發(fā)的難度,造成開發(fā)過程中不必要的麻煩。只要堅持去做,努力去做,就會有收獲。我在進(jìn)步,也會繼續(xù)進(jìn)步。在經(jīng)過那段設(shè)計困難時期后,經(jīng)過查閱大量的參考書籍,同學(xué)之間不斷的探討以及老師的細(xì)心講解,及時的指導(dǎo)后,設(shè)計的思路終于有了眉目。接下來就是了解各種芯片的功能,然后畫出設(shè)計草圖,分析。雖然最終出來的結(jié)果并不是十分完整,但畢竟是辛苦勞動的結(jié)果,我仍然感到欣慰。課程設(shè)計結(jié)束了,但期間同學(xué)之間的合作和老師的耐心指導(dǎo),讓我體會很深,在此我要感謝同學(xué)以及指導(dǎo)老師的幫助。這次課程設(shè)計,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年魯人新版九年級歷史上冊階段測試試卷含答案
- 2025年冀教版選修3地理上冊階段測試試卷含答案
- 2025年滬科版選修歷史上冊月考試卷含答案
- 2025年統(tǒng)編版2024必修1歷史下冊月考試卷含答案
- 2025年粵教滬科版七年級科學(xué)上冊階段測試試卷含答案
- 二零二五年度國際貿(mào)易融資合同-利率計算與利息收益分配4篇
- 二零二五年度民商法擔(dān)保合同法律咨詢與培訓(xùn)合同4篇
- 二零二五年度苗圃基地苗木良種選育合作合同3篇
- 二零二五年度原創(chuàng)音樂作品錄制授權(quán)合同4篇
- 二零二五年度模板木枋庫存管理及分銷合同3篇
- (高清版)JTGT 3360-01-2018 公路橋梁抗風(fēng)設(shè)計規(guī)范
- 小紅書違禁詞清單(2024年)
- 胰島素注射的護(hù)理
- 云南省普通高中學(xué)生綜合素質(zhì)評價-基本素質(zhì)評價表
- 2024年消防產(chǎn)品項目營銷策劃方案
- 聞道課件播放器
- 03軸流式壓氣機(jī)b特性
- 五星級酒店收入測算f
- 大數(shù)據(jù)與人工智能ppt
- 人教版八年級下冊第一單元英語Unit1 單元設(shè)計
- GB/T 9109.5-2017石油和液體石油產(chǎn)品動態(tài)計量第5部分:油量計算
評論
0/150
提交評論