單片機多功能電子鐘畢業(yè)設計論文_第1頁
單片機多功能電子鐘畢業(yè)設計論文_第2頁
單片機多功能電子鐘畢業(yè)設計論文_第3頁
單片機多功能電子鐘畢業(yè)設計論文_第4頁
單片機多功能電子鐘畢業(yè)設計論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、好好扮演自己的角色,做自己該做的事。少為失敗找理由多為成功找方法大多數(shù)人想要改革這個世界卻不曉得即時從小事做起XX大學本科生畢業(yè)設計說明書(畢業(yè)論文)題 目:單片機多功能電子鐘的設計 -硬件設計學生姓名:昊天學 號:20011616專 業(yè):電子信息工程班 級:010203指導教師:劉華摘 要電子鐘主要是利用現(xiàn)代電子技術將時鐘電子化、數(shù)字化與傳統(tǒng)的機械鐘相比具有時鐘精確、顯示直觀、無機械傳動裝置等優(yōu)點因而得到廣泛應用另外在生活和工農(nóng)業(yè)生產(chǎn)中人們對電子鐘的功能又提出了諸多要求:報時、鬧鐘、日歷、溫度顯示這就需要電子時鐘的多功能性根據(jù)人們的不同要求本設計主要為實現(xiàn)一款可正常顯示時鐘/日歷、測量環(huán)境溫

2、度、帶有定時鬧鈴的多功能電子時鐘筆者通過查閱大量的資料對當前電子鐘開發(fā)技術進行了認真的比較和分析最終確定采用單片機技術實現(xiàn)多功能電子時鐘本設計基于AT89C51芯片作為核心7位LED數(shù)碼管顯示使用DS1302時鐘日歷芯片完成時鐘/日歷的基本功能同時利用DS18B20溫度傳感器測量環(huán)境溫度這種設計方法的優(yōu)點是電路簡單性能穩(wěn)定實時性好時間和溫度精度高性價比高開發(fā)較為容易關鍵詞:電子時鐘;多功能;DS1302時鐘日歷芯片;AT89C51;溫度傳感器The Design with Investigation of the Multi-function Electron Clock The Design

3、 of the Hardware AbstractThe electronic clock mainly uses the electronic technology make the clock computerization the digitization.Compared with the traditional mechanical bell it has the clock precision intuitive display the advantages of no mechanical transmission device which is widely used.In a

4、ddition living and industrial and agricultural production people on the clocks function has also put forward many demands: alarm clock calendar temperature display so electronic clock need multi-function.According to the different requirements of the people the design for the main implementing a clo

5、ck/calendar can be displayed normal collecting personal ambient temperature with the timing alarm of the multi-function electronic clockThrough access to a lot of information.Comparing and analysising the development technology of the electron clock the design determines to use the MCU technology to

6、 realize the multi-functional electron clock. This design application AT89C51 as a core chips 7 LED digital displaying using DS1302 real-time clock chip to complete the basic function of the clock/calendar. At the same time the design use of DS18B20 temperature sensors to collect the environmental t

7、emperature. The method has the advantage of being simple circuit reliable performance good real-time high precision of the time and temperature cost-effective to develop more easily.Key words: Electronic clock; Multi-function; DS1302; AT89C51; Temperature pickup 目 錄摘 要IAbstractII第一章 引 言11.1 多功能電子時鐘研

8、究的背景和意義11.2 電子時鐘的功能2第二章 電子時鐘設計方案分析32.1 NE555時基電路設計方案32.2 單片機設計方案4第三章 基于單片機的電子時鐘硬件設計53.1 主要IC芯片選擇53.1.1 微處理器選擇常用時鐘日歷芯片比較 DS1302簡介 DS1302引腳說明 DS1302的控制字和讀寫時序說明 DS1302的片內(nèi)寄存器93.1.2 環(huán)境溫度傳感器選擇 常用溫度傳感器比較 DS18B20簡介 DS18B20內(nèi)部結(jié)構(gòu)113.2 電子時鐘硬件電路設

9、計133.2.1 時鐘電路設計143.2.2 環(huán)境溫度采集電路設計143.2.3 顯示電路153.2.4 按鍵電路設計163.2.5 鬧鈴電路設計173.2.6 復位電路設計18第四章 電子時鐘軟件設計204.1 主程序設計204.2 子程序設計204.2.1 實時時鐘日歷子程序設計204.2.2 環(huán)境溫度采集子程序設計214.2.3 顯示子程序設計244.2.4 鍵盤掃描子程序254.2.5 鬧鈴子程序設計25結(jié) 論29參考文獻30附錄A 多功能電子時鐘元器件一覽表31附錄B 多功能電子時鐘硬件原理圖32致 謝33第一章 引 言一寸光陰一寸金寸金難買寸光陰從古至今時間是人們生活中不可缺少的重

10、要伴侶如果沒有時間的概念社會將停滯不前從古代的圭表、水漏到后來的機械鐘表以及當今的電子鐘都充分顯現(xiàn)出了時間的重要因此利用當今先進的科技致力于電子鐘的研究將能更好的服務于人們的生活1.1 多功能電子時鐘研究的背景和意義電子技術是十九世紀末、二十世紀初開始發(fā)展起來的新興技術二十世紀發(fā)展最迅速應用最廣泛成為近代科學技術發(fā)展的一個重要標志在其推動下現(xiàn)代電子產(chǎn)品正在以前所未有的革新速度向著功能多樣化、體積最小化、功耗最低化的方向迅速發(fā)展電子技術的發(fā)展有力的推動社會生產(chǎn)力的發(fā)展 郭沫若先生曾說:時間就是生命時間就是速度時間就是力量時間對我們來說總是那么寶貴在我們的日常工作、學習、生活中時間概念愈加顯得重要

11、在高度發(fā)達信息化的21世紀人們總是那么忙碌生活工作中班車要準點上班要準時開會要有時間限制;工業(yè)生產(chǎn)中每一道工序都要有嚴格的時間限制這樣才能做到井井有條;嚴謹?shù)目萍佳芯恐袝r間更是重中之重能夠準確的了解并且實時性的知道時間是我們學習、工作、生活中不可或缺的機械式鐘表雖然也可以告知人們時間也可以定時顯示日歷但是由于受到機械結(jié)構(gòu)、動力和體積的限制在功能、性能以及造價上都沒辦法與電子時鐘相比 電子鐘是采用電子電路實現(xiàn)對時、分、秒進行數(shù)字顯示的計時裝置廣泛應用于個人家庭室外廣場汽車站和火車站等公共場所成為人們?nèi)粘I钪胁豢缮俚谋匦杵酚捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用使得數(shù)字鐘的精度遠遠超過老

12、式鐘表鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便而且大大地擴展了鐘表原先的報時功能諸如定時自動報警、0按時自動打鈴、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等所有這些都是以鐘表數(shù)字化為基礎的因此更為先進的電子鐘的研究有著良好的發(fā)展前景和市場潛力隨著社會的進步人們越來越青睞功能多樣化的產(chǎn)品溫度實時顯示系統(tǒng)技術已經(jīng)發(fā)展成熟比如空調(diào)遙控器上當前室溫的顯示、熱水器溫度的顯示等等如果能夠在電子鐘上利用電子技術實時性的準確的顯示環(huán)境溫度那將為我們的生活、工作、和工業(yè)生產(chǎn)中帶來極大的便利同時也可以讓我們隨時的了解周圍環(huán)境的變化以及必要措施的施行1.2 電子時鐘的功能電子

13、時鐘主要是利用電子技術將時鐘電子化、數(shù)字化擁有時間精確、體積小、界面友好、可擴展性能強等特點被廣泛應用于生活和工作當中當今市場上的電子時鐘品類繁多外形小巧別致也有體型較大的諸如公共場所的大型電子報時器等電子時鐘首先是數(shù)字化了的時間顯示或報時器在此基礎上人們可以根據(jù)不同場合的要求在時鐘上加置其他功能比如定時鬧鈴萬年歷環(huán)境溫度、濕度檢測環(huán)境空氣質(zhì)量檢測USB擴展口功能等本設計電子時鐘主要功能為:1. 具有時間顯示和手動校對功能24小時制;2. 具有年、月、日顯示和手動校對功能;3. 具有鬧鈴功能;4. 具有環(huán)境溫度采集和顯示功能;5. 掉電后無需重新設置時間和日期;6. 采用交直流供電電源交流供電

14、為主直流電源為后備輔助電源能自動切換第二章 電子時鐘設計方案分析電子鬧鐘既可以通過純硬件實現(xiàn)也可以通過軟硬件結(jié)合實現(xiàn)根據(jù)電子時鐘里的核心部件-秒信號的產(chǎn)生原理通常有以下兩種形式:2.1 NE555時基電路設計方案555定時器是美國Signetics公司1972年研制的用于取代機械式定時器的中規(guī)模集成電路因輸入端設計有三個5K的電阻而得名一般用雙極性工藝制作的稱為 555用 CMOS 工藝制作的稱為 7555目前流行的產(chǎn)品主要有4種:BJT兩個:555556(含有兩個555);CMOS兩個:75557556(含有兩個7555)555 定時器的電源電壓范圍寬可在 4.5V16V 工作7555 可在

15、 318V 工作輸出驅(qū)動電流約為 200mA因而其輸出可與 TTL、CMOS 或者模擬電路電平兼容555定時器可以說是模擬電路與數(shù)字電路結(jié)合的典范555 定時器成本低性能可靠只需要外接幾個電阻、電容就可以實現(xiàn)多諧振蕩器、單穩(wěn)態(tài)觸發(fā)器及施密特觸發(fā)器等脈沖產(chǎn)生與變換電路它也常作為定時器廣泛應用于儀器儀表、家用電器、電子測量及自動控制等領域5采用NE555時基電路或其他振蕩電路產(chǎn)生秒脈沖信號作為秒加法電路的時鐘信號或微處理器的外部中斷輸入信號可構(gòu)成電子鐘輸出的脈沖信號V0的頻率F為: 式(2.1)使輸出V0的頻率為精確的1Hz圖2.1 基于的秒脈沖發(fā)生器采用555定時器設計電子時鐘成本低容易實現(xiàn)但是

16、受芯片引腳數(shù)量和功能限制不容易實現(xiàn)電子時鐘的多功能性2.2 單片機設計方案單片機(常用英文字母的縮寫MCU表示)是微型機的一個主要分支它在結(jié)構(gòu)上的最大特點使把CPU、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上就其組成和功能而言一塊單片機芯片就是一臺計算機單片機具有如下特點:有優(yōu)異的性能價格比;1 集成度高、體積小、有很高的可靠性;2 控制功能強;3 低功耗、低電壓便于生產(chǎn)便攜式產(chǎn)品;4 外部總線增加了I2C、SPI等串行總線方式進一步縮小了體積簡化了結(jié)構(gòu);5 單片機的系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范容易構(gòu)成各種規(guī)模的應用系統(tǒng)目前單片機滲透到我們生活的各個領域幾乎很難找

17、到哪個領域沒有單片機的蹤跡導彈的導航裝置飛機上各種儀表的控制計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸工業(yè)自動化過程的實時控制和數(shù)據(jù)處理廣泛使用的各種智能IC卡民用豪華轎車的安全保障系統(tǒng)錄像機、攝像機、全自動洗衣機的控制以及程控玩具、電子寵物等等這些都離不開單片機更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了因此單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師單片機廣泛應于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域傳統(tǒng)利用單片機的智能性可方便地實現(xiàn)具有智能的電子鐘設計單片機均具有時鐘振蕩系統(tǒng)利用系統(tǒng)時鐘借助微處理器的定時器/計數(shù)器可實現(xiàn)電子鐘功能然

18、而系統(tǒng)時鐘誤差較大電子鐘的積累誤差也可能較大所以可以通過誤差修正軟件加以修正或者在設計中加入高精度時鐘日歷芯片以精確時間另外很多功能不同的單片機是兼容的這就更便于實現(xiàn)產(chǎn)品的多功能性第三章 基于單片機的電子時鐘硬件設計在比較了第二章的兩種實現(xiàn)方案之后考慮單片機具有體積小、質(zhì)量輕、價格便宜、功耗低、控制能力強以及運算速度快速等優(yōu)點故采用單片機作為本設計的硬件基礎3.1 主要IC芯片選擇3.1.1 微處理器選擇目前在單片機系統(tǒng)中應用比較廣泛的微處理器芯片主要為8XC5X系列單片機該系列單片機均采用標準MCS-51內(nèi)核硬件資源相互兼容品類齊全功能完善性能穩(wěn)定體積小價格低廉貨源充足調(diào)試和編程方便所以應用

19、極為廣泛例如比較常用的AT89C2051單片機帶有2KB Flash可編程、可擦除只讀存儲器(E2PROM)的低壓、高性能8位CMOS微型計算機擁有15條可編程I/O引腳2個16位定時器/計數(shù)器6個中斷源可編程串行UART通道并能直接驅(qū)動LED輸出僅僅是為了完成時鐘設計或者是環(huán)境溫度采集設計應用AT89C2051單片機完全可以實現(xiàn)但是將兩種功能結(jié)合在一片單片機上就需要更多的I/O引腳故本設計采用具有32根I/O引腳的AT89C51單片機AT89C51單片機是一款低功耗低電壓高性能CMOS 8位單片機片內(nèi)含4KB(可經(jīng)受1000次擦寫周期)的FLASH可編程可反復擦寫的只讀程序存儲器(EPROM

20、)器件采用CMOS工藝和ATMEI公司的高密度、非易失性存儲器(NURAM)技術制造其輸出引腳和指令系統(tǒng)都與MCS-51兼容片內(nèi)的FLASH存儲器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲器編程器來編程因此AT89C51是一種功能強靈活性高且價格合理的單片機可方便的應用在各個控制領域6AT89C51具有以下主要性能:1. 4KB可改編程序Flash存儲器;2. 全靜態(tài)工作:0-24Hz;3. 1288字節(jié)內(nèi)部RAM;4. 32個外部雙向輸入/輸出(I/O)口;5. 6個中斷優(yōu)先級; 2個16位可編程定時計數(shù)器;6. 可編程串行通道;7. 片內(nèi)時鐘振蕩器此外AT89C51是用靜態(tài)邏輯來設計的其

21、工作頻率可下降到0Hz并提供兩種可用軟件來選擇的省電方式-空閑方式(Idle Mode)和掉電方式(Power Down Mode)在空閑方式中CPU停止工作而RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作在掉電方式中片內(nèi)振蕩器停止工作由于時鐘被凍結(jié)使一切功能都暫停只保存片內(nèi)RAM中的內(nèi)容直到下一次硬件復位為止8圖3.1 AT89C51芯片PDIP封裝引腳圖AT89C51為適應不同的產(chǎn)品需求采用PDIP、TQFP、PLCC三種封裝形式本系統(tǒng)采用雙列直插PDIP封裝形式時鐘日歷芯片選擇在電子時鐘設計中常用的實時時鐘芯片有DS12887、DS1216、DS1643、DS1302每種芯片的主要時

22、鐘功能基本相同只是在引腳數(shù)量、備用電池的安裝方式、計時精度和擴展功能等方面略有不同DS12887與DS1216芯片都有內(nèi)嵌式鋰電池作為備用電池; X1203引腳少沒有嵌入式鋰電池跟DS1302芯片功能相似只是相比較之下X1203與AT89S51搭配使用時占用I/O口較多DS1643為帶有全功能實時時鐘的8K8非易失性SRAM集成了非易失性SRAM、實時時鐘、晶振、電源掉電控制電路和鋰電池電源BCD碼表示的年、月、日、星期、時、分、秒帶閏年補償同樣DS1643擁有28只管腳硬件連接起來占用微處理器I/O口較多不方便系統(tǒng)功能拓展和維護故而從性價比和貨源上考慮本設計采用實時時鐘日歷芯片DS13023

23、.1.1.2 DS1302簡介DS1302是美國DALLAS公司推出的一種高性能、低功耗的實時時鐘日歷芯片附加31字節(jié)靜態(tài)RAM采用SPI三線接口與CPU進行同步通信并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和RAM數(shù)據(jù)實時時鐘可提供秒、分、時、日、星期、月和年一個月小于31天時可以自動調(diào)整且具有閏年補償功能采用雙電源供電(主電源和備用電源)可設置備用電源充電方式提供了對后備電源進行涓細電流充電的能力有主電源和備份電源雙引腳而且備份電源可由大容量電容(1F)來替代需要強調(diào)的是 DS1302引腳說明圖3.2 DS1302芯片引腳圖表3.1 DS1302引腳功能說明引腳號名稱功能1V

24、CC1備份電源輸入2X132.768KHz晶振輸入3X232.768KHz晶振輸出4GND地5RST控制移位寄存器/復位6I/O數(shù)據(jù)輸入/輸出7SCLK串行時鐘8VCC2主電源輸入 DS1302的控制字和讀寫時序說明在編程過程中要注意DS1302的讀寫時序DS1302是SPI總線驅(qū)動方式它不僅要向寄存器寫入控制字還需要讀取相應寄存器的數(shù)據(jù)要想與DS1302通信首先要先了解DS1302的控制字表3.2 DS1302控制字(即地址及命令字節(jié))BIT7BIT6BIT5BIT4BIT 3BIT 2BIT 1BIT 01RAMA4A3A2A1A0RD控制字的作用是設定DS1302的工作方式

25、、傳送字節(jié)數(shù)等每次數(shù)據(jù)的傳輸都是由控制字開始控制字各位的含義和作用如下:1. BIT7:控制字的最高有效位必須是邏輯1如果它為0則不能把數(shù)據(jù)寫入到DS1302中2. BIT 6:如果為0則表示存取日歷時鐘數(shù)據(jù)為1表示存取RAM數(shù)據(jù);3. BIT 5至BIT 1(A4A0):用A4A0表示定義片內(nèi)寄存器和RAM的地址定義如下:當BIT 6位=0時定義時鐘和其他寄存器的地址A4A0=06順序為秒、分、時、日、月、星期、年的寄存器當A4A0=7為芯片寫保護寄存器地址當A4A0=8為慢速充電參數(shù)選擇寄存器當A4A0=31為時鐘多字節(jié)方式選擇寄存器當BIT 6=1時定義RAM的地址A4A0=030對應各

26、子地址的RAM地址31對應的是RAM多字節(jié)方式選擇寄存器4. BIT 0(最低有效位):如為0表示要進行寫操作為1表示進行讀操作控制字總是從最低位開始輸出在控制字指令輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302數(shù)據(jù)輸入從最低位(0位)開始同樣在緊跟8位的控制字指令后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù)讀出的數(shù)據(jù)也是從最低位到最高位圖3.3 DS1302數(shù)據(jù)讀寫時序DS1302的數(shù)據(jù)讀寫方式有兩種一種是單字節(jié)操作方式一種是多字節(jié)操作方式每次僅寫入或讀出一個字節(jié)數(shù)據(jù)稱為單字節(jié)操作每次對時鐘/日歷的8字節(jié)或31字節(jié)RAM進行全體寫入或讀出的操作稱其為多字節(jié)操作方式當以多字

27、節(jié)方式寫時鐘寄存器時必須按數(shù)據(jù)傳送的次序依次寫入8個寄存器但是當以多字節(jié)方式寫RAM時不必寫所有31字節(jié)不管是否寫了全部31字節(jié)所寫的每一個字節(jié)都將傳送至RAM為了啟動數(shù)據(jù)的傳輸CE引腳信號應由低變高當把CE驅(qū)動至邏輯1的狀態(tài)時SCLK必須為邏輯0數(shù)據(jù)在SCLK的上升沿串行輸入無論是讀周期還是寫周期也無論送方式是單字節(jié)傳送還是多字節(jié)傳送都要通過控制字指定40字節(jié)中的哪個將被訪問在開始8個時鐘周期把命令字(具有地址和控制信息的8位數(shù)據(jù))裝入移位寄存器之后另外的時鐘在讀操作時輸出數(shù)據(jù)在寫操作時輸入數(shù)據(jù)所有的數(shù)據(jù)在時鐘的下降沿變化所有寫入或讀出操作都是先向芯片發(fā)送一個命令字節(jié)對于單字節(jié)操作包括命令字

28、節(jié)在內(nèi)每次為2個字節(jié)需要16個時鐘;對于時鐘/日歷多字節(jié)模式操作每次為7個字節(jié)需要72個時鐘;而對于RAM多字節(jié)模式操作每次則為32字節(jié)需要多達256個時鐘這里僅給出單字節(jié)讀寫時序多字節(jié)操作方式與其類似只是后面跟的字節(jié)數(shù)不止一個 DS1302的片內(nèi)寄存器表3.3 DS1302有關日歷、時間的寄存器讀寄存器寫寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范圍81H80HCH10秒秒00-5983H82H10分分00-5985H84H010時時1-120-23AM/PM87H86H0010日日1-3189H88H0010月月1-128BH8AH00000周日1

29、-78DH8CH10年年00-998FH8EHWP0000000-通過控制字對DS1302片內(nèi)寄存器進行尋址之后即可就所選中寄存器的各位進行操作DS1302有關日歷、時間的寄存器共有10個時鐘/日歷包含在其中的7個寫/讀寄存器內(nèi)這7個寄存器分別是秒、分、小時、日、月、星期和年小時寄存器(85H、84H)的位7用于定義DS1302是運行于12小時模式還是24小時模式當為12小時制式時位5為0表示AM;為1表示PM在24小時制式下位5是第二個10小時位(2023時) 秒寄存器(81H、80H)的位7定義為時鐘暫停標志(CH)當該位置為1時時鐘振蕩器停止DS1302處于低功耗狀態(tài);當該位置為0時時鐘

30、開始運行一般在設置時鐘時可以停止其工作設定完之后再啟動其工作控制寄存器(8FH、8EH)的位7是寫保護位(WP)其它7位均置為0在任何片內(nèi)時鐘/日歷寄存器和RAM在寫操作之前WP位必須為0否則將不可寫入當WP位為1時寫保護位防止對任一寄存器的寫操作因此通過置寫保護位可以提高數(shù)據(jù)的安全性另外還有慢速充電控制寄存器和RAM寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0充電控制寄存器TCSTCSTCSTCSDSDSRSRSRAM寄存器-慢速充電寄存器控制著DS1302的慢速充電特性寄存器的BIT4BIT7(TCS)決定是否具備充電性能:僅在編碼為1010的條件下才具備充電性能

31、其他編碼組合不允許充電BIT2和BIT3選擇在VCC2和VCC1之間是一個還是兩個二極管串入其中如果編碼DS是01選擇一個二極管;如果編碼是10選擇兩個二極管;其他編碼將不允許充電該寄存器的BIT0和BIT1用于選擇與二極管相串聯(lián)的電阻值其中編碼RS=01為2 KRS=10為4 KRS=11為8 K而RS=00將不允許進行充電因此根據(jù)慢速充電寄存器的不同編碼可得到不同的充電電流其具體計算如公式3.1: I充電=(V0-VD-VE)/R (3.1)式中:V0-所接入的5.0V工作電壓;VD-二極管壓降一個按0.7V計算;R-慢速充電控制寄存器0和1位編碼決定的電阻值;VE-VCC1腳所接入的電池

32、電壓RAM寄存器尋址空間一次排列的31字節(jié)靜態(tài)RAM可為用戶使用備用電源位RAM提供了掉電保護功能寄存器和RAM的操作通過命令字節(jié)的BIT6加以區(qū)別當BIT6為0時對RAM區(qū)進行尋址;否則將對時鐘/日歷寄存器尋址其操作方法與前述相同910113.1.2 環(huán)境溫度傳感器選擇 常用溫度傳感器比較在日常生活中和工農(nóng)業(yè)生產(chǎn)中常要用到溫度檢測及控制傳統(tǒng)的測溫元件有熱電偶和熱電阻一般用來測量中高溫輸出的是電壓將其轉(zhuǎn)換成對應的二進制溫度碼值需要較多的硬件支持硬件電路復雜軟件調(diào)試較為復雜制作成本高另外采集環(huán)境的溫度也可采用IC化的溫度傳感器常用的此類溫度傳感器有AD590和DS18B20AD59

33、0測量到不同溫度之后將把應溫度轉(zhuǎn)化為線性電流輸出為1A/K正比于熱力學溫度該傳感器寬量程為-55+150;精度高激光校準精度到;電源范圍寬:+4+30VAD590優(yōu)點很多但是由于它只能將采集來的溫度轉(zhuǎn)化為電流輸出所以在實際應用中需要先將AD590輸出的電流轉(zhuǎn)化為電壓再利用A/D轉(zhuǎn)換元件進行模/數(shù)轉(zhuǎn)換將模擬量轉(zhuǎn)化為數(shù)字量最后送入單片機中12與AD590不同的是DS18B20數(shù)字溫度傳感器能直接將被測溫度轉(zhuǎn)化成串行數(shù)字信號以供單片機處理既節(jié)省了硬件又有效避免了模擬方式的干擾問題它還具有微型化、低功耗、高性能、等優(yōu)點通過編程DS18B20可以實現(xiàn)912位溫度讀數(shù)信息經(jīng)過單線接口送入DS18B20或從

34、DS18B20送出因此從單片機到DS18B20僅需要連接一條線讀、寫和完成溫度變換所需的電源可由數(shù)據(jù)線本身提供而無需外部電源測量范圍為-55+125通過編程用戶還以自行設定告警上下限溫度告警尋找命令可以識別和尋址那些溫度超出預設告警界限的器件 DS18B20簡介 DS18B20是美國Dallas公司生產(chǎn)的基于單線(1-wire)技術的數(shù)字溫度傳感器芯片圖3.4 DS18B20引腳分布圖每片DS18B20在出廠時都設有唯一的產(chǎn)品序列號此序列號存放在它的內(nèi)部ROM中微處理器通過簡單協(xié)議就能識別這些序列號因此多個DS18B20可以掛接于同一條單總線上這允許在許多不同的地方放置溫度傳感器

35、特別適合于構(gòu)成多點溫度測控系統(tǒng)所以DS18B20多應用與HVAC環(huán)境控制建筑物、設備或機械內(nèi)的溫度檢測以及過程監(jiān)視和控制中的溫度檢測表3.5 DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳;開漏單總線接口引腳;當被用在寄生電源下也可以向器件提供電源3VDD可選擇的VDD引腳;當工作于寄生電源時此引腳必須接地 DS18B20內(nèi)部結(jié)構(gòu)主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器圖3.5 DS18B20內(nèi)部結(jié)構(gòu)圖配置寄存器為高速暫存存儲器中的第5個字節(jié)DS18B20在工作時按此寄存器中的分辨率將溫度轉(zhuǎn)

36、換成相應精度的數(shù)值其中TM為測試模式標志位出廠時被寫入0不能改變;R0、R1是溫度計分辨率設置位表3.6 DS18B20配置寄存器結(jié)構(gòu)表BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0TMR1R011111MSB LSB出廠時R0、R1被置為1默認設置是12位分辨率用戶可根據(jù)需要給寫配置寄存器以獲得合適的分辨率表3.7 配置寄存器與分辨率關系表R0R1溫度計分辨率/bit最大轉(zhuǎn)換時間/ms00993.750110187.5010113751112750溫度信息的低位、高位字節(jié)內(nèi)容還包括了符號位S(是正溫度還是負溫度)和二進制小數(shù)部分圖3.6 DS18B20溫度值格式表如果配置為

37、低分辨率則其中無意義位為0在DS18B20完成溫度變換之后溫度值與存儲在TH和TL內(nèi)的告警觸發(fā)值相比較由于這些是8位寄存器所以912位在比較時忽略TH或TL的高位直接對應于16位溫度寄存器的符號位如果溫度測量的結(jié)果高于TH或低于TL那么器件內(nèi)告警標志將置位每次溫度測量都會更新此標志位只要告警標志置位DS18B20就將響應告警搜索命令這也就允許單線上多個DS18B20同時進行溫度測量即使某處溫度越限也可以識別出正在告警的器件特別需要注意的是這決定了指令的運行時間在軟件設計中將根據(jù)此指令運行時間編寫各種延時程序133.2 電子時鐘硬件電路設計電子鬧鐘至少要包括秒信號發(fā)生器、時間顯示電路、按鍵電路、

38、供電電源、鬧鈴指示電路等幾部分另外本設計要求該電子鐘能夠采集環(huán)境溫度所以還需要溫度采集芯片該系統(tǒng)使用AT89C51單片機作為核心通過讀取時鐘日歷芯片DS1302和溫度傳感器DS18B20的數(shù)據(jù)完成電子鐘的主要功能-時鐘/日歷和環(huán)境溫度采集使用比較通用的8段共陰數(shù)碼管做7位顯示分別顯示時/年分/月秒/日及環(huán)境溫度值圖3.7 多功能電子時鐘硬件系統(tǒng)框圖鍵盤是為了完成時鐘/日歷的校對和日歷/溫度的顯示功能由于此電子時鐘要求具有鬧鈴功能所以設計有鬧鈴電路進行聲音響鈴整個電路使用了兩種電源+5V電源將為整個電路供電而+3V電源僅作為DS1302的備用電源當+5V電源被切斷后DS1302啟用+3V電源可以

39、保持DS1302繼續(xù)工作當+5V電源恢復供電LED依舊顯示當前時間而不會因為斷電使系統(tǒng)復位到初始化時間避免了重新校時的麻煩3.2.1 時鐘電路設計系統(tǒng)時鐘應用了實時時鐘日歷芯片DS1302該硬件電路設計簡單抗干擾能力強如圖上電后DS1302采用雙電源供電平時由+5V電源供電當+5V掉電之后由圖中BT1(+3V備用電池)供電特別需要注意X1和X2兩端連接的晶振Y1圖3.8 系統(tǒng)時鐘電路3.2.2 環(huán)境溫度采集電路設計本設計中使用DS18B20溫度傳感器進行環(huán)境溫度采集和轉(zhuǎn)化作為數(shù)據(jù)的讀入和寫出口電阻R11作為DS18B20的I/O口的上拉電阻在讀時隙結(jié)束時I/O引腳將通過此上拉電阻拉回至高電平1

40、3圖3.9 系統(tǒng)環(huán)境溫度采集電路3.2.3 顯示電路就時鐘而言通??刹捎肔CD顯示或LED顯示對于一般的段式LCD需要專門的驅(qū)動電路而且LCD顯示的可視性較差;對于具有驅(qū)動電路和微處理器接口的液晶顯示模塊(字符或點陣)一般采用并行接口對微處理器的接口要求較高占用資源多另外AT89C51本身沒有專門的液晶驅(qū)動接口LED結(jié)構(gòu)簡單體積小功耗低響應速度快易于匹配壽命長可靠性高而且顯示亮度高價格便宜市場上也有專門的時鐘顯示組合LED故本設計中應用7位8段共陰LED實現(xiàn)顯示部分LED顯示分動態(tài)顯示和靜態(tài)顯示:動態(tài)顯示方式的硬件電路簡單但設計上如果處理不當易造成亮度低閃爍問題因此合理的設計既應保證驅(qū)動電路易

41、實現(xiàn)又要保證圖像穩(wěn)定無閃爍動態(tài)顯示采用多路復用技術的動態(tài)掃描顯示方式復用的程度不是無限增加的 因為利用動態(tài)掃描顯示使我們看到一幅穩(wěn)定畫面的實質(zhì)是利用了人眼的暫留效應和發(fā)光二極管發(fā)光時間的長短發(fā)光的亮度等因素靜態(tài)顯示是由微型計算機一次輸出顯示模型后就能保持該顯示結(jié)果直到下次發(fā)送新的顯示模型為止靜態(tài)顯示驅(qū)動程序簡單且CPU占用率低但每個LED數(shù)碼管需要一個鎖存器來鎖存每一個顯示位的筆段代碼硬件開銷大僅適合顯示位數(shù)較少的場合為了在顯示部分節(jié)省單片機I/O口故采用靜態(tài)顯示方式74LS164是8位移位寄存器應用該芯片驅(qū)動LED做顯示部分其優(yōu)點在于連線簡單節(jié)省單片機I/O口軟件編程容易關于74LS164的

42、具體編程方法請參見第四章4.2.5顯示子程序設計部分1415圖3.10 顯示面板LED分布圖 3.2.4 按鍵電路設計根據(jù)功能需要本時鐘需要設置以下功能鍵:校對選擇鍵加1操作鍵減1操作鍵顯示日期鍵顯示溫度鍵鬧鈴開關鍵按照鍵盤與CPU的連接方式可分為獨立式鍵盤和矩陣式鍵盤獨立式鍵盤是各個按鍵相互獨立每個按鍵占用一個I/O口線每根I/O口線上的按鍵不會影響其他I/O口上按鍵工作狀態(tài)獨立式鍵盤電路配置靈活軟件結(jié)構(gòu)簡單但每個按鍵必須占用一根I/O口在按鍵數(shù)量較多時I/O口線浪費較大且電路結(jié)構(gòu)復雜矩陣式鍵盤適合按鍵較多時使用由于本設計的電子鐘最多需要7個按鍵若采用矩陣式鍵盤時會有按鍵浪費故采用的是獨立式

43、鍵盤對于內(nèi)置了上拉電阻的I/O引腳來說外接上拉電阻沒有意義1516圖3.11 鍵盤電路其中K1、K2、K7為帶自鎖按鍵每次按下后從高電平被拉至低電平只有再次按下按鍵彈出與之連接的單片機管腳才會重新被拉回高電平K3、K4、K5、K6鍵為自動復位按鍵每次按下后會自動彈出單片機管腳只有在按鍵按下時為低電平按鍵彈出后重新恢復高電平表3.8 按鍵功能表按鍵鍵名功能屬性K1Calendar顯示日歷自鎖K2T顯示溫度自鎖K3FUN功能選擇自動復位K4UP數(shù)值加一操作自動復位K5DOWN數(shù)值減一操作自動復位K6Enter/Snooze確認鍵/貪睡自動復位K7Alarm鬧鈴開關自鎖按鍵操作說明如下:K1鍵:該鍵

44、為帶自鎖按鍵在正常顯示時間狀態(tài)下每次將按鍵按下 LED數(shù)碼管將顯示日期;再次按下按鍵彈出重新顯示時間K2鍵:該鍵為帶自鎖按鍵在正常顯示時間狀態(tài)下每次將按鍵按下LED數(shù)碼管將顯示環(huán)境溫度;再次按下按鍵彈出重新顯示時間K3鍵:該鍵為自動復位鍵在正常顯示時間狀態(tài)下第一次按下后開始校對小時以后每次按下都會分別進入對分、秒、鬧鈴時、鬧鈴分、年、月、日的校對狀態(tài)K4鍵:該鍵為自動復位鍵在校對狀態(tài)下每次按動該鍵都會使相應校對位進行加1操作例如:校對小時狀態(tài)每按一下小時位加1當加至小時最高值23時再按K4鍵小時位回0調(diào)分、秒、年、月、日與皆之相同只是各位最高值不同K5鍵:該鍵為自動復位鍵與K4鍵類似不同之處是

45、該鍵每次按下將使相應校對位進行減1操作K6鍵:該鍵為自動復位鍵在校對狀態(tài)下按下該鍵從校對狀態(tài)返回時間顯示狀態(tài);在響鈴狀態(tài)下按下該鍵鬧鈴進入貪睡狀態(tài)K7鍵:該鍵為帶自鎖按鍵按下后鬧鈴開啟彈出后鬧鈴關閉3.2.5 鬧鈴電路設計鬧鈴音樂可以直接采用蜂鳴器鬧鈴如當前時刻與鬧鈴時間相同單片機向蜂鳴器送出高電平蜂鳴器發(fā)聲采用蜂鳴器鬧鈴結(jié)構(gòu)簡單控制方便但是發(fā)出的鬧鈴聲音單一也可以在編程的時候編寫一段音樂程序待鬧鈴時間到時調(diào)用該音樂程序給揚聲器便響起音樂不過該方法只能做一些簡單音樂并且音樂程序會占用很多單片機存儲資源還有一種方法是采用錄音放音芯片1420做鬧鈴先對錄放音設備錄入一段音樂當?shù)皆O定時間時單片機控制

46、錄放音設備放音采用錄放音電路鈴聲可以是預先設定的一段自己喜歡的音樂符合電器設備人性化的要求且1420芯片可以分段錄音還具有語音報時功能另外也可以購置一塊音樂集成電路加置在單片機和蜂鳴器之間當單片機連接鬧鈴電路的管腳送出高電平時音樂集成電路會給蜂鳴器特定脈沖使蜂鳴器發(fā)聲此類集成電路體積較小使用方便不足的是音樂簡單、單一鬧鈴的音樂不是本設計中的重點故采用最簡單的方法S9012的發(fā)射極和集電極導通使蜂鳴器發(fā)聲當響鈴標志位為1時使蜂鳴器U11發(fā)出聲音16圖3.12 鬧鈴電路3.2.6 復位電路設計復位是單片機的初始化操作以便使CPU和系統(tǒng)中其他部件都處于一個確定的初始狀態(tài)并從這個狀態(tài)開始工作除了進入系

47、統(tǒng)的正常初始化之外當單片機系統(tǒng)在運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時也可按復位鍵重新啟動復位后PC內(nèi)容初始化為0000H使單片機從0000H單元開始執(zhí)行程序單片機復位后除了PC之外還對片內(nèi)的特殊功能寄存器有影響單片機復位后不影響內(nèi)部RAM的狀態(tài)1789C51單片機復位信號的輸入端是RST引腳高電平有效其有效時間持續(xù)24個時鐘周期(2個機器周期)以上RST端的外部復位電路有兩種操作方式:上電自動復位和按鍵手動復位上電自動復位是利用電容儲電來實現(xiàn)的如圖3.13(a)所示上電瞬間RC電路充電RST端出現(xiàn)正脈沖隨著充電電流的減少RST的電位逐漸下降按鍵手動復位有電平方式和脈沖方式兩種按鍵電平復位是相

48、當于RST端通過電阻接高電平如圖3.13(b)所示;按鍵脈沖復位利用RC微分電路產(chǎn)生正脈沖如圖3.13(c)所示12出于應用方便本設計采用按鍵電平復位電路實際電路請參見附錄C復位按鍵為K8表3.9 單片機寄存器的復位狀態(tài)表寄存器復位狀態(tài)寄存器復位狀態(tài)PC0000HTCON00HACC00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP1、P3FFHSCON00HIP000000BSBUF不定IE000000BPCON0B(NMOS)TMOD00H00000B(CHMOS)a、上電復位 b、按鍵電平復位 c、按鍵脈沖復位圖3.13 上電復位和按鍵復位電

49、路第四章 電子時鐘軟件設計C51單片機可以應用匯編語言和C語言進行編程匯編語言與機器指令一一對應所以用匯編語言編寫的程序在單片機里運行起來效率較高C語言程序可讀性高更便于理解本設計使用C語言編程4.1 主程序設計第一次上電系統(tǒng)先進行初始化 LED顯示初始時間14:28:00并開始走時初始日期為2008年5月12日此刻若按K1鍵LED顯示080512單片機依次開始調(diào)用鍵盤掃描子程序、DS1302子程序、DS18B20子程序、鬧鈴子程序經(jīng)過延時返回程序開頭循環(huán)運行圖4.1 多功能電子鐘主程序流程圖4.2 子程序設計4.2.1 實時時鐘日歷子程序設計該程序主要實現(xiàn)對DS1302寫保護、充電對年、月、日、時、分、秒等寄存器的讀寫操作在讀寫操作子程序中都執(zhí)行了關中斷指令因為在串行通信時對時序要求比較高而且在此是用I/O口軟件模擬串行時鐘脈沖所以在通信過程中最好保證傳輸?shù)倪B續(xù)性不要允許中斷圖4.2 實時時鐘日歷子程序流程圖DS1302每次上電時自動處于暫停狀態(tài)必須把秒寄存器的位7置位0時鐘才開始計時如果DS1302一直沒有掉電則不存在此問題在進行寫操作時需要先解除寫保護寄存器的禁止狀態(tài)當用多字節(jié)模式進行操作時必須寫夠8字節(jié)184.2.2 環(huán)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論