基于單片機(jī)的具有語音提示的LCD電子時(shí)鐘設(shè)計(jì)_第1頁
基于單片機(jī)的具有語音提示的LCD電子時(shí)鐘設(shè)計(jì)_第2頁
基于單片機(jī)的具有語音提示的LCD電子時(shí)鐘設(shè)計(jì)_第3頁
基于單片機(jī)的具有語音提示的LCD電子時(shí)鐘設(shè)計(jì)_第4頁
基于單片機(jī)的具有語音提示的LCD電子時(shí)鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī),1760語音模塊的液晶lcd時(shí)鐘專業(yè)系部:電氣工程系 班 級:智能電子111學(xué)生姓名:歐 陽 志 勇 完成日期:2013年5月摘 要我設(shè)計(jì)的lcd時(shí)鐘溫度系統(tǒng)是由中央控制器、溫度檢測器、時(shí)鐘系統(tǒng)、語音模塊,lcd液晶顯示器及鍵盤部分組成。控制器采用單片機(jī)at89c52,溫度檢測部分采用ds18b20溫度傳感器,時(shí)鐘系統(tǒng)用時(shí)鐘芯片ds1302,用lcd液晶12864作為顯示器,用語音模塊1706構(gòu)成報(bào)警器。單片機(jī)通過時(shí)鐘芯片ds1302獲取時(shí)間數(shù)據(jù),對數(shù)據(jù)處理后顯示時(shí)間;溫度傳感器ds18b20采集溫度信號送該給單片機(jī)處理;單片機(jī)再把時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)送液晶顯示器lcd12864顯示

2、,鍵盤是用來調(diào)時(shí),調(diào)鬧鐘,調(diào)顯示時(shí)間,播放鈴聲。語音模塊用來播放鈴聲;關(guān)鍵字:單片機(jī) lcd液晶 ds18b20 ds1302 lcd12864語音1760;一、 設(shè)計(jì)目的及意義1.隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計(jì)是數(shù)據(jù)采集及處理,鍵盤控制,顯示系統(tǒng)及報(bào)警系統(tǒng)與單片機(jī)有效結(jié)合,意義:本設(shè)計(jì)是通過在“單片機(jī)原理及應(yīng)用”課堂上學(xué)習(xí)的知識的綜合應(yīng)用,以及查閱資料,并且引導(dǎo)一種創(chuàng)新的思維,把學(xué)到的知識應(yīng)用到日常生活當(dāng)

3、中。在設(shè)計(jì)的過程中,不斷的學(xué)習(xí),思考和同學(xué)間的相互討論,運(yùn)用科學(xué)的分析問題的方法解決遇到的困難,掌握單片機(jī)系統(tǒng)一般的開發(fā)流程,學(xué)會對常見問題的處理方法,積累設(shè)計(jì)系統(tǒng)的經(jīng)驗(yàn),充分發(fā)揮教學(xué)與實(shí)踐的結(jié)合。全能提高個(gè)人系統(tǒng)開發(fā)的綜合能力,開拓了思維,為今后能在相應(yīng)工作崗位上的工作打下了堅(jiān)實(shí)的基礎(chǔ)。二、方案設(shè)計(jì)及方案論證1.時(shí)鐘溫度的總體設(shè)計(jì)思路按照系統(tǒng)的設(shè)計(jì)功能要求,本時(shí)鐘,鈴聲,溫度系統(tǒng)的設(shè)計(jì)必須采用單片機(jī)軟件系統(tǒng)實(shí)現(xiàn),用單片機(jī)的自動控制能力配合按鍵控制,來控制時(shí)鐘、溫度的調(diào)整,鬧鈴及顯示。獲得時(shí)鐘溫度數(shù)據(jù)信息,單片機(jī)對其進(jìn)行一系列的處理,最后通過液晶顯示出來。2.時(shí)鐘溫度系統(tǒng)方案論證2.1時(shí)鐘系統(tǒng)

4、方案選擇方案1:通過單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器,用軟件實(shí)現(xiàn),直接用單片機(jī)的定時(shí)器編程以實(shí)現(xiàn)時(shí)鐘;方案2:用專門的時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘的記時(shí),再把時(shí)間數(shù)據(jù)送入單片機(jī),由單片機(jī)控制顯示。雖然用軟件實(shí)現(xiàn)時(shí)鐘硬件線路簡單,但是程序運(yùn)行的每一步都需要時(shí)間,多一步或少一步程序都會影響記時(shí)的準(zhǔn)確度,對定時(shí)器定時(shí)也不是十分準(zhǔn)確,時(shí)鐘精度很低,對于我們實(shí)現(xiàn)所需要的功能造成軟件編程非常復(fù)雜。用專用時(shí)鐘芯片硬件成本相對較高,但它的精度很高,軟件編程很簡單。綜上所述,選擇方案2。2.2單片機(jī)的選擇對于單片機(jī)的選擇,如果用8031系列,由于它沒有內(nèi)部ram,系統(tǒng)又需要大量內(nèi)存存儲數(shù)據(jù),因而不可用;51系列單片機(jī)的rom為4

5、k,對于我們設(shè)計(jì)的系統(tǒng)可能有點(diǎn)小;52系列單片機(jī)與51系列的結(jié)構(gòu)一樣,而rom擴(kuò)大為8k,對我們設(shè)計(jì)系統(tǒng)提供充足的空間進(jìn)行功能的擴(kuò)展。再有51系列單片機(jī)與52系列的單片機(jī)價(jià)格差不多。因此,我們選擇52系列的單片機(jī)。 2.3 顯示系統(tǒng)的方案比較 方案1:用數(shù)碼管或led顯示。 方案2:用液晶1602顯示。方案3:用液晶12864顯示。 時(shí)鐘和溫度的顯示可以用數(shù)碼管或led,而且價(jià)格便宜。但是數(shù)碼管的只能顯示簡單的設(shè)計(jì)的系統(tǒng),與我們設(shè)計(jì)要求也不相符。有很多東西需要顯示,還是用顯示功能更好的液晶顯示器比較好,它能顯示更多的數(shù)據(jù),用1602液晶顯示數(shù)據(jù)有限,顯示數(shù)據(jù)的可讀性不好,用可以顯示漢字的128

6、64液晶顯示器還可以增加顯示信息的可讀性,讓人看起來會很方便。 2.4 報(bào)警系統(tǒng)的方案比較 方案1:用長鳴的蜂鳴器實(shí)現(xiàn)鬧鐘鈴聲及溫度超限報(bào)警。 方案2:用喇叭加語音芯片實(shí)現(xiàn)鬧鐘鈴聲及溫度超限報(bào)警。 用喇叭加語音芯片成本也不是很高,聲音也不錯(cuò),用蜂鳴器,成本低,電路結(jié)構(gòu)簡單,而且體積小。但功能有限,限于設(shè)計(jì)所需要的功能,用蜂鳴器和語音結(jié)合為最佳選擇。所以我們采用方案1.2結(jié)合。2.5 溫度系統(tǒng)方案選擇方案1:用熱敏電阻等測溫元件測出電壓,再轉(zhuǎn)換成對應(yīng)的溫度。需要比較多的外部元件支持,且硬件電路復(fù)雜,制作成本相對較高。方案2:用ds18b20直接測溫。ds18b20溫度傳感器是美國dallas半導(dǎo)

7、體公司最新推出的一種改進(jìn)型智能溫度傳感器,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。經(jīng)比較,我們選擇方案2。溫度實(shí)現(xiàn)只能通過外部的溫度傳感器來實(shí)現(xiàn)。經(jīng)上網(wǎng)查閱及市場考察,ds18b20體積小,只有3只腳,電路接法簡單。內(nèi)部含有寄存器為我們設(shè)計(jì)實(shí)現(xiàn)上下限報(bào)警功能提供保障。精度為0.5c,也符合我們設(shè)計(jì)的要求。ds18b20也是我們通常使用的型號,因此溫度傳感器用ds18b20。2.6 鍵盤控制方案選擇方案1:購買集成鍵盤,采用矩陣形式連接。方案2:購買單個(gè)復(fù)位開關(guān)做成鍵盤。雖然集成鍵盤美觀,與單片機(jī)的接口少,但是它的成本比較高。單片機(jī)的io口對于我們的設(shè)

8、計(jì)綽綽有余。通常我們選用價(jià)格便宜單個(gè)復(fù)位開關(guān)做成鍵盤。3. .時(shí)鐘溫度系統(tǒng)總體設(shè)計(jì)初步確定設(shè)計(jì)系統(tǒng)由單片機(jī)主控模塊、時(shí)鐘模塊、測溫模塊、語音模塊、顯示模塊、鍵盤接口模塊共6個(gè)模塊組成,電路系統(tǒng)框圖如圖所示。 主控器件at89c52db1820 溫度采集系統(tǒng)ds1320時(shí)間采集系統(tǒng)12864顯示系統(tǒng)語音報(bào)警系統(tǒng)鍵盤控制系統(tǒng)三硬件設(shè)計(jì)部分1 單片機(jī)最小系統(tǒng)電路設(shè)計(jì)1.1 單片機(jī)芯片選擇單片機(jī)采用52系列單片機(jī)。由atmel公司生產(chǎn)的at89c52是一種低功耗、高性能cmos8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲器。使用atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51 產(chǎn)

9、品指令和引腳完全兼容。在單芯片上,擁有靈巧的8 位cpu 和在線系統(tǒng)可編程flash,使得at89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。at89c52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。空閑模式下,cpu停止工作,允許ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。而且,它還具有一個(gè)看門狗(wdt)定時(shí)/計(jì)數(shù)器,如果程序沒有

10、正常工作,就會強(qiáng)制整個(gè)系統(tǒng)復(fù)位,還可以在程序陷入死循環(huán)的時(shí)候,讓單片機(jī)復(fù)位而不用整個(gè)系統(tǒng)斷電,從而保護(hù)你的硬件電路。at89c52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲器可有效地降低開發(fā)成本。其芯片外觀及引腳圖如下: 圖1.1_1 圖1.1_21.2 單片機(jī)管腳說明vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級開路雙向i/o口,每腳可吸收8ttl門流。當(dāng)p

11、1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)

12、部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為a

13、t89c52的一些特殊功能口,如下表所示:管腳備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale

14、端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/psen信號將不出現(xiàn)。/ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲器(0000h-ffffh

15、),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。1.3 單片機(jī)最小系統(tǒng) 單片機(jī)最小系統(tǒng)主要由復(fù)位電路,晶振電路,電源等幾部分組成。1) 復(fù)位電路復(fù)位電路有兩種方式:上電復(fù)位和按鈕復(fù)位,我們主要用按鈕復(fù)位方式。如下圖所示: 2) 晶振電路晶振電路原理圖如3-2:3-2晶振模塊原理圖 選取原則:電容選取30pf,晶振為11.0592mhz。3) 電源at89c52單片機(jī)的

16、供電電源是5v的直流電,我們直接通過usb電源線供電;4) ea非/vpp 腳我們沒有用外部擴(kuò)展rom,因此ea非/vpp為高電平,即接+5v電源或是懸空,為了簡化電路將這個(gè)引腳懸空。2 時(shí)鐘系統(tǒng)電路設(shè)計(jì)2.1 時(shí)鐘芯片選擇我們采用具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘電路ds1302。它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。它采用主電源和備用電源雙電源供電。它的工作電壓范圍2.05.5v,在2.2v時(shí),小于300na。它內(nèi)部含有31個(gè)字節(jié)的靜態(tài)ram,可提供用戶訪問。 ds1302可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),可以達(dá)到我們設(shè)計(jì)的基本的要求。內(nèi)部的寄

17、存器為我們調(diào)時(shí),鬧鐘定時(shí)提供了寄存空間。備用用電源也實(shí)現(xiàn)了當(dāng)系統(tǒng)斷電后,時(shí)鐘仍然可以保持。而且它是串行接口,與單片機(jī)通信所需要的接口少。不像ds12887等芯片并行通信需要很多io口。2.2 ds1302管腳及寄存器說明(1)ds1302的引腳排列vcc1為后備電源,vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。ds1302由vcc1或vcc2兩者中的較大者供電。當(dāng)vcc2大于vcc10.2v時(shí),vcc2給ds1302供電。當(dāng)vcc2小于vcc1時(shí),ds1302由vcc1供電。因此,我們vcc1用3v的紐扣電池作為備用電源,vcc2用系統(tǒng)電源作為主電源。x1和x2是振蕩源,外

18、接32.768khz晶振。rst是復(fù)位/片選線,通過把rst輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。rst輸入有兩種功能:首先,rst接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,rst提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)rst為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對ds1302進(jìn)行操作。如果在傳送過程中rst置為低電平,則會終止此次數(shù)據(jù)傳送,i/o引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在vcc2.5v之前,rst必須保持低電平。只有在sclk為低電平時(shí),才能將rst置為高電平。i/o為串行數(shù)據(jù)輸入輸出端(雙向)。sclk為時(shí)鐘輸入端。 (2)ds1302的寄存器說明ds1302有12個(gè)寄存

19、器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式。此外,ds1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與ram相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 ds1302與ram相關(guān)的寄存器分為兩類:一類是單個(gè)ram單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為c0hfdh,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的ram寄存器,此方式下可一次性讀寫所有的ram的31個(gè)字節(jié),命令控制字為feh(寫)、ffh(讀)。 2.3 ds1302時(shí)鐘電路ds1302時(shí)鐘電路如下圖所示:ds1302與單片機(jī)的連

20、接僅需3條線:時(shí)鐘線sclk、數(shù)據(jù)線i/o和復(fù)位線rst。時(shí)鐘線sclk與p2.0相連,數(shù)據(jù)線i/o與p2.1相連,復(fù)位線rst與p2.2相連。由于ds1302是靠涓細(xì)電流充電來實(shí)現(xiàn)串行輸入輸出的,因此,在sclk 、i/o、 rst線上要加上拉電阻,其中,它們的電流應(yīng)該在500u1ma之間,若電源為5v,則r約為5k,因此,我們的電阻r=4.7k。但是經(jīng)過查閱有關(guān)資料知道如果ds1302不是接p0口可以不接上拉電阻,為了節(jié)省成本,所以沒有接上拉電阻。 在單電源與電池供電系統(tǒng)中,vcc1提供低電源并提供低功率的備用電源。vcc2提供高電源作為芯片供電的主電源。因此,這里vcc1用3v紐扣電池,

21、vcc2用5v的系統(tǒng)電源。晶振為32.768khz接入x1、x2引腳。3 溫度系統(tǒng)電路 3.1 溫度芯片的選擇溫度實(shí)現(xiàn)只能通過外部的溫度傳感器來實(shí)現(xiàn)。經(jīng)上網(wǎng)查閱資料及市場考察,ds18b20體積小,只有3只腳,電路接法簡單。它能夠直接讀出被測溫度。內(nèi)部含有寄存器為我們設(shè)計(jì)實(shí)現(xiàn)上下限報(bào)警功能提供保障。用戶可定義的非易失性溫度報(bào)警設(shè)置;報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;精度為0.5c,也符合我們設(shè)計(jì)的要求。ds18b20也是我們通常使用的型號,因此溫度傳感器用ds18b20。3.2 ds18b20內(nèi)部結(jié)構(gòu)描述ds18b20溫度傳感器的內(nèi)部存儲器還包括一個(gè)高速暫存ram和

22、一個(gè)非易失性的可電擦除的eeram。高速暫存ram的結(jié)構(gòu)為8個(gè)字節(jié)的存儲器,結(jié)構(gòu)如圖4.1所示。頭兩個(gè)字節(jié)包含測得的溫度信息,第三和第四字節(jié)是th和tl的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第五個(gè)字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如圖4.2所示。低5位一直為1,tm是測試模式位,用于設(shè)置ds18b20在工作模式還是在測試模式。溫度 lsb溫度 msbth 用戶字節(jié)1tl 用戶字節(jié)2配置寄存器保留保留保留 crc圖 4.1高速暫存ram結(jié)構(gòu)圖1字節(jié)2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié)6字節(jié) 7

23、字節(jié) 8字節(jié)9字節(jié)eeromth 用戶字節(jié)1tl 用戶字節(jié)2tmr1r011111圖 4.2 配置寄存器3.3 ds18b20溫度系統(tǒng)電路 ds18b20系統(tǒng)電路如下:ds18b20有兩種接法:一是單線接法即只接qt。這種方法應(yīng)用它內(nèi)部的寄生電源,因此在qt上要用一個(gè)mosfet把i/o線只接拉到電源上。二是從vdd腳加上電源。方法一適合于遠(yuǎn)距離溫度監(jiān)控,不需要本地電源。而我們只是設(shè)計(jì)測溫系統(tǒng),選擇方法二就行了,還有mosfet極容易燒,我們不用它。vdd接5v電源,vss接地,qt與p3.7相連。4 語音芯片1760的介紹;isd1700 是華邦 isd 公司 2007 年新推出的單片優(yōu)質(zhì)語

24、音錄放電路,該芯片 提供多項(xiàng)新功能,包括內(nèi)置專利的多信息管理系統(tǒng),新信息提示( valert ) , 雙運(yùn)作模式(獨(dú)立 & 嵌入式),以及可定制的信息操作指示音效。芯片內(nèi)部 包含有自動增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。 一、 特點(diǎn): 可錄、放音十萬次,存儲內(nèi)容可以斷電保留一百年 兩種控制方式,兩種錄音輸入方式,兩種放音輸出方式 可處理多達(dá) 255 段以上信息 有豐富多樣的工作狀態(tài)提示 多種采樣頻率對應(yīng)多種錄放時(shí)間 音質(zhì)好,電壓范圍寬,應(yīng)用靈活 二、 電特性: 工作電壓: 2.4v-5.5v, 最高不能超過 6v 靜態(tài)電流: 0.5 - 1 a 工作

25、電流: 20ma1700引腳圖5 鍵盤控制系統(tǒng)設(shè)計(jì)按鍵需要6個(gè),分別實(shí)現(xiàn)為時(shí)間調(diào)整、鬧鐘調(diào)整、時(shí)間加減、確認(rèn)、移位。用單片機(jī)的6個(gè)i/o口接收控制信號,其電路圖如下:6個(gè)按鍵的一端與地相連,另一端分別與p0.0、p0.1、 p0.2、p0.3、p0.4、p0.5, 按鍵一按下就輸入低電平。6報(bào)警提示電路系統(tǒng)設(shè)計(jì)6.1報(bào)警電路由蜂鳴器、三極管、電阻 ,語音模塊等構(gòu)成電路圖如下:與單片機(jī)的接口分別是p3.6語音??靣lay=p07;播放 rec=p06;錄音erase=p05;擦除 fwd=p04;下一曲7液晶顯示系統(tǒng)設(shè)計(jì)7.1 12864液晶顯示電路 現(xiàn)在流行低碳生活,節(jié)能減排已成為人們處理事情

26、首先想到的問題,所以這個(gè)顯示的時(shí)候背光控制時(shí)間為10s左右,同時(shí)關(guān)背光的時(shí)候關(guān)掉顯示器的電源,降低功耗。四、軟硬件調(diào)試部分 1) 軟件調(diào)試 軟件調(diào)試,我是在keil軟件平臺和單片機(jī)學(xué)習(xí)板上來完成的。當(dāng)我寫部分程序在keil軟件經(jīng)過調(diào)試,開始出現(xiàn)很多錯(cuò)誤和警告。通過逐個(gè)錯(cuò)誤排錯(cuò)及修改。得出下列經(jīng)驗(yàn),(1)調(diào)用函數(shù)最好在頭文件中進(jìn)行申明,主函數(shù)寫在最后;(2)特別注意一些字母的大小寫,一般要用英語文字寫, 最后對程序進(jìn)行相應(yīng)的擴(kuò)展完善,由于按鍵不靈敏我們加上聲音程序。 2)硬件調(diào)試 硬件調(diào)試,我們用萬用表,單片機(jī)學(xué)習(xí)板來完成的。首先,我們調(diào)試lcd1602顯示。我將液晶顯示程序下載到單片機(jī)內(nèi),連好

27、所有的線,通電后,觀察顯示結(jié)果。唉!液晶竟然不顯示。我們用萬用表測試各連線是否導(dǎo)通及某些點(diǎn)的電壓,竟然有些線路沒連通?。?然后,我們調(diào)試ds1302時(shí)鐘芯片。連上按鍵模塊,液晶顯示模塊,單片機(jī)最小系統(tǒng),時(shí)鐘系統(tǒng),溫度系統(tǒng),連接所有線,通上電源后,觀察到液晶顯示能正常顯示啦,但有亂碼顯示。后面我檢測程序出錯(cuò)啦;改正程序后,沒亂碼啦且能夠正常顯示啦,然后逐漸完善功能。 整個(gè)硬件調(diào)試完成啦!五總結(jié)與體會想到課題以后,討論整個(gè)過程如何實(shí)施,以及選擇哪個(gè)課題進(jìn)行設(shè)計(jì)。在初步方案確定好后,開始研究所需的器材,在列出初稿后,買好器材,便進(jìn)入了設(shè)計(jì)階段。經(jīng)過將一個(gè)五一的設(shè)計(jì),反復(fù)地討論各個(gè)環(huán)節(jié),反復(fù)調(diào)試,終于

28、完成lcd液晶時(shí)鐘設(shè)計(jì)。雖然達(dá)到設(shè)計(jì)要求,并完成了一定發(fā)揮部分,但單片機(jī)的資源并沒完全得到應(yīng)用。這是不用單片機(jī)學(xué)習(xí)板,自己動手制作出來的作品。在本次設(shè)計(jì)是液晶,單片機(jī),語音,鍵盤控制的綜合應(yīng)用,其間,遇到許多困難。我真真正正的意識到,在寫程序時(shí),邏輯思維要清晰,要有好的寫程序的層次感,模塊化清晰,要有耐心。這樣出錯(cuò)啦,才能及時(shí)知道問題出在哪。在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次設(shè)計(jì)中的最大收獲。 六 使用說明:剛上電;為主頁面;s5鍵為進(jìn)入菜單;進(jìn)入菜單 :可以調(diào)時(shí);設(shè)定鬧鐘;設(shè)定你的主頁

29、面;調(diào)背光顯示時(shí)間;播放鈴聲;s6;為確認(rèn)鍵加開關(guān)背光;但背光滅了時(shí);按下s6;開背光;倒計(jì)時(shí)30s;因?yàn)檎Z音模塊內(nèi)存不大;所以就沒錄語音整點(diǎn)報(bào)時(shí)啦,內(nèi)存兩首鈴聲。如果可以買個(gè)內(nèi)存大的語音芯片完全可以改裝的更好。功能簡介:具有年,月,日,時(shí)間,星期,兩個(gè)鬧鐘設(shè)置功能;整點(diǎn)報(bào)時(shí);溫度測量;lcd液晶時(shí)鐘系統(tǒng)設(shè)計(jì)原理電路圖各個(gè)模塊子函數(shù)void delayus(uint8 t) /微妙延時(shí)void delayms(uint16 t) /1ms延時(shí)uint8 scan_key(void) /讀按鍵值void tiao(void) /調(diào)節(jié)按鍵void tiem() /定時(shí)器初始化void jieri(

30、void) /以下是公歷節(jié)日void year(void)/年void tiaoshi(void) /調(diào)時(shí)函數(shù)void tiaonao(void)/調(diào)鬧鐘函數(shù)void tiaoxiu(void) /調(diào)休眠函數(shù)void spk_timer(void) /鬧鈴void linsheng(void)/鈴聲調(diào)節(jié)void int0_time() interrupt 0 /菜單外部中斷0函數(shù)void timer0() interrupt 1 /定時(shí)器0 定時(shí)休眠void led_timer() /關(guān)、開背光uint8 zhengshi()/判斷整點(diǎn)到否void baodian()/整點(diǎn)報(bào)時(shí)void mai

31、n(void) /主函數(shù)子函數(shù)具體內(nèi)容:#include #include uint8 datetime7;uint8 dispstr116=20 年 月 日 ;uint8 dispstr216=星期 ;uint8 idata dispstr39= ;uint8 idata dispstr416=菜單s5 ;uint8 idata dispstr916=鬧1 ; uint8 idata dispstr1016=鬧2 ; uint8 idata dispstr1116=顯示時(shí)間 ;uint8 code dispstr512= s1:調(diào)時(shí)間 ;uint8 code dispstr612= s2:調(diào)

32、鬧鐘 ;uint8 code dispstr716= s3:調(diào)顯示時(shí)間 ;uint8 code dispstr814= s4:播放歌曲 ;uint8 idata dispstr126=鈴聲 ;uint8 idata dispstr136=鈴聲 ;uint8 code lin114= s1:放音play ;uint8 code lin215= s2:下一曲fwd ;uint8 code lin313= s3:錄音rec ;uint8 code lin416= s4:擦刪erase ;uint8 code lcd112=元旦節(jié)快樂 ; uint8 code lcd212=世界濕地日 ;uint8

33、code lcd312=世界氣象日 ;uint8 code lcd412=國際婦女節(jié) ;uint8 code lcd512=中國植樹節(jié) ;uint8 code lcd614=消費(fèi)者權(quán)益日 ;uint8 code lcd710=世界水日 ; uint8 code lcd812=愚人節(jié)快樂 ;uint8 code lcd912=中國清明節(jié) ;uint8 code lcd1012=世界地球日 ; uint8 code lcd1112=國際勞動節(jié) ;uint8 code lcd1212=中國青年節(jié) ;uint8 code lcd1312=世界護(hù)士節(jié) ;uint8 code lcd1412=國際兒童節(jié)

34、;uint8 code lcd1512=世界環(huán)境日 ;uint8 code lcd1612=國際愛眼日 ;uint8 code lcd1712=世界土地日 ;uint8 code lcd1812=國際禁毒日 ; uint8 code lcd1912=香港回歸日 ; uint8 code lcd2012=中國建軍節(jié) ;uint8 code lcd2112=中國老師節(jié) ;uint8 code lcd2216=九一八事件紀(jì)念日;uint8 code lcd2312=中國國慶節(jié) ;uint8 code lcd2412=世界動物日 ;uint8 code lcd2512=世界郵政日 ;uint8 cod

35、e lcd2616=辛亥革命紀(jì)念日 ; uint8 code lcd2716=澳門回歸紀(jì)念日 ;uint8 code lcd288=平安夜 ;uint8 code lcd298=圣誕節(jié);uint8 settime117=0x00,0x10,0x10,0x10,0x05,0x05,0x13,0x00,0x00,0x00,0,1,0x00,0x00,0x00,0,1; /設(shè)定時(shí)間,鬧鐘 最初始值codeunsignedchar max17=90,90,36,49,19,7,153,90,36,7,2,5,90,36,7,2,5;/調(diào)時(shí)最大值uint8 code day8=7123456;uint1

36、6 code dimer5=30,60,120,300,600;uint8 s=60,f=0;char y=0;char biaozhi=0;int w1=0,w2=0;uint8 n;sbit g=p33;int k=0;int h;static unsigned int count=0;sbit spk=p36;sbit led=p27;sbit rlay=p07;sbit rec=p06;sbit erase=p05;sbit fwd=p04;#define s1 0x0e#define s2 0x0d#define s3 0x0b#define s4 0x07、void delayus

37、(uint8 t) /微妙延時(shí)uint8 i;i=t;for(;i0;i-);void delayms(uint16 t) /1ms延時(shí)uint16 i,j;for(i=0;it;i+)for(j=0;j0)settime1k-1-;if(settime1k-1=15) | (settime1k-1=31)|(settime1k-1=47) |(settime1k-1=63) |(settime1k-1=79)settime1k-1=settime1k-1-6;elsesettime1k-1=maxk-1-1;break;case s3:k+;if(k=18)k=8;elseif(k=8)k=

38、1; break;/case s4:y+;/y%=2;h=k;、void tiem()/定時(shí)器初始化tmod=0x01;th0=0xdc;tl0=0x00;et0=1;ea=1;tr0=1;it0=1;ex0=1;、void jieri(void) /以下是公歷節(jié)日if(datetime4=0x01 & datetime3=0x01) dis_str(3,0, lcd1); else if(datetime4=0x02 & datetime3=0x02) dis_str(3,0, lcd2);else if(datetime4=0x02 & datetime3=0x10) dis_str(3,

39、0, lcd3);else if(datetime4=0x03 & datetime3=0x08) dis_str(3,0, lcd4);else if(datetime4=0x03 & datetime3=0x12) dis_str(3,0, lcd5);else if(datetime4=0x03 & datetime3=0x15) dis_str(3,0, lcd6);else if(datetime4=0x03 & datetime3=0x22) dis_str(3,0, lcd7); else if(datetime4=0x04 & datetime3=0x01) dis_str(3

40、,0, lcd8);else if(datetime4=0x04 & datetime3=0x05) dis_str(3,0, lcd9);else if(datetime4=0x04 & datetime3=0x22) dis_str(3,0, lcd10); else if(datetime4=0x05 & datetime3=0x01) dis_str(3,0, lcd11);else if(datetime4=0x05 & datetime3=0x04) dis_str(3,0, lcd12);else if(datetime4=0x05 & datetime3=0x12) dis_s

41、tr(3,0, lcd13);else if(datetime4=0x06 & datetime3=0x01) dis_str(3,0, lcd14);else if(datetime4=0x06 & datetime3=0x05) dis_str(3,0, lcd15);else if(datetime4=0x06 & datetime3=0x06) dis_str(3,0, lcd16);else if(datetime4=0x06 & datetime3=0x25) dis_str(3,0, lcd17);else if(datetime4=0x06 & datetime3=0x26)

42、dis_str(3,0, lcd18); else if(datetime4=0x07 & datetime3=0x01) dis_str(3,0, lcd19); else if(datetime4=0x08 & datetime3=0x01) dis_str(3,0, lcd20);else if(datetime4=0x09 & datetime3=0x10) dis_str(3,0, lcd21);else if(datetime4=0x09 & datetime3=0x18) dis_str(3,0, lcd22);else if(datetime4=0x10 & datetime3

43、=0x01) dis_str(3,0, lcd23);else if(datetime4=0x10 & datetime3=0x04) dis_str(3,0, lcd24);else if(datetime4=0x10 & datetime3=0x09) dis_str(3,0, lcd25);else if(datetime4=0x10 & datetime3=0x10) dis_str(3,0, lcd26); else if(datetime4=0x12 & datetime3=0x20) dis_str(3,0, lcd27);else if(datetime4=0x12 & dat

44、etime3=0x24) dis_str(3,0, lcd28);else if(datetime4=0x12 & datetime3=0x25) dis_str(3,0, lcd29); else dis_str(3,0,dispstr4);、void year(void)/年uint8 reyear;reyear=datetime6%18; /農(nóng)歷年模12,取余運(yùn)算switch(reyear)case 0:dis_str(1,0,龍年);break; /余0即整除 農(nóng)歷 龍年case 1:dis_str(1,0,蛇年);break; /蛇年case 2:dis_str(1,0,馬年);br

45、eak;case 3:dis_str(1,0,羊年);break;case 4:dis_str(1,0,猴年);break; case 5:dis_str(1,0,雞年);break;case 6:dis_str(1,0,狗年);break;case 7:dis_str(1,0,豬年);break;case 8:dis_str(1,0,鼠年);break;case 9:dis_str(1,0,牛年);break;case 10:dis_str(1,0,虎年);break;case 11:dis_str(1,0,兔年);break; 、void tiaoshi(void) /調(diào)時(shí)函數(shù)lcd_wc

46、md(0x01);delayms(1);spk=0;delayms(100);spk=1;while(g!=0)tiao();delayms(1);count+;if(h-1)=0) & (count1)/?dispstr36= ;dispstr37= ;else dispstr36=settime10/16+0x30;dispstr37=settime10%16+0x30;if(h-1)=1 & (count1)dispstr33= ;dispstr34= ;elsedispstr33=settime11/16+0x30;dispstr34=settime11%16+0x30;if(h-1)=2 & (count1)dispstr30= ;dispstr31= ;elsedispstr30=settime12/16+0x30;dispstr31=settime12%16+0x30; if(h-1)=3 & (count1)dispstr110= ;dispstr111= ;elsedispstr1

溫馨提示

  • 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

提交評論