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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

13、時鐘源。由十所有模塊共用僅有的pca定時器,所有它們的輸出頻率相同。各個模塊的輸出占空比是獨立變化的,與使用的捕獲寄存器epcnl,ccapnl有關(guān)。當cl sfr的值小十epcnl, ccapnl時,輸出為低,當pca cl sfr的值等于或大于epcnl, ccapnl時,輸出為高。當cl的值由ff變?yōu)?0溢出時,epcnh, ccapnh的內(nèi)容裝載到epcnl,ccapnl中。這樣就可實現(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口復用。4種類型分別為:準雙向口(標準8051輸出模式)、推挽輸出、僅為輸入(高阻)和開漏輸出功能。在對同一個i/o口進行操作前要選擇其要實現(xiàn)的功能,這樣大大地增強了端口的功能和靈活性。其中一些i/o口還可以與stc12c5410ad中的特殊模塊相結(jié)合完成更為復雜的工作。如與捕獲比較模塊相結(jié)合可以實現(xiàn)串行通信,與a/d模塊結(jié)合實現(xiàn)a/d轉(zhuǎn)換等。此外,stc12c5410ad的i/o端口電氣特性也十分突出,幾乎所有的i/o口都有20ma的驅(qū)動能力,對于一般的液晶顯示屏、蜂鳴器可以直接驅(qū)動而無需輔助電路。許多端口內(nèi)部都集成了上拉

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

36、出版社.2004.37 李景學、金廣業(yè). 可編程控制器應用系統(tǒng)設(shè)計方法m. 北京:電子工業(yè)出版社.19958 徐惠鋼、郭文華. 基于plc的電梯高精度位置控制的實現(xiàn)j. 微計算機信息.2007,23(5):61-639 金晴川. 電梯與自動扶梯的技術(shù)詞典m. 第一版,上海:上海交通大學出版社.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 /溫濕度時鐘口#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;/移位時鐘脈沖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; /紅外解碼判斷標志位,為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,點,分,*/uchar data speak_data8=0x00,0x58,0x00,0x5e,0x00,0x58,0x00,0x67; /*=*/sbit e_clk =

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

41、igned char delay2_s=0; /* 軟秒計器2(延時器) */unsigned char delay3_s=0; /* 軟秒計器3(延時器) */unsigned char delay4_s=0; /* 軟秒計器4(延時器) */unsigned int delay2500_s=0; /* 軟秒計器5(延時器) */unsigned int delay3000_s=0; /* 軟秒計器6(延時器) */unsigned int delay6500_s=0; /* 軟秒計器7(延時器) */unsigned char i_p=0,pfw=0; /* 軟秒計器1(延時器) */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; /時間寄存器暫放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; / 秒 分 時 日 月 星期 年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;/*-延時1ms程子程序-*/delay1000() unsigned

44、 char i,j; i=11; do j=0; doj-; while(j); i-; while(i);/*-延時882us子程序-*/delay882()uchar i,j;i=9;doj=250; doj-; while(j); i-; while(i);/*-延時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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論