畢業(yè)設(shè)計(jì)基于STC12C5410AD單片機(jī)的無線網(wǎng)絡(luò)時(shí)鐘設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)基于STC12C5410AD單片機(jī)的無線網(wǎng)絡(luò)時(shí)鐘設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)基于STC12C5410AD單片機(jī)的無線網(wǎng)絡(luò)時(shí)鐘設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)基于STC12C5410AD單片機(jī)的無線網(wǎng)絡(luò)時(shí)鐘設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)基于STC12C5410AD單片機(jī)的無線網(wǎng)絡(luò)時(shí)鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、畢業(yè)設(shè)計(jì)(論文)題 目基于無線的網(wǎng)絡(luò)時(shí)鐘設(shè)計(jì)班 級 生產(chǎn)過程自動化0602 姓 名 潘飛文 指導(dǎo)教師 左希慶 2009年 1月7日目 錄引言31.緒論41.1本設(shè)計(jì)的背景41.2 本設(shè)計(jì)的內(nèi)容41.3本設(shè)計(jì)的目的和意義52.系統(tǒng)控制方案的確定52.1 系統(tǒng)設(shè)計(jì)的基本步驟52.2 系統(tǒng)控制方案52.3 系統(tǒng)控制流程圖63.系統(tǒng)硬件設(shè)計(jì)73.1微控制器(單片機(jī))的選型73.2 時(shí)鐘芯片的選型83.3 溫濕度芯片的選型93.4 無線模塊的選型103.5 語音芯片的選型103.6 顯示的選型113.7 紅外遙控器的選型124系統(tǒng)軟件設(shè)計(jì)134.1 單片機(jī)c語言的概述134.2 系統(tǒng)工作過程分析134.

2、3 控制系統(tǒng)程序設(shè)計(jì)135.結(jié)論15致謝16參考文獻(xiàn)16附圖17引 言單片機(jī)是指一個集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計(jì)算機(jī)所需要的大部分部件:cpu、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),有較強(qiáng)的抗干擾能力,成本較低。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇:1.在智能儀器儀表上的應(yīng)用單

3、片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測量設(shè)備(功率表,示波器,各種分析儀)。2.在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。3.在家用電器中的應(yīng)用可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、

4、洗衣機(jī)、電冰箱、空調(diào)機(jī)、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。4.在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機(jī)等。5.單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。6.在各種大型電器中的模塊化應(yīng)用某些專用單片機(jī)設(shè)計(jì)用于實(shí)

5、現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機(jī),看似簡單的功能,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計(jì)算機(jī)的原理。此外,單片機(jī)在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。1.緒論1.1本設(shè)計(jì)的背景現(xiàn)階段國內(nèi)外對于時(shí)鐘的研究主要表現(xiàn)在:個性、便捷等功能上。時(shí)鐘產(chǎn)品多以這幾類為主:指針式時(shí)鐘、數(shù)碼管顯示時(shí)鐘、點(diǎn)陣時(shí)鐘,液晶顯示時(shí)鐘。由于現(xiàn)在的時(shí)鐘多采用電子線路,因此在時(shí)間的精確度上有很大的提高,并且隨著微電子技術(shù)的迅猛發(fā)展,無論是時(shí)鐘的外型還是內(nèi)部線路都有很大的改進(jìn)。比如現(xiàn)在的時(shí)鐘很多都非常有個性,如:概念

6、時(shí)鐘,時(shí)鐘的外觀做的卡通化,所以它們很受年輕人的喜歡。有一種新型時(shí)鐘能產(chǎn)生多點(diǎn)信號,它是在時(shí)鐘上加裝集成電路為基礎(chǔ)的中央控制電路再分別與鍵盤控制器,語音錄放器和液晶顯示器聯(lián)接組裝而成,是一種全新穎的多段提醒點(diǎn)智能鬧鐘,使用者可以多次設(shè)定響鬧時(shí)間,并提前錄好該時(shí)間要做的事,到指定時(shí)間就會分別按時(shí)用語音提醒并在液晶顯示器上作出指示。還有一種新型時(shí)鐘它的作用是“在最佳被喚醒的時(shí)候”叫醒,也就是最淺睡眠狀態(tài)下叫醒。與鬧鐘配套的有個類似護(hù)腕的傳感器,使用者只需將其佩戴在手腕處便能監(jiān)測使用者的身體活動狀態(tài),還可以通過測試使用者在睡眠時(shí)有多少次翻身來判定熟睡程度,最后傳感器將信息通過無線方式發(fā)送給鬧鐘,由鬧

7、鐘來計(jì)算出叫醒使用者的最佳時(shí)間。鑒于現(xiàn)在的時(shí)鐘趨向個性,方便、多功能的特點(diǎn),本設(shè)計(jì)將集技術(shù)和創(chuàng)新于一體,賦予數(shù)字時(shí)鐘的一個全新的概念。1.2 本設(shè)計(jì)的內(nèi)容1) 運(yùn)用sm311無線模塊組建一個無線網(wǎng)絡(luò)與各個時(shí)鐘終端進(jìn)行通訊。2) 應(yīng)用時(shí)鐘芯片、溫濕度芯片,采集其數(shù)據(jù)通過時(shí)鐘顯示器進(jìn)行顯示。3) 應(yīng)用語音芯片來進(jìn)行語音報(bào)時(shí),增加項(xiàng)目的趣味性。4) 通過紅外可以對各個時(shí)鐘終端分別進(jìn)行時(shí)間、鬧鐘的設(shè)定,并可實(shí)時(shí)修改時(shí)間、鬧鐘時(shí)間等參數(shù)設(shè)置。1.3本設(shè)計(jì)的目的和意義時(shí)鐘是顯示時(shí)間一種器件。它的應(yīng)用遍及我們周圍的每一個角落,應(yīng)用非常廣泛?,F(xiàn)階段家庭廣泛應(yīng)用的時(shí)鐘大多只具有時(shí)間顯示功能,無法顯示日歷、無法定

8、時(shí)、也不具有溫濕度顯示等功能。由于數(shù)字時(shí)鐘采用石英晶體起振,各晶振間由于存在誤差而導(dǎo)致了時(shí)間差的累積,所以即使同樣的數(shù)字時(shí)鐘,經(jīng)過一段時(shí)間后顯示的時(shí)間也不相同。由于現(xiàn)在大多數(shù)時(shí)鐘存在著這么多的缺點(diǎn),所以本設(shè)計(jì)就比較有意義,本設(shè)計(jì)的重點(diǎn)是無線網(wǎng)絡(luò)在數(shù)字時(shí)鐘中的具體應(yīng)用。通過時(shí)鐘間的無線通訊可以對家庭或辦公室所在的任一個時(shí)鐘進(jìn)行時(shí)間、日期、溫度等傳輸并校正。2.系統(tǒng)控制方案的確定2.1 系統(tǒng)設(shè)計(jì)的基本結(jié)構(gòu)本設(shè)計(jì)主要由顯示模塊、時(shí)鐘模塊、溫濕度檢測模塊、無線通訊模塊、紅外控制模塊、語音模塊、鬧鈴模塊??傮w框架圖如圖2.1所示:主控制器(單片機(jī))紅外控制128x64液晶顯示時(shí)鐘模塊溫濕度模塊無線通訊模

9、塊語音模塊鬧鈴模塊從控制器(單片機(jī))128x64液晶顯從控制器(單片機(jī))無線通信模塊無線通信模塊 圖2.1 總體框架圖2.2 系統(tǒng)控制方案 無線網(wǎng)絡(luò)時(shí)鐘系統(tǒng)的控制要求如下:(1)初始時(shí)間、鬧鐘時(shí)間的輸入:在打開電源,系統(tǒng)初始化開始后,就要對系統(tǒng)進(jìn)行一些基本參數(shù)的設(shè)定。如初始時(shí)間(即現(xiàn)在的時(shí)間)、鬧鐘的時(shí)間。(2)采集溫濕度數(shù)據(jù)并處理:在設(shè)定好參數(shù)后,系統(tǒng)會定時(shí)采集溫濕度的數(shù)據(jù),并對數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)化成溫濕度數(shù)值,放入指定的地址中。為后面的顯示做好準(zhǔn)備。(3)通過無線模塊傳輸數(shù)據(jù): 控制器(單片機(jī))會定時(shí)通過無線模塊把時(shí)間數(shù)據(jù),溫濕度數(shù)據(jù)傳送給其它時(shí)鐘。(4)在線修改時(shí)間 因?yàn)槿魏螘r(shí)鐘通過一段時(shí)

10、間的運(yùn)行后肯定會出現(xiàn)誤差,所以該系統(tǒng)有在線修改時(shí)間程序??赏ㄟ^紅外遙控對時(shí)間和鬧鐘時(shí)間進(jìn)行在線修改。(5)語音報(bào)時(shí) 為了使時(shí)鐘更人性化,該系統(tǒng)還設(shè)計(jì)了語音報(bào)時(shí)程序。用戶可以通過紅外遙控器,對現(xiàn)在的時(shí)間進(jìn)行報(bào)時(shí)。(6)鬧鈴 通過初始設(shè)定或在線設(shè)定好鬧鐘時(shí)間后,當(dāng)?shù)竭_(dá)該時(shí)間,蜂鳴器會出現(xiàn)鬧鈴響聲。2.3 系統(tǒng)控制流程圖開始初始化輸入初始時(shí)間鬧鐘時(shí)間采集時(shí)鐘芯片數(shù)據(jù)采集溫濕度數(shù)據(jù)將以上采集到的數(shù)據(jù)顯示在液晶屏上判斷是否到鬧鐘時(shí)間判斷是否要語音報(bào)時(shí)按時(shí)通過無線模塊與時(shí)鐘中斷通信判斷是否要修改時(shí)間或鬧鐘時(shí)間語音模塊報(bào)時(shí)nnyyyn報(bào)警模塊3.系統(tǒng)硬件設(shè)計(jì)3.1微控制器(單片機(jī))的選型 全世界的單片機(jī)品種

11、繁多,有atmel公司的avr單片機(jī)、motorola單片機(jī)、microchip單片機(jī)、mdt20xx系列單片機(jī)、em78系列otp型單片機(jī)、scenix單片機(jī)、epson單片機(jī)、東芝單片機(jī)、8051單片機(jī)、lg公司生產(chǎn)的gms90系列單片機(jī)、華邦單片機(jī)、zilog單片機(jī)、ns單片機(jī)等等。我選用的是由宏晶科技生產(chǎn)的stc12c5410ad單片機(jī)。因?yàn)樵搯纹瑱C(jī)較以往的單片機(jī)提高了工作效率,使系統(tǒng)的可靠性、抗干擾能力得到了顯著改善,而且進(jìn)一步小型化和便攜化。其內(nèi)部集成的flash幾乎擁有現(xiàn)代追求個性化的用戶所需要的掉電后數(shù)據(jù)不丟失、快速的數(shù)據(jù)存取時(shí)間、電可擦除、容量大、在線可編程、足夠多的擦寫次數(shù)

12、、價(jià)格低廉和高可靠性等所有優(yōu)點(diǎn)。圖3.1為該單片機(jī)的管腳引腳圖。 圖3.1 stc12c5410ad引腳圖stc12c5410ad單片機(jī)具有以下特點(diǎn):(1) flash存儲器stc12c5410ad flash存儲器為10kb。 flash存儲器主要用作程序存儲,可經(jīng)計(jì)算機(jī)串口接口下載程序;程序運(yùn)行時(shí)能對其中的1段或多段進(jìn)行擦、寫操作,因此兼有數(shù)據(jù)存儲器功能。flash存儲器的掉電保護(hù)功能可用十程序數(shù)據(jù)保存,可以按字或字節(jié)讀寫,最小擦除單位為1段,經(jīng)過擦除的位為“1",寫入位為“0"。(2)脈寬調(diào)節(jié)模式(pwm)所有pca模塊都可用作pmw輸出。輸出頻率取決于pca定時(shí)器的

13、時(shí)鐘源。由十所有模塊共用僅有的pca定時(shí)器,所有它們的輸出頻率相同。各個模塊的輸出占空比是獨(dú)立變化的,與使用的捕獲寄存器epcnl,ccapnl有關(guān)。當(dāng)cl sfr的值小十epcnl, ccapnl時(shí),輸出為低,當(dāng)pca cl sfr的值等于或大于epcnl, ccapnl時(shí),輸出為高。當(dāng)cl的值由ff變?yōu)?0溢出時(shí),epcnh, ccapnh的內(nèi)容裝載到epcnl,ccapnl中。這樣就可實(shí)現(xiàn)無干擾地更新pwm。要使能pwm模式,模塊ccapmn寄存器的pwmn不ii ecomn位必須置位。(3) i/o口工作類型設(shè)置stc12c5410ad帶有24個i/o引腳,它的i/o與傳統(tǒng)的i/o不同

14、,每個i/o口均可由軟件設(shè)置成4種工作類型之一,使得功能口和通用i/o口復(fù)用。4種類型分別為:準(zhǔn)雙向口(標(biāo)準(zhǔn)8051輸出模式)、推挽輸出、僅為輸入(高阻)和開漏輸出功能。在對同一個i/o口進(jìn)行操作前要選擇其要實(shí)現(xiàn)的功能,這樣大大地增強(qiáng)了端口的功能和靈活性。其中一些i/o口還可以與stc12c5410ad中的特殊模塊相結(jié)合完成更為復(fù)雜的工作。如與捕獲比較模塊相結(jié)合可以實(shí)現(xiàn)串行通信,與a/d模塊結(jié)合實(shí)現(xiàn)a/d轉(zhuǎn)換等。此外,stc12c5410ad的i/o端口電氣特性也十分突出,幾乎所有的i/o口都有20ma的驅(qū)動能力,對于一般的液晶顯示屏、蜂鳴器可以直接驅(qū)動而無需輔助電路。許多端口內(nèi)部都集成了上拉

15、電阻,可以方便地與外圍器件相接。(4) a/d模數(shù)轉(zhuǎn)換寄存器stc12c5410ad單片機(jī)的a。轉(zhuǎn)換口在p1口(p1.7p1.0),有8路10位高速a/d轉(zhuǎn)換器,stc12c5410ad系列是10位精度的a/d,速度均可達(dá)到1 ookhz(10萬次/秒)08路電壓輸入型a/d,可以完成溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等功能。上電復(fù)位后p1口是弱上拉型的i/o口,可以通過軟件設(shè)置將8路中的任何一路設(shè)置為a/d轉(zhuǎn)換,不需作為a/d使用的口可繼續(xù)作為i/o口使用。這樣,a/d轉(zhuǎn)換和i/o口可以靈活的運(yùn)用,節(jié)省了軟件及時(shí)間。(5)有配套的仿真開發(fā)工具stc12c5410ad的flash存儲器

16、給用戶的開發(fā)帶來方便。用戶可以將芯片焊接在線路板上后進(jìn)行下載程序、調(diào)試程序和修改程序。同時(shí),stc12c5410ad的片內(nèi)已集成了程序斷點(diǎn)控制等邏輯功能。因此,它的開發(fā)工具較為簡單,只需1套pc環(huán)境下的調(diào)試軟件和1個連接十并口的仿真器。仿真器與stc12c5410ad經(jīng)串口連接。因此,用戶只要在設(shè)計(jì)應(yīng)用系統(tǒng)時(shí)為調(diào)試需要預(yù)留好stc12c5410ad的串口接口的引出插座,即可實(shí)現(xiàn)系統(tǒng)的程序下載調(diào)試、系統(tǒng)現(xiàn)場編程硬件仿真或軟件升級功能,而且無需外加編程電壓。3.2 時(shí)鐘芯片的選型 我采用的是dallas 公司推出的ds1302。該芯片是涓流充電時(shí)鐘芯片,內(nèi)含有一個實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài)ra

17、m ,通過簡單的串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、日期、月、年的信息。每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時(shí)鐘操作可通過am/pm 指示決定采用24 或12 小時(shí)格式。ds1302 與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到三個口線:(1)res( 復(fù)位);(2)i/o 數(shù)據(jù)線;(3)sclk。串行時(shí)鐘時(shí)鐘/ram 的讀/寫數(shù)據(jù)以一個字節(jié)或多達(dá)31 個字節(jié)的字符組方式通信。ds1302 工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mw。ds1302 是由ds1202 改進(jìn)而來,增加了以下的特性:雙電源管腳用于主電源和備份電源供應(yīng),vcc1 為可編程涓

18、流充電電源,附加七個字節(jié)存儲器。它廣泛應(yīng)用于電話、傳真、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。如圖3.2為它的原理圖。 圖3.3 ds1302的原理圖3.3 溫濕度芯片的選型溫濕度模塊采用的是瑞士sensirion公司的sht11溫濕度傳感器。該芯片具有i2c總線接口的單片全校準(zhǔn)數(shù)字式相對濕度和溫度傳感器。該傳感器采用獨(dú)特的cmosens tm技術(shù),具有數(shù)字式輸出、免調(diào)試、免標(biāo)定、免外圍電路及全互換的特點(diǎn)。傳統(tǒng)的模擬式濕度傳感器一般都要設(shè)計(jì)信號調(diào)理電路并需要經(jīng)過復(fù)雜的校準(zhǔn)和標(biāo)定過程,因此測量精度難以保證,且在線性度、重復(fù)性、互換性、一致性等方面往往不盡人意。sht11是基于cmosens

19、tm技術(shù)的新型溫濕度傳感器。該傳感器將cmos芯片技術(shù)與傳感器技術(shù)結(jié)合起來,從而發(fā)揮出它們強(qiáng)大的優(yōu)勢互補(bǔ)作用。如圖3.4為它的實(shí)物圖。該芯片能將溫度感測、濕度感測、信號變換、a/d轉(zhuǎn)換和加熱器等功能集成到一個芯片上,其內(nèi)部結(jié)構(gòu)如圖3.5所示。該芯片包括一個電容性聚合體濕度敏感元件和一個用能隙材料制成的溫度敏感元件。這兩個敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號,該電信號首先進(jìn)入微弱信號放大器進(jìn)行放大;然后進(jìn)入一個14位的a/d轉(zhuǎn)換器;最后經(jīng)過二線串行數(shù)字接口輸出數(shù)字信號。sht11在出廠前,都會在恒濕或恒溫環(huán)境巾進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)存儲在校準(zhǔn)寄存器中;在測量過程中,校準(zhǔn)系數(shù)會自動校準(zhǔn)來自傳感器的信號

20、。此外,sht11內(nèi)部還集成了一個加熱元件,加熱元件接通后可以將sht11的溫度升高5左右,同時(shí)功耗也會有所增加。此功能主要為了比較加熱前后的溫度和濕度值,可以綜合驗(yàn)證兩個傳感器元件的性能。在高濕(>95rh)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時(shí)縮短響應(yīng)時(shí)間,提高精度。加熱后sht11溫度升高、相對濕度降低,較加熱前,測量值會略有差異。圖3。6為它的原理圖。圖3.4 sht11實(shí)物圖圖3.5sht11內(nèi)部結(jié)構(gòu)圖 圖3.6sht11原理圖3.4 無線模塊的選型無線通訊模塊采用的是sm31無線模塊。sm31型微功率無線數(shù)傳模塊采用chipcon公司高接收靈敏度無線集成芯片cc1020 r

21、f芯片,atmel 公司的微功耗,低噪音,高速8位單片機(jī),也內(nèi)置多種高糾錯信道編碼通信技術(shù),用戶使用時(shí),無需任何編碼,具有更高的抗干擾性強(qiáng),通信穩(wěn)定的特點(diǎn)。圖3.7為它的實(shí)物圖。 采用高效前向糾錯信道編碼技術(shù),提高了數(shù)據(jù)抗突發(fā)干擾和隨機(jī)干擾能力;采用透明的數(shù)據(jù)傳輸,提供透明的數(shù)據(jù)接口,能適應(yīng)任何標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)的用戶協(xié)議;自動過濾掉空中產(chǎn)生的噪音號及假數(shù)據(jù),使用方便,采用 雙串口,同時(shí)提供ttl/rs-232/rs-485共3種接口方式,大的數(shù)據(jù)緩沖區(qū),接口波特率為1200115200bit/s,格式為8n1/8e1用戶可自定義,可1次傳輸無限長度的數(shù)據(jù),用戶可靈活編程設(shè)置??蓮V泛用于各種場合的短

22、距離無線通信領(lǐng)域。 圖3.7 sm31無線模塊實(shí)物圖3.5 語音芯片的選型isd2560是isd系列單片語音錄放集成電路的一種。這是一種永久記憶型語音錄放電路,錄音時(shí)間為60s,可重復(fù)錄放10萬次。該芯片采用多電平直接模擬量存儲專利技術(shù),每個采樣值可直接存儲在片內(nèi)單個eeprom單元中,因此能夠非常真實(shí)、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲,從而避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。該器件的采樣頻率為8.0khz,同一系列的產(chǎn)品采樣頻率越低錄放時(shí)間越長,但通頻帶和音質(zhì)會有所降低。原理圖如圖3.8。此外,isd2560還省去了a/d和d/a轉(zhuǎn)換器。其集成度較高,內(nèi)部包括前置

23、放大器、內(nèi)部時(shí)鐘、定時(shí)器、采樣時(shí)鐘、濾波器、自動增益控制、邏輯控制、模擬收發(fā)器、解碼器和480字節(jié)的eeprom。sd2560內(nèi)部eeprom存儲單元均勻分為600行,有600個地址單元,每個地址單元指向其中一行,每一個地址單元的地址分辨率為100ms。此外,isd2560還具備微控制器所需的控制接口。通過操縱地址和控制線可完成不同的任務(wù),以實(shí)現(xiàn)復(fù)雜的信息處理功能,如信息的組合、連接、設(shè)定固定的信息段和信息管理等。isd2560可不分段,也可按最小段長為單位來任意組合分段。圖3.8 isd2560原理圖3.6 顯示的選型128x64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有

24、國標(biāo)一級、二級簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個16*16點(diǎn)漢字,和128個16*8點(diǎn)ascii字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4行16×16點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。實(shí)物圖如圖3.9,圖3.10為它的原理圖。圖3.9 128x64實(shí)物圖圖3.10 128x64原理圖3.7

25、 紅外遙控器的選型紅外控制模塊是由紅外發(fā)射器與紅外接收器組成。紅外控制模塊在設(shè)計(jì)中所起的作用是輸入和在線修改時(shí)間、鬧鐘的數(shù)據(jù)。可在線開啟觀看鬧鐘時(shí)間,可開啟和關(guān)閉時(shí)鐘報(bào)時(shí)功能,可關(guān)閉鬧鐘等功能。實(shí)物圖如圖3.12。圖 3.12 紅外遙控器實(shí)物圖紅外遙控器使用方便,功能多目前已廣泛應(yīng)用在電視機(jī)、vcd、dvd、空調(diào)等各種家用電器中,且價(jià)格便宜,市場上非常容易買到。而且紅外遙控器發(fā)出的是紅外線不受陽光的干擾,所以選擇紅外遙控器。4系統(tǒng)軟件設(shè)計(jì)4.1 單片機(jī)c語言的概述c語言是很好用的結(jié)構(gòu)化語言,80年代后,c語言開始在單片機(jī)上運(yùn)用。過去長期困擾人們的所謂“高級語言產(chǎn)生代碼太長,運(yùn)行速度太慢,運(yùn)行效

26、率不高,所以不適合單片機(jī)使用。所以單片機(jī)c語言集成開發(fā)環(huán)境成功的解決了這個難題,使得單片機(jī)c語言的效率大大的提高,而且在關(guān)鍵部位還能嵌入?yún)R編語言代碼,從而挖掘程序的最高潛力。目前,8051上的c語言的代碼長度,已經(jīng)做到了匯編水平的1.21.5倍。4k字節(jié)以上的程度,c語言的優(yōu)勢更能得到發(fā)揮。至于運(yùn)行速度的問題,只要有好的仿真器,找出關(guān)鍵的代碼,再進(jìn)一步做一下人工優(yōu)化,就可很容易達(dá)到美滿。單片機(jī)c語言是高效的單片機(jī)開發(fā)語言。4.2 系統(tǒng)工作過程分析1初始化2進(jìn)入初始化參數(shù)設(shè)定界面,輸入初始時(shí)間、鬧鐘時(shí)間。3設(shè)定參數(shù)后,按開始鍵進(jìn)入時(shí)鐘界面(系統(tǒng)開始全面運(yùn)行)。4控制器(單片機(jī))定時(shí)向溫濕度模塊讀

27、取數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理。5控制器(單片機(jī))定時(shí)到時(shí)鐘芯片(is1302)讀取時(shí)間。6在得到溫濕度、時(shí)間數(shù)據(jù)之后,控制器(單片機(jī))把時(shí)間,溫濕度顯示在液晶顯示屏上。7控制器(單片機(jī))定時(shí)把溫濕度數(shù)據(jù),時(shí)間數(shù)據(jù)通過無線模塊傳送給其它時(shí)鐘。8控制器(單片機(jī))檢查鬧鈴標(biāo)志位。如果是執(zhí)行鬧鈴程序,如果否跳過該程序。9在外部中斷中,當(dāng)檢測到要語音報(bào)時(shí),系統(tǒng)進(jìn)入語音報(bào)時(shí)程序。執(zhí)行報(bào)時(shí)功能。10在外部中斷中,當(dāng)檢測到要修改時(shí)間或修改鬧鐘時(shí)間時(shí),系統(tǒng)進(jìn)入修改界面,而且系統(tǒng)的時(shí)間程序仍在運(yùn)行,如果沒修改數(shù)據(jù)或是修改數(shù)據(jù)沒保存,當(dāng)跳出修改界面后,時(shí)間將不會該變。4.3控制系統(tǒng)程序設(shè)計(jì)1. 顯示128×64

28、液晶顯示屏,具有四行顯示功能,而且內(nèi)部含有國標(biāo)一級,二級簡體中文字庫的點(diǎn)陣圖形液晶顯示模;所以可以同時(shí)顯示時(shí)間、日期、溫度、濕度等內(nèi)容。在顯示方式上是采用動態(tài)的顯示方式,所以能實(shí)時(shí)顯示傳感器中的數(shù)據(jù)。2. sht11溫濕度傳感器sht11是利用溫濕度傳感器分別產(chǎn)生相對溫度或濕度的信號,然后經(jīng)過放大,分別送至a/d轉(zhuǎn)換器進(jìn)行模/數(shù)轉(zhuǎn)換、校準(zhǔn)和糾錯,最后通過二線串行接口將相對濕度數(shù)據(jù)送至主控制器進(jìn)行處理。所以在程序開始時(shí),微處理器先用一組"啟動傳輸"時(shí)序表示數(shù)據(jù)傳輸?shù)膯?,?dāng)sck時(shí)鐘為高電平時(shí),data翻轉(zhuǎn)為低電平;緊接著sck變?yōu)榈碗娖?,隨后又變?yōu)楦唠娖剑辉趕ck時(shí)鐘為高電

29、平時(shí),data再次翻轉(zhuǎn)為高電平。主機(jī)發(fā)出啟動命令,隨后發(fā)出一個后續(xù)8位命令碼,該命令碼包含3個地址位(芯片設(shè)定地址為000)和5個命令位;發(fā)送完該命令碼,將data總線設(shè)為輸入狀態(tài)等待sht11的響應(yīng);sht11接收到上述地址和命令碼后,在第8個時(shí)鐘下降沿,將data下拉為低電平作為從機(jī)的ack;在第9個時(shí)鐘下降沿之后,從機(jī)釋放data(恢復(fù)高電平)總線;釋放總線后,從機(jī)開始測量當(dāng)前溫度或濕度,測量結(jié)束后,再次將data總線拉為低電平;主機(jī)檢測到data總線被拉低后,得知溫度或濕度測量已經(jīng)結(jié)束,給出sck時(shí)鐘信號;從機(jī)在第8個時(shí)鐘下降沿,先輸出高字節(jié)數(shù)據(jù);在第9個時(shí)鐘下降沿,主機(jī)將data總線

30、拉低作為ack信號。然后釋放總線data;在隨后8個sck周期下降沿,從機(jī)發(fā)出低字節(jié)數(shù)據(jù);接下來的sck下降沿,主機(jī)再次將data總線拉低作為接收數(shù)據(jù)的ack信號;最后8個sck下降沿從機(jī)發(fā)出crc校驗(yàn)數(shù)據(jù),主機(jī)不予應(yīng)答(nack)則表示測量結(jié)束。3. 語音語音模塊采用的是isd2560語音芯片。isd2560雖然提供了地址輸入線,但它的內(nèi)部信息段的地址卻無法讀出。本系統(tǒng)采用單片機(jī)來控制,不需讀出信息地址,而直接設(shè)置信息段起始地址。其實(shí)現(xiàn)方式有兩種:一是由于isd2560的地址分辨率為100 ms,所以可用單片機(jī)內(nèi)部定時(shí)器定時(shí)100 ms,然后再利用一計(jì)數(shù)器對單片機(jī)定時(shí)次數(shù)進(jìn)行計(jì)數(shù),則計(jì)數(shù)器的

31、計(jì)數(shù)值為語音段所占用的地址單元。該方式能充分利用isd2560內(nèi)部的e2prom,在字段較多時(shí)可利用該方法。二是語音字段如果較少,則可根據(jù)每一字段的內(nèi)容多少,直接分配地址單元。一般按每1s說3個字計(jì)算,60 s可說180個字,再根據(jù)isd2560的地址分辨率為100 ms,即可計(jì)算出語音段所需的時(shí)間。本文采用第二種方式。放音時(shí),根據(jù)需播放的語音內(nèi)容,找到相應(yīng)的語音段起始地址,并通過口線送出。再將p/r端設(shè)為高電平,pd端設(shè)為低電平,并讓/ce端產(chǎn)生一負(fù)脈沖啟動放音,這時(shí)單片機(jī)只需等待軟計(jì)時(shí)器結(jié)束,即報(bào)完這段語音所需的時(shí)間。軟計(jì)時(shí)器結(jié)束后,如果還要放音就馬上重新輸入初始地址,在重新啟動軟計(jì)時(shí)器。

32、如果要結(jié)束就直接輸入isd2560的信息結(jié)束信號,即eom的地址。 信號為一負(fù)脈沖,在負(fù)脈沖的上升沿,該段語音才播放結(jié)束,所以單片機(jī)必須要檢測到/eom的上升沿才能播放第二段,否則播放的語音就不連續(xù),而且會產(chǎn)生啪啪聲,這一點(diǎn)在編制軟件時(shí)一定要注意。4. 鬧鈴當(dāng)時(shí)間走到預(yù)定的鬧鐘時(shí)間時(shí),蜂鳴器要發(fā)出鬧鈴聲。單片機(jī)只需要把現(xiàn)在的時(shí)間跟鬧鐘設(shè)定的時(shí)間作比較,如果一樣就發(fā)出鬧鈴聲。為了能關(guān)閉鬧鈴,只需在發(fā)出鬧鈴聲的條件上再加一個條件就行。而為了更人性化有兩種方法來關(guān)閉,一種是直接關(guān)閉,即把改變鬧鈴的條件;另一種是暫時(shí)關(guān)閉,在過5分種后會繼續(xù)鬧鈴。這就需要改變原始鬧鐘設(shè)定的時(shí)間,即選擇這種關(guān)閉后,程序要

33、在原來設(shè)定的時(shí)間上再加上5分鐘,這樣5分鐘后才會繼續(xù)發(fā)出鬧鈴聲。5.紅外控制在本系統(tǒng)中紅外控制采用的是中斷控制方式??刂破鳎▎纹瑱C(jī))的外中斷接紅外接收器,當(dāng)有紅外接收到,會馬上轉(zhuǎn)到中斷程序,對紅外信息進(jìn)行解碼并執(zhí)行相應(yīng)的指令。這樣就能實(shí)時(shí)控制整個系統(tǒng)。所以當(dāng)要進(jìn)行語音報(bào)時(shí)時(shí),只要按下語音報(bào)時(shí)鍵,系統(tǒng)會馬上作出處理。就能馬上執(zhí)行語音程序了。5.結(jié)論本系統(tǒng)主要以單片機(jī)為核心,利用單片機(jī)的強(qiáng)大的控制功能,實(shí)現(xiàn)了無線網(wǎng)絡(luò)的時(shí)鐘設(shè)計(jì),正真實(shí)現(xiàn)了通過時(shí)鐘間的無線通訊讓家庭或辦公場所的任一個時(shí)鐘進(jìn)行時(shí)間、日期、溫濕度等校正,還可進(jìn)行鬧鐘設(shè)定、語音定時(shí)、報(bào)警等功能。通過本設(shè)計(jì),我學(xué)習(xí)到了很多東西,在工作的細(xì)心

34、上也得到了提高。并且,更了解了有關(guān)單片機(jī)的功能。我選擇這個設(shè)計(jì),也是為了彌補(bǔ)以前學(xué)習(xí)上的不足。這次設(shè)計(jì),使我了解到老師的用心良苦,并且從老師那學(xué)到了很多寶貴的東西。致謝本論文是在湖州職業(yè)技術(shù)學(xué)院左希慶老師的指導(dǎo)下完成的。在做論文的過程中左希慶老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和一絲不茍的工作精神給了我深刻的啟發(fā),也給了我很大的觸動。另外,左希慶老師經(jīng)常給我講解不懂的地方,教我怎么入手,使我能盡快的完成論文。還要感謝系里其它的老師的指導(dǎo),給了我很大的幫助。在此,對老師在工作和生活中給予的指導(dǎo)和關(guān)心致以最真誠的謝意。同時(shí)在這里還要感謝自動化系給予我們的關(guān)心和幫助,感謝機(jī)房老師給予我們上機(jī)實(shí)驗(yàn)方便。感謝系里其它的一

35、些同學(xué)在設(shè)計(jì)中提供大量的支持和幫助。我們即將畢業(yè),在此,再一次向三年中在學(xué)習(xí)和生活中給予過我?guī)椭睦蠋熀屯瑢W(xué)致謝。參考文獻(xiàn)1 陳立定、吳玉香、蘇開才. 電氣控制與可編程控制器m.廣州:華南理工大學(xué)出版社.20012 劉載文、李毫升、鐘亞林. 電梯控制技術(shù)m.北京:電子工業(yè)出版社.19963 秦健. 可編程控制器和變頻器載改造在用電梯自動控制系統(tǒng)中的應(yīng)用m. 應(yīng)用技術(shù)出版社.20064 唐勇奇. 電梯變頻器調(diào)速plc控制的設(shè)計(jì)與實(shí)現(xiàn)m. 電機(jī)電器技術(shù)出版社.20005 王平、崔納新. plc在電梯控制中的應(yīng)用j. 微計(jì)算機(jī)信息.1999.(2)6 孫忠獻(xiàn). 電機(jī)技術(shù)與應(yīng)用m. 福建:福建科學(xué)技術(shù)

36、出版社.2004.37 李景學(xué)、金廣業(yè). 可編程控制器應(yīng)用系統(tǒng)設(shè)計(jì)方法m. 北京:電子工業(yè)出版社.19958 徐惠鋼、郭文華. 基于plc的電梯高精度位置控制的實(shí)現(xiàn)j. 微計(jì)算機(jī)信息.2007,23(5):61-639 金晴川. 電梯與自動扶梯的技術(shù)詞典m. 第一版,上海:上海交通大學(xué)出版社.200510 王玉申. 通用變頻器的選擇與使用m. 中華紙業(yè)出版社.2001附圖#include<stc.h> #include<intrins.h>#include <math.h> #include <stdio.h> #define uchar uns

37、igned char#define uint unsigned int typedef union uint i; float f; value;enum temp,humi;#define data p3_5 /溫濕度數(shù)據(jù)口#define sck p3_4 /溫濕度時(shí)鐘口#define noack 0#define ack 1 /adr command r/w#define status_reg_w 0x06 /000 0011 0#define status_reg_r 0x07 /000 0011 1#define measure_temp 0x03 /000 0001 1#define

38、 measure_humi 0x05 /000 0010 1#define reset 0x1e /000 1111 0/*=*/sbit clk=p20;/移位時(shí)鐘脈沖shsbit r1=p21;/輸出鎖存器控制脈沖stsbit dat=p22;/串行數(shù)據(jù)輸入dssbit a8=p13;sbit a9=p14;sbit pr=p15;sbit pd=p16;sbit ce=p17;sbit ir_re = p32; /紅外解碼判斷標(biāo)志位,為0則為有效信號,為1則為無效 uchar date4=0,0,0,0; /date數(shù)組為存放地址原碼,反碼,數(shù)據(jù)原碼,反碼 uchar hour_date

39、,minute_data,lsxw;bithour_mark_0=0,hour_mark_1=0,hour_mark_2=0,minute_mark_0=0,minute_mark_1=0,minute_mark_2=0;uchar i;uchar code song10=0x05,0x0a,0x15,0x1e,0x29,0x30,0x38,0x40,0x48,0x4f; /*0,1,2,3,4,5,6,7,8,9,10,點(diǎn),分,*/uchar data speak_data8=0x00,0x58,0x00,0x5e,0x00,0x58,0x00,0x67; /*=*/sbit e_clk =

40、p11; /clock input 同步時(shí)鐘輸入端 sbit rw_sid=p10; /data input/output串行數(shù)據(jù)輸入、輸出端 sbit t_io=p25; /* 實(shí)時(shí)時(shí)鐘的數(shù)據(jù)線*/sbit t_clk=p26; /* 實(shí)時(shí)時(shí)鐘的時(shí)鐘線引腳*/sbit t_rst=p27; /* 實(shí)時(shí)時(shí)鐘的復(fù)位線引腳*/unsigned char timer_5ms=0,timer_1s=0; /* +1 in t0_int() 供秒計(jì)時(shí)用 */bit fig_1s; /* 1 =1秒時(shí)間到 標(biāo)志 */unsigned char delay1_s=0; /* 軟秒計(jì)器1(延時(shí)器) */uns

41、igned char delay2_s=0; /* 軟秒計(jì)器2(延時(shí)器) */unsigned char delay3_s=0; /* 軟秒計(jì)器3(延時(shí)器) */unsigned char delay4_s=0; /* 軟秒計(jì)器4(延時(shí)器) */unsigned int delay2500_s=0; /* 軟秒計(jì)器5(延時(shí)器) */unsigned int delay3000_s=0; /* 軟秒計(jì)器6(延時(shí)器) */unsigned int delay6500_s=0; /* 軟秒計(jì)器7(延時(shí)器) */unsigned char i_p=0,pfw=0; /* 軟秒計(jì)器1(延時(shí)器) */bi

42、t pfw_1=1,delay2500_s_s=0,delay3000_s_s=0,delay6500_s_s=0,bed_neb=0,nao=0;uint uccur7=0x00,0x00,0x00,0x00,0x00,0x01,0x00; /時(shí)間寄存器暫放uchar code seg10=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;/0 1 2 3 4 5 6 7 8 9uchar code week14=0xbb,0xd2,0xfe,0xb6,0xfd,0xc8,0xc4,0xcb,0xe5,0xce,0xf9,0xc1,0xd5,

43、0xc8; /一 二 三 四 五 六 七 八uchar data uccurtime7=0x00,0x00,0x00,0x00,0x00,0x01,0x00; / 秒 分 時(shí) 日 月 星期 年uchar data alarm_clock7=0x00,0x00,0x00,0x00,0x00,0x01,0x00;/鬧鐘寄存器暫放 uchar data hold8; /顯示暫存uchar a_1=100,b_1=100,c_1=100,d_1=100,e_1=100,f_1=100,g_1=100,h_1=100,i_1=100;/*-延時(shí)1ms程子程序-*/delay1000() unsigned

44、 char i,j; i=11; do j=0; doj-; while(j); i-; while(i);/*-延時(shí)882us子程序-*/delay882()uchar i,j;i=9;doj=250; doj-; while(j); i-; while(i);/*-延時(shí)2400us程子程序-*/delay2400() unsigned char i,j;i=26;doj=250; doj-; while(j); i-; while(i);/*=*/void delay(uint u) uint i,j; for(i=0;i<u;i+) for(j=0;j<121;j+) ; /

45、*=sht11溫濕度檢測=*/char s_write_byte(uchar value) uchar i, error=0; for (i=0x80;i>0;i/=2) /shift bit for masking if (i & value) data=1; /masking value with i , write to sensi-bus else data=0; sck=1; /clk for sensi-bus delay(2); /pulswith approx. 5 us sck=0; delay(2); data=1; /release data-line de

46、lay(2); sck=1; /clk #9 for ack delay(2); error=data; /check ack (data will be pulled down by sht11) delay(2); sck=0; delay(1); return error; /error=1 in case of no acknowledge/-char s_read_byte(unsigned char ack) unsigned char i,val=0; data=1; /release data-line for (i=0x80;i>0;i/=2) /shift bit f

47、or masking sck=1; /clk for sensi-bus if (data) val=(val | i); /read bit sck=0; data=!ack; /in case of "ack=1" pull down data-line sck=1; /clk #9 for ack delay(2); /pulswith approx. 5 us sck=0; delay(2); data=1; /release data-line return val;/-void s_transstart(void)/-/ generates a transmission start / _ _/ data: |_|/ _ _/ sck : _| |_| |_ data=1; sck=0; /initial state delay(1); sck=1; delay(1); data=0; delay(1); sck=0; delay(2); sck=1; delay(1); data

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論