




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 選題一:具有整點報時帶鬧鐘時間可調(diào)的數(shù)字鐘1、目的及意義 掌握單片機開發(fā)流程,能夠獨立完成單片機小系統(tǒng)的開發(fā)。學會查找資料,設計硬件電路,編寫相應軟件,電路調(diào)試,撰寫設計報告,提高分析問題、解決問題的能力,為以后就業(yè)打下堅實的專業(yè)基礎。2、任務要求數(shù)字時鐘顯示:小時(兩位)分鐘(兩位)秒鐘(兩位)時間可調(diào),要求時、分、秒都可調(diào)可以設定鬧鈴,當鬧鈴時間到,蜂鳴器發(fā)出鬧鈴聲音。具有整點報時功能。3、設計思路 用內(nèi)部定時器中斷計時,三個兩位數(shù)碼管分別顯示秒、分、時,STC89C52芯片P2口控制數(shù)碼管選通,P0口輸出數(shù)值顯示。P3.5口輸出高低電平驅(qū)動蜂鳴器做鬧鐘用。4、實現(xiàn)功能主要通過單片機的內(nèi)
2、部定時器產(chǎn)生秒時基信號,實現(xiàn)電子時鐘功能。主要功能有:時鐘功能,鬧鐘功能,整點報時,鬧鐘報警,調(diào)時,調(diào)鬧鐘等。5、硬件電路圖(protel99軟件繪制)和仿真圖(proteus軟件與keil軟件聯(lián)調(diào)) 硬件電路圖仿真圖6、軟件設計#include#define tl 0 xba;#define th 0 x3c;sbit time=P10;/時間設置sbit timer=P11;/鬧鐘設置sbit add=P12;/加sbit dec=P13;/減sbit speaker=P37;/鬧鐘輸出bit disp_sd;/數(shù)碼管閃動顯示標志位bit disp_ms;/數(shù)碼管顯示時間/鬧鐘標志位bit
3、 disp_sdt;/數(shù)碼管閃動間隔反轉(zhuǎn)標志位unsigned char code led=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /數(shù)字0-9的編碼unsigned char time_cc,timer_cc;/調(diào)時計數(shù)器unsigned char count0,count1,second,minit,hour;/時間時分秒unsigned char second1,minit1,hour1;/鬧鐘時分秒void delay(void)unsigned int i;for(i=0;i100;i+);void d
4、isplay(void)if(disp_ms=0)if(disp_sd=0)P0=ledhour/10;P2=0 x7F;delay();P2=0 xFF;P0=ledhour%10;P2=0 xBF;delay();P2=0 xFF;P0=0 x40;P2=0 xDF;delay();P2=0 xFF;P0=ledminit/10;P2=0 xEF;delay();P2=0 xFF;P0=ledminit%10;P2=0 xF7;delay();P2=0 xFF;P0=0 x40;P2=0 xFB;delay();P2=0 xFF;P0=ledsecond/10;P2=0 xFD;delay
5、();P2=0 xFF;P0=ledsecond%10;P2=0 xFE;delay();P2=0 xFF;elseif(time_cc=0 x01)if(disp_sdt=1)P0=ledhour/10;elseP0=0 x00;P2=0 x7F;delay();P2=0 xFF;if(disp_sdt=1)P0=ledhour%10;elseP0=0 x00;P2=0 xBF;delay();P2=0 xFF;elseP0=ledhour/10;P2=0 x7F;delay();P2=0 xFF;P0=ledhour%10;P2=0 xBF;delay();P2=0 xFF;P0=0 x4
6、0;P2=0 xDF;delay();P2=0 xFF;if(time_cc=0 x02)if(disp_sdt=1)P0=ledminit/10;elseP0=0 x00;P2=0 xEF;delay();P2=0 xFF;if(disp_sdt=1)P0=ledminit%10;elseP0=0 x00;P2=0 xF7;delay();P2=0 xFF;elseP0=ledminit/10;P2=0 xEF;delay();P2=0 xFF;P0=ledminit%10;P2=0 xF7;delay();P2=0 xFF;P0=0 x40;P2=0 xFB;delay();P2=0 xF
7、F;if(time_cc=0 x03)if(disp_sdt=1)P0=ledsecond/10;elseP0=0 x00;P2=0 xFD;delay();P2=0 xFF;if(disp_sdt=1)P0=ledsecond%10;elseP0=0 x00;P2=0 xFE;delay();P2=0 xFF;elseP0=ledsecond/10;P2=0 xFD;delay();P2=0 xFF;P0=ledsecond%10;P2=0 xFE;delay();P2=0 xFF;elseif(disp_sd=0)P0=ledhour1/10;P2=0 x7F;delay();P2=0 x
8、FF;P0=ledhour1%10;P2=0 xBF;delay();P2=0 xFF;P0=0 x40;P2=0 xDF;delay();P2=0 xFF;P0=ledminit1/10;P2=0 xEF;delay();P2=0 xFF;P0=ledminit1%10;P2=0 xF7;delay();P2=0 xFF;P0=0 x40;P2=0 xFB;delay();P2=0 xFF;P0=ledsecond1/10;P2=0 xFD;delay();P2=0 xFF;P0=ledsecond1%10;P2=0 xFE;delay();P2=0 xFF;elseif(timer_cc=
9、0 x01)if(disp_sdt=1)P0=ledhour1/10;elseP0=0 x00;P2=0 x7F;delay();P2=0 xFF;if(disp_sdt=1)P0=ledhour1%10;elseP0=0 x00;P2=0 xBF;delay();P2=0 xFF;elseP0=ledhour1/10;P2=0 x7F;delay();P2=0 xFF;P0=ledhour1%10;P2=0 xBF;delay();P2=0 xFF;P0=0 x40;P2=0 xDF;delay();P2=0 xFF;if(timer_cc=0 x02)if(disp_sdt=1)P0=le
10、dminit1/10;elseP0=0 x00;P2=0 xEF;delay();P2=0 xFF;if(disp_sdt=1)P0=ledminit1%10;elseP0=0 x00;P2=0 xF7;delay();P2=0 xFF;elseP0=ledminit1/10;P2=0 xEF;delay();P2=0 xFF;P0=ledminit1%10;P2=0 xF7;delay();P2=0 xFF;P0=0 x40;P2=0 xFB;delay();P2=0 xFF;if(timer_cc=0 x03)if(disp_sdt=1)P0=ledsecond1/10;elseP0=0
11、x00;P2=0 xFD;delay();P2=0 xFF;if(disp_sdt=1)P0=ledsecond1%10;elseP0=0 x00;P2=0 xFE;delay();P2=0 xFF;elseP0=ledsecond1/10;P2=0 xFD;delay();P2=0 xFF;P0=ledsecond1%10;P2=0 xFE;delay();P2=0 xFF; void key_scan(void)unsigned int i;if(time=0)for(i=0;i10;i+)display();if(time=0)TR0=0;do display();while(time=
12、0);disp_sd=1;disp_ms=0;time_cc+;if(time_cc=4)TR0=1;time_cc=0;disp_sd=0;if(timer=0)for(i=0;i10;i+)display();if(timer=0)do display();while(timer=0);disp_sd=1;/數(shù)碼管閃動顯示disp_ms=1;/顯示模式為鬧鐘時間timer_cc+;if(timer_cc=4)timer_cc=0;disp_sd=0;/閃動關閉disp_ms=0;/切換到時間模式if(add=0)for(i=0;i23) hour=23; break;case (0 x02
13、): minit+; if(minit59) minit=59; break;case (0 x03): second+;if(second59) second=59; break; default: break;elseswitch(timer_cc)case (0 x01): if(hour1=23) hour1=23; else hour1+; break;case (0 x02): if(minit1=59) minit1=59; else minit1+; break;case (0 x03): if(second1=59) second1=59; else second1+; br
14、eak; default:break;if(dec=0)for(i=0;i10;i+)display();if(dec=0)do display(); while(dec=0);if(disp_ms=0)switch(time_cc)case (0 x01): if(hour=0) hour=0; else hour-; break;case (0 x02): if(minit=0) minit=0; else minit-; break;case (0 x03): if(second=0) second=0; else second-; break; default: break;elses
15、witch(timer_cc)case (0 x01): if(hour1=0) hour1=0; else hour1-; break;case (0 x02): if(minit1=0) minit1=0; else minit1-; break;case (0 x03): if(second1=0) second1=0; else second1-; break; default: break;void timer_alam(void)if(disp_ms=0)&(disp_sd=0) /正常運行時間的狀態(tài)下if(hour1=hour)&(minit1=minit)speaker=dis
16、p_sdt;/*主函數(shù)* void main(void) second=0 x00; /時間初始化為12:00:00 minit=0 x00; hour=12; count0=0 x00; count1=0 x00; P1=0 xFF; TMOD=0 x11; TL0=tl; TH0=th; TL1=tl; TH1=th; EA=1; ET0=1;ET1=1; TR0=1;TR1=1; while(1) key_scan(); display();timer_alam(); /*中斷服務函數(shù)*void time0_int(void) interrupt 1 TL0=tl; TH0=th; TR
17、0=1; count0+; if(count0=20) count0=0; second+; if(second=60) second=0; minit+; if(minit=60) minit=0; hour+;if(hour=24) hour=0; /*中斷服務函數(shù)*void time1_int(void) interrupt 3 TL1=tl; TH1=th; TR1=1; count1+; if(count1=10) count1=0;disp_sdt=disp_sdt;7、硬件實現(xiàn)選題二:溫度控制器的設計1、目的及意義 掌握單片機開發(fā)流程,能夠獨立完成單片機小系統(tǒng)的開發(fā)。學會查找資料
18、,設計硬件電路,編寫相應軟件,電路調(diào)試,撰寫設計報告,提高分析問題、解決問題的能力,為以后就業(yè)打下堅實的專業(yè)基礎。2、任務要求主要實現(xiàn)功能:通過溫度傳感器采集溫度,與設定的上限和下限溫度進行比較,當超出上下限時則報警并對應的指示燈亮,否則不報警,燈全滅。具體要求:1.報警器顯示部分:當前溫度顯示(1位小數(shù)),溫度上限顯示,溫度下限顯示(整數(shù)),通過按鍵三者切換顯示2.用DS16B20采集溫度3.溫度上限和下限可以通過按鍵調(diào)整4.當溫度超過上限或者下限時報警器鳴叫,對應的超上限或下限燈點亮。3、設計思路 用DS16B20采集溫度,STC89C52芯片P2.0P2.3口控制數(shù)碼管選通,P0口輸出數(shù)
19、值顯示。P3.5口輸出電平驅(qū)動蜂鳴器做報警用,P2.4口和P2.7口控制兩個發(fā)光二極管,代表溫度超上限和查下限。4、硬件電路圖(protel99軟件繪制)和仿真圖(proteus軟件與keil軟件聯(lián)調(diào))Protues圖Protel圖軟件設計#include#define uchar unsigned char#define uint unsigned int sbit s2=P11;sbit s3=P12;sbit s4=P13;sbit led1=P20; sbit led2=P21;sbit led3=P22;sbit led4=P23;sbit dot=P07;sbit bebe=P35
20、;sbit baowen=P24;sbit jiawen=P27;#define time 0 x8Euchar code dis=0 x3F,0X06,0X5b,0X4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00,0 x40, 0X63,0X39, 0X01,0X08;/共陰數(shù)碼管0-9,滅,-編碼uchar sav1,fav1,bai,qin,f2,tval,tge,tshi,tbai,mak,HTEMP,LTEMP,va1,mge,mshi,fge,fshi,temp_high,temp_low,set1,set2;uint final_temp
21、;uint tvalue; uchar tflag;/溫度正負標志sbit DQ=P34;void delayMs(uint a); void timeset();void setdsplay2();void delayus(uchar x)while(x-);void delay_long(uint x)uint i;while(x-)for(i=0;i0;z-)for(y=80;y0;y-);/*/*ds1820程序*/ void delay_18B20(unsigned int i)/延時1微秒 while(i-);void ds1820rst()/*ds1820復位*/ unsigne
22、d char x=0; DQ = 1; /DQ復位 delay_18B20(4); /延時 DQ = 0; /DQ拉低 delay_18B20(70); /精確延時大于480us DQ = 1; /拉高 delay_18B20(40); uchar ds1820rd()/*讀數(shù)據(jù)*/ unsigned char i=0; unsigned char dat = 0; for (i=8;i0;i-) DQ = 0; /給脈沖信號 dat=1; DQ = 1; /給脈沖信號 if(DQ) dat|=0 x80; delay_18B20(10); return(dat); void ds1820wr
23、(uchar wdata)/*寫數(shù)據(jù)*/ unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0 x01; delay_18B20(10); DQ = 1; wdata=1; read_temp()/*讀取溫度值并轉(zhuǎn)換*/ uchar a,b; ds1820rst(); ds1820wr(0 xcc);/*跳過讀序列號*/ ds1820wr(0 x44);/*啟動溫度轉(zhuǎn)換*/ ds1820rst(); ds1820wr(0 xcc);/*跳過讀序列號*/ ds1820wr(0 xbe);/*讀取溫度*/ a=ds1820rd(); b
24、=ds1820rd(); tvalue=b; tvalue=8; tvalue=tvalue|a; if(tvalueHTEMP)jiawen=1;baowen=0;bebe=0;elseif(final_temp/10LTEMP)jiawen=0;baowen=1;bebe=1;/*溫度設置*void timeset()if(s4=0)while(!s4);f2+;if(f2=1) mak=0;led4=0;P0=dis14;delay_long(2);led4=1;tval=set1;setdsplay2();if(s2=0)while(!s2);set1+;if(tval=120)set
25、1=0;if(s3=0)while(!s3);set1-;if(set1=0)set1=120;if(f2=2) HTEMP=set1;mak=0;led4=0;P0=dis15;delay_long(5);led4=1;tval=set2;setdsplay2();if(s2=0)while(!s2);set2+;if(set2=120)set2=0;if(s3=0)while(!s3);set2-;if(set2=0)set2=120;if(f2=3)LTEMP=set2;f2=0;mak=1;void setdsplay2()tge=tval%10; /顯示ge位 tshi=tval%1
26、00/10; /顯示shi位tbai=tval%1000/100;/顯示百位led3=0;P0=distge;delay(2);led3=1;delay(2);led2=0;P0=distshi;delay(2);led2=1;delay(2);led1=0;P0=distbai;delay(2);led1=1;delay(2);5、硬件實現(xiàn)選題三:步進電機控制1、目的及意義 掌握單片機開發(fā)流程,能夠獨立完成單片機小系統(tǒng)的開發(fā)。學會查找資料,設計硬件電路,編寫相應軟件,電路調(diào)試,撰寫設計報告,提高分析問題、解決問題的能力,為以后就業(yè)打下堅實的專業(yè)基礎。2、任務要求主要實現(xiàn)功能及任務要求:單片機
27、的P0口通過驅(qū)動器件ULN2003驅(qū)動五線四相制微型步進電機,當接在P3口的按鍵s1按下時,步進電機正轉(zhuǎn);按鍵s2按下時,步進電機反轉(zhuǎn);s3按下時,加速;s4按下時,減速;s5按下時,步進電機停止工作。3、設計思路 用五線四相制微型步進電機,通過驅(qū)動芯片ULN2003與STC89C52單片機的P0.0P0.3相連,P0口要有上拉電阻,單片機P3.0P3.4分別接獨立式按鍵s1s5,用于控制步進電機的運行狀態(tài)。4、硬件電路圖(protel99軟件繪制)和仿真圖(proteus軟件與keil軟件聯(lián)調(diào))5、軟件設計#include#define uchar unsigned char#define uint unsigned int uchar code CCW8=0 x08,0 x0c,0 x04,0 x06,0 x02,0 x03,0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河南省安全員考試題庫及答案
- 水處理劑運輸協(xié)議
- 2025年度合伙項目退出合同:投資回收與風險承擔
- 教育培訓機構外墻裝修樣本
- 2025年度產(chǎn)品安全召回賠償協(xié)議范本
- 2025年度個人綠色建筑投資管理協(xié)議
- 2025年度解除終止勞動合同后員工離職手續(xù)辦理指南
- 2025年度債權轉(zhuǎn)讓合同-金融資產(chǎn)重組
- 2025年度員工借調(diào)及數(shù)字化轉(zhuǎn)型合作協(xié)議
- 2025年度廣告?zhèn)髅絼趧张汕舶踩諈f(xié)議
- 歷年交管12123駕照學法減分復習題庫帶答案下載
- 人教鄂教版-科學-三年級下冊-知識點
- 2024-2034年中國注射用賴氨匹林行業(yè)市場競爭格局及投資前景展望報告
- 供應鏈可持續(xù)采購實踐
- 菌菇智慧方艙栽培及食用菌菌包中心生產(chǎn)基地項目可行性研究報告
- 生物工程畢業(yè)設計開題報告
- 園林垃圾處理政策解讀
- GT 42456-2023 工業(yè)自動化和控制系統(tǒng)信息安全 IACS組件的安全技術要求
- 《胎心監(jiān)護及判讀》
- 養(yǎng)老院管理-護理員-績效考核表
- 奧爾夫技能考核方案
評論
0/150
提交評論