版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、倒計時牌方案(fng n)選擇:1.1題目(tm)要求:顯示(xinsh)距倒計時時刻還有多長時間(顯示:時、分、秒)1.2總體初設(shè)方案和理由1.2.1處理器芯片選擇8086微處理器的主要特點(diǎn):8086為16位微處理器,數(shù)據(jù)總線16位,地址總線20位,可尋址1MB存儲空間,時鐘頻率為510MHz。8086 CPU的內(nèi)部結(jié)構(gòu)由執(zhí)行單元EU(execution unit)和總線接口部件BIU(bus interface unit)兩部分組成。我們最熟悉的微處理器就是8086,所以選擇8086CPU。1.2.2通信接口芯片選擇可編程并行通信接口8255,PA端口作為信號輸入,PB端口做為數(shù)碼管的位選
2、信號輸出端口,PC端口作為數(shù)碼管的片選信號輸出端口。本系統(tǒng)設(shè)計以8086微處理器作為CPU, 8255做可編程并行接口顯示時鐘和鍵盤電路,接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主程
3、序模塊主控模塊(m kui)是其核心模塊,對8255進(jìn)行初始化,掃描鍵盤根據(jù)按鍵(n jin)值作相應(yīng)的處理。主要由軟件實(shí)現(xiàn)。它的主要功能是調(diào)用其它模塊對系統(tǒng)工作進(jìn)行協(xié)調(diào),讀小鍵盤輸入鍵值并執(zhí)行要做的工作,如圖1圖12.2小鍵盤模塊(m kui)小鍵盤模塊送入主控模塊的子功能模塊。由軟件和硬件實(shí)現(xiàn),硬件上由小鍵盤和8255互連,將小鍵值由8255送入主控模塊。軟件上使用行掃描法獲得鍵值并送回主控模塊。本課題只考慮去抖動。執(zhí)行一個約10ms的延時程序后再掃描鍵盤,若F0=1表示真正有鍵按下,從而消除了抖動影響,如圖2圖22.3 LED顯示模塊 顯示模塊是將顯示緩沖區(qū)的數(shù)值送到LED顯示的功能模塊
4、,顯示緩沖區(qū)是由六個字節(jié)構(gòu)成,分別保存時的高位和低位,分的高位和低位,秒的高位和低位。硬件上由六個LED構(gòu)成,軟件上由掃描顯示的方法實(shí)現(xiàn),如圖3。圖3其中,由于實(shí)際應(yīng)用中要求顯示為十進(jìn)制數(shù),而在程序中處理的數(shù)據(jù)都為十六進(jìn)制,因此在程序中要對顯示緩沖區(qū)的數(shù)據(jù)進(jìn)行十進(jìn)制調(diào)整。在總的電路圖中用8255并行(bngxng)通信接口的PC端口進(jìn)行片選,位選由PB端口輸出,根據(jù)如下段碼表來設(shè)計 。 數(shù)字0123456789七段代碼3FH06H5BH4FH66H6DH7DH07H7FH6FH表1程序設(shè)計與分析:各模塊(m kui)程序的設(shè)計、完整的程序框圖:3.1設(shè)計(shj)流程圖311主程序流程 開 始
5、 對8259初始化 填中斷向量表 初始化8253 、 8255 顯示時刻 功能鍵是否按下 N Y 進(jìn)入時刻設(shè)置狀態(tài) N 確認(rèn)鍵是否按下 YY Y圖43.1.2時間(shjin)程序更改流程圖開始 秒的個位為0 秒的個位減1 N 秒的個位賦9 Y RET 秒的十位減1秒的十位為0為0 N 秒的十位賦5 Y N 分的個位減1分的個位為0 RET分的個位賦9 Y N 分的十位減1分的十位為0 RET Y 分的十位賦5 時的個位為0 N 時的個位減1 Y 時的十位為0 N 時的十位減1 Y 時的個位賦9 時的個位賦3 RET 時的十位賦2圖53.1.3 鍵盤(jinpn)掃描程序流程圖: 圖63.2程
6、序設(shè)計(chn x sh j)與分析:3.2.1各模塊程序(chngx)的設(shè)計(1)8255A初始化程序開始時對8255A進(jìn)行初始化,PA、PB、PC組控制工作在方式(fngsh)0,PA端口為輸入端口。PB、PC為輸出端口。DATA SEGMENT LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H X DW ? Y DW ? Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,46H ;0100 0110 8255
7、 控制口地址46hMOV AL,82H ;1000 0010 A方式 0輸出 B方式 0輸入 C輸出OUT DX,AL ;向 8255寫控制字 NEXT: MOV X,59 ;記錄按鍵次數(shù) MOV Y,59 MOV Z,23 LEA SI ,LED MOV AL,00010111B ;定時器 0方式 0 OUT 4EH,AL ;向 8253寫控制字 MOV AL,255 ;計數(shù)初值為 1 MOV DX,48H ;計數(shù)器 0的端口地址 OUT DX,AL REPEAT0:(2)顯示(xinsh)程序模塊根據(jù)方式控制字和連線可知,B口連接(linji)數(shù)碼管的ADp進(jìn)行段鎖存,C口進(jìn)行位鎖存。顯示
8、程序如下:CONVER PROC MOV AX,X MOV CL,10 DIV CL ;按鍵次數(shù)(csh)除以10,商是次數(shù)的十位 存在AL中,余數(shù)是次數(shù)的各位,存在AH中 MOV BX,AX ;AH:BH AL:BL MOV AL,02H OUT 44H,AL ;向8255端口C的Pc0置1 使顯示管 1工作 MOV BP,BX AND BP,0FFH ;清除余數(shù),保留商 MOV AL,SI+BP ;使顯示管顯示相應(yīng)的值 OUT 40H,AL ;將商的值顯示 通過PA CALL DELY MOV AL, 01H ;0000 0001 OUT 44H, AL ;點(diǎn)亮各位led 置8255的Pc
9、1為0 XCHG BH,BL ;交換商和余數(shù) MOV BP,BX AND BP,0FFH ;清除商,保留余數(shù) MOV AL,SI+BP OUT 40H,AL ;將余數(shù)的值顯示 通過PA CALL DELY MOV AX,Y MOV CL,10 DIV CL ;按鍵次數(shù)(csh)除以10,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中 MOV BX,AX ;AH.BH AL.BL MOV AL,20H OUT 44H, AL ;向8255端口C的Pc0置1 使顯示管1工作(gngzu) MOV BP,BX AND BP,0FFH ;清除余數(shù)(ysh),保留商 MOV AL,SI+BP
10、;使顯示管顯示相應(yīng)的值 OUT 40H,AL ;將商的值顯示 通過PA CALL DELY MOV AL, 10H ;0000 0010 OUT 44H, AL ;點(diǎn)亮各位led 置8255的Pc1為0 XCHG BH,BL ;交換商和余數(shù)MOV BP,BX AND BP,0FFH ;清除商,保留余數(shù) MOV AL,SI+BP OUT 40H,AL ;將余數(shù)的值顯示 通過PA CALL DELY MOV AX,Z MOV CL,10 DIV CL ;按鍵次數(shù)除以10,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中 MOV BX,AX ;AH.BH AL.BL MOV AL,80H O
11、UT 44H, AL ;向8255端口C的Pc0置1 使顯示管1工作 MOV BP,BX AND BP,0FFH ;清除余數(shù),保留商 MOV AL,SI+BP ;使顯示(xinsh)管顯示相應(yīng)的值 OUT 40H,AL ;將商的值顯示(xinsh)通過PA CALL DELY MOV AL, 40H ;0100 0000 OUT 44H, AL ;點(diǎn)亮各位led,置8255的Pc1為0 XCHG BH,BL ;交換(jiohun)商和余數(shù) MOV BP,BX AND BP,0FFH ;清除商,保留余數(shù) MOV AL,SI+BPOUT 40H,AL ;將余數(shù)的值顯示 通過PA CALL DELY
12、 RET CONVER ENDP(3)延時程序模塊控制一個循環(huán)程序循環(huán)以到達(dá)延時的目的。具體語句如下:DELY PROC PUSH CX MOV CX,1000 L: LOOP L POP CX RET DELY ENDP 3.3 程序代碼:DATA SEGMENT LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H X DW ? Y DW ? Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,46H ;0100 0
13、110 8255 控制(kngzh)口地址46hMOV AL,82H ;1000 0010 A方式 0輸出(shch) B方式 0輸入 C輸出OUT DX,AL ;向 8255寫控制(kngzh)字 NEXT: MOV X,59 ;記錄按鍵次數(shù) MOV Y,59MOV Z,23 LEA SI ,LED MOV AL,00010111B ;定時器 0方式 0 OUT 4EH,AL ;向 8253寫控制字 MOV AL,255 ;計數(shù)初值為 1 MOV DX,48H ;計數(shù)器 0的端口地址 OUT DX,AL REPEAT0: REPEAT1: CALL CONVER ;顯示子程序 MOV DX,
14、42H IN AL,DX ;將 PB中的值輸入到 AL PB的值取決于 PB7 CMP AL,0FEH JZ NEXT TEST AL,80H ;判斷計數(shù)是否結(jié)束 TEST相與但不改變相應(yīng)的值 JNZ REPEAT1 REPEAT2: CALL CONVER MOV DX,42H IN AL,DX CMP AL,7EH JZ NEXT TEST AL,80H JZ REPEAT2 DEC X ;計數(shù)結(jié)束 ,按鍵次數(shù)減 1 CMP X,0 JNZ NEXT1 MOV X,59 DEC Y NEXT1: CMP Y,0 JNZ NEXT2 MOV Y,59DEC Z NEXT2: CMP Z,0
15、JNZ NEXT3 MOV Z,23 NEXT3: CALL CONVER ;顯示子程序 JMP REPEAT0 ;重新初始化定時器,為下一次按鍵準(zhǔn)備CONVER PROC MOV AX,X MOV CL,10 DIV CL ;按鍵次數(shù)除以10,商是次數(shù)的十位 存在(cnzi)AL中,余數(shù)是次數(shù)的各位,存在AH中 MOV BX,AX ;AH:BH AL:BL MOV AL,02H OUT 44H,AL ;向8255端口C的Pc0置1 使顯示管 1工作(gngzu) MOV BP,BX AND BP,0FFH ;清除余數(shù)(ysh),保留商 MOV AL,SI+BP ;使顯示管顯示相應(yīng)的值 OUT
16、 40H,AL ;將商的值顯示 通過PA CALL DELY MOV AL, 01H ;0000 0001 OUT 44H, AL ;點(diǎn)亮各位led 置8255的Pc1為0 XCHG BH,BL ;交換商和余數(shù) MOV BP,BX AND BP,0FFH ;清除商,保留余數(shù) MOV AL,SI+BP OUT 40H,AL ;將余數(shù)的值顯示 通過PA CALL DELY MOV AX,Y MOV CL,10 DIV CL ;按鍵次數(shù)除以10,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中 MOV BX,AX ;AH.BH AL.BL MOV AL,20H OUT 44H, AL ;向8
17、255端口C的Pc0置1 使顯示管1工作 MOV BP,BX AND BP,0FFH ;清除余數(shù),保留商 MOV AL,SI+BP ;使顯示管顯示相應(yīng)的值 OUT 40H,AL ;將商的值顯示 通過PA CALL DELY MOV AL, 10H ;0000 0010 OUT 44H, AL ;點(diǎn)亮各位led 置8255的Pc1為0 XCHG BH,BL ;交換商和余數(shù)MOV BP,BX AND BP,0FFH ;清除商,保留余數(shù) MOV AL,SI+BP OUT 40H,AL ;將余數(shù)的值顯示 通過PA CALL DELY MOV AX,Z MOV CL,10 DIV CL ;按鍵次數(shù)除以1
18、0,商是次數(shù)的十位,存在AL中,余數(shù)是次數(shù)的各位,存在AH中 MOV BX,AX ;AH.BH AL.BL MOV AL,80H OUT 44H, AL ;向8255端口C的Pc0置1 使顯示管1工作(gngzu) MOV BP,BX AND BP,0FFH ;清除(qngch)余數(shù),保留商 MOV AL,SI+BP ;使顯示(xinsh)管顯示相應(yīng)的值 OUT 40H,AL ;將商的值顯示通過PA CALL DELY MOV AL, 40H ;0100 0000 OUT 44H, AL ;點(diǎn)亮各位led,置8255的Pc1為0 XCHG BH,BL ;交換商和余數(shù) MOV BP,BX AND
19、 BP,0FFH ;清除商,保留余數(shù) MOV AL,SI+BPOUT 40H,AL ;將余數(shù)的值顯示 通過PA CALL DELY RET CONVER ENDP DELY PROC PUSH CX MOV CX,1000 L: LOOP L POP CX RET DELY ENDP CODE ENDS END START總電路圖:圖7系統(tǒng)(xtng)評價: 微機(jī)原理和接口技術(shù)是一門實(shí)踐性強(qiáng)的學(xué)科,其中很多的原理、規(guī)則、現(xiàn)象等僅僅靠學(xué)習(xí)教科書是無法完全掌握的,必須(bx)通過實(shí)踐才能比較直觀和深刻的理解。在進(jìn)行課程設(shè)計的過程中,讓我們體驗(yàn)分析問題、提出解決方案、通過編程等手段實(shí)現(xiàn)解決方案、不斷
20、調(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ù)一門很有些意義的課程。從最初的匯編到組成(z chn)原理,到現(xiàn)在的微機(jī)原理與接口,一步一步的學(xué)習(xí),讓我學(xué)到更多,對計算機(jī)的最底層有了更深一步的了解。在做這個課程設(shè)計時,比想象的更加困難些,雖然通過許多途徑找到了相關(guān)的資料,但是實(shí)現(xiàn)著實(shí)不簡單。對于我來說編程是一個比較困難的事情,所以做這個課程設(shè)計確實(shí)很糾結(jié)。 不過做完這個課程設(shè)計,我學(xué)到了很多,在編程方面(fngmin)也有了一定的提升。這門課程設(shè)計必須理論和實(shí)踐相結(jié)合。整個的設(shè)計過程中,要充分利用軟件工程中的模塊化設(shè)計思想,這樣使設(shè)計減少了許多繁雜的問題,使程序看起來更加明了,不易混亂。任何事情不可能一下子完成,程序的實(shí)現(xiàn)更是要一步一步來完成,急于求成,很大程度上會增加軟件開發(fā)的難度,造成開發(fā)過程中不必要的麻煩。只要堅持去做,努力去做,就會有收獲。我在進(jìn)步,也會繼續(xù)進(jìn)步。在經(jīng)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 艾滋病預(yù)防知識調(diào)查報告
- 特應(yīng)性皮炎治療指南2024
- 膽道蛔蟲病護(hù)理查房
- 小班防疫安全消息
- 大班科學(xué)活動找種子
- 青春期畢業(yè)晚會
- 別說我小教案及反思
- 化學(xué)反應(yīng)速率與限度說課稿
- 紅綠燈說課稿中班
- 汽車4S店元旦活動
- JJG646-2006移液器檢定規(guī)程-(高清現(xiàn)行)
- 老年友善醫(yī)院創(chuàng)建-老年人社會服務(wù)相關(guān)職責(zé)
- 【課題研究】-《普通高中英語閱讀課文教學(xué)研究》結(jié)題報告
- 嚴(yán)重精神障礙管理工作規(guī)范課件(PPT 39頁)
- 羊常見普通病類型和防治
- 梁板柱同時澆筑及方案
- 溝槽開挖支護(hù)專項(xiàng)施工方案(46頁)
- 2021-2022學(xué)年部編版語文八年級下冊第二單元主題綜合實(shí)踐作業(yè)——生活中的科學(xué)
- cochrane納入的RCT文獻(xiàn)質(zhì)量評價風(fēng)險偏倚評估工具中英文對照
- 管理學(xué)決策計算題
- 大學(xué)物理學(xué)(第四版)課后習(xí)題答案(下冊)
評論
0/150
提交評論