




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 PAGE16 / NUMPAGES16大學(xué)學(xué)院綜合電子設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 基于單片機(jī)的多功能鬧鐘 專業(yè): 班級(jí): 學(xué)號(hào):同組: 學(xué)號(hào):指導(dǎo)老師:2012年11月設(shè)計(jì)要求和目的以單片機(jī)為核心,實(shí)現(xiàn)顯示時(shí)間、鬧鐘和溫度的采集和顯示設(shè)計(jì)原理(包括設(shè)計(jì)原理圖,關(guān)鍵器件等)系統(tǒng)框圖主要介紹了軟件整體的設(shè)計(jì)思路。在軟件框圖2-2中,系統(tǒng)上電自動(dòng)復(fù)位以后首先進(jìn)行系統(tǒng)的液晶顯示、時(shí)鐘芯片DS12887初始化,然后讀寫日期、時(shí)間等信息,待數(shù)據(jù)讀寫結(jié)束后顯示時(shí)鐘,再進(jìn)入按鍵掃描,進(jìn)行判斷,功能設(shè)置與鬧鐘比較,最終返回顯示界面。主函數(shù)的流程設(shè)計(jì):主程序部分主要做的是開機(jī)后對(duì)硬件的初始化,分別是DS18B20傳感器
2、,DS12C887時(shí)鐘芯片,定時(shí)器,1602液晶屏,外部中斷。啟動(dòng)后進(jìn)入一個(gè)大循環(huán),這個(gè)循環(huán)里面主要做的是按鍵事件的處理,啟動(dòng)DS18B20的溫度轉(zhuǎn)換,時(shí)間和溫度的校正和最后的時(shí)間和溫度的顯示。如右圖時(shí)鐘12887程序流程設(shè)計(jì):如下圖液晶顯示流程設(shè)計(jì)溫度測(cè)量流程設(shè)計(jì)總體的模塊連接圖如下液晶顯示屏編號(hào)符號(hào)引腳說明1VSS電源地2VDD電源正極3VL液晶顯示偏壓信號(hào)4RS數(shù)據(jù)/命令選擇端(H/L)5R/W讀寫選擇端(H/L)6E使能信號(hào)7D0Data I/O8D1Data I/O9D2Data I/O10D3Data I/O11D4Data I/O12D5Data I/O13D6Data I/O1
3、4D7Data I/O15BLA背光源正極16BLK背光源負(fù)極1602型LCD的接口信號(hào)說明 基本操作程序:讀狀態(tài):輸入:RS=L,RW=H,E=H輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H,RW=H,E=H輸出:無(wú)寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖 輸出:無(wú)調(diào)試和結(jié)果調(diào)試:按鍵進(jìn)行功能選擇,分別調(diào)整時(shí)間和日期。然后設(shè)定一個(gè)鬧鐘的時(shí)間點(diǎn)等待。結(jié)果,鬧鐘會(huì)響,但是聲音很小。但是屏幕有閃爍提示。總結(jié),存在問題和改進(jìn)基本實(shí)現(xiàn)了設(shè)計(jì)具有的功能,但是出現(xiàn)較多的問題,比如程序的錯(cuò)誤導(dǎo)致液晶顯示屏
4、無(wú)法顯示,在改正后才得以顯示。鬧鐘聲音過小。心得體會(huì) 通過這次的電子設(shè)計(jì),讓我對(duì)單片機(jī)有了進(jìn)一步的了解,一個(gè)看似簡(jiǎn)單的東西,其實(shí)做起來并不容易,在程序的方面,還有許多不明白的地方,通過上網(wǎng)找資料才得到解決的辦法,了解到了自己的不足。也感老師和同學(xué)在這次的設(shè)計(jì)中對(duì)我的幫助,這次的設(shè)計(jì)才得以完成。附錄:(不計(jì)頁(yè)數(shù))程序代碼/主函數(shù)void main()char Temp2;/溫度,Temp0為整數(shù)部分,Temp1為小數(shù)部分char last_temp;buzzer=0;DelayXms(1);DS18B20_Start_Convert();IAP_Data_Init();DS_Init(0);DS
5、_Write(Second_Alarm,00);DS_Write(Minute_Alarm,AMinute);DS_Write(Hour_Alarm,AHour);Timer0_Init();LCM1602_Init();LCM_1602_Chinese4(3, 40);LCM_1602_Write_Temp_Week();LCM_1602_N_Cur_Bli();DS18B20_Wait_Convert();DS18B20_Read(Temp);DS18B20_Start_Convert();EX0=1;LCM1602_Door_Open(Disp1,Disp2, LCM1602_Door_
6、Time);t1_init();int1_init();while(1)KeyHandle();switch(sys_sta)case 0:last_temp = Temp0;DS18B20_Wait_Convert(); /等待溫度轉(zhuǎn)換結(jié)束DS18B20_Read(Temp);/讀取溫度值sys_sta+;break;case 1:if (Temp0 - last_temp -5) /去除錯(cuò)誤溫度值if(Temp0&0 x80)Disp210=-;Temp0=Temp0+1;/ 取反加1elseDisp210= ;DS_RtoA(Disp2 + 11, Temp0 + Temp_C - 5)
7、; /溫度校正Disp214=Temp1+0 x30;elseTemp0 = last_temp;if(shi=0)&(fen=0)&(miao=30)/時(shí)間校正miao+=Time_C-5;DS_Write(Second,miao);LCM1602_Full_Print(Disp1, Disp2);sys_sta+;break;case 2:LCM1602_Full_Print(Disp1, Disp2);/顯示DS18B20_Start_Convert();/啟動(dòng)溫度轉(zhuǎn)換sys_sta+;/外部中斷0讀時(shí)鐘數(shù)據(jù)void Read() interrupt 0sys_sta = 0;Time_
8、Conv();if(DS_Read(0 x0c)&0 x20)=0 x20)&(AlarmE=1)AlarmSta=1;/背光中斷void BackLignt_Int()static unsigned char pwmdat=0;switch(BLSta)case 0:/背光關(guān)閉狀態(tài)LCM1602_BL=1;break;case 2:/背光自動(dòng)狀態(tài)if (BLTimepwmdat ? (LCM1602_BL = 0) : (LCM1602_BL = 1);pwmdat+;if(pwmdat=5)pwmdat=0;break;/定時(shí)鬧鐘void Alarm_Int()static unsigne
9、d i;static bit flagbit;if(AlarmSta=1)/鬧鐘時(shí)間到if(i= 1; DQ = 0; /開始時(shí)間片_nop_();_nop_();_nop_();_nop_(); DQ = 1; /準(zhǔn)備接收_nop_();_nop_();_nop_();_nop_(); if (DQ) dat |= 0 x80; /讀取數(shù)據(jù) DelayX0us(12); /等待時(shí)間片結(jié)束 return dat;/*向DS18B20寫1字節(jié)數(shù)據(jù)*/void DS18B20_WriteByte(unsigned char dat) char i = 8;while(i-) /8位計(jì)數(shù)器 DQ =
10、 0; /開始時(shí)間片 _nop_();_nop_();_nop_();_nop_(); dat = 1; /送出數(shù)據(jù) DQ = CY; DelayX0us(12); /等待時(shí)間片結(jié)束 DQ = 1; /恢復(fù)數(shù)據(jù)線 void DS18B20_Start_Convert() DS18B20_Reset(); /設(shè)備復(fù)位 DS18B20_WriteByte(0 xCC); /跳過ROM命令 DS18B20_WriteByte(0 x44); /開始轉(zhuǎn)換命令void DS18B20_Wait_Convert() while (!DQ); /等待轉(zhuǎn)換完成void DS18B20_Read(char Temp2)unsigned char TPH; /存放溫度值的高字節(jié)unsigned char TPL; /存放溫度值的低字節(jié) DS18B20_Reset(); /設(shè)備復(fù)位 DS18B20_WriteByte(0 xCC); /跳過ROM命令 DS18B2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 未成年人教育信息共享與隱私保護(hù)協(xié)議
- 海外市場(chǎng)調(diào)研與分析咨詢合同
- 網(wǎng)紅奶茶店全國(guó)區(qū)域獨(dú)家代理加盟合作協(xié)議
- 股權(quán)投資股權(quán)信息披露與投資咨詢協(xié)議
- 環(huán)境保護(hù)控制補(bǔ)充協(xié)議
- 校招時(shí)政常識(shí)題庫(kù)及答案
- 直播平臺(tái)虛擬偶像形象版權(quán)授權(quán)合同
- 地鐵盾構(gòu)區(qū)間隧道施工環(huán)境保護(hù)與風(fēng)險(xiǎn)防范合同
- 校招面試題目及答案
- 校招流程及注意事項(xiàng)面試題目及答案
- 心肺聽診課件
- 酒店VI設(shè)計(jì)清單
- (食品經(jīng)營(yíng)許可-范本)申請(qǐng)人經(jīng)營(yíng)條件未發(fā)生變化的聲明
- 高頻變壓器作業(yè)指導(dǎo)書
- 事業(yè)單位招聘人員體檢表
- Visio圖標(biāo)-visio素材-網(wǎng)絡(luò)拓?fù)鋱D庫(kù)
- 軌道交通建設(shè)工程施工現(xiàn)場(chǎng)消防安全管理課件
- 綠色施工策劃書(模板)
- 騰訊微博VS新浪微博
- 公共政策導(dǎo)論完整版課件全套ppt教學(xué)教程(最新)
- 肺癌生活質(zhì)量量表
評(píng)論
0/150
提交評(píng)論