




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)課 程: 微機(jī)原理及接口課程設(shè)計(jì) 題 目: 數(shù)字時(shí)鐘 專 業(yè): 軟件工程 班 級: 1101 座 號: 3110305110 姓 名: 程康 2013 年 9 月 18 日1、 設(shè)計(jì)任務(wù) 數(shù)字時(shí)鐘:實(shí)時(shí)顯示時(shí)間于LED數(shù)碼管,并可以修改時(shí)間,包括上調(diào),下調(diào),復(fù)位等。2、 總體方案設(shè)計(jì)與方案論證 1、時(shí)鐘,前提需要脈沖的產(chǎn)生,根據(jù)8253能產(chǎn)生穩(wěn)定的方波,故時(shí)鐘脈沖的產(chǎn)生將由8253芯片實(shí)現(xiàn)。 2、此實(shí)驗(yàn)只需要精確到秒,所以,產(chǎn)生的方波,將是頻率為1HZ。 3、時(shí)間顯示采用實(shí)驗(yàn)箱上的6個(gè)LED數(shù)碼管分別顯示時(shí)、分、秒,采用動(dòng)態(tài)掃描方式實(shí)現(xiàn)。 3、因?yàn)樯婕暗綍r(shí)鐘顯示和控制兩大功能,還有對到
2、來的時(shí)鐘脈沖接收和處理,在這里,將選用8255芯片,作為中間介質(zhì),對用戶要求和接收到的脈沖信號進(jìn)行處理,設(shè)置時(shí)間通過開關(guān)產(chǎn)生單脈沖8255的PC0PC2輸入 ,通過PC0控制時(shí)間的暫停與繼續(xù),通過PC1控制時(shí)加1,通過PC2控制分加1,通過PC4控制秒加1,通過PC5控制復(fù)位。最終產(chǎn)生達(dá)到用戶要求的數(shù)字時(shí)鐘,在微機(jī)接口實(shí)驗(yàn)臺(tái)上模擬調(diào)試實(shí)現(xiàn)24小時(shí)走時(shí)的時(shí)鐘,并將時(shí)間以HH.MM.SS顯示在6位數(shù)碼管上。 系統(tǒng)硬件設(shè)計(jì)主要利用微機(jī)實(shí)驗(yàn)箱上的電路模塊,硬件電路主要有按鍵電路,單脈沖產(chǎn)生單元、8253定時(shí)計(jì)數(shù)、8255并行接口單元、LED顯示電路。3、 總框圖及總體軟件設(shè)計(jì)說明4、 接口電路邏輯圖及
3、硬件設(shè)計(jì)說明,或系統(tǒng)資源使用說明1、 硬件整體電路圖5、 局部程序框圖及其設(shè)計(jì)說明1、主入口2、時(shí)鐘運(yùn)行正常流程圖6、 源程序清單CODE SEGMENT ASSUME CS:CODE,DS:CODESTART: MOV AX,CS MOV DS,AX MOV DX,20BH ;8253MOV AL,36h ;0號定時(shí)器,方式3,二進(jìn)制OUT DX,ALMOV DX,208HMOV AX,1000 ;1000 分頻OUT DX,AL ;0號數(shù)據(jù)口 MOV AL,AHOUT DX,ALMOV DX,20BH ;8253MOV AL,76h ;1號定時(shí)器,方式3,二進(jìn)制OUT DX,ALMOV D
4、X,209HMOV AX,1000 ;1000 分頻OUT DX,AL ;1號數(shù)據(jù)口.3 MOV AL,AHOUT DX,ALMOV AL,89H ;A.B口方式0輸出,PC0-3輸入,PC4-7輸入 MOV DX,203H OUT DX,AL ;寫8255工作方式控制字go:CALL BEGIN ;時(shí)間走動(dòng)CALL SET ;修改時(shí)間JMP go;對時(shí)間拆字split PROCLEA DI,RES MOV DX,00H;時(shí)間的小時(shí)位MOV DL,H MOV CL,4SHR DL,CL ;通過移位獲取時(shí)的高位MOV BX,DX MOV DL,BUFBX ;查定義好的數(shù)據(jù)段獲取對應(yīng)數(shù)字?jǐn)?shù)碼管的值
5、MOV DI,DL ;保存到RES對應(yīng)單元 INC DI MOV DL,HAND DL,0FH ;獲取時(shí)的低位ADD DL,0AH ;小時(shí)和分鐘低位都是加點(diǎn)數(shù)MOV BX,DXMOV DL,BUFBX ; 查定義好的數(shù)據(jù)段獲取對應(yīng)數(shù)字?jǐn)?shù)碼管的值MOV DI,DL;時(shí)間的分鐘高位,無點(diǎn)存儲(chǔ) INC DIMOV DL,MSHR DL,CLMOV BX,DXMOV DL,BUFBXMOV DI,DL; 時(shí)間的分鐘低位,有點(diǎn)存儲(chǔ) INC DIMOV DL,MAND DL,0FHADD DL,0AHMOV BX,DXMOV DL,BUFBX MOV DI,DL;時(shí)間的秒位,高低位都按無點(diǎn)存儲(chǔ) INC D
6、IMOV DL,SSHR DL,CLMOV BX,DXMOV DL,BUFBXMOV DI,DL INC DIMOV DL,SAND DL,0FHMOV BX,DXMOV DL,BUFBXMOV DI,DLRETsplit ENDP;判斷k0是否按下并彈起,暫停ISK0 PROC MOV DX,202H;判斷K0按下,且放開 IN AL,DX ;把c口數(shù)據(jù)寫入AL AND AL,01H ;判斷K0是被按下 CMP AL,01H JNZ DOWN JMP RETURN;被按下DOWN:MOV DX,202H IN AL,DX AND AL,01H ;被按下是否彈起 CMP AL,01H JZ U
7、P JMP DOWN;按下之后又彈起,K0不等于0UP:INC K0 MOV AH,00H MOV AL,K0 MOV BL,03H DIV BL MOV K0,AHRETURN:RETISK0 ENDPDELAY PROC NEAR PUSH CX MOV CX,65535 LOOP $ POP CXDELAY ENDP;以按下為準(zhǔn),進(jìn)行時(shí)間的遞增ISK1 PROC MOV DX,202H;判斷K1按下,且放開 IN AL,DX AND AL,02H CMP AL,02H JNZ UP1 JMP RETURN1UP1:;CALL SHOWMOV DX,202H IN AL,DX AND AL
8、,02H CMP AL,02H JZ DOWN1 JMP UP1DOWN1:CALL DELAY ;加入延時(shí)子程序,消除在一定時(shí)間內(nèi)的按鈕波動(dòng)MOV AL,K1 ADD AL,01H DAA MOV K1,AL MOV AH,00H MOV BL,24H DIV BL MOV K1,AHRETURN1:RETISK1 ENDP;分鐘調(diào)節(jié) 上升ISK2 PROC MOV DX,202H;判斷K2按下,且放開 IN AL,DX AND AL,04H CMP AL,04H JNZ UP2 JMP RETURN2 UP2:MOV DX,202H IN AL,DX AND AL,04H CMP AL,0
9、4H JZ DOWN2 JMP UP2 DOWN2: CALL DELAY ;加入延時(shí)子程序,消除在一定時(shí)間內(nèi)的按鈕波動(dòng) MOV AL,K2 ADD AL,01H DAA MOV AH,00H MOV BL,60H DIV BL MOV AL,AH ADD AL,00H DAA MOV K2,AL RETURN2:RETISK2 ENDP;秒調(diào)節(jié) 上升ISK5 PROC MOV DX,202H;判斷K4按下,且放開 IN AL,DX AND AL,10H CMP AL,10H JNZ UP5 JMP RETURN5 UP5:MOV DX,202H IN AL,DX AND AL,10H CMP
10、 AL,10H JZ DOWN5 JMP UP5 DOWN5: CALL DELAY ;加入延時(shí)子程序,消除在一定時(shí)間內(nèi)的按鈕波動(dòng) MOV AL,K4 ADD AL,01H DAA MOV AH,00H MOV BL,60H DIV BL MOV AL,AH ADD AL,00H DAA MOV K4,AL RETURN5:RETISK5 ENDP;以按下為準(zhǔn),進(jìn)行時(shí)間的遞減 小時(shí)ISK3 PROC MOV DX,202H;判斷K1按下,且放開 IN AL,DX AND AL,02H CMP AL,02H JNZ UP3 JMP RETURN3UP3:MOV DX,202H IN AL,DX
11、AND AL,02H CMP AL,02H JZ DOWN3 JMP UP3DOWN3:CALL DELAY ;加入延時(shí)子程序,消除在一定時(shí)間內(nèi)的按鈕波動(dòng) MOV AL,K1 CMP AL,00H JA JIAN3 JMP BIAN3JIAN3: SUB AL,01H ;ADD AL,00H DAS MOV K1,AL RETBIAN3: MOV AL,23H MOV K1,ALRETURN3: RETISK3 ENDP;分鐘調(diào)節(jié)下降ISK4 PROC MOV DX,202H;判斷K2按下,且放開 IN AL,DX AND AL,04H CMP AL,04H JNZ UP4 JMP RETUR
12、N4UP4:MOV DX,202H IN AL,DX AND AL,04H CMP AL,04H JZ DOWN4 JMP UP4 DOWN4:CALL DELAY ;加入延時(shí)子程序,消除在一定時(shí)間內(nèi)的按鈕波動(dòng) MOV AL,K2 CMP AL,00H JA JIAN4 JMP BIAN4JIAN4: SUB AL,01H DAS MOV K2,AL RETBIAN4: MOV AL,59H MOV K2,ALRETURN4: RET ISK4 ENDP;秒調(diào)節(jié)下降ISK6 PROC MOV DX,202H;判斷K2按下,且放開 IN AL,DX AND AL,10H CMP AL,10H J
13、NZ UP6 JMP RETURN6UP6:MOV DX,202H IN AL,DX AND AL,10H CMP AL,10H JZ DOWN6 JMP UP6 DOWN6:CALL DELAY ;加入延時(shí)子程序,消除在一定時(shí)間內(nèi)的按鈕波動(dòng) MOV AL,K4 CMP AL,00H JA JIAN6 JMP BIAN6JIAN6: SUB AL,01H DAS MOV K4,AL RETBIAN6: MOV AL,59H MOV K4,ALRETURN6: RET ISK6 ENDP;以按下為準(zhǔn),對時(shí)分秒進(jìn)行初始化的操作ISK7 PROC MOV DX,202H;判斷K5按下,且放開 IN
14、AL,DX AND AL,20H CMP AL,20H JNZ UP7 JMP RETURN7UP7:MOV DX,202H IN AL,DX AND AL,20H CMP AL,20H JZ DOWN7 JMP UP7DOWN7:CALL DELAY ;加入延時(shí)子程序,消除在一定時(shí)間內(nèi)的按鈕波動(dòng) MOV AL,00H MOV H,AL MOV K1,AL MOV M,AL MOV K2,AL MOV S,AL MOV K4,ALRETURN7:RETISK7 ENDPSHOW PROC;8255顯示時(shí)間子程序 LOP2:CALL split LEA DI,RES MOV CX,6 MOV A
15、L,K ;AL=DFH 1101 1111 控制 Y1Y5 循環(huán)點(diǎn)亮 MOV X1,AL LOP: MOV DX,201H MOV AL,0FFH OUT DX,AL MOV DX,200H ;A口輸出段碼 MOV AL,DI OUT DX,AL INC DI MOV AL,X1 MOV DX,201H ;B口輸出 OUT DX,AL ROR X1,1;循環(huán)右一位 LOOP LOP RETSHOW ENDP;修改時(shí)間的子程序SET PROC MOV AL,HMOV K1,ALMOV AL,MMOV K2,ALMOV AL,SMOV K4,ALDU5:CALL SHOWMOV DX,201H M
16、OV AL,7FHOUT DX,ALCALL ISK0MOV AL,K0CMP AL,0 JA ZHIZONGJMP JIE1ZHIZONG: CMP AL,1 JA ZHI1 JMP ZHIZHI1:CALL ISK3CALL ISK4CALL ISK6CALL ISK7MOV AL,K1MOV H,ALMOV AL,K2MOV M,ALMOV AL,K4MOV S,ALCALL SHOWMOV DX,201H MOV AL,7FHOUT DX,AL;CALL ISK7JMP DU5ZHI:CALL ISK2CALL ISK1CALL ISK5CALL ISK7MOV AL,K1MOV H,
17、ALMOV AL,K2MOV M,ALMOV AL,K4MOV S,ALCALL SHOWMOV DX,201H MOV AL,7FHOUT DX,AL;CALL ISK7JMP DU5JIE1:RETSET ENDP;時(shí)間開始走動(dòng)的子程序BEGIN PROC DU: CALL SHOW MOV DX,201H MOV AL,0FFH OUT DX,ALCALL ISK7 CALL ISK0 MOV AL,K0 CMP AL,0 JZ XIAN JMP JIE ;沒有按k0XIAN:MOV DX,202H IN AL,DXAND AL,08HCMP AL,00HJZ DUADD S,01HMO
18、V AL,S DAA MOV S,ALCMP S,60H JNZ DU1 MOV S,00H ADD M,01H MOV AL,M DAA MOV M,AL CMP M,60H JNZ DU1 MOV M,00H ADD H,01H MOV AL,H DAA MOV H,AL CMP H,24H JNZ DU1 JMP LOP1 ;時(shí)等于24時(shí)DU1:CALL SHOW MOV DX,201H MOV AL,0FFHOUT DX,AL MOV DX,202H IN AL,DXAND AL,08HCMP AL,00HJNZ DU1JMP DULOP1:MOV H,00H JMP DUJIE:RE
19、TBEGIN ENDPCLOCK PROCRETCLOCK ENDPBUF DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;不加點(diǎn)的數(shù) DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH ;加點(diǎn)的數(shù) RES DB 6 DUP(?) ;定義時(shí)分秒的存儲(chǔ)單元,用于顯示 ;存放時(shí)鐘的時(shí)分秒, H DB 00H ;時(shí)M DB 00H ;分S DB 00H ;秒 K DB 0DFH ;循環(huán)移位的控制X1 DB 00HK0 DB 0 ;暫停開關(guān),標(biāo)志位K1 DB 0 ;調(diào)整時(shí)的開關(guān),標(biāo)志位K2 DB 0 ;調(diào)整分鐘的
20、開關(guān),標(biāo)志位K4 DB 0 ;調(diào)整秒的開關(guān),標(biāo)志位CODE ENDS END START7、 系統(tǒng)功能及操作說明 功能:實(shí)現(xiàn)24小時(shí)制的時(shí)鐘的顯示,暫停和調(diào)整 操作說明:當(dāng)接通電源,編譯運(yùn)行后,會(huì)從默認(rèn)時(shí)間00:00:00開始,以秒為單位計(jì)時(shí)。在計(jì)時(shí)當(dāng)中,撥動(dòng)開關(guān)K0一次,進(jìn)入調(diào)整時(shí)間塊,為上調(diào)。撥動(dòng)兩次,進(jìn)入調(diào)整時(shí)間塊,為下調(diào)。此時(shí),通過撥動(dòng)K1(小時(shí)),K2(分鐘),K4(秒)實(shí)現(xiàn)在不同狀態(tài)下的時(shí)間的調(diào)整。K5為復(fù)位鍵,在任何時(shí)間,按下復(fù)位鍵,可以將時(shí)間置0,在這個(gè)基礎(chǔ)上繼續(xù)實(shí)現(xiàn)時(shí)間的顯示或者調(diào)整。8、 調(diào)試記錄及調(diào)試結(jié)果 1、在時(shí)鐘正常走動(dòng)時(shí),因?yàn)闈M60S,分要進(jìn)1, 秒置0,所以涉及到除法操作,因?yàn)?,在整個(gè)編碼中,用來保存時(shí),分,秒的控制LED顯示數(shù)字都是以BCD碼保存,所以開始,忘記相除后,對其進(jìn)行二進(jìn)制到BCD碼的轉(zhuǎn)換,導(dǎo)致顯示錯(cuò)誤,后將要得到的結(jié)果進(jìn)行一次加0法操作,再進(jìn)行DAA轉(zhuǎn)換,以BCD碼保存,便消除了這個(gè)問題。 2、輸出時(shí),時(shí)間逐位顯示,沒有在LED上給人以連續(xù)的效果,后來通過8255的B口(PB0-PB5 )加上了循環(huán)移位法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSA 272-2024 高磁導(dǎo)率低矯頑力FeNiMnSi 軟磁合金
- 二零二五年度養(yǎng)老公寓入住與心理咨詢服務(wù)合同
- 二零二五年度房屋買賣及家居升級借款協(xié)議
- 2025年度生鮮配送與電商渠道合作合同范本
- 二零二五年度互聯(lián)網(wǎng)公司業(yè)績對賭協(xié)議約定倍收益合同
- 2025年度退房合同租賃期滿通知協(xié)議
- 二零二五年度人工智能產(chǎn)業(yè)股東入股合同
- 2025年度新能源技術(shù)研發(fā)中心委托管理合同協(xié)議書
- 二零二五年度健身俱樂部合伙開店經(jīng)營協(xié)議
- 二零二五年度手機(jī)行業(yè)經(jīng)銷商返利管理細(xì)則
- 2024解析:第十五章電流和電路-基礎(chǔ)練(解析版)
- 2024江蘇太倉市城市建設(shè)投資集團(tuán)限公司招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024年全新統(tǒng)計(jì)法培訓(xùn)課件:普法教育新方向
- 2020-2024年五年高考?xì)v史真題分類匯編(全國)專題14 中國古代史(非選擇題)(解析版)
- 電子教案-《3D打印技術(shù)概論》
- 安全生產(chǎn)責(zé)任體系重點(diǎn)崗位履職清單
- 《東北財(cái)經(jīng)大學(xué)審計(jì)》課件
- 牧童謠課件教學(xué)
- 大學(xué)物理實(shí)驗(yàn)(緒論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 圖書出版項(xiàng)目合作協(xié)議
- 《現(xiàn)代家政導(dǎo)論》電子教案 2.2模塊二項(xiàng)目二家庭制度認(rèn)知
評論
0/150
提交評論