




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、題 目:多功能電子保姆機的設計與實現硬件設計52內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文)多功能電子保姆機的設計與實現硬件部分摘 要隨著生活節(jié)奏的加快,家庭對保姆的需求越來越多,若設計出一款智能保姆機,將極大地方便人們的生活。目前市場上銷售的保姆機多為機械式,且功能單一,只能進行家用電器通斷電的定時控制。 本文利用電子技術設計的保姆機具有多功能性。不僅能控制家用電器定時工作,還附加時間、鬧鈴、環(huán)境溫度顯示等功能。論文介紹了保姆機的研究背景,通過對555時基電路設計方案、fpga設計方案以及單片機設計方案的比較,確定了單片機設計方案。本設計以atmega128單片機為核心,通過繼電器控制家用電器定
2、時工作,利用ds1302實時時鐘日歷芯片完成時鐘/日歷的基本功能,同時利用ds18b20溫度傳感器測量環(huán)境溫度,并通過4位led數碼管進行時間和溫度的顯示。本設計完成了電子保姆機硬件和軟件的設計,并在開發(fā)板上對部分功能進行了調試,實現了電子保姆機的基本功能。該電子保姆機可以應用于生活和工作中,也可通過改裝,提高性能,增加新功能,從而給人們的生活和工作帶來更多的方便。關鍵詞:保姆機;單片機;溫度傳感器;繼電器內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文)multi-functional electronic nanny machine design andimplementation the desi
3、gn of the hardwareabstractwith the accelerated pace of life, the demand for nannies is greatly increasing in our society . if a intelligent nanny machine is designed,it will bring more convenience forpeople's life.at present, the nanny machine which is on the sale in the market is almost mechani
4、cal, has a single function, and controls household appliancescan according to the setting time only through the power. this paper introduces the research backgroud of the nanny machine and uses the scm design scheme through comparing 555 design scheme,fpga design scheme and scm design scheme. in thi
5、s paper, the nanny machine ,which is designed through using electron technology,has many functions .it not only can control the household appliances from time to time, but also can display time,temperature and so on .this design completes the hardware and software of the electronic nanny machine , d
6、ebugges a part of functions on the board and realizes the basic function of the electronic nanny machine.the design uses atmega128 as a core,controls home appliances from time to time through the work of the relay, completes the basic function of clock / calendar through using the ds1302 real-time c
7、lock,measures ambient temperature by using temperature sensor ds18b20, and uses four led digital tube for displaying . the machine can be applied to the life and work, can also be modified to improve performance,and can be added new functions so that it brings more convenience to the people's li
8、fe and work.key word: nanny machine;single-ship;temperature sensor;relay;目錄摘 要i第一章 引 言11.1 多功能電子保姆機研究的背景和意義11.2 電子保姆機的功能2第二章 電子保姆機設計方案分析32.1 fpga設計方案32.2 ne555時基電路設計方案32.3 單片機設計方案4第三章 基于單片機的電子保姆機硬件設計63.1 單片機的選擇73.1.1 avr單片機簡介73.1.2 atmega128特點73.2 時鐘日歷芯片ds130293.2.1 ds1302簡介93.2.2 ds1302引腳說明103.2.3
9、ds1302控制字和讀寫時序說明103.2.4 ds1302片內寄存器123.3環(huán)境溫度傳感器選擇133.3.1常用溫度傳感器比較133.3.2 ds18b20簡介143.3.3 ds18b20內部結構153.4電子保姆機硬件電路設計173.4.1時鐘電路設計173.4.2環(huán)境溫度采集電路設計173.4.3顯示電路173.4.4按鍵電路設計193.4.5鬧鈴電路設計203.4.6繼電器控制電路設計213.4.7溫度報警電路設計22第四章 電子保姆機軟件設計234.1 主程序設計234.2 子程序設計234.2.1 實時時鐘日歷子程序設計234.2.2 環(huán)境溫度采集子程序設計244.2.3 顯示
10、子程序設計274.2.4 鬧鈴控制子程序設計284.2.5 繼電器子程序設計28第五章 系統調試295.1 硬件調試295.1.1 單片機基礎電路調試295.1.2 顯示電路調試305.1.3 ds1302電路調試335.1.4 繼電器控制電路調試335.1.5 ds18b20電路調試335.1.6 溫度報警電路調試345.2 軟件調試34結 論35參考文獻36附錄 a程序37附錄b多功能電子保姆機硬件電路圖49致謝50第一章 引 言隨著生活節(jié)奏地加快,社會對于保姆的需求量越來越大,若利用電子技術設計出一款電子化、數字化、智能人性化的多功能電子保姆機,將被廣泛應用于生活和工作當中。1.1 多功
11、能電子保姆機研究的背景和意義20世紀末,電子技術獲得了飛速的發(fā)展。在其推動下,現代電子產品幾乎滲透到了社會的各個領域,有力的推動和提高了社會生產力的發(fā)展與信息化程度,同時也使現代電子產品性能進一步提升,產品更新換代的節(jié)奏也越來越快。 保姆機對人們來說越發(fā)的珍貴,工作的忙碌性和繁雜容易使人忘記當前的時間,工作后的疲勞性,使人變得懶惰,回到家中什么都想要做好的如熱水洗澡、吃香噴噴的飯菜等。這樣電子保姆機就發(fā)揮了很大的作用,例如:例如經常出差或偶爾出門,這時一回到家就想洗熱水澡,如果一直開著熱水器會不停地加熱,即不安全又費電,若有了多功能電子保姆機,就可以按照要求定時控制家用電器。然而遇到重大事情的
12、時候,一旦忘記時間,就會給自己或他人造成很大麻煩。平時我們要求上班準時,約會或召開會議必然要提及時間;火車要準點到達,航班要準點起飛;工業(yè)生產中,很多環(huán)節(jié)都需要用時間來確定工序替換時刻。所以說能隨時準確的知道時間并利用時間,是我們生活和工作中必不可少的。保姆機的核心是數字化的電子時鐘。想知道時間,手表當然是一個很好的選擇,但是,在忙碌當中,我們還需要一個“助理” 及時的給我們提醒時間。所以,計時器最好能夠擁有一個定時系統,隨時提醒容易忘記時間的人。 最早能夠定時、報時的時鐘屬于機械式鐘表,但這種時鐘受到機械結構、動力和體積的限制,在功能、性能以及造價上都沒辦法與電子保姆機相比【1】。 電子保姆
13、機是通過電子鐘采用電子電路實現對時、分、秒進行數字顯示的計時裝置,通過繼電器控制家用電器。廣泛應用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們日常生活中不可少的必需品。由于數字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度,遠遠超過老式鐘表,鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數字化為基礎的。因此,研究數字鐘及擴大其應用,有著非?,F實的意義。另外,溫度實時顯示系統應用同樣越來越廣泛,比如空調遙控器上當
14、前室溫的顯示、熱水器溫度的顯示等等。醫(yī)藥衛(wèi)生、工農業(yè)生產上也有很多場合需要測量環(huán)境溫度。如果能夠在電子保姆機上附加溫度采集、時鐘日歷的顯示、鬧鈴功能功能,將使電子保姆機的應用更加廣泛。1.2 電子保姆機的功能電子保姆機是利用電子時鐘精確計時定時的特點,繼電器控制電器定時開關,以達到無人看管卻能自動看護的“保姆”裝置。擁有時間精確、體積小、界面友好、可擴展性能強等特點,可廣泛應用于生活和工作當中。本設計電子保姆機所實現主要功能為:(1)家用電器定時開關,控制家用電器;(2)具有時間顯示,24小時制;(3)具有年、月、日顯示;(4)具有鬧鈴功能;(5)具有環(huán)境溫度采集和顯示功能;(6)掉電后無需重
15、新設置時間和日期;(7)溫度報警。第二章 電子保姆機設計方案分析電子保姆機是通過擴展電子鐘的功能而形成的,其核心就是數字化的電子鐘、通過讀取電子鐘的時間和設定時間相比較,繼電器控制家用電器定時工作。電子保姆機既可以通過純硬件實現,也可以通過軟硬件結合實現,其實現方案有多種,但通常有以下幾種形式:2.1 fpga設計方案現場可編程門陣列(field programmable gate array,fpga),是20世紀70年代發(fā)展起來的一種可編程邏輯器件,是目前數字系統設計的主要硬件基礎。fpga在結構上由邏輯功能塊排列為陣列,并由可編程的內部連線連接這些功能塊,來實現一定的邏輯功能??删幊踢壿?/p>
16、器件的設計過程是利用eda開發(fā)軟件和編程工具對器件進行開發(fā)的過程。由于eda技術擁有系統的模擬和仿真功能,可讀性、可重復性、可測性非常好,所以利用eda開發(fā)fpga是目前比較流行的方式。當然,有時根據需要,也會應用max+plus開發(fā)集成環(huán)境進行設計【2】。正因為fpga在設計過程中方便、快捷,而且fpga技術功能強大,能夠應用其制作諸如基代碼發(fā)生器、數字頻率計、電子琴、電梯控制器、自動售貨機控制系統、多功能波形發(fā)生器、步進電機定位控制系統等。2.2 ne555時基電路設計方案555定時器是美國signetics公司1972年研制的用于取代機械式定時器的中規(guī)模集成電路,因輸入端設計有三個5k的
17、電阻而得名。目前,流行的產品主要有4種:bjt兩個:555,556(含有兩個555);cmos兩個:7555,7556(含有兩個7555)。555定時器是一種數字與模擬混合型的集成電路,應用廣泛。成本較低,外加電阻、電容等元件就可以構成多諧振蕩器、單穩(wěn)電路、施密特觸發(fā)器等,常作為定時器廣泛應用于儀器儀表、家用電器、電子測量及自動控制等領域。采用ne555時基電路或其他振蕩電路產生秒脈沖信號,作為秒加法電路的時鐘信號或微處理器的外部中斷輸入信號,可構成電子鐘。由555構成的秒脈沖發(fā)生器電路見圖2.1。輸出的脈沖信號v0的頻率f為: 式(2.1)可通過調節(jié)式2.1中的3個參數,使輸出v0的頻率為精
18、確的1hz。圖2.1 基于的秒脈沖發(fā)生器采用555定時器設計電子保姆機,成本低,容易實現。但是受芯片引腳數量和功能限制,不容易實現電子保姆機的多功能性。2.3 單片機設計方案單片機是微型機的一個主要分支,它在結構上的最大特點使把cpu、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊單片機芯片就是一臺計算機。單片機具有如下特點:(1)有優(yōu)異的性能價格比;(2)集成度高、體積小、有很高的可靠性;(3)控制功能強;(4)低功耗、低電壓,便于生產便攜式產品;(5)外部總線增加了i2c、spi等串行總線方式,進一步縮小了體積,簡化了結構;(6)單片機的系
19、統擴展、系統配置較典型、規(guī)范,容易構成各種規(guī)模的應用系統。所以單片機的應用非常廣泛,在智能儀表、機電一體化、實時控制、分布式多機系統以及人們的生活中均有用武之地。單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思路和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種用軟件代替硬件的控制技術,是對生產控制技術的一次革命。利用單片機的智能性,可方便地實現具有智能的電子保姆機設計。單片機均具有時鐘振蕩系統,利用系統時鐘借助微處理器的定時器/計數器可實現電子保姆機功能。然而系統時鐘誤差較大,電子鐘的積累誤差也可能較大,所以可以通過誤差修正軟
20、件加以修正,或者在設計中加入高精度時鐘日歷芯片,以精確時間。另外很多功能不同的單片機是兼容的,這就更便于實現產品的多功能性。第三章 基于單片機的電子保姆機硬件設計在比較了以上的三種實現方案之后,考慮單片機貨源充足、價格低廉,可軟硬件結合使用,能夠較方便的實現系統的多功能性,故采用單片機作為本設計的硬件基礎。電子保姆機包括時鐘日歷芯片電路、顯示電路、按鍵電路、供電電源、鬧鈴電路、繼電器控制電路等幾部分。另外,本設計要求該電子保姆機能夠采集環(huán)境溫度,所以還需要溫度采集電路【3】。硬件電路框圖參照圖3.1。該系統使用atmega128單片機作為核心,通過讀取時鐘日歷芯片ds1302和溫度傳感器ds1
21、8b20的數據,繼電器定時控制家用電器工作,完成此電子保姆機的主要功能時鐘/日歷、環(huán)境溫度采集以及家用電器定時工作等。使用比較通用的4位8段共陽led數碼管,做4位顯示,分別顯示時間、日期、年200x,以及環(huán)境溫度值【4】。圖3.1多功能電子保姆機硬件系統框圖鍵盤是為了完成時鐘/日歷的校對和日歷/溫度的顯示功能。繼電器作為家用電器定時開關,控制家用電器工作。此電子保姆機還具有鬧鈴功能,所以設計有鬧鈴電路,進行聲音響鈴。整個電路使用了兩種電源,+5v電源將為整個電路供電。而+3v電源僅作為ds1302的備用電源。當+5v電源被切斷后,ds1302啟用+3v電源,可以保持ds1302繼續(xù)工作。當+
22、5v電源恢復供電,led依舊顯示當前時間,而不會因為斷電使系統復位到初始化時間,避免了重新校時的麻煩。具體電路圖請參見附錄a。3.1 單片機的選擇3.1.1 avr單片機簡介所謂單片機,是指用一個芯片組成的微機系統。片內包括了cpu,程序存儲器、數據存儲器、定時器/計數器及各種i/o口。avr單片機是atmel公司1997年推出的全新配置精簡指令集(risc)單片機系列。片內程序存儲器采用flash存儲,可反復編程修改上千次,便于新產品開發(fā);程序高度保密,避免非法竊取;速度快,大多數指令只用1個晶振周期,而mcs-51單片機單周期指令也需12個晶振周期;能采用c語言編程,從而高效快速的開發(fā)目標
23、產品。本設計選用atmega128 ,atmega128為基于avr risc結構的8位低功耗cmos微處理器。3.1.2 atmega128特點(1)高性能、低功耗的 avr 8 位微處理器;(2)i/o 和封裝 53 個可編程的i/o腳; 64 引腳 tqfp 與 64 引腳 mlf 封裝;(3)工作電壓:4.55.5v(atmega128);(4)速度等級:016 mhz(atmega128);(5)32個工作寄存器;(6)16根地址線 pa pc ;(7)8根數據線pa。atmega128的引腳配置如圖3.2所示:圖3.2 atmega128芯片引腳圖各引腳說明如下:vcc:數字電路的
24、電源;gnd:地;端口a(pa7-pa0):端口a為8位雙向i/o 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口a為三態(tài),端口a也可以用做其他不同的特殊功能。端口b(pb7-pb0):端口b為8位雙向i/o 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口b為三態(tài)。端口c(pc7.pc0):端口c 為8 位雙向i/o 口,并具有可編程的內部上拉電阻。
25、其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口c為三態(tài)。端口d(pd7-pd0):端口d 為8 位雙向i/o 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口d 為三態(tài)。端口e(pe7-pe0):端口e為8位雙向i/o 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時
26、端口e為三態(tài)。端口f(pf7-pf0):端口 f 為adc 的模擬輸入引腳。如果不作為adc 的模擬輸入,端口f可以作為8 位雙向i/o 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口 f 為三態(tài)。如果使能了jtag 接口,則復位發(fā)生時引腳pf7(tdi)、pf5(tms) 和pf4(tck) 的上拉電阻使能。端口 f 也可以作為jtag 接口。端口g(pg4-pg0):端口g為5位雙向i/o 口,并具有可編程的內部上拉電阻。其輸出緩沖器具有對稱的驅動特性,可以輸出和吸收
27、大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。復位發(fā)生時端口g為三態(tài)。在atmega103 兼容模式下,端口g 只能作為外部存儲器的所存信號以及32 khz 振蕩器的輸入,并且在復位時這些引腳初始化為pg0 = 1,pg1 = 1 以及pg2 = 0。pg3 和pg4 是振蕩器引腳。reset:復位輸入引腳。超過最小門限時間的低電平將引起系統復位。低于此時間的脈沖不能保證可靠復位。xtal1:反向振蕩器放大器及片內時鐘操作電路的輸入。xtal2:反向振蕩器放大器的輸出。avcc: avcc為端口f以及adc轉換器的電源,需要與vcc相連接,即使沒有使用adc也應
28、該如此。使用adc 時應該通過一個低通濾波器與vcc連接。aref:aref為adc的模擬基準輸入引腳。pen:pen是spi串行下載的使能引腳。在上電復位時保持pen為低電平將使件進入spi串行下載模式。在正常工作過程中pen 引腳沒有其他功能。3.2 時鐘日歷芯片ds1302常用的實時時鐘芯片有ds12887、ds1216、ds1643、ds1302。每種芯片的主要時鐘功能基本相同,只是在引腳數量、備用電池的安裝方式、計時精度和擴展功能等方面略有不同。ds12887與ds1216芯片都有內嵌式鋰電池作為備用電池; x1203引腳少,沒有嵌入式鋰電池,跟ds1302芯片功能相似,只是相比較之
29、下,x1203與atmega128搭配使用時占用i/o口較多。ds1643為帶有全功能實時時鐘的8k×8非易失性sram,集成了非易失性sram、實時時鐘、晶振、電源掉電控制電路和鋰電池電源,bcd碼表示的年、月、日、星期、時、分、秒,帶閏年補償。同樣,ds1643擁有28只管腳,硬件連接起來占用微處理器i/o口較多,不方便系統功能拓展和維護。故而從性價比和貨源上考慮,ds1302芯片讀寫靠時序控制且具有寫保護位,抗干擾效果好,故本設計采用實時時鐘日歷芯片ds1302。3.2.1 ds1302簡介ds1302是美國dallas公司推出的一種高性能、低功耗的實時時鐘日歷芯片,附加31字
30、節(jié)靜態(tài)ram,采用spi三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和ram數據。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31天時可以自動調整,且具有閏年補償功能。工作電壓寬達2.55.5v。采用雙電源供電(主電源和備用電源),可設置備用電源充電方式,提供了對后備電源進行涓細電流充電的能力。有主電源和備份電源雙引腳,而且備份電源可由大容量電容(1f)來替代。需要強調的是,ds1302需要使用32.768khz的晶振【5】。3.2.2 ds1302引腳說明ds1302引腳圖參照圖3.3。圖3.3ds1302芯片引腳圖其的引腳功能參照表3.1。表3.1 d
31、s1302引腳功能說明引腳號名稱功能1vcc1備份電源輸入2x132.768khz晶振輸入3x232.768khz晶振輸出4gnd地5rst復位6i/o數據輸入/輸出7sclk串行時鐘8vcc2主電源輸入3.2.3 ds1302控制字和讀寫時序說明在編程過程中要注意ds1302的讀寫時序。ds1302是spi總線驅動方式。它不僅要向寄存器寫入控制字,還需要讀取相應寄存器的數據。要想與ds1302通信,首先要先了解ds1302的控制字。ds1302的控制字如表3.2表3.2 ds1302控制字(即地址及命令字節(jié))bit7bit6bit5bit4bit 3bit 2bit 1bit 01rama4
32、a3a2a1a0rd控制字的作用是設定ds1302的工作方式、傳送字節(jié)數等。每次數據的傳輸都是由控制字開始??刂谱指魑坏暮x和作用如下:1. bit7:控制字的最高有效位,必須是邏輯1,如果它為0,則不能把數據寫入到ds1302中。2. bit 6:如果為0,則表示存取日歷時鐘數據,為1表示存取ram數據;3. bit 5至bit 1(a4a0):用a4a0表示,定義片內寄存器和ram的地址。定義如下:當bit 6位=0時,定義時鐘和其他寄存器的地址。a4a0=06,順序為秒、分、時、日、月、星期、年的寄存器。當a4a0=7,為芯片寫保護寄存器地址。當a4a0=8,為慢速充電參數選擇寄存器。當
33、a4a0=31,為時鐘多字節(jié)方式選擇寄存器。當bit 6=1時,定義ram的地址,a4a0=030,對應各子地址的ram,地址31對應的是ram多字節(jié)方式選擇寄存器。4. bit 0(最低有效位):如為0,表示要進行寫操作,為1表示進行讀操作??刂谱挚偸菑淖畹臀婚_始輸出。在控制字指令輸入后的下一個sclk時鐘的上升沿時,數據被寫入ds1302,數據輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個sclk脈沖的下降沿,讀出ds1302的數據,讀出的數據也是從最低位到最高位。圖3.4 ds1302數據讀寫時序ds1302的數據讀寫方式有兩種,一種是單字節(jié)操作方式,一種是多字節(jié)操作方
34、式。每次僅寫入或讀出一個字節(jié)數據稱為單字節(jié)操作,每次對時鐘/日歷的8字節(jié)或31字節(jié)ram進行全體寫入或讀出的操作,稱其為多字節(jié)操作方式。當以多字節(jié)方式寫時鐘寄存器時,必須按數據傳送的次序依次寫入8個寄存器。但是,當以多字節(jié)方式寫ram時,不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一個字節(jié)都將傳送至ram【6】。為了啟動數據的傳輸,rst引腳信號應由低變高,當把rst驅動至邏輯1的狀態(tài)時,sclk必須為邏輯0,數據在sclk的上升沿串行輸入。無論是讀周期還是寫周期,也無論送方式是單字節(jié)傳送還是多字節(jié)傳送,都要通過控制字指定40字節(jié)中的哪個將被訪問。在開始8個時鐘周期把命令字(具有地址
35、和控制信息的8位數據)裝入移位寄存器之后,另外的時鐘在讀操作時輸出數據,在寫操作時輸入數據,所有的數據在時鐘的下降沿變化。所有寫入或讀出操作都是先向芯片發(fā)送一個命令字節(jié)。對于單字節(jié)操作,包括命令字節(jié)在內,每次為2個字節(jié),需要16個時鐘;對于時鐘/日歷多字節(jié)模式操作,每次為7個字節(jié),需要72個時鐘;而對于ram多字節(jié)模式操作,每次則為32字節(jié),需要多達256個時鐘。這里僅給出單字節(jié)讀寫時序,如圖3.3。多字節(jié)操作方式與其類似,只是后面跟的字節(jié)數不止一個。3.2.4 ds1302片內寄存器表3.3 ds1302有關日歷、時間的寄存器讀寄存器寫寄存器bit7bit6bit5bit4bit3bit2b
36、it1bit0范圍81h80hch10秒秒00-5983h82h10分分00-5985h84h010時時1-120-23am/pm87h86h0010日日1-3189h88h0010月月1-128bh8ah00000周日1-78dh8ch10年年00-998fh8ehwp0000000通過控制字對ds1302片內寄存器進行尋址之后,即可就所選中寄存器的各位進行操作。片內各寄存器及各位的功能定義如表3.3。ds1302共有12個寄存器:與日歷、時間的寄存器共有10個,時鐘/日歷包含在其中的7個寫/讀寄存器內,這7個寄存器分別是秒、分、小時、日、月、星期和年。小時寄存器(85h、84h)的位7用于
37、定義ds1302是運行于12小時模式還是24小時模式。當為12小時制式時,位5為“0”表示am;為“1”表示pm。在24小時制式下,位5是第二個10小時位(2023時)。 秒寄存器(81h、80h)的位7定義為時鐘暫停標志(ch)。當該位置為1時,時鐘振蕩器停止,ds1302處于低功耗狀態(tài);當該位置為0時,時鐘開始運行。一般在設置時鐘時,可以停止其工作,設定完之后,再啟動其工作??刂萍拇嫫鳎?fh、8eh)的位7是寫保護位(wp),其它7位均置為0。在任何片內時鐘/日歷寄存器和ram,在寫操作之前,wp位必須為0,否則將不可寫入。當wp位為1時,寫保護位防止對任一寄存器的寫操作。因
38、此,通過置寫保護位,可以提高數據的安全性。另外,還有慢速充電控制寄存器和ram寄存器如表3.4。表3.4充電控制寄存器和ram寄存器各位定義bit7bit6bit5bit4bit3bit2bit1bit0充電控制寄存器tcstcstcstcsdsdsrsrsram寄存器慢速充電寄存器控制著ds1302的慢速充電特性。寄存器的bit4bit7(tcs)決定是否具備充電性能:僅在編碼為1010的條件下才具備充電性能,其他編碼組合不允許充電。bit2和bit3選擇在vcc2和vcc1之間是一個還是兩個二極管串入其中。如果編碼ds是01,選擇一個二極管;如果編碼是10,選擇兩個二極管;其他編碼將不允許
39、充電。該寄存器的bit0和bit1用于選擇與二極管相串聯的電阻值。其中編碼rs=01為2 k,rs=10為4 k,rs=11為8 k,而rs=00將不允許進行充電。因此,根據慢速充電寄存器的不同編碼可得到不同的充電電流。其具體計算如公式3.1: i充電=(v0-vd-ve)/r (3.1)式中:v0所接入的5.0v工作電壓;vd二極管壓降,一個按0.7v計算;r慢速充電控制寄存器0和1位編碼決定的電阻值;vevcc1腳所接入的電池電壓。ram寄存器尋址空間一次排列的31字節(jié)靜態(tài)ram可為用戶使用,備用電源位ram提供了掉電保護功能。寄存器和ram的操作通過命令字節(jié)的bit6加以區(qū)別。當bit6
40、為“0”時對ram區(qū)進行尋址;否則將對時鐘/日歷寄存器尋址。其操作方法與前述相同。具體程序參見附錄a。3.3環(huán)境溫度傳感器選擇3.3.1常用溫度傳感器比較在日常生活中和工農業(yè)生產中常要用到溫度檢測及控制,傳統的測溫元件有熱電偶和熱電阻,而熱電偶和熱電阻測出的一般都是電壓,將其轉換成對應的二進制溫度碼值,需要較多的硬件支持,硬件電路復雜,軟件調試也比較麻煩,制作成本高。另外,采集環(huán)境的溫度也可應用ic化的溫度傳感器。常用的此類溫度傳感器有ad590和ds18b20。ad590測量到不同溫度之后,將對應溫度轉化為線性電流輸出,為1a/k,正比于熱力學溫度;寬量程,為-55+150;精度高,激光校準
41、精度到±0.5;電源范圍寬:+4+30v。ad590優(yōu)點很多,但是由于它只能將采集來的溫度轉化為電流輸出,所以在實際應用中,需要先將ad590輸出的電流轉化為電壓,再利用a/d轉換器件進行模/數轉換,將模擬量轉化為數字量,最后送入單片機中【5】。與ad590不同的是,ds18b20數字溫度傳感器能直接將被測溫度轉化成串行數字信號,以供單片機處理,既節(jié)省了硬件,又有效避免了模擬方式的干擾問題。它還具有微型化、低功耗、高性能等優(yōu)點。通過編程,ds18b20可以實現912位溫度讀數,信息經過單線接口送入ds18b20或從ds18b20送出,因此從單片機到ds18b20僅需要連接一條線。讀、
42、寫和完成溫度變換所需的電源可由數據線本身提供,而無需外部電源。測量范圍為-55+125,增量值為0.5。電源電壓范圍為+3.0+5.5v。通過編程,用戶還以自行設定告警上下限溫度,告警尋找命令可以識別和尋址那些溫度超出預設告警界限的器件。3.3.2 ds18b20簡介圖3.5 ds18b20引腳分布圖每片ds18b20在出廠時都設有唯一的產品序列號,此序列號存放在它的內部rom中,微處理器通過簡單協議,就能識別這些序列號,因此多個ds18b20可以掛接于同一條單總線上,這允許在許多不同的地方放置溫度傳感器,特別適合于構成多點溫度測控系統。ds18b20的引腳分布如圖3.5,管腳功能描述參見表3
43、.5。表3.5 ds18b20引腳功能描述序號名稱引腳功能描述1gnd地信號2dq數據輸入/輸出引腳;開漏單總線接口引腳;當被用在寄生電源下,也可以向器件提供電源。3vdd可選擇的vdd引腳;當工作于寄生電源時,此引腳必須接地。3.3.3 ds18b20內部結構 ds18b20的內部結構如圖3.5所示。主要由4部分組成:64位rom溫度傳感器、非易失性溫度報警觸發(fā)器th和tl、配置寄存器【6】。圖3.6 ds18b20內部結構圖配置寄存器為高速暫存存儲器中的第5個字節(jié)。ds18b20在工作時按此寄存器中的分辨率將溫度轉換成相應精度的數值,其各位定義如表3.6所示。其中,tm為測試模式標志位,出
44、廠時被寫入“0”,不能改變;r0、r1是溫度計分辨率設置位。其對應四種分辨率如表3.7所示,出廠時r0、r1被置為“1”,默認設置是12位分辨率,用戶可根據需要給寫配置寄存器以獲得合適的分辨率。表3.6 ds18b20配置寄存器結構表bit7bit6bit5bit4bit3bit2bit1bit0tmr1r011111msb lsb溫度信息的低位、高位字節(jié)內容還包括了符號位s(是正溫度還是負溫度)和二進制小數部分,其具體形式如圖3.7。表3.7配置寄存器與分辨率關系表r0r1溫度計分辨率/bit最大轉換時間/ms00993.750110187.5010113751112750圖3.7 ds18
45、b20溫度值格式表這是12位分辨率的情況,如果配置為低分辨率,則其中無意義位為“0”。在ds18b20完成溫度變換之后,溫度值與存儲在th和tl內的告警觸發(fā)值相比較。由于這些是8位寄存器,所以912位在比較時忽略。th或tl的高位直接對應于16位溫度寄存器的符號位。如果溫度測量的結果高于th或低于tl,那么器件內告警標志將置位,每次溫度測量都會更新此標志位。只要告警標志置位,ds18b20就將響應告警搜索命令,這也就允許單線上多個ds18b20同時進行溫度測量,即使某處溫度越限,也可以識別出正在告警的器件。3.4電子保姆機硬件電路設計3.4.1時鐘電路設計系統時鐘應用了實時時鐘日歷芯片ds13
46、02,其連接如圖3.8。該硬件電路設計簡單,抗干擾能力強【9】。如圖3.8,atmega128單片機pb0直接接ds1302的rst端,上電后,atmega128的pb0引腳復位低電平有效。pb1作為時鐘數據的i/o,pb2作為串行時鐘接口sclk。ds1302采用雙電源供電,平時由+5v電源供電,當+5v掉電之后,由圖中bt1(+3v備用電池)供電。圖3.8 系統時鐘電路特別需要注意x1和x2兩端連接的晶振y0,該晶振頻率為32.768khz。3.4.2環(huán)境溫度采集電路設計本設計中使用ds18b20溫度傳感器進行環(huán)境溫度采集和轉化。如圖3.9所示,atmega128單片機的pb3腳接ds18
47、b20的i/o腳,作為數據的讀入和寫出口。選4.7k的電阻作為ds18b20的i/o口的上拉電阻,在讀數據結束時,i/o引腳將通過此上拉電阻拉回至高電平。圖3.9系統環(huán)境溫度采集電路3.4.3顯示電路led數碼顯示是一種由led發(fā)光二極管組合顯示字符的顯示器件。它使用了8段led發(fā)光二極管,其中7個用于顯示字符,1個用于顯示小數點,故通常稱之為7段(也有稱作8段)發(fā)光二極管數碼顯示器。其內部結構如圖3.10所示。圖3.10 led數碼管內部結構圖1、led數碼顯示器有兩種連接方法:共陽極接法:把發(fā)光二極管的陽極連在一起構成公共陽極,使用時公共陽極接+5v,每個發(fā)光二極管的陰極通過電阻與輸入端相
48、連。 共陰極接法:把發(fā)光二極管的陰極連在一起構成公共陰極,使用時公共陰極接地。每個發(fā)光二極管的陽極通過電阻與輸入端相連。 為了顯示字符,要為led顯示器提供顯示段碼(或稱字形代碼),組成一個“8”字形字符的7段,再加上1個小數點位,共計8段,因此提供給led顯示器的顯示段碼為1個字節(jié)。各段碼位的對應關系如下:表3.8 數字、字母與7段代碼關系表字型共陽極段碼共陰極段碼字型共陽極段碼共陰極段碼0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3b0h4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf84h71h7f8h0
49、7h空白ffh00h880h7fhp8ch73h2、單片機與led數碼顯示器有以硬件為主和以軟件為主的兩種接口方法。硬件接口方法:led數碼管與譯碼器相連,通過硬件譯碼。軟件接口方法:它是以軟件查表代替硬件譯碼,不但省去了譯碼器,而且還能顯示更多的字符。但是驅動器是必不可少的,因為僅靠接口提供不了較大的電流供led顯示器使用。 對于以軟件為主的接口電路來說,其顯示方法有靜態(tài)顯示和動態(tài)顯示兩種。 動態(tài)顯示:如果要在同一時刻顯示不同的字符,從電路上看,這是辦不到的。因此只能利用人眼對視覺的殘留效應,采用動態(tài)掃描顯示的方法,逐個地循環(huán)點亮各位數碼管,每位顯示1ms左右,使人看起來就好象在同時顯示不同
50、的字符一樣。在進行動態(tài)掃描顯示時,往往事先并不知道應顯示什么內容,這樣也就無從選擇被顯示字符的顯示段碼。為此,一般采用查表的方法,由待顯示的字符通過查表得到其對應的顯示段碼。這種方式耗電少、硬件成本低,但需占用較多的 cpu 時間,故在工業(yè)控制中應用較少。靜態(tài)顯示:所謂靜態(tài)顯示,就是在同一時刻只顯示1種字符,或者說被顯示的字符在同一時刻是穩(wěn)定不變的。其顯示方法比較簡單,就是利用鎖存器將各顯示單元鎖定,直到更新顯示內容為止。它的優(yōu)點是軟件不必動態(tài)掃描,送出段碼后可鎖存,直到需更改顯示字符,軟件簡單,占用 cpu 時間較少,工作可靠,同時由于始終保持顯示而亮度較好。由于本系統需要對控制信號進行實時
51、操作,故采用靜態(tài)顯示方式以減少 cpu的負擔。本設計采用動態(tài)顯示。由單片機pa口給出待顯示數據的筆段碼,pe0pe3給出位選碼。循環(huán)點亮各個led數碼管。電路圖參見圖3.11。 圖3.11 顯示面板led分布圖 3.4.4按鍵電路設計矩陣式按鍵鍵盤使用于按鍵數量較多的場合,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行、列的交叉點上,其結構如圖3.12所示。本鍵盤2、4的行、列結構可以構成一個含有8個按鍵的鍵盤,與獨立式相比,要節(jié)省很多的i/o端口。圖3.12鍵盤電路其工作原理:按鍵設置在行、列線交點上,行、列分別連接按鍵開關的兩端。 按鍵功能說明如下:key11:校對選擇鍵。 根據按鍵按下的
52、次數依次校對分、時、日、月、年。key12:顯示選擇鍵。 當此按鍵沒有按下時,顯示小時和分;當按下一次按鍵時,顯示月和日,第二次按鍵按下后顯示年200x;再次按下按鍵時顯示溫度。key13:設定鍵。 設定鬧鐘時間和電器開關時間、報警溫度。key23:設定選擇鍵。 設定鬧鐘時間和電器開關時間選擇。key21:鬧鐘開關鍵。key22:確認鍵。 當校對時間、設定時間和溫室度時按下此鍵便確認校對和設定的值。 key14:加1按鍵。 校對和設定時按下此鍵,值加1。key24:減1按鍵。 校對和設定時,按下此鍵,值減1。3.4.5鬧鈴電路設計鬧鈴電路如圖3.13所示。蜂鳴器接在單片機的pc6引腳上,并由一
53、個三極管作放大,當時間到達設定的鬧鈴時間時,pc6給出高電平使三極管導通,蜂鳴器發(fā)出聲音,pc6給出低電平,蜂鳴器不發(fā)音。鬧鈴電路如圖3.13。圖3.13 鬧鈴電路3.4.6繼電器控制電路設計繼電器意思:繼承控制,用很小的電力和電流,驅動一個設備(家用電器)帶動一個負載部件去承載大電流,在電路中起自動調節(jié)、安全保護、轉換電路等作用。繼電器型號:hrs4h s dc5vhrs4h s dc5v特點 最大通斷電壓:30vdc/250 vac最大通斷電流:10a線圈電壓:5v工作環(huán)境.溫度范圍:-40 - +85吸合時間:最大10 ms釋放時間:最大5 ms當pc7引腳輸出“1”時,npn三極管導通
54、,繼電器吸合,燈泡發(fā)亮。當pc7引腳輸出“0”時,三極管截止,繼電器釋放,燈泡滅。繼電器控制電路如圖3.14 由于 avr的 i/o 不能提供大的驅動電流,因此在外圍硬件電路中要考慮使用功率驅動電路。選擇1k的電阻作為限流電阻。圖3.14 繼電器控制電路3.4.7溫度報警電路設計 本設計中溫度報警采用發(fā)光二極管發(fā)光,當溫度超過程序設定值時,pb5發(fā)出高電平信號,發(fā)光二極管開始閃爍。圖3.15 溫度報警電路設計內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文)第四章 電子保姆機軟件設計atmega128單片機可以應用匯編語言和c語言進行編程。,匯編語言與機器指令一一對應所以用匯編語言編寫的程序在單片機里運行起來效率較高。c語言程序可讀性高,更便于理解【10】。本設計使用c語言編程。4.1 主程序設計第一次上電,系統先進行初始化, led顯示初始時間“21: 00”,并開始走時。初始年為“2009”,初始月、日為“0504”。 單片機端口初始化,依次開始調用ds1302子程序、ds18b20子程序、顯示子程序、按鍵子程序、鬧鈴子程序,繼電器子程序、溫度報警子程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論