




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、系統(tǒng)的結構和工作原理1.系統(tǒng)結構 此次課程設計的萬年歷,以AT89S52單片機為主控核心,由LCD顯示屏、DS12C887時鐘芯片、溫度傳感器DS18B20、蜂鳴器、功能鍵盤、復位電路、晶振、電源模塊等組成,系統(tǒng)結構框圖如圖1所示。圖1 系統(tǒng)結構框圖2.工作原理主控制器每隔一段時間(小于一秒鐘)讀一次時鐘芯片的內部寄存器的值,將讀出的時間、星期、溫度等值實時顯示在LCD液晶屏上。同時,主控制器不斷的掃描按鍵電路和溫度測量電路,當有按鍵按下時,識別出按鍵的值并調整相應的時間、星期值再寫入時鐘芯片內部。溫度數(shù)據(jù)由測量電路獲得的環(huán)境溫度值送人顯示電路。二、硬件設計1.主控核心AT89S52單片機
2、AT89S52是一個低功耗,高性能CMOS8位單片機,具有8K 在系統(tǒng)可編程Flash 存儲器。采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結構。2.DS12C887時鐘電路DS12C887與計算機常用的時鐘芯片MC146818和DS12887管腳兼容,可直接替換。采用DS12C887芯片設計的時鐘電路無需任何外圍電路和器件,并且有良好的微機接口。DS12C887芯片內有微功耗,外圍接口簡單,精度高,工作穩(wěn)定可靠等優(yōu)點,廣泛用于各種需要較高精度的實時時鐘系統(tǒng)中。DS12C887主要功能如下:(1)內含一個鋰電池,斷電后運行十年以上不丟失數(shù)據(jù);(
3、2)計秒、分、時、天、星期、日、月、年、并有閏年補償功能;(3)二進制數(shù)碼或BCD碼表示時間,日歷和定鬧;(4)12小時或24小時制,12小時時鐘模式帶有PM和AM指示,有夏令時功能;(5)Motorola和Intel總線時序選擇;(6)有128個字節(jié)RAM單元與軟件接口,其中14個字節(jié)作為時鐘和控制寄存器,114 字節(jié)為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護功能;(7)可編程方波信號輸出;(8)中斷信號輸出(IRQ)和總線兼容、定鬧中斷、周期性中斷、時鐘更新周期、結束 中斷可分別由軟件屏蔽,也可分別進行測試;DS12C887時鐘芯片和單片機的硬件連接如下圖2 :圖2 DS12C887與
4、單片機的連接3.DS18B20溫度傳感器采用數(shù)字式溫度傳感器DS18B20,其僅需一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以去除A/D模塊,降低硬件成本,簡化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高、測量范圍廣等優(yōu)點。DS18B20特性如下:(1) 獨特的單線接口方式:DS18B20與微處理器連接時僅需要一條口線即可實現(xiàn)微處 理器與DS18B20的雙向通訊。(2)在使用中不需要任何外圍元件。(3)可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5V。(4)測溫范圍:-55+125。固有測溫分辨率為0.5。(5)通過編程可實現(xiàn)912位的數(shù)字讀數(shù)方式。(6)用戶可自設定非易失性的報警上下限值。
5、(7)支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點測溫。(8)負壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 DS18B20芯片的連接如下圖3所示:圖3 DS18B20連接電路4.LCD1602顯示屏本設計采用1602字符型LCD,可顯示兩行,每行16個字符,不能顯示漢字,內置含128個字符的ASCII字符集字庫,只有并行接口,無串行接口。 單片機的P2口與LCD的數(shù)據(jù)端口連接,用于數(shù)字信號的讀取,控制端RS 、R/W分別與單片機的P3.3和P3.1相連。電路連接如圖4所示。圖4 1602LCD硬件電路5.其它硬件電路蜂鳴器電路:為了實現(xiàn)鬧鐘功能,選
6、擇蜂鳴器作為鬧鈴。采用PNP型9015三極管,發(fā)射極e腳連接+5V,基極b腳連接10K電阻后接到單片機P1.6口上,c腳連接蜂鳴器。電路如圖5所示。圖5 蜂鳴器電路功能鍵盤:本設計采用了4個鍵盤,分別實現(xiàn)萬年歷時間日期的調整鍵、鬧鐘設置鍵、增加鍵(也為鬧鐘開啟鍵)、減小鍵組成,分別連接P1.0P1.3口。復位電路:89S52的復位輸入引腳RST為其提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在MCS-52的時鐘電路工作后,只要RST引腳上出現(xiàn)超過兩個機器周期以上的高電平時,即可產生復位的操作.只要RST保持高電平,則MCS-52循環(huán)復位.只有當RST由高電平變低電平以后,MCS-52才從0
7、000H地址開始執(zhí)行程序.本系統(tǒng)采用按鍵復位方式的復位電路。電源電路:電路采用5V電源進行供電,為了得到穩(wěn)定的直流電源,通過電源處理電路進行調理,得到穩(wěn)定電壓。三、軟件設計本次系統(tǒng)設計軟件部分采用模塊化結構,由主程序DS12C887子程序、DS18B20子程序、LCD1602子程序構成。模塊程序設計法的主要優(yōu)點是:單個模塊比起一個完整的程序易編寫及調試;模塊可以共存,一個模塊可以被多個任務在不同條件下調用;模塊程序允許設計者分割任務和利用已有程序,為設計者提供方便。1.主程序說明及流程圖主程序主要實現(xiàn)了從DS12C887各時間單元中讀出數(shù)據(jù)和DS18B20傳感器中讀取數(shù)據(jù),并送到LCD1602
8、中顯示的功能,同時檢測有沒有按鍵按下,如果有鍵被按下,則執(zhí)行按鍵處理子程序。首先進行DS12C887時鐘芯片、DS18B20芯片和LCD1602的初始化函數(shù),然后進行按鍵掃描,不斷地檢測按鍵是否按下,讀取DS12C887時鐘芯片、DS18B20檢測環(huán)境溫度的數(shù)據(jù),并且送到液晶顯示器顯示;當數(shù)據(jù)發(fā)生變化時候,重新進行掃描寫入。主程序流程圖如圖6。圖6 主程序流程圖2.DS12C887流程圖及初始化程序進入主程序后,DS12C887首先進行初始化設置,若串行口有數(shù)據(jù),最后則調用函數(shù)從日歷時鐘芯片獲取日歷時鐘信息,調用顯示函數(shù)顯示日歷時鐘信息顯示出來,重復進行。這部分包括DS12C887某個單元寫、
9、讀DS12C887某個單元的內容和DS12C887設定時間。DS12C887的流程圖如圖7所示。開始 DS12C887初始化 調用函數(shù)獲取時鐘信息 送數(shù)據(jù)顯示 圖7 DS12C887的流程圖DS12C887的子程序:#ifndef DS12C887_H #define DS12C887_H #include#include#define uchar unsigned char#define uint unsigned intsbit fm=P14;sbit ds_as=P35;sbit ds_wr=P36;sbit ds_ds=P37;sbit ds_cs=P20;sbit ds_irq=P3
10、2;char second,minute,hour,asecond,aminute,ahour,day,week,month,year;void ds_write(uchar add,uchar date) /向DS12C887寫數(shù)據(jù)的函數(shù)ds_cs=0;ds_as=1;ds_ds=1;ds_wr=1;P0=add;ds_as=0;ds_wr=0;P0=date;ds_wr=1;ds_as=1;ds_cs=1;uchar ds_read(uchar add) /從DS12C887讀數(shù)據(jù)的函數(shù)uchar ds_date;ds_as=1;ds_ds=1;ds_wr=1;ds_cs=0;P0=add
11、;ds_as=0;ds_ds=0;P0=0xff;ds_date=P0;ds_ds=1;ds_as=1;ds_cs=1;return ds_date;void settime() /設定時間初始值的函數(shù)第一次上電使用,之后可以屏蔽ds_write(0x0b,0x26); /設置24小時模式,數(shù)據(jù)二進制格式ds_write(0x0a,0x20); /打開振蕩器ds_write(0,55);ds_write(1,0);ds_write(2,59);ds_write(3,0);ds_write(4,23);ds_write(5,0);ds_write(6,5);ds_write(7,1);ds_wr
12、ite(8,1);ds_write(9,9);void setalarm() /將設定的鬧鐘時間寫進DS12C887的函數(shù)ds_write(1,asecond);ds_write(3,aminute);ds_write(5,ahour); void beep() /鬧鐘的聲音函數(shù) fm=0;delay(100);fm=1;delay(20);fm=0;delay(100);fm=1;#endif3.DS18B20流程圖及初始化程序 進入主程序后,DS18B20首先進行初始化設置,然后通過對環(huán)境溫度的檢測,調用顯示函數(shù)顯示溫度信息,重復進行。DS18B20的流程圖如圖8所示。開始 DS18B20
13、初始化 檢測環(huán)境溫度獲取信息 送數(shù)據(jù)顯示 圖8 DS18B20的流程圖 DS18B20的子程序:#ifndef DS18B20_H#define DS18B20_H#include#include#define uchar unsigned char#define uint unsigned intsbit ds18b20=P16;uchar flag2/*零下標志位*/;void delay1(uint z) /DS18B20 延時函數(shù)uint i;while(z)i=200;while(i0)i-;z-;void dsreset() /發(fā)送復位和初始化uint i;ds18b20=0;i=
14、103;while(i0)i-;ds18b20=1;i=4;while(i0)i-;bit tmpread_bit() /讀取數(shù)據(jù)的一位uint i;bit dat;ds18b20=0;i+;ds18b20=1;i+;i+;dat=ds18b20;i=8;while(i0)i-;return dat;uchar tmpread_byte() /讀一個字節(jié)uchar i,j,dat;dat=0;for(i=1;i=8;i+)j=tmpread_bit();dat=(j1);return dat;void tmpwrite(uchar dat) /寫一個字節(jié)uint i;uchar j;bit t
15、estb;for(j=1;j1;if(testb) /寫“1”ds18b20=0;i+;i+;ds18b20=1;i=8;while(i0)i-;else /寫“0”ds18b20=0;i=8;while(i0)i-;ds18b20=1;i+;i+;void tmpchange() /DS18B20開始轉換dsreset();delay1(1);tmpwrite(0xcc);tmpwrite(0x44);uint read_tmp() /讀取溫度uchar a,b;uint t;float tt;dsreset();delay1(1);tmpwrite(0xcc);tmpwrite(0xbe)
16、;a=tmpread_byte();b=tmpread_byte();t=b;t=8;t=t|a;if(t0x0fff)flag2=0;elseflag2=1;t=-t;tt=t*0.0625;t=tt*10+0.5;return t;/*void rom() /讀取期間序列號子程序/uchar i;uchar sn1,sn2;dsreset();delay1(1);tmpwrite(0x33);sn1=tmpread2();sn2=tmpread2();*/void display_tem() /顯示溫度的函數(shù)uchar a,b,c,flagdate;uint d;tmpchange();d
17、elay1(200);d=read_tmp();a=d/100;b=d%100/10;c=d%10;if(flag2=0)flagdate=0x20;elseflagdate=0x2d;write_spe(9,flagdate);write_tem(10,a);write_tem(11,b);write_spe(12,46);write_tem(13,c);write_spe(14,223);write_spe(15,C);#endif 四、個人心得及總結 通過這次的課程設計使我:掌握智能數(shù)字萬年歷系統(tǒng)的基本設計方法;熟悉智能數(shù)字萬年歷系統(tǒng)的電路接口設計及常用的通信接口器件應用;熟練應用PRO
18、TEL99進行電路圖的繪制。理解數(shù)據(jù)采集處理模塊、DS12C887時鐘模塊、RS232串口通信模塊、鍵盤模塊、點陣模塊、數(shù)碼管模塊等接口應用。課程設計是培養(yǎng)學生綜合運用所學知識、發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),這次課程設計雖然很累,但我學到了很多東西,對軟件的設計過程和方法有了更深入的了解,培養(yǎng)了我們的團隊精神,鍛煉了我們的溝通和表達能力。通過這次的課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的。只有把理論知識與實踐相結合起來,才能真正的為社會服務,從而提高自己的實際動手能力和獨立思考能力。這次課程實際,使我們在基本理論的綜合應用及正確解決實際問題等方面得到了一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京大學國際關系學院招聘真題2024
- 共育兒童的一年
- 2025至2030年中國茶葉烘干機市場調查研究報告
- 2025至2030年中國牽引器市場調查研究報告
- 2025至2030年中國氣動矛市場分析及競爭策略研究報告
- 2025至2030年中國文具包裝市場調查研究報告
- 2025至2030年中國干混砂漿生產設備市場現(xiàn)狀分析及前景預測報告
- 2025至2030年中國PE泡棉膠貼數(shù)據(jù)監(jiān)測研究報告
- 2025━2030年中國尼普拉嗪項目投資可行性研究報告
- 公共衛(wèi)生與社區(qū)健康
- 物業(yè)公司人員培訓及考核方案
- 數(shù)據(jù)中心容災備份解決方案
- 七年級下冊第三單元名著導讀《駱駝祥子》公開課一等獎創(chuàng)新教學設計(公開課公開課一等獎創(chuàng)新教案及作業(yè)設計)
- 幾何圖形中求線段線段和面積等最值問題 中考數(shù)學
- 真太陽時調整
- 景區(qū)開發(fā)合作協(xié)議書范本
- 藥材的采收與產地加工
- QB-T 2673-2023 鞋類產品標識
- 森林資源經(jīng)營管理課件
- 一級醫(yī)院建設可行性研究報告
- 《中國酒與酒文化》課件
評論
0/150
提交評論