版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、-. z單片機(jī)課程設(shè)計(jì)之自動(dòng)打鈴系統(tǒng)這是我們本學(xué)期的單片機(jī)課程設(shè)計(jì)題目,程序就是在昨天的數(shù)字鐘的根底上增加了一些容,不想繼續(xù)做了,還有一門考試要復(fù)習(xí)。設(shè)計(jì)一臺(tái)自動(dòng)打鈴系統(tǒng)一、設(shè)計(jì)任務(wù)用單片機(jī)器件為主體,設(shè)計(jì)一臺(tái)自動(dòng)打鈴系統(tǒng)。1按照設(shè)計(jì)標(biāo)準(zhǔn),畫出系統(tǒng)框圖和系統(tǒng)硬件電路圖。2完成該課題的程序設(shè)計(jì),提交程序設(shè)計(jì)框圖及程序設(shè)計(jì)清單。3提交課程設(shè)計(jì)報(bào)告二、設(shè)計(jì)要求一根本要求1根本計(jì)時(shí)和顯示功能(用12小時(shí)制顯示)。包括上下午標(biāo)志,時(shí)、分的數(shù)字顯示,秒信號(hào)指示。2能設(shè)置當(dāng)前時(shí)間(含上、下午,時(shí),分)3能實(shí)現(xiàn)根本打鈴功能,規(guī)定:上午6:00起床鈴:打鈴5秒、停2秒、再打鈴5秒。下午10:30熄燈鈴:打鈴5秒
2、、停2秒、再打鈴5秒。鈴聲可用小喇叭播放,但凡用到鈴聲功能的均按此處理二發(fā)揮局部1增加整點(diǎn)報(bào)時(shí)功能,整點(diǎn)時(shí)響鈴5秒,要求有控制啟動(dòng)和關(guān)閉功能。2增加調(diào)整起床鈴、熄燈鈴時(shí)間的功能。3增設(shè)上午4節(jié)課的上下課打鈴功能,規(guī)定如下: 730 上課,820下課:830上課,920下課;940 上課,1030下課;1040上課,1130下課;每次鈴聲5秒。4特色和創(chuàng)新自選。三、設(shè)計(jì)步驟1設(shè)計(jì)能正常工作的一個(gè)單片機(jī)最小硬件系統(tǒng),外圍電路包括設(shè)置鍵盤,LCD或LED的顯示屏;2進(jìn)展軟件設(shè)計(jì),利用單片機(jī)系統(tǒng)時(shí)鐘先設(shè)計(jì)一個(gè)高精度的部時(shí)鐘系統(tǒng),最小準(zhǔn)確時(shí)間為期1秒;3在秒計(jì)數(shù)器的根底上設(shè)計(jì)一個(gè)24小時(shí)時(shí)鐘,并設(shè)計(jì)假設(shè)
3、干定時(shí)功能;4設(shè)計(jì)打鈴執(zhí)行機(jī)構(gòu),完成自動(dòng)打鈴功能。四、課程設(shè)計(jì)說明書要求后面略.公開我的主要設(shè)計(jì)資料:主程序流程圖:匯編程序清單:/*程序名稱:51單片機(jī)自動(dòng)打鈴系統(tǒng)簡要說明:實(shí)現(xiàn)24小時(shí)制電子鐘,8位數(shù)碼管顯示,顯示時(shí)分秒顯示格式:23-59-59小時(shí)十位如果為0則不顯示到預(yù)定時(shí)間啟動(dòng)蜂鳴器模擬打鈴,蜂鳴器BEEP:P3.7打鈴方式分起床、熄燈鈴和上、下課鈴兩種系統(tǒng)使用4只按鍵,3只按鍵用來調(diào)整時(shí)間,fpc連接器,防水連接器,連接器論壇,供給 .ljqw./sell另一只為強(qiáng)制打鈴按鈕調(diào)整選擇鍵SET_KEY:P1.0;通過選擇鍵選擇調(diào)整位,選中位閃爍增加鍵ADD_KEY:P1.1;按一次使
4、選中位加1減少鍵DEC_KEY;P1.2;按一次使選中位減1如果長按ADD_KEY或DEC_KEY,識(shí)別后則進(jìn)展調(diào)時(shí)快進(jìn),此時(shí)停頓閃爍如果選中位是秒,則按增加鍵或減少鍵都是將秒清零強(qiáng)制打鈴鍵DALING_KEY:P1.3;用來強(qiáng)制打鈴或強(qiáng)制關(guān)閉鈴聲 P0口輸出數(shù)碼管段選信號(hào),P2口輸出數(shù)碼管位選信號(hào)。晶振12M編寫:Jiang*.net最后更新:09/1/2晚*/BEEP EQU P3.7;定義蜂鳴器電鈴控制信號(hào)輸出口ORG 0000H;程序入口地址LJMP START ORG 000BH;定時(shí)器0中斷入口地址LJMP TIMER_0ORG 0300H/*程序開場,初始化*/START: SE
5、TB BEEP;關(guān)閉蜂鳴器電鈴SETB 48H;使用一個(gè)bit位用于調(diào)時(shí)閃爍標(biāo)志SETB 47H;使用一個(gè)bit位用于產(chǎn)生脈沖用于調(diào)時(shí)快進(jìn)時(shí)基CLR 45H;關(guān)閉響鈴方式1標(biāo)志CLR 44H;關(guān)閉響鈴方式2標(biāo)志MOV R1,#0;調(diào)整選擇鍵功能標(biāo)志:0正常走時(shí)、1調(diào)時(shí)、2調(diào)分、3調(diào)秒MOV 20H,#00H;用于控制秒基準(zhǔn)時(shí)鐘源的產(chǎn)生MOV 21H,#00H;清零秒存放器MOV 22H,#00H;清零分存放器MOV 23H,#00H;清零時(shí)存放器MOV 24H,#00H;用于控制調(diào)時(shí)閃爍的基準(zhǔn)時(shí)鐘的產(chǎn)生MOV IP,#02H;IP,IE初始化MOV IE,#82H MOV TMOD,#01H;
6、設(shè)定定時(shí)器0工作方式1MOV TH0,#3CH MOV TL0,#0B0H;賦定時(shí)初值,定時(shí)50ms SETB TR0;啟動(dòng)定時(shí)器0 MOV SP,#40H;重設(shè)堆棧指針/*主程序*/MAIN:CJNE R1,#00H,MAIN1;是否為正常走時(shí)狀態(tài)LCALL BIJIAO1;調(diào)用起床、熄燈打鈴比擬子程序LCALL BIJIAO2;調(diào)用上、下課打鈴比擬子程序LCALL DALING1;調(diào)用響鈴方式1執(zhí)行子程序LCALL DALING2;調(diào)用響鈴方式2執(zhí)行子程序MAIN1: LCALL DISPLAY ;調(diào)用顯示子程序LCALL KEY_SCAN ;調(diào)用按鍵檢測子程序JZ MAIN;無鍵按下則返
7、回重新循環(huán)LCALL SET_KEY ;調(diào)用選擇鍵處理子程序 46H,MAIN;如果已進(jìn)展長按調(diào)整調(diào)時(shí)快進(jìn),則不再執(zhí)行下面的單步調(diào)整LCALL ADD_KEY;調(diào)用增加鍵處理子程序LCALL DEC_KEY;調(diào)用減少鍵處理子程序LCALL DALING_KEY;處理強(qiáng)制打鈴/強(qiáng)制關(guān)閉鈴聲鍵LJMP MAIN ;重新循環(huán)/*定時(shí)中斷效勞程序*/ TIMER_0: PUSH ACC PUSH PSW ;保護(hù)現(xiàn)場MOV TH0,#3CHMOV TL0,#0B0H ;重新賦定時(shí)初值CPL 47H;產(chǎn)生脈沖用于調(diào)時(shí)快進(jìn)時(shí)基INC 24HMOV A,24HCJNE A,#10,ADD_TIME;產(chǎn)生0.5
8、秒基準(zhǔn)時(shí)鐘,用于調(diào)時(shí)閃爍CPL 48H;取反調(diào)時(shí)閃爍標(biāo)志位MOV 24H,#00HADD_TIME:INC 20H MOV A,20H CJNE A,#20,RETI1;產(chǎn)生1秒基準(zhǔn)時(shí)鐘MOV 20H,#00H ;一秒鐘時(shí)間到,清零20H MOV A,21HADD A,#01HDA A ;作十進(jìn)制調(diào)整MOV 21H,A CJNE A,#60H,RETI1 MOV 21H,#00H ;一分鐘到MOV A,22H ADD A,#01H DA A MOV 22H,A CJNE A,#60H,RETI1 MOV 22H,#00H ;一小時(shí)到MOV A,23H ADD A,#01H DA A MOV 2
9、3H,A CJNE A,#24H,RETI1 MOV 23H,#00H ;到24點(diǎn),清零小時(shí)RETI1: POP PSW POP ACC ;恢復(fù)現(xiàn)場RETI ;中斷返回/*顯示處理*/ DISPLAY:MOV A,21H ;秒ANL A,#0FH MOV 2FH,A;轉(zhuǎn)換出秒個(gè)位,存入2FH MOV A,21H ANL A,#0F0H SWAP A MOV 2EH,A;轉(zhuǎn)換出秒十位,存入2EH 46H,MIN;如果長按按鍵調(diào)時(shí)快進(jìn),則跳過閃爍處理CJNE R1,#3,MIN;如果R1為3,閃爍秒位待調(diào)整 48H,MINMOV 2FH,#0AH;使該位為10,查表得到使該位不顯示的輸出MOV 2
10、EH,#0AHMIN:MOV A,22H ;分ANL A,#0FH MOV 2DH,A;轉(zhuǎn)換出分個(gè)位,存入2DH MOV A,22H ANL A,#0F0H SWAP A MOV 2CH,A;轉(zhuǎn)換出分十位,存入2CH 46H,HOUR;如果長按按鍵調(diào)時(shí)快進(jìn),則跳過閃爍處理CJNE R1,#2,HOUR;如果R1為2,閃爍分位待調(diào)整 48H,HOURMOV 2DH,#0AH;使該位為10,查表得到使該位不顯示的輸出MOV 2CH,#0AHHOUR:MOV A,23H ;時(shí)ANL A,#0FHMOV 2BH,A;轉(zhuǎn)換出時(shí)個(gè)位,存入2BH MOV A,23H ANL A,#0F0H SWAP A M
11、OV 2AH,A;轉(zhuǎn)換出時(shí)十位,存入2AH 46H,DISP;如果長按按鍵調(diào)時(shí)快進(jìn),則跳過閃爍處理CJNE R1,#1,DISP;如果R1為1,閃爍時(shí)位待調(diào)整 48H,DISPMOV 2BH,#0AH;使該位為10,查表得到使該位不顯示的輸出MOV 2AH,#0AH/*數(shù)碼管動(dòng)態(tài)掃描顯示*/DISP:MOV DPTR,#TABLEMOV A,2FHMOVC A,A+DPTRMOV P0,ACLR P2.7LCALL DELAYSETB P2.7;顯示秒個(gè)位MOV A,2EHMOVC A,A+DPTRMOV P0,ACLR P2.6LCALL DELAYSETB P2.6;顯示秒十位MOV A,
12、#0BFHMOV P0,ACLR P2.5LCALL DELAYSETB P2.5;顯示-MOV A,2DHMOVC A,A+DPTRMOV P0,ACLR P2.4LCALL DELAYSETB P2.4;顯示分個(gè)位MOV A,2CHMOVC A,A+DPTRMOV P0,ACLR P2.3LCALL DELAYSETB P2.3;顯示分十位MOV A,#0BFHMOV P0,ACLR P2.2LCALL DELAYSETB P2.2;顯示-MOV A,2BHMOVC A,A+DPTRMOV P0,ACLR P2.1LCALL DELAYSETB P2.1;顯示時(shí)個(gè)位MOV DPTR,#TA
13、BLE1;該位使用TABLE1以消除前置0MOV A,2AHMOVC A,A+DPTRMOV P0,ACLR P2.0LCALL DELAYSETB P2.0;顯示時(shí)十位RET/*按鍵檢測子程序*/ KEY_SCAN: CLR 46H;關(guān)閉長按調(diào)整調(diào)時(shí)快進(jìn)標(biāo)志MOV P1,#0FFH ;將P1口設(shè)置成輸入狀態(tài)MOV A,P1 CPL A ANL A,#0FH ;P1口低4位連接4個(gè)按鍵,只判斷該4位JZ E*IT_KEY ;無鍵按下則返回LCALL DELAY;延時(shí)去抖動(dòng)MOV A,P1;重新判斷CPL A ANL A,#0FH JZ E*IT_KEY ;鍵盤去抖動(dòng)MOV R5,A ;臨時(shí)將鍵
14、值存入R5MOV R4,#00H;用于控制調(diào)時(shí)快進(jìn)速度;設(shè)置為00H是為了在進(jìn)入長按處理前加長延時(shí)區(qū)分用戶的長按與短按,防止誤快進(jìn)LOOP:;進(jìn)入長按處理LCALL DISPLAY;使長按時(shí)顯示正常MOV A,P1 CPL A ANL A,#0FH 47H,LOOP1INC R4;調(diào)時(shí)快進(jìn)間隔時(shí)間基準(zhǔn)加1LOOP1:CJNE R1,#03H,LOOP2;如果調(diào)秒時(shí)長按,則不處理LJMP LOOP3LOOP2:CJNE R4,#99H,LOOP3MOV R4,#70H;確認(rèn)用戶長按后,重新設(shè)定起始值,加快調(diào)時(shí)快進(jìn)速度SETB 46H;長按調(diào)整調(diào)時(shí)快進(jìn)標(biāo)志LCALL ADD_KEYLCALL DE
15、C_KEYLOOP3:JNZ LOOP ;等待鍵釋放MOV A,R5;輸出鍵值RETE*IT_KEY:RET/*延時(shí)子程序*/DELAY:MOV R7,#150 DJNZ R7,$RET/*選擇鍵處理子程序*/ SET_KEY: CJNE R5,#01H,E*IT;選擇鍵鍵值INC R1;調(diào)整選擇功能標(biāo)志加一SETB BEEPCJNE R1,#4,E*ITMOV R1,#0MOV 24H,#00H;調(diào)時(shí)閃爍基準(zhǔn)清零RET/*增加鍵處理子程序*/ ADD_KEY: CJNE R5,#02H,E*IT;增加鍵鍵值CJNE R1,#01H,NE*T1;選擇鍵功能標(biāo)志為1,調(diào)時(shí),否則跳出MOV A,2
16、3HADD A,#01HDA AMOV 23H,ACJNE A,#24H,E*ITMOV 23H,#00HNE*T1:CJNE R1,#02H,NE*T2;選擇鍵功能標(biāo)志為2,調(diào)分,否則跳出MOV A,22HADD A,#01HDA AMOV 22H,ACJNE A,#60H,E*ITMOV 22H,#00HNE*T2:CJNE R1,#03H,E*IT;選擇鍵功能標(biāo)志為3,調(diào)秒,否則跳出MOV 21H,#00H;如增加鍵按下直接清零秒RET/*減少鍵處理子程序*/ DEC_KEY: CJNE R5,#04H,E*IT;減少鍵鍵值CJNE R1,#01H,NE*T3;選擇鍵功能標(biāo)志為1,調(diào)時(shí),
17、否則跳出MOV A,23HADD A,#99HDA AMOV 23H,ACJNE A,#99H,E*ITMOV 23H,#23HNE*T3:CJNE R1,#02H,NE*T4;選擇鍵功能標(biāo)志為2,調(diào)分,否則跳出MOV A,22HADD A,#99HDA AMOV 22H,ACJNE A,#99H,E*ITMOV 22H,#59HNE*T4:CJNE R1,#03H,E*IT;選擇鍵功能標(biāo)志為3,調(diào)秒,否則跳出MOV 21H,#00H;如較少鍵按下直接清零秒RET/*強(qiáng)制響鈴鍵處理子程序*/ DALING_KEY: CJNE R5,#08H,E*IT;選擇鍵鍵值CPL BEEPRET/*萬用返
18、回程序*/E*IT: RET/*數(shù)碼管字形編碼表*/TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;字形顯示編碼TABLE1:DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小時(shí)位的十位數(shù)編碼,該位如果為0則不顯示/*打鈴時(shí)間比照程序起床、熄燈*/BIJIAO1:MOV A,23HCJNE A,#06H,B0MOV A,22HCJNE A,#00H,B0;6:00到SETB 45H;開啟響鈴方式1RETB0:MOV A,23HCJNE A,#22H,E*IT_1
19、MOV A,22HCJNE A,#30H,E*IT_1;22:30到SETB 45H;開啟響鈴方式1RETE*IT_1:CLR 45HRET/*打鈴時(shí)間比照程序上、下課*/BIJIAO2:MOV A,23HCJNE A,#07H,B1MOV A,22HCJNE A,#30H,B1;7:30SETB 44H;開啟響鈴方式2RETB1:MOV A,23HCJNE A,#08H,B2MOV A,22HCJNE A,#20H,B2;8:20SETB 44HRETB2:MOV A,23HCJNE A,#08H,B3MOV A,22HCJNE A,#30H,B3;8:30SETB 44HRETB3:MOV A,23HCJNE A,#09H,B4MOV A,22HCJNE A,#20H,B4;9:20SETB
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 超市加工區(qū)安全制度
- 請(qǐng)?zhí)峁┮环輥砹蠙z驗(yàn)獎(jiǎng)罰制度
- 計(jì)算機(jī)教室管理人員崗位職責(zé)制度
- 行政事業(yè)單位職責(zé)分離制度
- 【疾控科普】尼帕病毒綜合防治知識(shí)
- 住院病歷質(zhì)量評(píng)分標(biāo)準(zhǔn)
- 用電安全與維護(hù)課件
- 養(yǎng)老機(jī)構(gòu)生活護(hù)理制度
- Unit 2 Go for it 知識(shí)清單 新教材外研版七年級(jí)英語下冊
- 2026青海海南州貴南縣自然資源和林業(yè)草原局招聘臨聘人員1人備考考試題庫附答案解析
- 市安全生產(chǎn)例會(huì)制度
- 生產(chǎn)安全管理三項(xiàng)制度
- 湖南省長沙市雨花區(qū)2025-2026學(xué)年上學(xué)期九年級(jí)物理檢測綜合練習(xí)試卷(含答案)
- 打火機(jī)工廠制度規(guī)范
- 肺含鐵血黃素沉著癥診療指南(2025年版)
- 湖口縣2026年第一批單位公開選調(diào)事業(yè)編制工作人員【32人】參考題庫附答案
- 統(tǒng)計(jì)分析培訓(xùn)課件
- 2025至2030中國乳鐵蛋白行業(yè)調(diào)研及市場前景預(yù)測評(píng)估報(bào)告
- 2026年人教版七年級(jí)英語上冊期末真題試卷含答案
- 高速公路bt合同范本
- 2026年《必背60題》酒店前廳接待經(jīng)理高頻面試題包含詳細(xì)解答
評(píng)論
0/150
提交評(píng)論