版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)評(píng)語(yǔ):考勤(10)守紀(jì)(10)過(guò)程(30)設(shè)計(jì)報(bào)告(30)答辯(20)總成績(jī)(100) 專 業(yè):電氣工程及其自動(dòng)化 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué)院2014 年 1 月 13 日基于單片機(jī)的作息時(shí)間控制器設(shè)計(jì)1. 課程設(shè)計(jì)目的(1)進(jìn)一步熟悉和掌握單片機(jī)的最小系統(tǒng)結(jié)構(gòu)及其工作原理。(2)掌握單片機(jī)的接口技術(shù)和鍵盤掃描、數(shù)碼管顯示的原理及拓展使用方法。(3)通過(guò)課程設(shè)計(jì),提高綜合運(yùn)用所學(xué)知識(shí)的能力,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試,應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測(cè)。2. 設(shè)計(jì)方案及原理本設(shè)計(jì)是作息時(shí)間控制器,設(shè)
2、計(jì)其實(shí)現(xiàn)的功能主要有:使用4位七段顯示器來(lái)顯示當(dāng)前的時(shí)間,由LED閃動(dòng)作為秒計(jì)數(shù)表示,顯示格式為“時(shí)分”, 并可顯示日期,顯示格式為“月日”,年份單獨(dú)顯示。由4個(gè)按鍵來(lái)作功能設(shè)置,可以設(shè)置現(xiàn)在的日期、時(shí)間及定時(shí)設(shè)置時(shí)間,一旦設(shè)置的時(shí)間到則作出相應(yīng)動(dòng)作:發(fā)光二極管閃亮,同時(shí)播放音樂(lè)。數(shù)碼管顯示模塊單片機(jī)最小系統(tǒng)按鍵控制模塊鬧鐘模塊 圖1 系統(tǒng)方框圖3. 硬件設(shè)計(jì)3.1單片機(jī)AT89C52提供以下標(biāo)準(zhǔn)功能:8K字節(jié)FLASH閃存,256字節(jié)內(nèi)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C52可降至0Hz的靜態(tài)
3、邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。3.2 按鍵控制模塊按鍵設(shè)定部分比較簡(jiǎn)單,因?yàn)楸鞠到y(tǒng)按鍵少,所以在設(shè)計(jì)上采用了獨(dú)立按鍵方式,程序的編制上也采用了簡(jiǎn)單的掃描方式。按鍵控制模塊主要有由四個(gè)按鍵組成:K1、K2、K3、K4、。其中K1的功能是模式切換鍵;K2的作用是加一;K3的作用是鬧鐘使能;K4的作用是減一。圖2 按鍵控制模塊3.3 數(shù)碼管顯示模塊時(shí)間顯示模塊主要由四位七段數(shù)碼管來(lái)顯示,配合按鍵控制模塊的校正與設(shè)定時(shí)間,
4、相應(yīng)的顯示。時(shí)間正常顯示時(shí),LED每閃動(dòng)60次,分鐘自動(dòng)加一;每六十分鐘小時(shí)自動(dòng)加一;每24小時(shí)天自動(dòng)加一。 圖3 數(shù)碼管顯示模塊3.4 鬧鐘模塊鬧鐘模塊快的主要功能即鬧鈴。當(dāng)設(shè)定時(shí)間與當(dāng)前時(shí)間一致時(shí),則鬧鐘自動(dòng)鬧鈴進(jìn)行提示,同時(shí)二極管閃亮一分鐘后,自動(dòng)退出響鈴狀態(tài),若按K3鍵,鬧鐘退出響鈴狀態(tài)。圖4 鬧鐘模塊4. 軟件設(shè)計(jì)單片機(jī)作息時(shí)間控制的動(dòng)作利用時(shí)間計(jì)時(shí)處理來(lái)做秒計(jì)數(shù),當(dāng)所設(shè)置的時(shí)間到了,則發(fā)出一陣聲響。單片機(jī)定時(shí)器負(fù)責(zé)定時(shí)的計(jì)數(shù),不會(huì)因?yàn)榘存I處理而中斷時(shí)間秒數(shù)的增加,時(shí),分,秒數(shù)據(jù)是存在變量?jī)?nèi)并寫入七段顯示器的緩沖區(qū)內(nèi),而由顯示器掃描程序中定時(shí)掃描而顯示出時(shí)間。4.1 主程序設(shè)計(jì) 在主
5、控程序循環(huán)中主要工作為掃描是否有按鍵,若有按鍵則應(yīng)做相應(yīng)的功能處理,同時(shí)也掃描顯示器顯示時(shí)間數(shù)據(jù),并檢查所設(shè)置的時(shí)間是否到了,時(shí)間計(jì)時(shí)處理程序是等過(guò)了1S后,則更新時(shí)間數(shù)據(jù),將最新的時(shí),分,秒的數(shù)據(jù)轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)并顯示在七段顯示器上。程序中是這樣判斷是否過(guò)了1S的:設(shè)一舊秒數(shù)變量,當(dāng)新舊秒數(shù)變量不一樣時(shí),則表示已過(guò)了1S,要做相關(guān)程序時(shí)間處理了。圖5 主程序流程圖4.2 中斷子程序中斷子程序的主要功能:提供時(shí)間基準(zhǔn)。當(dāng)連續(xù)中斷20次時(shí),即為一秒,此時(shí)秒加一;當(dāng)秒值為60時(shí),分鐘加一,同時(shí)秒清零;當(dāng)分鐘值為60時(shí),小時(shí)加一,同時(shí)分鐘值清零;當(dāng)小時(shí)為24時(shí),天值加一,同時(shí)小時(shí)清零;由于每月天數(shù)不定
6、,1、3、5、7、8、10、12月為31天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為32時(shí),月值加一,同時(shí)天值為1;4、6、9、11月為30天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為31時(shí),月值加一,同時(shí)天值為1;如果是閏年,則2月為29天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為30時(shí),月值加一,同時(shí)天值為一;如果不是閏年,則2月為28天,當(dāng)計(jì)數(shù)此類月份時(shí),天值為29時(shí),月值加一,同時(shí)天值為一。當(dāng)月值為13時(shí),則年值加一,同時(shí)月值為一。圖6 中斷子程序程序流程圖4.3 按鍵掃描子程序按鍵掃描子程序是程序計(jì)中相當(dāng)重要的一部分。按鍵掃描子程序的功能是:掃描是否有按鍵按下,若有鍵按下,則執(zhí)行相應(yīng)功能。5. 系統(tǒng)仿真圖6 系統(tǒng)仿真圖6.
7、總結(jié)本次課程設(shè)計(jì)是對(duì)所學(xué)知識(shí)的一次綜合性運(yùn)用。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自身知識(shí)的不足。這次課程設(shè)計(jì)收獲很多,體會(huì)也很深刻,并且對(duì)我們所學(xué)的東西也產(chǎn)生了濃厚的興趣。在設(shè)計(jì)過(guò)程中,也學(xué)會(huì)了很多新的東西,比如一些仿真軟件的應(yīng)用,最典型的就是PROTEUS軟件的應(yīng)用,以及與KEIL軟件的聯(lián)合使用。當(dāng)然最重要的是學(xué)到了關(guān)于基本電子設(shè)計(jì)的一些基本方法。除此之外,我覺(jué)得在這次設(shè)計(jì)的過(guò)程中,很多自己解決不了的問(wèn)題,只有虛心請(qǐng)教別人才能有效的解決問(wèn)題,我覺(jué)得人與人之間的相互幫助很有必要,這樣不僅能幫助大家很快的解決問(wèn)題,還能提高我們每個(gè)人的實(shí)際水平。在本次設(shè)計(jì)過(guò)程中遇到不少問(wèn)題,老師在我們做設(shè)計(jì)的過(guò)程中,給予了我極
8、大的幫助,不僅從知識(shí)方面引導(dǎo)了我們的設(shè)計(jì)思路,同時(shí),在人生觀上也給了我們不少的啟示。在此,我對(duì)老師表示深深的謝意。 參考文獻(xiàn)1 王思明,張金敏,茍軍年等.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:科學(xué)出版社,2012年2 吳金.8051單片機(jī)實(shí)踐與應(yīng)用M.北京:清華大學(xué)出版社,2002 年3 楊子文.單片機(jī)原理及應(yīng)用M.西安:西安電子科技大學(xué)出版社,2006 年附1 源程序代碼#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code a10=0x3f,0x06,0x5b,0x4f,0x66
9、,0x6d,0x7d,0x07,0x7f,0x6f;/*sbit K1=P14;sbit K2=P15;sbit K3=P16;sbit K4=P17;sbit sd=P36;sbit BEEP=P37;uchar m=0,h=0,sec=0,cnt=0,x,y,qian,bai,shi,ge;uchar set_h=0;uchar set_m=0;uchar month=1;uchar day=5;uchar th0_f;uchar tl0_f;uint year=2014; void delay(uchar t);/延時(shí)函數(shù)void scankey(void);/按鍵掃描函數(shù)void in
10、it(void); /初始化函數(shù)void display(void);/顯示函數(shù)void set_time(void);/設(shè)定時(shí)間顯示輔助函數(shù)void set_day(void);/設(shè)定日期顯示輔助函數(shù)void m_choose(void); /月份選擇函數(shù)void bianhuan(void); /年份顯示輔助函數(shù)void bianhuan1(void);/時(shí)間顯示輔助函數(shù)changedata(uchar *song,uchar *diao,uchar *jie);/音樂(lè)符號(hào)串解釋函數(shù) void play(uchar *songdata);/奏樂(lè)函數(shù)/蟲兒飛uchar code chonge
11、rfei= "33_3_45|3-2-|11_1_23|3.,7_,7_-" ",632-,632-,6321_1-" ; uchar code freq36*2= 0xA9,0xEF,/00220HZ ,1 /0 0x93,0xF0,/00233HZ ,1# 0x73,0xF1,/00247HZ ,2 0x49,0xF2,/00262HZ ,2# 0x07,0xF3,/00277HZ ,3 0xC8,0xF3,/00294HZ ,4 0x73,0xF4,/00311HZ ,4# 0x1E,0xF5,/00330HZ ,5 0xB6,0xF5,/0034
12、9HZ ,5# 0x4C,0xF6,/00370HZ ,6 0xD7,0xF6,/00392HZ ,6# 0x5A,0xF7,/00415HZ ,7 0xD8,0xF7,/00440HZ 1 /12 0x4D,0xF8,/00466HZ 1# /13 0xBD,0xF8,/00494HZ 2 /14 0x24,0xF9,/00523HZ 2# /15 0x87,0xF9,/00554HZ 3 /16 0xE4,0xF9,/00587HZ 4 /17 0x3D,0xFA,/00622HZ 4# /18 0x90,0xFA,/00659HZ 5 /19 0xDE,0xFA,/00698HZ 5#
13、/20 0x29,0xFB,/00740HZ 6 /21 0x6F,0xFB,/00784HZ 6# /22 0xB1,0xFB,/00831HZ 7 /23 0xEF,0xFB,/00880HZ 1 0x2A,0xFC,/00932HZ 1# 0x62,0xFC,/00988HZ 2 0x95,0xFC,/01046HZ 2# 0xC7,0xFC,/01109HZ 3 0xF6,0xFC,/01175HZ 4 0x22,0xFD,/01244HZ 4# 0x4B,0xFD,/01318HZ 5 0x73,0xFD,/01397HZ 5# 0x98,0xFD,/01480HZ 6 0xBB,0
14、xFD,/01568HZ 6# 0xDC,0xFD,/01661HZ 7 /35 ; /* /音樂(lè)符號(hào)串解釋函數(shù)changedata(uchar *song,uchar *diao,uchar *jie) uchar i,i1,j; char gaodi;uchar banyin; uchar yinchang; uchar code jie78=0,12,14,16,17,19,21,23; *diao=*song; for(i=0,i1=0;) gaodi=0; banyin=0; yinchang=4; if(*(song+i)='|') | (*(song+i)=
15、9; ') i+; switch(*(song+i) case ',': gaodi=-12;i+; break; case '': gaodi=12;i+; break; if(*(song+i)=0) *(diao+i1)=0; *(jie+i1)=0; return; j=*(song+i)-0x30; i+; j=jie7j+gaodi; yinc: switch(*(song+i) case '#': i+;j+; goto yinc; case '-': yinchang+=4; i+; goto yinc;
16、case '_': yinchang/=2; i+; goto yinc; case '.': yinchang=yinchang+yinchang/2; i+; goto yinc; *(diao+i1)=j; *(jie+i1)=yinchang; i1+; /* /奏樂(lè)函數(shù) void play(uchar *songdata) uchar i,c,j=0; uint n; uchar diaodata40; uchar jiedata40; changedata(songdata,diaodata,jiedata); TR1=1; for(i=0;diao
17、datai!=0;i+) tl0_f=freqdiaodatai*2; th0_f=freqdiaodatai*2+1; for(c=0;c<jiedatai;c+) for(n=0;n<24;n+) scankey(); if(y=0) TR1=0; return; display(); TR1=0; for(n=0;n<500;n+); TR1=1; TR1=0; void time0(void) interrupt 1TH0=0x3c;TL0=0xb0;cnt+; if(y=1&&(set_h=h&&set_m=m)sd=sd;else
18、sd=1;if(cnt=20)sec+;cnt=0;if(sec=60)sec=0;m+;if(m=60)m=0;h+;if(h=24)h=0;day+;switch(month)case 1:if(day=32)month+;day=1;break;case 2:if(year%4=0)if(day=30)month+;day=1; elseif(day=29)month+;day=1;break;case 3:if(day=32)month+;day=1;break;case 4:if(day=31)month+;day=1;break;case 5:if(day=32)month+;da
19、y=1;break;case 6:if(day=31)month+;day=1;break;case 7:if(day=32)month+;day=1;break;case 8:if(day=32)month+;day=1;break;case 9:if(day=31)month+;day=1;break;case 10:if(day=32)month+;day=1;break;case 11:if(day=31)month+;day=1;break;case 12:if(day=32)month+;day=1;break;if(month=13)month=1;year+; if(x=0)b
20、ianhuan1(); timer1() interrupt 3 TL1=tl0_f;TH1=th0_f; /調(diào)入預(yù)定值 BEEP=BEEP; /取反音樂(lè)輸出IO void main(void)init();while(1)display(); scankey();if(y=1&&(set_h=h&&set_m=m)play(chongerfei); else BEEP=0;void init(void)BEEP=0;TMOD=0x11;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;ET1=1;TR1=0;void display(voi
21、d)P2=0xfe;P0=aqian;if(x%2=1&&cnt>=10)P0&=0x00;delay(20);P2=0xfd;P0=abai;if(x%2=1&&cnt>=10)P0&=0x00;else if(x=0&&cnt>=10)P0|=0x80;delay(20);P2=0xfb;P0=ashi;if(x%2=0&&x!=0)|x=7)&&cnt>=10)P0&=0x00;delay(20);P2=0xf7;P0=age;if(x%2=0&&
22、;x!=0)|x=7)&&cnt>=10)P0&=0x00;delay(20);void m_choose(void)switch(month)case 1:if(day=32)day=1;else if(day=0)day=31;break;case 2:if(year%4=0)if(day=30)day=1;else if(day=0)day=29; elseif(day=29)day=1;else if(day=0)day=28;break;case 3:if(day=32)day=1;else if(day=0)day=31;break;case 4:if
23、(day=31)day=1;else if(day=0)day=30;break;case 5:if(day=32)day=1;else if(day=0)day=31;break;case 6:if(day=31)day=1;else if(day=0)day=30;break;case 7:if(day=32)day=1;else if(day=0)day=31;break;case 8:if(day=32)day=1;else if(day=0)day=31;break;case 9:if(day=31)day=1;else if(day=0)day=30;break;case 10:i
24、f(day=32)day=1;else if(day=0)day=31;break;case 11:if(day=31)day=1;else if(day=0)day=30;break;case 12:if(day=32)day=1;else if(day=0)day=31;break;void set_time(void) qian=set_h/10; bai=set_h%10; shi=set_m/10; ge=set_m%10;void set_day(void) qian=month/10; bai=month%10; shi=day/10; ge=day%10;void bianhu
25、an(void)qian=year/1000;bai=year%1000/100;shi=year%100/10;ge=year%10;void bianhuan1(void) qian=h/10; bai=h%10; shi=m/10; ge=m%10;void scankey(void)if(K1=0)delay(20);if(K1=0) while(K1=0); x+; if(x=3)set_time(); else if(x=5)set_day(); else if(x=7)bianhuan(); else if(x=8)x=0;bianhuan1(); if(K2=0) delay(20);if(K2=0)w
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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年石灰礦山資源開采與利用合同3篇
- 推廣計(jì)劃的擬訂、執(zhí)行和評(píng)估
- 2025版國(guó)際商務(wù)合作合同模板匯編3篇
- 二零二五年度現(xiàn)代中式木工裝飾工程合同4篇
- 二零二五版高速公路500KVA箱變維護(hù)保養(yǎng)合同2篇
- 堅(jiān)果種植的社會(huì)經(jīng)濟(jì)效益考核試卷
- 《高血壓的護(hù)理常規(guī)》課件
- 2025版農(nóng)產(chǎn)品深加工項(xiàng)目貸款合同范本4篇
- 艾滋病HEALTH87課件講解
- 2025年加盟代理分銷商合同
- 2025年溫州市城發(fā)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 2025年中小學(xué)春節(jié)安全教育主題班會(huì)課件
- 2025版高考物理復(fù)習(xí)知識(shí)清單
- 除數(shù)是兩位數(shù)的除法練習(xí)題(84道)
- 2025年度安全檢查計(jì)劃
- 2024年度工作總結(jié)與計(jì)劃標(biāo)準(zhǔn)版本(2篇)
- 全球半導(dǎo)體測(cè)試探針行業(yè)市場(chǎng)研究報(bào)告2024
- 反走私課件完整版本
- 畢業(yè)論文-山東省農(nóng)產(chǎn)品出口貿(mào)易的現(xiàn)狀及對(duì)策研究
- 音樂(lè)思政課特色課程設(shè)計(jì)
- 2023年四川省樂(lè)山市中考數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論