單片機(jī)課程設(shè)計(jì)二_第1頁
單片機(jī)課程設(shè)計(jì)二_第2頁
單片機(jī)課程設(shè)計(jì)二_第3頁
單片機(jī)課程設(shè)計(jì)二_第4頁
單片機(jī)課程設(shè)計(jì)二_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、武漢理工大學(xué)華夏學(xué)院課程設(shè)計(jì)報(bào)告書課 程 名 稱 單片機(jī)課程設(shè)計(jì) 課程設(shè)計(jì)總評(píng)成績 學(xué)生姓名、學(xué) 號(hào) 學(xué) 生 專 業(yè) 班級(jí) 指 導(dǎo) 教 師 姓名 課程設(shè)計(jì)起止日期 武漢理工大學(xué)華夏學(xué)院信息工程系課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱:單片機(jī)原理與應(yīng)用 指導(dǎo)教師: 羅云貴 、蘇明霞 班級(jí)名稱: 物聯(lián)網(wǎng)1121、1122 開課系、教研室:通信與物聯(lián) 一、課程設(shè)計(jì)目的與任務(wù)通過單片機(jī)原理及應(yīng)用課程設(shè)計(jì),使學(xué)生能夠掌握單片機(jī)的開發(fā)過程、設(shè)計(jì)方法和單片機(jī)應(yīng)用電路的特點(diǎn),使學(xué)生能夠綜合應(yīng)用單片機(jī)原理及應(yīng)用、電工電子技術(shù)等課程的知識(shí)。要求學(xué)生經(jīng)過課程設(shè)計(jì)的教學(xué)環(huán)節(jié)進(jìn)一步理解智能電子系統(tǒng)的結(jié)構(gòu)和組成原理,掌握智能

2、電子系統(tǒng)的基本設(shè)計(jì)方法,完成系統(tǒng)電路和應(yīng)用程序的實(shí)踐,從而使學(xué)生的電子線路設(shè)計(jì)能力、單片機(jī)機(jī)應(yīng)用能力有較大提高。二、課程設(shè)計(jì)的內(nèi)容與基本要求1設(shè)計(jì)內(nèi)容:為了培養(yǎng)大家的創(chuàng)新精神和DIY能力,現(xiàn)提供給大家一些常用單片機(jī)模塊選型,大家根據(jù)下面提供的模塊和單片機(jī)結(jié)合起來,設(shè)計(jì)一個(gè)自己感興趣的小設(shè)計(jì),并進(jìn)行仿真通過。有能力的同學(xué)要求做出實(shí)物來。模塊選型如下:顯示模塊:LED燈(可以做點(diǎn)陣顯示)數(shù)碼管(要求2位以上)(可以做數(shù)字鐘)LCD模塊:LCD1602只能顯示英文數(shù)字等字符LCD模塊:12864能顯示漢字和字符LCD模塊:NOKIA5110能顯示漢字和字符TFT模塊:3.2寸觸摸屏彩屏2)按鍵模塊矩

3、陣鍵盤(2*2以上)3)聲音無源蜂鳴器(可做電子琴)有源蜂鳴器(報(bào)警)4)傳感器模塊溫度模塊:DS18B20溫濕度一體模塊:DHT11模擬光傳感器:光敏電阻數(shù)字光傳感器:BH1750FVI氣象模塊:PM2.5傳感器距離模塊:超聲波避障模塊:紅外傳感器測速:霍爾/紅外傳感器5)無線通信模塊(無線通信要一對(duì):收、發(fā))433M無線通信模塊(無線通信要一對(duì):收、發(fā))PT2262/2272玩具控制模塊紅外遙控器nRF24l01無線模塊藍(lán)牙模塊:hc-05等6)控制類直流電機(jī)步進(jìn)電機(jī)舵機(jī)設(shè)計(jì)題目可以參考如下,鼓勵(lì)大家自己擬題。要求1-2人一組,每組完成的內(nèi)容不能雷同。題目由班長匯總。1)數(shù)字電子琴2)洗衣

4、機(jī)程序控制器3)光電式可編程報(bào)警器4)交通燈控制器5)彩燈控制器6)光電式轉(zhuǎn)速表7)霍爾報(bào)警器8)磁電式轉(zhuǎn)速表9)多功能數(shù)字鐘10)電梯控制器11)頻率測量裝置 12) 脈寬測量裝置13)方波發(fā)生器(頻率、占空比可調(diào))14) 簡單計(jì)算器15)50秒倒計(jì)時(shí)器16)多路搶答器17) 遠(yuǎn)程控制器18) 與PC數(shù)據(jù)交換裝置19) 密碼鎖20) 報(bào)時(shí)器21) 溫度計(jì)22) 濕度計(jì)23) 加溫器24) 體重測量儀25) 電子稱26) 窗簾控制器27) 倒計(jì)時(shí)器28) 倒車報(bào)警器2.基本要求:1)學(xué)會(huì)單片機(jī)的應(yīng)用方法,開發(fā)環(huán)境(軟件的使用);2)結(jié)合任務(wù)要求,完成系統(tǒng)設(shè)計(jì)和調(diào)試,鼓勵(lì)功能擴(kuò)展和創(chuàng)新;3)會(huì)應(yīng)

5、用protel工具,根據(jù)設(shè)計(jì)的電路,畫電路圖,并利用protues進(jìn)行驗(yàn)證仿真;4)熟悉匯編或C51語言,用C51完成系統(tǒng)的軟件編程;5)按規(guī)范撰寫課程設(shè)計(jì)說明書三、課程設(shè)計(jì)步驟及時(shí)間進(jìn)度和場地安排1)指導(dǎo)老師下達(dá)課程設(shè)計(jì)任務(wù)書;2)完成電子產(chǎn)品的系統(tǒng)設(shè)計(jì),繪制系統(tǒng)框圖和電路圖;3)完成系統(tǒng)制作和調(diào)試,并進(jìn)行仿真通過;4)鼓勵(lì)做出實(shí)物;5)撰寫課程設(shè)計(jì)說明書時(shí)間進(jìn)度和場地安排:16月9日,下達(dá)課程設(shè)計(jì)任務(wù)書,介紹電子系統(tǒng)設(shè)計(jì)方法,查閱相關(guān)資料,確定設(shè)計(jì)方案。26月10日12日,審查設(shè)計(jì)方案,在實(shí)驗(yàn)室進(jìn)行電路仿真設(shè)計(jì)和調(diào)試。36月13日上午,進(jìn)行課程設(shè)計(jì)報(bào)告書寫。 46月13日下午,課程設(shè)計(jì)答辯

6、。實(shí)驗(yàn)室(424)開放時(shí)間周次星期一星期二星期三星期四星期五第1周9:00-12:009:00-16:009:00-16:009:00-16:009:00-16:00地點(diǎn)實(shí)驗(yàn)室424實(shí)驗(yàn)室424實(shí)驗(yàn)室424實(shí)驗(yàn)室424實(shí)驗(yàn)室424四、課程設(shè)計(jì)考核及評(píng)分標(biāo)準(zhǔn)1.設(shè)計(jì)說明書要求課程設(shè)計(jì)說明書要求邏輯清晰、層次分明、書寫整潔。說明書格式包括項(xiàng)目名稱、設(shè)計(jì)要求及性能指標(biāo)、設(shè)計(jì)方案(包括系統(tǒng)方案設(shè)計(jì);系統(tǒng)硬件電路設(shè)計(jì);系統(tǒng)軟件設(shè)計(jì))、設(shè)計(jì)結(jié)果分析、參考文獻(xiàn)。課程設(shè)計(jì)說明書須每人一份,獨(dú)立完成。2.圖紙要求 系統(tǒng)結(jié)構(gòu)框圖、protel電路圖或proteus電路仿真圖。3.評(píng)分標(biāo)準(zhǔn)課程設(shè)計(jì)考核將綜合考慮學(xué)生

7、考勤和參與度,系統(tǒng)設(shè)計(jì)方案正確性,系統(tǒng)設(shè)計(jì)和開發(fā)效果以及課程設(shè)計(jì)報(bào)告書的質(zhì)量。具體評(píng)定標(biāo)準(zhǔn)如下:評(píng) 定 項(xiàng) 目評(píng)分成績1系統(tǒng)硬件、軟件軟件(20分)20分2系統(tǒng)難易程度和創(chuàng)新(15分)15分3成果演示(20分)20分4圖紙、資料(15分)15分5設(shè)計(jì)報(bào)告規(guī)范化、參考文獻(xiàn)(不少于3篇)(10分)10分6答辯(20分)20分總分100分按上述六項(xiàng)分別記分后求和,總分按五級(jí)記分法記載最后成績。其中,優(yōu)秀(10090分),良好(8089分),中等(7079分),及格(6069分),不及格(059分)。簽名: 日期:設(shè)計(jì)題目與要求:題目:多功能數(shù)字鐘要求:實(shí)現(xiàn)萬年歷應(yīng)有的功能需求分析:在日常生活中鐘表的

8、使用頻率非常的高,比如手表、座鐘、鬧鐘等,在單片機(jī)中實(shí)現(xiàn)一個(gè)精巧實(shí)用的萬年歷,可以讓用戶在工作的同時(shí),可以很便捷的觀看時(shí)間,對(duì)工作時(shí)間的調(diào)整。同時(shí)也讓用戶的對(duì)時(shí)間的掌控更加的精確。本次課程設(shè)計(jì)要求實(shí)現(xiàn)一個(gè)具有時(shí)間功能的萬年歷,日歷與時(shí)間功能。設(shè)計(jì)思路與思想:思路:本課程設(shè)計(jì)主要使用了單片機(jī)的3個(gè)IO口和3個(gè)中斷。P0IO口用來顯示LDE段選部分,P1IO口用來進(jìn)行LED的位選部分,還有一個(gè)P2IO口中的6位用來實(shí)現(xiàn)對(duì)時(shí)間的修改部分.中斷里第一個(gè)的INT0中斷用來進(jìn)入時(shí)間修改程式,但不能成功修改,只能讓時(shí)間停下來,中斷里的T0用來進(jìn)行時(shí)間的累加每一毫秒進(jìn)行一次,中斷里INT1用來轉(zhuǎn)換時(shí)間和日期的

9、顯示。思想:以一個(gè)內(nèi)部中斷當(dāng)做時(shí)鐘觸發(fā)源,進(jìn)行時(shí)間的增加。將時(shí)間量送進(jìn)顯示部分,實(shí)現(xiàn)時(shí)間的自動(dòng)顯示。課程設(shè)計(jì)安排本課程設(shè)計(jì)將安排在第19周, 實(shí)驗(yàn)樓424。具體安排如下:第一天,下發(fā)任務(wù)書,學(xué)生查閱資料第二天,系統(tǒng)設(shè)計(jì)和原型開發(fā)第三,四天 系統(tǒng)功能實(shí)現(xiàn)第五天,系統(tǒng)調(diào)試 測試 打包和驗(yàn)收程序說明:由于沒有DS1302芯片缺少晶振,所有采用的是內(nèi)部中斷方式,曾運(yùn)行一夜,時(shí)間偏差在小于1秒,時(shí)間由中斷源觸發(fā),每次觸發(fā)增加1毫秒。單片機(jī)的設(shè)計(jì)功能設(shè)計(jì)功能1:時(shí)間顯示功能通過內(nèi)部中斷自動(dòng)增加時(shí)間后,將時(shí)間從毫秒一一進(jìn)制到小時(shí),然后將時(shí)分秒同時(shí)輸入到顯示函數(shù)中,通過顯示函數(shù)將十進(jìn)制數(shù)轉(zhuǎn)換成,段代碼循環(huán)輸送

10、給LED顯示區(qū)域顯示,成功完成顯示模塊。功能2:日期顯示功能:通過內(nèi)部中斷自動(dòng)增加時(shí)間后,將時(shí)間從毫秒一一進(jìn)制到小時(shí),再把小時(shí)進(jìn)行進(jìn)制,到年截至。然后將年月日同時(shí)輸入到顯示函數(shù)中,通過顯示函數(shù)將十進(jìn)制數(shù)轉(zhuǎn)換成,段代碼循環(huán)輸送給LED顯示區(qū)域顯示,成功完成顯示模塊。功能3:時(shí)間日期修改功能:通過一個(gè)外部中斷進(jìn)入時(shí)間修改功能,在時(shí)間修改功能中,所有的中斷都是無效的,通過時(shí)間修改,可以吧時(shí)間修改到2500年內(nèi)的任意一天,任意一秒去,還可以自行判斷閏年與非閏年。程序分析void delay(unsigned int i);延時(shí)程序:用于顯示時(shí)提供視覺暫留。void backtime(void);后臺(tái)時(shí)

11、間程序:用于在中斷觸發(fā)時(shí)修改時(shí)間,已達(dá)到時(shí)間準(zhǔn)確的目的void fronttime(void);前臺(tái)時(shí)間程序:用于在主函數(shù)自主循環(huán)時(shí)修改日期,達(dá)到日期于時(shí)間同步的效果void time(void);時(shí)間格式轉(zhuǎn)化程序:用于將時(shí)間轉(zhuǎn)換成可以輸出函數(shù)show()接受的形式void date(void);日期格式轉(zhuǎn)化程序:用于將日期轉(zhuǎn)換成可以輸出函數(shù)show()接受的形式void show(int OUT1,int OUT2);顯示程序:將傳入值輸出到LDE顯示管中void changetime(void);時(shí)間修改程序:用來修改時(shí)間與日期void fanyichu(int num);防止溢出程序:用

12、來防止修改時(shí)間和日期是纏身的溢出流程圖開始顯示時(shí)間按下轉(zhuǎn)換按鈕顯示日期按下轉(zhuǎn)換按鈕修改時(shí)間模式修改時(shí)間返回按鈕按下修改時(shí)間按鈕萬年歷流程圖運(yùn)行結(jié)果和結(jié)果分析: 運(yùn)行結(jié)果:啟動(dòng)后:時(shí)間調(diào)整后,調(diào)整至我最后修改程序的那天晚上:結(jié)果分析:萬年歷正常工作以及顯示出來,顯示分為兩個(gè)部分,上方的LED在中斷的控制下分別顯示時(shí)間、日期,芯片起到中斷計(jì)數(shù)和做時(shí)間轉(zhuǎn)換以及時(shí)間輸出的作用,萬年歷上的每個(gè)功能都是我的電子鐘制作的,萬年歷非常的準(zhǔn)時(shí),萬年歷的時(shí)間可以修改,通過中斷和按鍵輸入的組合方式進(jìn)行時(shí)間的修改操作,每次重新啟動(dòng)都會(huì)使時(shí)間重置,其時(shí)間功能還是可以充當(dāng)我現(xiàn)在使用的電子鐘的。萬年歷可以正常工作以及顯示,

13、按下日期時(shí)間轉(zhuǎn)換按鈕后可以顯示日期、再次按下日期時(shí)間轉(zhuǎn)換后可以顯示時(shí)間。自我評(píng)價(jià)與總結(jié):這一次的課程設(shè)計(jì)和以往做過的任何一次課程設(shè)計(jì)都不一樣,老師希望大家都能夠盡可能的去動(dòng)手去實(shí)踐,老師希望大家能夠通過自己的親身實(shí)驗(yàn)去體會(huì)去學(xué)習(xí),雖然我用的是我自己的學(xué)習(xí)板,但是我自己在心里默默的對(duì)自己說,我要把這次的時(shí)間都用在程序的編寫上,連續(xù)幾個(gè)晚上我都很晚才睡,總是在想著怎么樣才能寫出一個(gè)更好的程序,怎么樣才能讓程序擁有更多的功能,我的方向在哪里。經(jīng)過幾天的不懈努力,我終于成功的做好了我的課程設(shè)計(jì)。也是在一次的課程設(shè)計(jì)中,我才發(fā)現(xiàn),平時(shí)的一些不起眼的功能原來需要這么多的步驟才能實(shí)現(xiàn),這也讓我對(duì)這門課程有了

14、更多更深入的理解,同時(shí)我也存在著很多的問題,我希望我在今后的學(xué)習(xí)生活中,能夠不斷的使用這門知識(shí)。不斷的深入理解知識(shí)。附錄:程序清單,#include#define ms 1000#define temp P0#define seat P1#define button P2int a=2;int b=1;int mod=0; int jishu=0;int digit=0;char times=0;/int *MYTIME6 = &MYTIME0, &MYTIME1, &MYTIME2, &MYTIME3, &MYTIME4, &MYTIME5 ;int MYTIME6 = 0, 0, 0, 6

15、, 9, 1994 ;int MONTHno12 = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;/ MYTIME4 labelint MONTHrun12 = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;/ MYTIME4 labelunsigned int LedOut10;unsigned char code Tab = 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x40; /段碼控制unsigned ch

16、ar code site8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdF,0 xbF,0 x7F; /位選控制void delay(unsigned int i);void backtime(void);void fronttime(void);void time(void);void date(void);void show(int OUT1,int OUT2);void changetime(void);void xiugai(void);void fanyichu(int num);void main(void)button = 0 xff;mod = 0;TM

17、OD = 0X21;TL0 = (65536 - ms) % 256;TH0 = (65536 - ms) / 256;ET1 = 1;ET0 = 1;IT0 = 1;EX0=1;IT1 = 1;EX1=1;EA = 1;TR0 = 1;while (1)fronttime();if (mod = 0)EX1=1;if(b=1)time();elsedate();else if (mod = 1)changetime();void fanyichu(int num)switch (num)case 0:case 1: if (MYTIMEnum59) MYTIMEnum = 59; break

18、;case 2: if (MYTIMEnum23) MYTIMEnum = 23; break;case 3: if (MYTIMEnum MONTHrunMYTIME4-1) MYTIMEnum = MONTHrunMYTIME4-1; break;case 4: if (MYTIMEnum12) MYTIMEnum = 12; break;case 5: if (MYTIMEnum2500) MYTIMEnum = 2500; break;void changetime(void)int choose=0;int get_button;EA = 0;falg:if (choose = 3)

19、date();elsetime();if (button != 0 xff)delay(500);get_button = button;switch (get_button)case 0 xFE: MYTIMEchoose+ ;delay(500); break;case 0 xFD: MYTIMEchoose- ;delay(500); break;case 0 xFB:choose+;delay(30000);break;case 0 xF7:choose-;delay(30000);break;case 0 xDF:choose = 7; break;fanyichu(choose);

20、if (choose = 3)date();elsetime();if (choose 7)goto falg;jishu=0;mod = 0;EA = 1;EX0 = 1;button=0X00;void date(void)/轉(zhuǎn)換為輸出形式int one, two;one = 0;two = 0;one = MYTIME3 + MYTIME4 * 100;two = MYTIME5;show(one,two);a=0;void time(void)/轉(zhuǎn)換為輸出形式int one, two;one = 0;two = 0;one = MYTIME0 + MYTIME1 * 100;two =

21、 MYTIME2;a=2;show(one,two);void show(int OUT1,int OUT2)/輸出到LEDLedOut0 = TabOUT2 % 10000 / 1000;LedOut1 = TabOUT2 % 1000 / 100;LedOut2 = TabOUT2 % 100 / 10;LedOut3 = TabOUT2 % 10|0 x80;LedOut4 = TabOUT1 % 10000 / 1000;LedOut5 = TabOUT1 % 1000 / 100|0 x80;LedOut6 = TabOUT1 % 100 / 10;LedOut7 = TabOUT1 % 10|0 x80;for(; a= MONTHnoMYTIME4-1)MYTIME3 = 1;MYTIME4+;elseif (MYTIME3 = MONTHrunMYTIME4-1)MYTIME3 = 1;MYTIME4+;if (MYTIME4 12)MYTIME4 = 0;MYTIME5+;void backtime(void)/后臺(tái)控制時(shí)分秒增加if(jishu = 1000)jishu=0;

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論