版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> ARM嵌入式系統(tǒng)基礎(chǔ)教程</p><p><b> 課程設(shè)計</b></p><p> 專 業(yè):計算機科學(xué)與技術(shù)學(xué)院 </p><p> 班 級:10級科技一班 </p><p> 姓 名:
2、 </p><p> 學(xué) 號: </p><p> 完成時間:2013年6月15日 </p><p><b> 摘要:</b></p><p> 本設(shè)計采用LCD液晶屏幕顯示系統(tǒng),以STC89C52RC單片機為核心,由鍵盤、溫度采集、定時鬧鈴、日期
3、提醒等功能模塊組成?;陬}目基本要求,本系統(tǒng)對時間顯示、鬧鈴方式進和溫度采集系統(tǒng)行了重點設(shè)計。此外,擴展了整點報時、非易失鬧鈴信息存儲、國內(nèi)外重要節(jié)日提醒等功能。本系統(tǒng)大部分功能由軟件來實現(xiàn),吸收了硬件軟件化的思想,大部分功能通過軟件來實現(xiàn),使電路簡單明了,系統(tǒng)穩(wěn)定性大大提高。本系統(tǒng)不僅成功的實現(xiàn)了要求的基本功能,多數(shù)發(fā)揮部分也得到了實現(xiàn),而且還具有一定的創(chuàng)新功能。</p><p><b> 關(guān)鍵字:
4、</b></p><p> STC89C52RC單片機、LCD液晶顯示、雙電源供電、溫度采集、非易失定時鬧鈴、生日提醒、重要節(jié)日提醒、整點報時</p><p><b> 多功能時鐘設(shè)計</b></p><p><b> 一、任務(wù)設(shè)計:</b></p><p> 1、設(shè)計任務(wù):設(shè)計
5、并制作一個多功能數(shù)字鐘。</p><p><b> 2、設(shè)計要求:</b></p><p> 設(shè)計能支持年、月、日、星期、時、分、秒的時鐘,時鐘有時間調(diào)整功能及鬧鐘功能;</p><p> 時鐘附帶有一個溫度計功能,溫度檢測精度高于2度,顯示精度為1度;</p><p> 時鐘具有裝卸電池時掉電保護功能,保護時間
6、大于5分鐘;</p><p> 時鐘功耗小于0.5MA/5V。</p><p><b> 3.發(fā)揮部分:</b></p><p> 提高溫度檢測精度,在0℃-40℃顯示0.1℃;</p><p> 實現(xiàn)雙電源供電(220V及電池供電);</p><p> 能夠提供生日提醒指示;能夠每天提
7、供3個時間點的鬧鐘報時功能;</p><p><b> 非接觸止鬧功能。</b></p><p><b> 4.創(chuàng)新部分:</b></p><p><b> 非易失定時鬧鈴</b></p><p><b> 重要日期提醒</b></p>
8、<p><b> 整點報時</b></p><p><b> 二、方案論證:</b></p><p><b> 1.顯示部分:</b></p><p> 顯示部分是本次設(shè)計的重要部分,一般有以下兩種方案:</p><p><b> 方案:<
9、;/b></p><p> 采用LED顯示,分靜態(tài)顯示和動態(tài)顯示。對于靜態(tài)顯示方式,所需的譯碼驅(qū)動裝置很多,引線多而復(fù)雜,且可靠性也較低。而對于動態(tài)顯示方式,雖可以避免靜態(tài)顯示的問題,但設(shè)計上如果處理不當(dāng),易造成亮度低,有閃爍等問題。</p><p><b> 2.數(shù)字時鐘:</b></p><p> 數(shù)字時鐘是本設(shè)計的核心的部分。
10、根據(jù)需要可采用以下兩種方案實現(xiàn):</p><p><b> 方案:</b></p><p> 方案完全用軟件實現(xiàn)數(shù)字時鐘。原理為:在單片機內(nèi)部存儲器設(shè)三個字節(jié)分別存放時鐘的時、分、秒信息。利用定時器與軟件結(jié)合實現(xiàn)1秒定時中斷,每產(chǎn)生一次中斷,存儲器內(nèi)相應(yīng)的秒值加1;若秒值達到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達到60,則清零分字節(jié),并將時字節(jié)值加1;
11、若時值達到24,則將時字節(jié)清零。該方案具有硬件電路簡單的特點,但當(dāng)單片機不上電,程序?qū)⒉粓?zhí)行。而且由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高。</p><p><b> 3.溫度采集:</b></p><p> 由于現(xiàn)在用品追求多樣化,多功能化,給系統(tǒng)加上溫度測量顯示模塊,能夠方便人們的生活,使該設(shè)計具有人性化。</p><p
12、><b> 方案:</b></p><p> 采用熱敏電阻,可滿足40攝氏度至90攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測小于1攝氏度的信號是不適用的。</p><p><b> 4.鬧鈴部分:</b></p><p> 一般的時鐘都帶有鬧鈴,實現(xiàn)鬧鈴方式可采用以下兩種:</p>
13、;<p><b> 方案:</b></p><p> 將鬧鐘信息存放在單片機自帶的存儲器中。該方案成本低而且易于實現(xiàn),但是一但掉電會造成之前信息的丟失。</p><p><b> 5.電源模塊:</b></p><p><b> 方案:</b></p><p&
14、gt; 采用干電池作為系統(tǒng)電源。但需經(jīng)常換電池,不符合節(jié)約型社會的要求。</p><p><b> 三、總體方案:</b></p><p><b> 1.工作原理:</b></p><p> 本設(shè)計采用STC89C52RC單片機作為本系統(tǒng)的控制模塊。單片機可把由DS18B20、DS1302、AT24C02中的數(shù)據(jù)利
15、用軟件來進行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊,實現(xiàn)溫度、日歷和鬧鈴的顯示。以LCD液晶顯示器為顯示模塊,把單片機傳來的數(shù)據(jù)顯示出來,并且顯示多樣化。在顯示電路中,主要靠按鍵來實現(xiàn)各種顯示要求的選擇與切換。</p><p><b> 2.總體設(shè)計:</b></p><p> 設(shè)計總體框架圖如圖1</p><p> 四、系統(tǒng)硬件設(shè)計(單元電路設(shè)
16、計及分析):</p><p> 1. STC89C52RC單片機最小系統(tǒng):</p><p> 最小系統(tǒng)包括晶體振蕩電路、復(fù)位開關(guān)和電源部分。圖2為STC89C52RC單片機的最小系統(tǒng)。</p><p> 圖2 最小系統(tǒng)電路圖</p><p><b> 2.溫度測量模塊:</b></p><p&
17、gt; 溫度測量傳感器采用DALLAS公司DS18B20的單總線數(shù)字化溫度傳感器,測溫范圍為-55℃~125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測溫分辨率達到0.0625℃,采用寄生電源工作方式,CPU只需一根口線便能與DS18B20通信,占用CPU口線少,可節(jié)省大量引線和邏輯電路。接口電路如圖3所示。</p><p> 圖3 DS18B20測量電路</p><p><b&
18、gt; 3.時鐘模塊:</b></p><p> 時鐘模塊采用DS1302芯片,DS1302是DALLAS公司推出的涓流充電時鐘芯片內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM通過簡單的串行接口與單片機進行通信實時時鐘/日歷電路提供秒分時日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動調(diào)整時鐘操作可通過AM/PM指示決定采用24或12小時格式DS1302與單片機之間能簡單地采用同步串行的方式進行通信僅
19、需用到三個口線:</p><p> RST復(fù)位、I/O數(shù)據(jù)線、SCLK串行時鐘。時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信。DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW,其接線電路如圖4所示:</p><p><b> 圖4 時鐘電路</b></p><p><b> 4.存儲器模塊
20、:</b></p><p> 存儲器采用Atmel公司的AT24C02芯片。該芯片帶有2KB的串行COMS EEPROM,內(nèi)部含有256個8位字節(jié),可通過I2C總線對其接口進行讀寫操作,而且?guī)в袑懕Wo功能。其接線圖如圖5所示。</p><p> 圖5 AT24C02存儲器電路</p><p> 5. LCD液晶顯示模塊:</p>
21、<p> LCD液晶顯示模塊采用LCD1602型號,具有很低的功耗,正常工作時電流僅2.0mA/5.0V。通過編程實現(xiàn)自動關(guān)閉屏幕能夠更有效的降低功耗。LCD1602分兩行顯示,每行可顯示多達16個字符。LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,通過內(nèi)部指令可實現(xiàn)對其顯示多樣的控制,并且還能利用空余的空間自定義字符。其接線如圖6所示:</p><p>
22、; 圖6 LCD顯示電路</p><p><b> 6.系統(tǒng)電源:</b></p><p> 雙電源設(shè)計是本設(shè)計的重點。220V交流轉(zhuǎn)5V直流穩(wěn)壓電源會更加安全、實用。當(dāng)沒有交流電時,系統(tǒng)采用干電池供電;當(dāng)接通交流電時,則電路自動切換到交流電供電,并且對干電池進行慢性充電。電路圖如圖7:</p><p><b> 圖7 電源
23、電路</b></p><p><b> 7.整體電路:</b></p><p> 系統(tǒng)整體電路如圖8 所示:</p><p> 圖8 系統(tǒng)總體電路圖</p><p> 五、系統(tǒng)軟件設(shè)計流程:</p><p> 1.主程序流程如圖9所示:</p><p>
24、; 圖9 系統(tǒng)主程序流程</p><p> 2.時間設(shè)定程序流程如圖10所示:</p><p> 圖10 顯示時間子程序流程</p><p> 3. 溫度測量流程圖如圖11所示:</p><p> 圖11 溫度測量程序流程圖</p><p> 4.鬧鈴設(shè)定流程圖如圖12所示:</p><
25、p> 圖12 鬧鈴設(shè)定程序流程圖</p><p> 5. 生日設(shè)定流程圖如圖13所示:</p><p> 圖13 生日設(shè)定程序流程圖</p><p><b> 六、程序:</b></p><p> //實時時鐘寫入一字節(jié)(內(nèi)部函數(shù)) </p><p> void DS1302I
26、nputByte(uchar d) </p><p> { uchar i;</p><p><b> ACC = d;</b></p><p> for(i=8; i>0; i--)</p><p> { io = ACC0; //相當(dāng)于匯編中的 RRC </p&g
27、t;<p><b> clk = 1;</b></p><p><b> clk = 0;</b></p><p> ACC = ACC >> 1; </p><p><b> } </b></p><p><b> }</b
28、></p><p> //實時時鐘讀取一字節(jié)(內(nèi)部函數(shù)) </p><p> uchar DS1302OutputByte(void) </p><p> { uchar i;</p><p> for(i=8; i>0; i--)</p><p> { ACC = ACC >&g
29、t;1; //相當(dāng)于匯編中的 RRC </p><p> ACC7 = io;</p><p><b> clk = 1;</b></p><p><b> clk = 0;</b></p><p><b> } </b></p>
30、<p> return(ACC); </p><p><b> }</b></p><p> //寫入DS1302數(shù)據(jù)</p><p> //參數(shù)說明:ucAddr --DS1302地址, ucData--要寫的數(shù)據(jù) *</p><p> void Write1302(uchar ucAddr, u
31、char ucDa) </p><p> { rst = 0;</p><p><b> clk = 0;</b></p><p><b> rst = 1;</b></p><p> DS1302InputByte(ucAddr); // 地址,命令 </p&
32、gt;<p> DS1302InputByte(ucDa); // 寫1Byte數(shù)據(jù) </p><p><b> clk = 1;</b></p><p><b> rst = 0;</b></p><p><b> } </b></p><p
33、> //讀取DS1302某地址的數(shù)據(jù)</p><p> uchar Read1302(uchar ucAddr) </p><p> { uchar ucData;</p><p><b> rst = 0;</b></p><p><b> clk = 0;</b></
34、p><p><b> rst = 1;</b></p><p> DS1302InputByte(ucAddr|0x01); // 地址,命令 </p><p> ucData = DS1302OutputByte(); // 讀1Byte數(shù)據(jù) </p><p><b>
35、 clk = 1;</b></p><p><b> rst = 0;</b></p><p> return(ucData);</p><p><b> }</b></p><p> //獲取時鐘芯片的時鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組</p><p> v
36、oid DS1302_GetTime(SYSTEMTIME *Time) </p><p> {uchar ReadValue;</p><p> ReadValue = Read1302(DS1302_SECOND);</p><p> Time->Second = ((ReadValue&0x70)>>4)*10 + (Rea
37、dValue&0x0F);//由高低各四位組成,轉(zhuǎn)BCD碼為十進制碼</p><p> ReadValue = Read1302(DS1302_MINUTE);</p><p> Time->Minute = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);</p><p>
38、ReadValue = Read1302(DS1302_HOUR);</p><p> Time->Hour = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);</p><p> ReadValue = Read1302(DS1302_DAY);</p><p> Time->D
39、ay = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);</p><p> ReadValue = Read1302(DS1302_WEEK);</p><p> Time->Week = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);&l
40、t;/p><p> ReadValue = Read1302(DS1302_MONTH);</p><p> Time->Month = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);</p><p> ReadValue = Read1302(DS1302_YEAR);</p>
41、;<p> Time->Year = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);</p><p><b> }</b></p><p><b> 七、設(shè)計心得體會:</b></p><p> 經(jīng)過大家多天的努力,終于完成
42、了第一次任務(wù),設(shè)計出了匯集外觀精美、方便實用、功能強大于一體的數(shù)字電子鐘。該數(shù)字鐘采用桌面式擺放設(shè)計,精美雅觀;附帶雙電源裝備,可供不時之需,而且具有溫度、鬧鈴、生日一些列常用的附加功能,更加方便實用,符合現(xiàn)實要求;多功能時鐘還具有掉電也不會丟失時間、鬧鈴、生日等信息的優(yōu)點,可避免不必要的煩惱,設(shè)計更加的人性化和智能化。同時還能夠自定義調(diào)整顯示灰度和屏幕背光亮度,帶背光功能,夜里更實用!</p><p> 經(jīng)過
43、這次的實踐,也可以說是經(jīng)過了多天的學(xué)習(xí),盡管期間苦難重重,但我們還是從中學(xué)習(xí)了不少新的知識和解決困難的方法,也體驗到了自主創(chuàng)作的快樂。</p><p><b> 八、參考資料:</b></p><p> [1]求是科技. 單片機典型模塊設(shè)計實例導(dǎo)航. 北京:人民郵電出版社. 2005.8</p><p> [2]徐淑華, 程退安等.單片微
44、型機原理及應(yīng)用. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社. 2005.1</p><p> [3]孫余凱. 精選實用電子電路260例. 北京:電子工業(yè)出版社. 2007.6</p><p> [4]殷春浩, 崔亦飛. 電磁測量原理及應(yīng)用. 徐州:中國礦業(yè)大學(xué)出版社. 2003.7</p><p> [5]《LCD1602A數(shù)據(jù)手冊》</p><p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計---多功能時鐘
- 單片機課程設(shè)計---多功能時鐘設(shè)計
- 單片機課程設(shè)計---多功能時鐘設(shè)計
- 多功能數(shù)字時鐘 單片機課程設(shè)計
- 單片機課程設(shè)計---多功能電子時鐘設(shè)計
- 單片機課程設(shè)計--多功能電子時鐘
- 單片機數(shù)字時鐘課程設(shè)計--單片機多功能電子鐘設(shè)計
- 單片機課程設(shè)計--多功能系統(tǒng)
- 單片機課程設(shè)計-單片機課程設(shè)計---電子時鐘
- 單片機課程設(shè)計----多功能秒表
- 單片機課程設(shè)計---單片機數(shù)字時鐘
- 基于單片機的多功能時鐘設(shè)計
- 單片機課程設(shè)計--單片機多功能測量儀的設(shè)計
- 基于單片機多功能秒表課程設(shè)計
- 單片機課程設(shè)計報告---單片機數(shù)字時鐘
- 單片機簡易時鐘課程設(shè)計
- 單片機課程設(shè)計--數(shù)字時鐘
- 單片機課程設(shè)計---時鐘系統(tǒng)設(shè)計
- 單片機課程設(shè)計時鐘設(shè)計
- 單片機課程設(shè)計--基于單片機的數(shù)字時鐘設(shè)計
評論
0/150
提交評論