




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 成績課程論文 題 目: 基于STM32的多功能電子時鐘 學生姓名: 梁健 學生學號: 1008050120 系 別: 電氣信息工程系 專 業(yè): 電子信息科學與技術(shù) 年 級: 2010級 任課教師: 鄭曉東 電氣信息工程學院制 2013年3月28 淮南師范學院電氣信息工程學院電子信息與技術(shù)專業(yè)課程論文 基于stm32的多功能電子時鐘 學生:梁健指導教師:鄭曉東電氣信息工程學院電子信息科學與技術(shù)專業(yè)一、設計任務與要求51、設計任務52、設計要求5二、方案設計與論證51、單片機芯片選擇方案72、顯示選擇方案7三、硬件單元電路設計與參數(shù)計算81、電源電路82、按鍵電路83、rtc時鐘94、12864
2、顯示電路95、溫度傳感器模塊10四、 軟件設計與流程圖101、主程序流程圖102、顯示子程序流程圖123、按鍵子程序流程圖14五、總原電路及元器件清單161總原理圖16六、元器件清單26七、主程序26八、 參考文獻30摘要:本論文基于單片機原理技術(shù)介紹了一款于stm32芯片作為核心控制器的單片機數(shù)字電子鐘的設計與制作,包括硬件電路原理的實現(xiàn)方案設計、軟件程序編輯的實現(xiàn)、數(shù)字電子鐘正常工作的流程、原理圖仿真實現(xiàn)、硬件實物的安裝制作與硬件實物的調(diào)試過程。該單片機數(shù)字電子鐘采用stm32自帶的RTC,用lLCD12864能夠準確顯示時間(顯示格式為:年月日時分秒),可隨時進行時間調(diào)整,時間可采用12
3、 小時制顯示或24 小時制顯示,用12864做成菜單形式,鬧鈴提醒,可按自己的要求設置擴展的小鍵盤個數(shù),并增加溫度顯示。關(guān)鍵詞:單片機 、數(shù)字電子鐘 、LCD12864、STM32、RTC,溫度傳感器一、設計任務與要求1、設計任務 用STM32設計一個數(shù)字電子鐘,采用LCD12864來顯示并修改,時間或鬧鈴。2、設計要求 (1)顯示格式為:XXXXXX XXXXXX 即:年月日 時分秒。 (2)具有鬧鈴功能。(3)按鍵改變時間。(4)按鍵改變鬧鈴。(5)溫度的顯示。二、方案設計與論證整個系統(tǒng)用stm32單片機作為中央控制器,由單片機執(zhí)行采集內(nèi)部rtc值,時鐘信號通過單片機I
4、/O口傳給LCD12864,單片機模塊控制驅(qū)動模塊驅(qū)動顯示模塊,通過顯示模塊來實現(xiàn)信號的輸出、LCD12864的顯示及相關(guān)的控制功能。系統(tǒng)設有按鍵模塊用于對時間進行調(diào)整及擴展多個小鍵盤,系統(tǒng)整體框圖如圖1所示。設置?是顯示時間,溫度跳出?開始 選擇更改時間,鬧鈴正常顯示圖1 系統(tǒng)整體框圖1、單片機芯片選擇方案方案一:stm32是一個低功耗,高性能32位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器。主要性能有:與MCS-51單片機產(chǎn)品兼容、全靜態(tài)操作:0Hz33Hz、 三級加密程序存儲器、32個可編程I/O
5、口線、三個16位定時器/計數(shù)器、八個中斷源、全雙工UART串行通道、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符、易編程。方案二:AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM)。主要性能有:兼容MCS51指令系統(tǒng)、32個雙向I/O口、256x8bit內(nèi)部RAM、3個16位可編程定時/計數(shù)器中斷、時鐘頻率0-24MHz、2個串行中斷、可編程UART串行通道、2個外部中斷源、6個中斷源、2個讀寫中斷口線、3級加密位、低功耗空閑和掉電模式、軟件設置睡眠和喚醒功能。從單片機
6、芯片主要性能角度出發(fā),本數(shù)字電子鐘單片機芯片選擇設計采用方案一既stm32。2、顯示選擇方案方案一:lcd1286。顯示質(zhì)量高,沒有電磁輻射,可視面積大,應用范圍廣,畫面效果好,數(shù)字式接口,”身材”勻稱小巧,功耗小。 方案二:數(shù)碼管動態(tài)顯示。動態(tài)顯示,即各位數(shù)碼管輪流點亮,對于顯示器各位數(shù)碼管,每隔一段延時時間循環(huán)點亮一次。利用人的視覺暫留功能可以看到整個顯示,但須保證掃描速度足夠快,人的視覺暫留功能才可察覺不到字符閃爍。顯示器的亮度與導通電流、點亮時間及間隔時間的比例有關(guān)。調(diào)整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/O口,降低了能耗。從節(jié)省單片機芯片I/O口和降低能耗角度出發(fā),本數(shù)字
7、電子鐘數(shù)碼管顯示選擇設計采用方案一,既lcd12864顯示。三、硬件單元電路設計與參數(shù)計算1、電源電路本數(shù)字電子鐘設計所需電源電壓為直流、電壓值大小5V的電壓源 。從硬件實物設計簡易程度與經(jīng)費方面考慮,用兩節(jié)電壓值大小2.5V干電池與電路電壓源引腳相連接即可達到硬件設計要求。即本數(shù)字電子鐘設計用兩節(jié)電壓值大小2.5V干電池做硬件電路電壓源。2、按鍵電路 本數(shù)字電子鐘設計所需按鍵用于進行顯示時間的調(diào)整與設置擴展的小鍵盤。單片機芯片4個I/O口可與按鍵直接相連,通過編程,單片機芯片即可控制按鍵接口電平的高低,即按鍵的開與關(guān),以達到用按鍵進行顯示時間的調(diào)整與設置擴展的小鍵盤的設計要求。3、rtc時鐘
8、 Stm32自帶rtc模塊 , 實時時鐘是一個獨立的定時器。RTC模塊擁有一組連續(xù)計數(shù)的計數(shù)器,在相應軟件配置下,可提供時鐘日歷的功能。修改計數(shù)器的值可以重新設置系統(tǒng)當前的時間和日期RTC模塊和時鐘配置系統(tǒng)(RCC_BDCR寄存器)處于后備區(qū)域,即在系統(tǒng)復位或從待機模式喚醒后,RTC的設置和時間維持不變。系統(tǒng)復位后,對后備寄存器和RTC的訪問被禁止,這是為了防止對后備區(qū)域(BKP)的意外寫操作。在RTC預分頻器余數(shù)寄存器(RTC_DIVH / RTC_DIVL)賦值可改變時間,在RTC鬧鐘寄存器(RTC_ALRH/RTC_ALRL)中改變鬧鈴時間。 4、12864顯示電路 數(shù)字電子鐘設計的顯示
9、模塊用8個一位數(shù)碼管實現(xiàn),也可用兩個四位一體數(shù)碼管實現(xiàn)。兩種實現(xiàn)方式實現(xiàn)效果一樣。從實物制作的難易程度出,本數(shù)字電子鐘設計采用兩個四位一體數(shù)碼管實現(xiàn)。即數(shù)碼管引腳與單片機芯片和74LS245對應引腳相連接。5、溫度傳感器模塊 DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適
10、用于各種狹小空間設備數(shù)字測溫和控制領(lǐng)域。1: 技術(shù)性能描述、 獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 、測溫范圍 55+125,固有測溫誤差(注意,不是分辨率,這里之前是錯誤的)0.5。、支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,實現(xiàn)多點測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。、工作電源: 35V/DC (可以數(shù)據(jù)線寄生電源) 、在使用中不需要任何外圍元件。4、 軟件設計與流程圖1、主程序流程圖主程序流程圖如下圖圖2所示否是更改數(shù)值顯示溫度Sec變了?開啟rt
11、c,初始化溫度進入循環(huán)圖22、顯示子程序流程圖 顯示程序流程圖如下圖圖3所示。Y是否滿24h?顯示緩沖單元清0返回NY是否滿60m?小時加1分值加1NRtc計數(shù)開始循環(huán)次數(shù)加1是否滿1s?是否滿60s?秒值加1N開始圖33、按鍵子程序流程圖 顯示子程序流程圖如下圖圖4所示。DISPLAY秒數(shù)加1秒值按鍵按下?分值按鍵按下?小時按鍵按下?切換鍵是否按下?YN小時>=12?NY標志位顯示B標志位顯示A分離秒值個位、十位顯示分十位、個位分離小時個位、十位顯示秒十位、個位分離分值個位、十位顯示小時十位、個位分數(shù)加1時數(shù)加1正常顯示?顯示HYYYY開始圖4五、總原電路及元器件清單 1總原理圖 最小
12、系統(tǒng)控制原理圖如下圖圖5所示, 12864原理圖如下圖圖6所示。圖5(1):stm32f103引腳圖圖5(2):指示燈與復位電路圖5(3):穩(wěn)壓電路,變壓電路,晶震圖6 2實物圖圖7 按鍵模塊圖8 stm32最小系統(tǒng)模塊圖9 歡迎界面圖10 選擇界面圖11 正常顯示界面圖12 選擇時界面圖13 調(diào)整時間界面圖14 調(diào)整鬧鈴界面圖15 鬧鈴開始界面圖16 12864實物圖17 調(diào)溫度傳感器實物六、元器件清單STM32F103VET6一個杜邦線一束Lcd12864一個定位器(10k)一個Ds18b20一個插排一排電源一個銅柱兩個七、主程序/#include <stm32f10x_lib.h&
13、gt;#include "sys.h"#include "usart.h"#include "delay.h"#include "led.h" #include "key.h"#include "exti.h"#include "wdg.h"#include "timer.h" #include "rtc.h" #include "lcd12864.h"#include "ds18b20
14、.h" #include "adc.h"#include "timer.h" const u8 *COMPILED_DATE=_DATE_;/獲得編譯日期const u8 *COMPILED_TIME=_TIME_;/獲得編譯時間extern u8 TIM5CH1_CAPTURE_STA;/輸入捕獲狀態(tài) extern u16TIM5CH1_CAPTURE_VAL;/輸入捕獲值short temp;int main(void)/u16 adcx;u8 t=1; Stm32_Clock_Init(9);/系統(tǒng)時鐘設置delay_init(72);/
15、延時初始化uart_init(72,9600); /串口1初始化 KEY_Init(); LCD12864_initial(); /初始化12864液晶LCD_Clearh(); /12864液晶初始化 LED_Init(); /初始化與LED連接的硬件接口Adc_Init(); /AD轉(zhuǎn)換初始化EXTIX_Init(); /外部中斷初始化RTC_Init(); /時鐘初始化 xuanzhe(); /選擇你需要的操作while(DS18B20_Init()/初始化DS18B20,兼檢測18B20LCD(3,0,"失敗");delay_ms(500); LED0=!LED0;
16、/DS0閃爍 while(1)temp=DS18B20_Get_Temp();if(temp<0)temp=-temp;LCD(3,4,"_"); Show_dig(2,5,temp/10);/顯示溫度值 LCD12864_sendbyte(0,0x33); LCD12864_sendbyte(1,46); Show_digl(temp%10); LCD(2,7,""); if(t!=timer.sec) t=timer.sec; Show_dig(1,0,timer.w_year);LCD12864_sendbyte(1,47);if(timer
17、.w_month<=9) Show_digl(0); Show_digl(timer.w_month); else Show_digl(timer.w_month);LCD12864_sendbyte(1,47);if(timer.w_date<=9) Show_digl(0); Show_digl(timer.w_date); elseShow_digl(timer.w_date); switch(timer.week)case 0:LCD(1,5,"星期天");break;case 1:LCD(1,5,"星期一");break;case
18、2:LCD(1,5,"星期二");break;case 3:LCD(1,5,"星期三");break;case 4:LCD(1,5,"星期四");break;case 5:LCD(1,5,"星期五");break;case 6:LCD(1,5,"星期六");break; Show_digshuzhi(2,0,timer.hour); LCD12864_sendbyte(1,58);LCD12864_sendbyte(0,0x33);if(timer.min<=9) Show_digl(0); Show_digl(timer.min); else Show_digl(timer.min);LCD12864_sendbyte(0,0x33);LCD12864_sendbyte(1,58);if(timer.sec<=9) Show_digl(0);Show_digl(timer.sec);else Show_digl(timer.sec); LCD12864_sendbyte(0,0x02); Show_dig(2,5,temp/10);/顯示溫度值 LCD12864_sendbyte(0,0x33); LCD12864_sendbyte(1,46);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程實踐的多媒體設計師考試試題及答案
- 多媒體應用設計師考試答題技巧試題及答案
- 客戶應對能力試題及答案
- 檔案管理員職業(yè)發(fā)展趨勢分析試題及答案
- 2024年記者證考試復習指南與答案
- 2024年記者證考試提醒及試題答案
- 2024年食品安全員考試復習資料及試題答案
- 2024年多媒體設計行業(yè)前沿試題及答案
- 2024年會計基礎的試題及答案
- 收納技術(shù)的可行性研究試題及答案
- 2023年青海省中考物理模擬考試試卷(附解析)
- 文化產(chǎn)業(yè)項目風險管理及應對措施
- 民用無人機操控員執(zhí)照(CAAC)考試復習重點題庫500題(含答案)
- 2024年南通職業(yè)大學單招職業(yè)技能測試題庫有答案解析
- 不良事件上報制度及流程
- wps國家計算機二級真題單選題100道及答案
- 同時性結(jié)直腸癌肝轉(zhuǎn)移治療進展
- 高標準農(nóng)田建設項目施工組織設計方案模板
- 鋼筋安裝施工技術(shù)交底
- 5.1 人民代表大會:我國的國家權(quán)力機關(guān) 課件-高中政治統(tǒng)編版必修三政治與法治-1
- 實驗室規(guī)劃與建設
評論
0/150
提交評論