版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、系統(tǒng)的結(jié)構(gòu)和工作原理1.系統(tǒng)結(jié)構(gòu) 此次課程設(shè)計(jì)的萬年歷,以AT89S52單片機(jī)為主控核心,由LCD顯示屏、DS12C887時(shí)鐘芯片、溫度傳感器DS18B20、蜂鳴器、功能鍵盤、復(fù)位電路、晶振、電源模塊等組成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。圖1 系統(tǒng)結(jié)構(gòu)框圖2.工作原理主控制器每隔一段時(shí)間(小于一秒鐘)讀一次時(shí)鐘芯片的內(nèi)部寄存器的值,將讀出的時(shí)間、星期、溫度等值實(shí)時(shí)顯示在LCD液晶屏上。同時(shí),主控制器不斷的掃描按鍵電路和溫度測(cè)量電路,當(dāng)有按鍵按下時(shí),識(shí)別出按鍵的值并調(diào)整相應(yīng)的時(shí)間、星期值再寫入時(shí)鐘芯片內(nèi)部。溫度數(shù)據(jù)由測(cè)量電路獲得的環(huán)境溫度值送人顯示電路。二、硬件設(shè)計(jì)1.主控核心AT89S52單片機(jī)
2、AT89S52是一個(gè)低功耗,高性能CMOS8位單片機(jī),具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。2.DS12C887時(shí)鐘電路DS12C887與計(jì)算機(jī)常用的時(shí)鐘芯片MC146818和DS12887管腳兼容,可直接替換。采用DS12C887芯片設(shè)計(jì)的時(shí)鐘電路無需任何外圍電路和器件,并且有良好的微機(jī)接口。DS12C887芯片內(nèi)有微功耗,外圍接口簡(jiǎn)單,精度高,工作穩(wěn)定可靠等優(yōu)點(diǎn),廣泛用于各種需要較高精度的實(shí)時(shí)時(shí)鐘系統(tǒng)中。DS12C887主要功能如下:(1)內(nèi)含一個(gè)鋰電池,斷電后運(yùn)行十年以上不丟失數(shù)據(jù);(
3、2)計(jì)秒、分、時(shí)、天、星期、日、月、年、并有閏年補(bǔ)償功能;(3)二進(jìn)制數(shù)碼或BCD碼表示時(shí)間,日歷和定鬧;(4)12小時(shí)或24小時(shí)制,12小時(shí)時(shí)鐘模式帶有PM和AM指示,有夏令時(shí)功能;(5)Motorola和Intel總線時(shí)序選擇;(6)有128個(gè)字節(jié)RAM單元與軟件接口,其中14個(gè)字節(jié)作為時(shí)鐘和控制寄存器,114 字節(jié)為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護(hù)功能;(7)可編程方波信號(hào)輸出;(8)中斷信號(hào)輸出(IRQ)和總線兼容、定鬧中斷、周期性中斷、時(shí)鐘更新周期、結(jié)束 中斷可分別由軟件屏蔽,也可分別進(jìn)行測(cè)試;DS12C887時(shí)鐘芯片和單片機(jī)的硬件連接如下圖2 :圖2 DS12C887與
4、單片機(jī)的連接3.DS18B20溫度傳感器采用數(shù)字式溫度傳感器DS18B20,其僅需一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除A/D模塊,降低硬件成本,簡(jiǎn)化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測(cè)量精度高、測(cè)量范圍廣等優(yōu)點(diǎn)。DS18B20特性如下:(1) 獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處 理器與DS18B20的雙向通訊。(2)在使用中不需要任何外圍元件。(3)可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5V。(4)測(cè)溫范圍:-55+125。固有測(cè)溫分辨率為0.5。(5)通過編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式。(6)用戶可自設(shè)定非易失性的報(bào)警上下限值。
5、(7)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。(8)負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 DS18B20芯片的連接如下圖3所示:圖3 DS18B20連接電路4.LCD1602顯示屏本設(shè)計(jì)采用1602字符型LCD,可顯示兩行,每行16個(gè)字符,不能顯示漢字,內(nèi)置含128個(gè)字符的ASCII字符集字庫,只有并行接口,無串行接口。 單片機(jī)的P2口與LCD的數(shù)據(jù)端口連接,用于數(shù)字信號(hào)的讀取,控制端RS 、R/W分別與單片機(jī)的P3.3和P3.1相連。電路連接如圖4所示。圖4 1602LCD硬件電路5.其它硬件電路蜂鳴器電路:為了實(shí)現(xiàn)鬧鐘功能,選
6、擇蜂鳴器作為鬧鈴。采用PNP型9015三極管,發(fā)射極e腳連接+5V,基極b腳連接10K電阻后接到單片機(jī)P1.6口上,c腳連接蜂鳴器。電路如圖5所示。圖5 蜂鳴器電路功能鍵盤:本設(shè)計(jì)采用了4個(gè)鍵盤,分別實(shí)現(xiàn)萬年歷時(shí)間日期的調(diào)整鍵、鬧鐘設(shè)置鍵、增加鍵(也為鬧鐘開啟鍵)、減小鍵組成,分別連接P1.0P1.3口。復(fù)位電路:89S52的復(fù)位輸入引腳RST為其提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在MCS-52的時(shí)鐘電路工作后,只要RST引腳上出現(xiàn)超過兩個(gè)機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作.只要RST保持高電平,則MCS-52循環(huán)復(fù)位.只有當(dāng)RST由高電平變低電平以后,MCS-52才從0
7、000H地址開始執(zhí)行程序.本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。電源電路:電路采用5V電源進(jìn)行供電,為了得到穩(wěn)定的直流電源,通過電源處理電路進(jìn)行調(diào)理,得到穩(wěn)定電壓。三、軟件設(shè)計(jì)本次系統(tǒng)設(shè)計(jì)軟件部分采用模塊化結(jié)構(gòu),由主程序DS12C887子程序、DS18B20子程序、LCD1602子程序構(gòu)成。模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是:?jiǎn)蝹€(gè)模塊比起一個(gè)完整的程序易編寫及調(diào)試;模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用;模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。1.主程序說明及流程圖主程序主要實(shí)現(xiàn)了從DS12C887各時(shí)間單元中讀出數(shù)據(jù)和DS18B20傳感器中讀取數(shù)據(jù),并送到LCD1602
8、中顯示的功能,同時(shí)檢測(cè)有沒有按鍵按下,如果有鍵被按下,則執(zhí)行按鍵處理子程序。首先進(jìn)行DS12C887時(shí)鐘芯片、DS18B20芯片和LCD1602的初始化函數(shù),然后進(jìn)行按鍵掃描,不斷地檢測(cè)按鍵是否按下,讀取DS12C887時(shí)鐘芯片、DS18B20檢測(cè)環(huán)境溫度的數(shù)據(jù),并且送到液晶顯示器顯示;當(dāng)數(shù)據(jù)發(fā)生變化時(shí)候,重新進(jìn)行掃描寫入。主程序流程圖如圖6。圖6 主程序流程圖2.DS12C887流程圖及初始化程序進(jìn)入主程序后,DS12C887首先進(jìn)行初始化設(shè)置,若串行口有數(shù)據(jù),最后則調(diào)用函數(shù)從日歷時(shí)鐘芯片獲取日歷時(shí)鐘信息,調(diào)用顯示函數(shù)顯示日歷時(shí)鐘信息顯示出來,重復(fù)進(jìn)行。這部分包括DS12C887某個(gè)單元寫、
9、讀DS12C887某個(gè)單元的內(nèi)容和DS12C887設(shè)定時(shí)間。DS12C887的流程圖如圖7所示。開始 DS12C887初始化 調(diào)用函數(shù)獲取時(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è)定時(shí)間初始值的函數(shù)第一次上電使用,之后可以屏蔽ds_write(0x0b,0x26); /設(shè)置24小時(shí)模式,數(shù)據(jù)二進(jìn)制格式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() /將設(shè)定的鬧鐘時(shí)間寫進(jìn)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流程圖及初始化程序 進(jìn)入主程序后,DS18B20首先進(jìn)行初始化設(shè)置,然后通過對(duì)環(huán)境溫度的檢測(cè),調(diào)用顯示函數(shù)顯示溫度信息,重復(fù)進(jìn)行。DS18B20的流程圖如圖8所示。開始 DS18B20
13、初始化 檢測(cè)環(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/*零下標(biāo)志位*/;void delay1(uint z) /DS18B20 延時(shí)函數(shù)uint i;while(z)i=200;while(i0)i-;z-;void dsreset() /發(fā)送復(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() /讀一個(gè)字節(jié)uchar i,j,dat;dat=0;for(i=1;i=8;i+)j=tmpread_bit();dat=(j1);return dat;void tmpwrite(uchar dat) /寫一個(gè)字節(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開始轉(zhuǎn)換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() /讀取期間序列號(hào)子程序/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 四、個(gè)人心得及總結(jié) 通過這次的課程設(shè)計(jì)使我:掌握智能數(shù)字萬年歷系統(tǒng)的基本設(shè)計(jì)方法;熟悉智能數(shù)字萬年歷系統(tǒng)的電路接口設(shè)計(jì)及常用的通信接口器件應(yīng)用;熟練應(yīng)用PRO
18、TEL99進(jìn)行電路圖的繪制。理解數(shù)據(jù)采集處理模塊、DS12C887時(shí)鐘模塊、RS232串口通信模塊、鍵盤模塊、點(diǎn)陣模塊、數(shù)碼管模塊等接口應(yīng)用。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),這次課程設(shè)計(jì)雖然很累,但我學(xué)到了很多東西,對(duì)軟件的設(shè)計(jì)過程和方法有了更深入的了解,培養(yǎng)了我們的團(tuán)隊(duì)精神,鍛煉了我們的溝通和表達(dá)能力。通過這次的課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的。只有把理論知識(shí)與實(shí)踐相結(jié)合起來,才能真正的為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考能力。這次課程實(shí)際,使我們?cè)诨纠碚摰木C合應(yīng)用及正確解決實(shí)際問題等方面得到了一
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024商場(chǎng)美食節(jié)臨時(shí)攤位租賃合同
- 2024年度健身器材購銷合同
- 2024年度國際貿(mào)易仲裁與訴訟合同
- 2024年定制LED高炮廣告牌建設(shè)合同
- 2024乙公司向甲方提供跨境電商服務(wù)的詳細(xì)合同條款
- 2024年度grc材料研發(fā)與技術(shù)轉(zhuǎn)讓合同
- 航天英雄課件教學(xué)課件
- 2024年住宅租賃協(xié)議:個(gè)人與房東間的權(quán)利義務(wù)規(guī)定
- 04版0千伏電力施工合同樣本
- 2024年工程招投標(biāo)合同管理實(shí)操手冊(cè)
- 醫(yī)療技術(shù)操作規(guī)范制度及流程
- 戶外直播知識(shí)競(jìng)賽答題附答案
- 手術(shù)室溫暖的護(hù)士
- 建筑地基基礎(chǔ)施工規(guī)范DBJ-T 15-152-2019
- 中華民族共同體概論課件專家版8第八講 共奉中國與中華民族聚力發(fā)展
- 健康科普總結(jié)報(bào)告
- 部編小學(xué)語文單元作業(yè)設(shè)計(jì)四年級(jí)上冊(cè)第三單元 3
- 2024年1月浙江省高考英語試題卷附答案
- 術(shù)中獲得性壓力損傷預(yù)防
- 計(jì)算機(jī)科學(xué)與技術(shù)職業(yè)生涯發(fā)展展示
- 護(hù)理腫瘤溶解綜合癥
評(píng)論
0/150
提交評(píng)論