




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
設(shè)計(jì)要求總體方案硬件設(shè)計(jì)軟件設(shè)計(jì)系統(tǒng)調(diào)試與運(yùn)行第
10
章
單片機(jī)的應(yīng)用系統(tǒng)設(shè)計(jì)與開發(fā)本章內(nèi)容SingleChipMicrocomputer一、
設(shè)計(jì)要求設(shè)計(jì)并制作出具有如下功能的電腦鐘:
(1)自動(dòng)計(jì)時(shí),由6位LED顯示器顯示時(shí)、分、秒。
(2)具備校準(zhǔn)功能,可以直接由0~9數(shù)字鍵設(shè)置當(dāng)前時(shí)間。
(3)具備定時(shí)起鬧功能。
(4)一天時(shí)差不超過1秒鐘。二、
總體方案1.計(jì)時(shí)方案方案一:采用實(shí)時(shí)時(shí)鐘芯片。方案二:軟件控制。2.鍵盤/顯示方案方案一:串口擴(kuò)展,LED靜態(tài)顯示。方案二:8155擴(kuò)展,LED動(dòng)態(tài)顯示。顯示方式框圖
(a)靜態(tài)顯示框圖;(b)動(dòng)態(tài)顯示框圖
三、
硬件設(shè)計(jì)
1.電路原理圖2.系統(tǒng)工作流程本電腦鐘具備以下功能:
(1)時(shí)鐘顯示:6位LED從左到右依次顯示時(shí)、分、秒,采用24小時(shí)計(jì)時(shí)。
(2)鍵盤功能:采用4×3鍵盤,包括:0~9數(shù)字鍵,鍵號(hào)為00H~09HC/R鍵時(shí)間設(shè)定/啟動(dòng)計(jì)時(shí)鍵,鍵號(hào)為0AHALM鍵鬧鐘設(shè)置/啟鬧/停鬧鍵,鍵號(hào)為0BH(1)時(shí)間顯示:上電后,系統(tǒng)自動(dòng)進(jìn)入時(shí)鐘顯示,從00:00:00開始計(jì)時(shí),此時(shí)可以設(shè)定當(dāng)前時(shí)間。(2)時(shí)間調(diào)整:按下C/R鍵,系統(tǒng)停止計(jì)時(shí),進(jìn)入時(shí)間設(shè)定狀態(tài),系統(tǒng)保持原有顯示,等待鍵入當(dāng)前時(shí)間。按下0~9數(shù)字鍵可以順序設(shè)置時(shí)、分、秒,并在相應(yīng)LED管上顯示設(shè)置值,直至6位設(shè)置完畢。系統(tǒng)將自動(dòng)由設(shè)定后的時(shí)間開始計(jì)時(shí)顯示。
(3)鬧鐘設(shè)置/啟鬧/停鬧:按下ALM鍵,系統(tǒng)繼續(xù)計(jì)時(shí),顯示00:00:00,進(jìn)入鬧鐘設(shè)置狀態(tài),等待鍵入啟鬧時(shí)間。按下0~9數(shù)字鍵可以順序進(jìn)行相應(yīng)的時(shí)間設(shè)置,并在相應(yīng)LED管上顯示設(shè)置值,直至6位設(shè)置完畢。這將啟動(dòng)定時(shí)啟鬧功能,并恢復(fù)時(shí)間顯示。定時(shí)時(shí)間到,蜂鳴器鳴叫,直至重新按下ALM鍵停鬧,并取消鬧鐘設(shè)置。四、軟件設(shè)計(jì)1.系統(tǒng)資源分配地址功能名稱初始化值30H~35H顯示緩沖區(qū),小時(shí)、分、秒(高位在前)DISP0~DISP500H3CH~3FH計(jì)時(shí)緩沖區(qū),時(shí)、分、秒、100msHOUR,MIN,SEC,MSEC00H40H~42H鬧鐘值寄存區(qū),時(shí)、分、秒AHOUR,AMIN,ASECFFH50H~7FH堆棧區(qū)
PSW.5計(jì)時(shí)顯示允許位(1:禁止,0:允許)F00PSW.1鬧鐘標(biāo)志位(1:正在鬧響,0:未鬧響)F10電子鐘控制軟件片內(nèi)RAM及標(biāo)志位分配表2.軟件流程圖9.3主程序流程圖圖9.4計(jì)時(shí)程序流程圖圖9.5時(shí)間設(shè)置/鬧鐘定時(shí)流程圖
圖9.6鍵盤設(shè)置子程序流程圖圖9.7鍵盤掃描描流程圖圖(4)鍵盤掃描描程序模模塊KEYSCAN:流程圖圖如圖9.7所示。圖9.8顯示流程程圖圖9.9定時(shí)比較較流程圖圖ORG0000HAJMP MAINORG000BHAJMP CLOCKORG0030HPORTEQU8000HPORTAEQU8001HPORTBEQU8002H;*****************主主程序MAIN******************PORTCEQU8003HDISP0EQU30HDISP1EQU31HDISP2EQU32HDISP3EQU33HDISP4EQU34HDISP5EQU35HHOUREQU3CHMINEQU3DHSECEQU3EHMSECEQU3FHAHOUREQU40HAMIN EQU41HASECEQU42HF1BITPSW.1MAIN:MOVSP,#50H;設(shè)置堆堆棧區(qū)MOVXDPTR,#PORTMOVA,#03HMOVX@DPTR,A;8155初始化CLRF1;清零鬧鬧鐘標(biāo)志志位CLRF0;允許計(jì)計(jì)時(shí)顯示示MOVAHOUR,#0FFHMOVAMIN,#0FFHMOVASEC,#0FFHMOVR7,#10HMOVR0,#DISP0CLRALOOP:MOV@R0,AINCR0DJNZR7,LOOP;設(shè)置初初值MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#3CH;定時(shí)器器0初始化,,定時(shí)時(shí)間100msSETBTR0;啟動(dòng)定定時(shí)器SETBEASETBET0;開中斷斷BEGIN:ACALLALARM;調(diào)用定定時(shí)比較較ACALLKEYSCAN;調(diào)用鍵鍵盤掃描描CJNE A,#0AH,NEXT1;是CLR/RST鍵否?CLRTR0;是則暫暫時(shí)停止止計(jì)時(shí)MOVR1,#HOUR;地址指指針指向向計(jì)時(shí)緩緩沖區(qū)首首地址AJMP MODNEXT1:CJNEA,#0BH,BEGIN;是ALARM鍵否?JBF1,NEXT2;鬧鐘正正在鬧響響否?MOVR1,#AHOUR;地址指指針指向向鬧鐘值值寄存區(qū)區(qū)首地址址MOD:SETB F0;置位時(shí)時(shí)間設(shè)置置/鬧鐘定時(shí)時(shí)標(biāo)志,,禁止顯顯示計(jì)時(shí)時(shí)時(shí)間ACALLMODIFY;調(diào)用時(shí)時(shí)間設(shè)置置/鬧鐘定時(shí)時(shí)程序SETB TR0;重新開開始計(jì)時(shí)時(shí)CLRF0;清零時(shí)時(shí)間設(shè)置置/鬧鐘定時(shí)時(shí)標(biāo)志,,恢復(fù)顯顯示計(jì)時(shí)時(shí)時(shí)間AJMP BEGINNEXT2:SETB P1.0;鬧鐘正正在鬧響響,停鬧鬧CLRF1;清零鬧鬧鐘標(biāo)志志AJMP BEGIN;**************時(shí)時(shí)間設(shè)置/鬧鐘定時(shí)時(shí)模塊MODIFY************MODIFY:ACALLKEYIN;調(diào)用鍵鍵盤設(shè)置置子程序序ACALLCOMB;調(diào)用合合字子程程序RET鍵盤設(shè)置置子程序序KEYIN:KEYIN:PUSH PSWPUSH ACCSETB RS1;保護(hù)現(xiàn)現(xiàn)場(chǎng)MOVR0,#DISP0;R0指向顯示示緩沖區(qū)區(qū)首地址址MOVR7,#06H;設(shè)置鍵鍵盤輸入入次數(shù)L1:CLRRS1ACALLKEYSCAN;調(diào)用鍵鍵盤掃描描程序取取按下鍵鍵的鍵號(hào)SETBRS1CJNE A,#0AH,L2;鍵入數(shù)數(shù)合法性性檢測(cè)((是否大大于9)L2:JNCL1;大于9,重新鍵鍵入MOV@R0,A;鍵號(hào)送送顯示緩緩沖區(qū)INCR0DJNZ R7,L1;6位時(shí)間輸輸入完否否?未完繼續(xù),,否則返返回POPACCPOPPSWCLRRS1;恢復(fù)現(xiàn)現(xiàn)場(chǎng)RET;**********鍵盤盤掃描子子程序KEYSCAN***********KEYSCAN:ACALL TEST;調(diào)判按按鍵是否否按下子子程序TESTJNZREMOV;有鍵按按下調(diào)消消抖延時(shí)時(shí)ACALLDISPLAYACALLALARMAJMPKEYSCAN;無鍵按按下繼續(xù)續(xù)判是否否按鍵REMOV:ACALLDISPLAY;調(diào)用顯顯示子程程序延時(shí)時(shí)消抖ACALLTEST;再判是是否有鍵鍵按下JNZLIST;有鍵按按下轉(zhuǎn)逐逐列掃描描ACALLDISPLAYACALLALARMAJMP KEYSCAN;無鍵按按下繼續(xù)續(xù)判是否否按鍵LIST:MOVR2,#0FEH;首列掃掃描字送送R2MOVR3,#00H;首列鍵鍵號(hào)送R3LINE0:MOVDPTR,#PORTA;DPTR指針指向向8155的A口MOVA,R2;首列掃掃描字送送R2MOVX @DPTR,A;首列掃掃描字送送8155的A口MOVDPTR,#PORTC;DPTR指針指向向8155的C口MOVX A,@DPTR;讀入C口的行狀狀態(tài)JBACC.0,LINE1;第0行鍵無鍵鍵按下轉(zhuǎn)轉(zhuǎn)第1行MOVA,#00H;第0行有鍵按按下,行行首鍵號(hào)號(hào)送AAJMP TRYK;求鍵號(hào)號(hào)NEXT:INCR3;掃描下下一列MOVA,R2;列掃描描字送AJNBACC.3,EXIT;4列掃描完完,重新新進(jìn)行下下一輪輪掃描RLA;4列未掃描描完,掃掃描字左左移掃描描下一列列MOVR2,A;掃描字字送AAJMPLINE0;轉(zhuǎn)向掃掃描下一一列EXIT:AJMPKEYSCAN;等待下下一次按按鍵TRYK:ADDA,R3;按公式式計(jì)算鍵鍵碼,求求得鍵號(hào)號(hào)PUSHACC;鍵號(hào)入棧保保護(hù)LETK:ACALLTEST;等待按鍵釋釋放JNZ LETK;按鍵未釋放放,繼續(xù)等待待POP ACC;按鍵釋放,,鍵號(hào)出棧RET;鍵盤掃描結(jié)結(jié)束,返回TEST:MOVDPTR,#PORTA;DPTR指針指向8155的A口MOVA,#00HMOVX@DPTR,A;全掃描字00H送8155的A口MOV DPTR,#PORTC;DPTR指針指向8155的C口MOVXA,@DPTR;讀入C口行狀態(tài)CPL A;A取反,以高電電平表示有鍵按下ANL A,#07H;屏蔽高5位RET;**************顯顯示子程序DISPLAY*************DISPLAY: JBF0,DISP;允許時(shí)間顯顯示標(biāo)志F0=1轉(zhuǎn)DISPACALLSEPA;否則調(diào)用SEPA刷新顯示緩沖沖區(qū)DISP:pushpsw;動(dòng)態(tài)掃描顯顯示子程序Pushaccsetbrs0MOVdptr,#PORTAMOVA,#0FFHMOVX@DPTR,A;關(guān)顯示movr0,#disp0movr7,#00hmovr6,#06hmovr5,#0fehdis1:movdptr,#tabmova,@r0movca,@a+dptrmovdptr,#portbmovx@dptr,amovdptr,#portamova,r5movx@dptr,ahere:djnz r7,hereincr0mova,r5rlamovr5,adjnzr6,dis1clrrs0popaccpoppswrettab:db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71h;共陰極字型型碼表;*****************合字子子程序COMB******************COMB:MOVR0,#DISP1;R0指向顯示緩沖沖區(qū)小時(shí)低位ACALLCOMB1;合字CJNEA,#24H,CHK;小時(shí)大于24否?CHK:JNCEXIT1;大于24則取消本次設(shè)設(shè)置,退出MOV @R1,A;否則小時(shí)送送計(jì)時(shí)緩沖區(qū)區(qū)/鬧鐘值寄存區(qū)區(qū)小時(shí)單元INCR1MOV R0,#DISP3;R0指向顯示緩沖沖區(qū)分低位ACALLCOMB1CJNEA,#60H,CHK1CHK1:JNCEXIT1MOV@R1,AINC R1MOVR0,#DISP5;R0指向顯示緩沖沖區(qū)秒低位ACALLCOMB1CJNEA,#60H,CHK2CHK2:JNC EXIT1MOV @R1,ARETEXIT1:AJMPMAIN;輸入不合法法退出,重新新清零計(jì)時(shí)COMB1:MOVA,@R0ANLA,#0FH;取出低位MOV 43H,A;暫存于43H單元DEC R0;指向高位MOV A,@R0ANL A,#0FHSWAPA;高位送高4位ORL A,43H;高低位合并并RET;***************拆字子程序序SEPA***************SEPA:PUSHPSWPUSHACCSETBRS0MOV R0,#DISP5;指向顯示緩緩沖區(qū)秒低位位MOV A,SECACALLSEPA1MOV A,MINACALLSEPA1MOV A,HOURACALLSEPA1POP ACCPOP PSWRETSEPA1:MOV44H,A;暫存44HANLA,#0FH;取出低位MOV@R0,A;送顯示緩沖沖區(qū)低位DECR0;指向顯示緩緩沖區(qū)高位MOVA,44HANLA,#0F0H;取出高位SWAPA;高位送往低低4位形成高位數(shù)數(shù)據(jù)MOV @R0,A;高位數(shù)據(jù)送送顯示緩沖區(qū)區(qū)高位RET;**************定定時(shí)比較模塊塊ALARM****************ALARM:MOV A,ASECCJNEA,SEC,BACK;秒單元相同同則繼續(xù)比較較,否則返回回MOV A,AMINCJNEA,MIN,BACK;分單元相同同則繼續(xù)比較較,否則返回回MOV A,AHOURCJNEA,HOUR,BACK;小時(shí)單元相相同定時(shí)時(shí)間間到CLR P1.0;啟動(dòng)鬧鐘鳴鳴叫SETBF1;置位鬧鐘標(biāo)標(biāo)志BACK:RET;***************定時(shí)器0中斷服務(wù)子程程序CLOCK***************CLOCK:MOVTL0,#0B7HMOV TH0,#3CH;重裝初值,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年包裝彩膜項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年馬皮革項(xiàng)目可行性研究報(bào)告
- 2025年船用漆項(xiàng)目可行性研究報(bào)告
- 文山2025年云南文山市自然資源局招聘編外特殊人才筆試歷年參考題庫附帶答案詳解
- 2025至2030年中國碰珠型電插鎖數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 租賃合同拆除圍墻合同范本
- 2025年沖體鍍鋅鏈條項(xiàng)目投資可行性研究分析報(bào)告
- 2025年紙張塵埃度測(cè)定儀項(xiàng)目可行性研究報(bào)告
- 成都四川成都市雙流區(qū)黃龍溪學(xué)校招聘教師3人筆試歷年參考題庫附帶答案詳解
- 2025至2030年中國高爐熱電偶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 中國著名的塔課件
- Q∕GDW 11612.2-2018 低壓電力線高速載波通信互聯(lián)互通技術(shù)規(guī)范 第2部分:技術(shù)要求
- 公司辦公室5S管理規(guī)定(實(shí)用含圖片)
- (完整版)餐飲員工入職登記表
- 智能化工程施工工藝圖片講解
- 人教版小學(xué)五年級(jí)數(shù)學(xué)下冊(cè)教材解讀
- 2022年最新蘇教版五年級(jí)下冊(cè)科學(xué)全冊(cè)教案
- 咳嗽與咳痰課件
- 小學(xué)四年級(jí)數(shù)學(xué)奧數(shù)應(yīng)用題100題
- 綜合布線驗(yàn)收?qǐng)?bào)告材料
- 《初三心理健康教育》ppt課件
評(píng)論
0/150
提交評(píng)論