可調(diào)電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第1頁(yè)
可調(diào)電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第2頁(yè)
可調(diào)電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第3頁(yè)
可調(diào)電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第4頁(yè)
可調(diào)電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

編號(hào) 2010311124 畢 業(yè) 設(shè) 計(jì)( 2014 屆本科) 設(shè)計(jì)題目: 可調(diào)電子時(shí)鐘的設(shè)計(jì) 學(xué) 院: 電氣工程學(xué)院 專 業(yè): 電子信息工程 班 級(jí): 10級(jí)電信班 作者姓名: 楊小林 指導(dǎo)教師: 雷繼海 職稱: 研究生 完成日期: 2014 年 4 月 12 日 隴東學(xué)院本科生畢業(yè)設(shè)計(jì)誠(chéng)信聲明(1)可調(diào)電子時(shí)鐘的設(shè)計(jì)(1)摘 要(1)abstract(1)1 引 言(1)2 功能要求(2)3 方案論證與設(shè)計(jì)(2)3.1 單片機(jī)芯片的選擇方案和論證(2)3.2 顯示模塊選擇方案和論證(2)3.3 時(shí)鐘芯片的選擇方案和論證(3)3.4 溫度傳感器的選擇方案與論證(3)3.5 鍵盤電路的選擇方案與論證(3)3.6 電路設(shè)計(jì)最終方案決定(4)4 系統(tǒng)總體結(jié)構(gòu)框圖(4)5 系統(tǒng)硬件的設(shè)計(jì)(4)5.1 系統(tǒng)硬件概述(5)5.2 主控芯片at89s52(5)5.2.1 at89s52單片機(jī)引腳功能(6)5.2.2 at89s52單片機(jī)硬件結(jié)構(gòu)的特點(diǎn)(7)5.2.3 at89s52單片機(jī)的硬件原理(8)5.3 時(shí)鐘電路ds1302(10)5.3.1 ds1302芯片介紹(10)5.3.2 ds1302 的應(yīng)用(13)5.4 溫度采集電路ds18b02(14)5.4.1 ds18b20的主要特性(14)5.4.2 ds18b20的電路連接(15)5.5 調(diào)時(shí)按鍵設(shè)計(jì)(15)5.6 顯示模塊的設(shè)計(jì)(16)5.6.1 lcd1602的基本參數(shù)及引腳功能(16)5.6.2 lcd1602的指令說(shuō)明及時(shí)序(18)5.6.3 lcd1602的電路連接(20)6 系統(tǒng)軟件的設(shè)計(jì)(20)6.1系統(tǒng)總流程圖的設(shè)計(jì)(20)6.2陽(yáng)歷程序流程圖(21)6.3 時(shí)間調(diào)整程序流程圖(22)6.4 ds1302時(shí)鐘程序流程圖(23)6.5 溫度顯示程序流程圖(24)6.6 lcd1602顯示程序流程圖(25)7總結(jié)(26)參考文獻(xiàn)(27)致 謝(28) 隴東學(xué)院本科生畢業(yè)設(shè)計(jì)誠(chéng)信聲明本人鄭重聲明:所呈交的本科畢業(yè)設(shè)計(jì),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(jì)不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。作者簽名: 二 o 一 年 月 日 28可調(diào)電子時(shí)鐘的設(shè)計(jì)楊小林, 雷繼海(隴東學(xué)院 電氣工程學(xué)院,甘肅 慶陽(yáng) 745000) 摘 要:電子時(shí)鐘是單片機(jī)系統(tǒng)的一個(gè)應(yīng)用,由硬件和軟件相配合使用。本文是通過(guò)對(duì)單片機(jī)的控制能實(shí)現(xiàn)日歷功能電子時(shí)鐘的設(shè)計(jì),從而達(dá)到學(xué)習(xí)、了解單片機(jī)相關(guān)指令在各方面的應(yīng)用。硬件由主控器、時(shí)鐘電路、溫度檢測(cè)電路、顯示電路、鍵盤接口電路5個(gè)模塊組成。主控模塊用at89c52、時(shí)鐘電路用時(shí)鐘芯片ds1302、顯示模塊用lcd液晶屏、溫度檢測(cè)采用ds18b20溫度傳感器、鍵盤接口電路用普通按鍵完成;軟件利用c語(yǔ)言編程實(shí)現(xiàn)單片機(jī)的控制功能。單片機(jī)通過(guò)時(shí)鐘芯片ds1302獲取時(shí)間數(shù)據(jù),ds18b20采集溫度信號(hào)送該給單片機(jī)處理,單片機(jī)再把時(shí)間數(shù)據(jù)和溫度數(shù)據(jù)送給lcd液晶顯示屏顯示陽(yáng)歷年、月、日、時(shí)、秒、星期以及溫度。 關(guān)鍵詞:電子時(shí)鐘;單片機(jī);溫度傳感器;lcd液晶顯示 the design of the adjustable electronic clock yang xiao-lin, lei ji-hai (electrical engineering college,longdong university,qingyang 745000,gansu,china) abstract: electronic clock is an application of the single-chip microcomputer system, used by combination of hardware and software. this article is based on single chip microcomputer control can realize the calendar function the design of the electronic clock, so as to learn and understand scm related instruction in all aspects of the application. hardware consists of the host controller, the clock circuit, temperature detection circuit, display circuit, keyboard interface circuit of five modules. master control module with at89c52, punching a time clock chip ds1302 clock circuit, with lcd display module, temperature detection using ds18b20 temperature sensor, keyboard interface circuit using ordinary buttons; software using c language programming to realize single chip microcomputer control function. single-chip computer time data accessed by the clock chip ds1302, ds18b20 collecting temperature signal send mcu processing, the single chip microcomputer to give the time and temperature data to the lcd liquid crystal display shows the gregorian calendar year, month, day, and, second, week and temperature.key words: electronic clock;microcontroller;temperature sensor;lcd liquid crystal display 1 引 言 在日新月異的21世紀(jì)里,家用電子產(chǎn)品得到了迅速發(fā)展。許多家電設(shè)備都趨于人性化、智能化,這些電器設(shè)備大部分都含有微控制器。單片機(jī)以其高可靠性、高性價(jià)比、低電壓、低功耗等一系列優(yōu)點(diǎn),近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應(yīng)用于工業(yè)控制系統(tǒng)、通訊設(shè)備、日常消費(fèi)類產(chǎn)品和玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個(gè)環(huán)節(jié)以及人民生活的各個(gè)方面,如車間流水線控制、自動(dòng)化系統(tǒng)、智能型家用電器(冰箱、空調(diào)、彩電)等。用單片機(jī)來(lái)控制的小型家電產(chǎn)品具有便攜實(shí)用,操作簡(jiǎn)單的特點(diǎn)。其中電子時(shí)鐘是一種應(yīng)用非常廣泛的日常計(jì)時(shí)工具,數(shù)字顯示的電子鐘已經(jīng)越來(lái)越流行,特別是適合在家庭居室、辦公室、大廳、會(huì)議室、車站和廣場(chǎng)等使用。為此設(shè)計(jì)了一種功能全面、計(jì)時(shí)準(zhǔn)確、成本低廉的基于51單片機(jī)的數(shù)字時(shí)鐘。2 功能要求 電子時(shí)鐘可用lcd液晶屏顯示陽(yáng)歷年、月、日以及星期和時(shí)、分、秒。 對(duì)日期、時(shí)間以及星期有校準(zhǔn)功能。 數(shù)字式溫度計(jì)要求測(cè)溫范圍-2050, lcd液晶屏直讀顯示。3 方案論證與設(shè)計(jì)3.1 單片機(jī)芯片的選擇方案和論證方案一: 采用89c51芯片作為硬件核心。采用flash rom,內(nèi)部具有4kb rom 存儲(chǔ)空間,能以3v的超低壓工作;而且與mcs-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備isp在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。方案二: 采用at89s52。片內(nèi)rom全都采用flash rom;能以3v的超底壓工作。同時(shí)也兼容mcs-51指令系統(tǒng),8k可反復(fù)擦寫isp flash rom;同樣具有89c51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。所以選擇采用at89s52作為主控制系統(tǒng)。3.2 顯示模塊選擇方案和論證方案一: 采用led數(shù)碼管顯示。led數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字較為合適,一個(gè)人數(shù)碼管可以顯示一位數(shù)字,但是當(dāng)要顯示位數(shù)比較多的時(shí)候,數(shù)碼管操作起來(lái)十分繁瑣;并且當(dāng)硬件電路設(shè)計(jì)好之后,系統(tǒng)顯示能力也基本確定,系統(tǒng)顯示能力的拓展受到限制。所以不用此種作為顯示。方案二: 采用點(diǎn)陣式數(shù)碼管顯示。點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,用于顯示數(shù)字顯得比較浪費(fèi),且價(jià)格也相對(duì)較高,所以在此也不用此種作為顯示。方案三: 采用1602液晶顯示屏。該液晶顯示屏的顯示功能強(qiáng)大,內(nèi)置192種字符,可顯示大量符號(hào)、數(shù)字清晰可見,而且功率消耗小壽命長(zhǎng)抗干擾能力強(qiáng)。所以在此設(shè)計(jì)中采用1602液晶顯示屏。3.3 時(shí)鐘芯片的選擇方案和論證方案一: 直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào)。使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是編程任務(wù)繁重,時(shí)間誤差較大。所以不采用此方案。方案二: 采用ds1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘。ds1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,318位的ram做為數(shù)據(jù)暫存區(qū),工作電壓2.5v5.5v范圍內(nèi),2.5v時(shí)耗電小于300na。所以本設(shè)計(jì)采用ds1302時(shí)鐘芯片。3.4 溫度傳感器的選擇方案與論證方案一: 使用熱敏電阻作為傳感器。用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行a/d轉(zhuǎn)換。此設(shè)計(jì)方案需用a/d轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會(huì)產(chǎn)生較大的測(cè)量誤差。方案二: 與前面相比,采用美國(guó)dallas半導(dǎo)體公司繼ds1820之后推出的一種改進(jìn)型智能溫度傳感器ds18b20作為檢測(cè)元件,測(cè)溫范圍為-55125,最大分辨率可達(dá)0.0625。ds18b20可以直接讀出被測(cè)溫度值,而且采用3線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。因此本設(shè)計(jì)選用ds18b20溫度傳感器。3.5 鍵盤電路的選擇方案與論證 在對(duì)日期和時(shí)間進(jìn)行調(diào)節(jié)校準(zhǔn)過(guò)程中,系統(tǒng)需要檢測(cè)高低電平,因此需要用按鍵。方案一: 使用獨(dú)立式鍵盤。獨(dú)立式鍵盤是指直接用i/o口線構(gòu)成的單個(gè)按鍵電路。獨(dú)立式按鍵電路配置靈活,軟件編程簡(jiǎn)單。方案二: 使用矩陣式鍵盤。矩陣式鍵盤是由行線和列線組成,按鍵位于行、列交叉點(diǎn)上,行線、列線分別連接到按鍵開關(guān)的兩端,其特點(diǎn)是簡(jiǎn)單且不增加成本,這種按鍵適合按鍵數(shù)較多的場(chǎng)合。 根據(jù)以上的論述,因本系統(tǒng)需要的按鍵不多,要求簡(jiǎn)單。因此采用方案一,選用獨(dú)立式鍵盤。3.6 電路設(shè)計(jì)最終方案決定 綜上各方案所述,對(duì)此設(shè)計(jì)品的方案選定:采用stc89c52作為主控制芯片,ds1302時(shí)鐘芯片計(jì)時(shí),ds18b20采集溫度,獨(dú)立式鍵盤用于校準(zhǔn),lcd1602作為顯示模塊。4 系統(tǒng)總體結(jié)構(gòu)框圖 按照系統(tǒng)設(shè)計(jì)功能的要求,初步確定設(shè)計(jì)系統(tǒng)由主控模塊、時(shí)鐘模塊、鍵盤接口模塊、顯示模塊和溫度采集模塊共5個(gè)模塊組成,電路系統(tǒng)構(gòu)成框圖如圖4-1所示。 at89s52 主控制模塊鍵盤模塊lcd液晶顯示模塊溫度采集模塊ds1302時(shí)鐘模塊 圖4-1系統(tǒng)結(jié)構(gòu)框圖 在本設(shè)計(jì)中,以按鍵作為輸入裝置,lcd液晶顯示屏作為顯示裝置,各按鍵的功能為:s1鍵:p3.2口 設(shè)置鍵 s2鍵:p3.3口 上調(diào)鍵 s3?。簆3.4口 下調(diào)鍵5 系統(tǒng)硬件的設(shè)計(jì)5.1 系統(tǒng)硬件概述 本電路是以at89s52單片機(jī)為控制核心,該芯片具有在線編程功能,功耗低,能在3.3v的超低壓下工作。時(shí)鐘芯片使用美國(guó)dallas公司推出的一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘芯片ds1302,ds1302作為主要計(jì)時(shí)芯片,具有使用壽命長(zhǎng),精度高和功耗低等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能,可以對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,其工作電壓為2.5v5.5v;溫度檢測(cè)模塊由ds18b20構(gòu)成,它采用獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊,具有測(cè)量精度高、測(cè)量范圍廣等優(yōu)點(diǎn),其測(cè)溫范圍在-55+125,工作電壓為3v5.5v;顯示部份使用lcd1602液晶顯示屏來(lái)實(shí)現(xiàn),該顯示屏具有低功耗、壽命長(zhǎng)、可靠性高的特點(diǎn),其工作電壓為5v。5.2 主控芯片at89s52 at89s52 是一種低功耗、高性能cmos 8位微控制器,具有8k在系統(tǒng)可編程存儲(chǔ)器。使用atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51產(chǎn)品指令和引腳完全兼容。片上flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash ,使得at89s52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52具有以下標(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級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,at89s52可降至0hz靜態(tài)邏輯操作,支持2 種軟件可選擇節(jié)電模式。空閑模式下,cpu停止工作,允許ram 、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。圖5-1 at89s52的引腳5.2.1 at89s52單片機(jī)引腳功能 p0口:p0口是一個(gè)8位漏極開路的雙向i/o 口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏輯電平。對(duì)p0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。 p1口:p1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o 口,p1 輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl 邏輯電平。對(duì)p1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0 和p1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),在flash編程和校驗(yàn)時(shí),p1口接收低8位地址字節(jié)。 p2口:p2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o 口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl 邏輯電平。對(duì)p2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movx dptr)時(shí),p2口送出高八位地址。在這種應(yīng)用中,p2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri )訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口輸出p2鎖存器的內(nèi)容。 p3口:p3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o 口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl 邏輯電平。對(duì)p3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。 rst:復(fù)位輸入。晶振工作時(shí),rst腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位6??撮T狗計(jì)時(shí)完成后,rst腳輸出96個(gè)晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto 位可以使此功能無(wú)效。disrto 默認(rèn)狀態(tài)下,復(fù)位高電平有效。 ale/prog:地址鎖存控制信號(hào)(ale)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(prog)也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ale脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8eh的sfr的第0 位置“1”,ale操作將無(wú)效。這一位置“1”,ale僅在執(zhí)行movx或movc指令時(shí)有效。 psen:外部程序存儲(chǔ)器選通信號(hào)(psen)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)at89s52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),psen在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),psen將不被激活。 ea/vpp:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000h 到ffffh 的外部程序存儲(chǔ)器讀取指令,ea必須接gnd。為了執(zhí)行內(nèi)部程序指令,ea 應(yīng)該接vcc。在flash編程期間,ea 也接收12伏vpp電壓。5.2.2 at89s52單片機(jī)硬件結(jié)構(gòu)的特點(diǎn) mcs-51單片機(jī)硬件結(jié)構(gòu)有如下一些主要特點(diǎn): 內(nèi)部程序存儲(chǔ)器(rom)和內(nèi)部數(shù)據(jù)存儲(chǔ)器(ram)容量 cs-51單片機(jī)的內(nèi)部rom和內(nèi)部ram的容量如表5-1所示:表5-1 mcs-51單片機(jī)存儲(chǔ)器容量存儲(chǔ)器類型單片機(jī)類型掩模romepromrammcs-5151子系列8031/128b80514kb/128b8751/4kb128b52子系列8032/256b80528kb/256b 輸入/輸出(i/o)口 mcs-51單片機(jī)內(nèi)的i/o口的數(shù)量和種類較多且齊全,尤其是它有一個(gè)全雙工的串行口。該串口是利用兩根i/o口線構(gòu)成的,有四種工作方式,可通過(guò)編程選定,mcs-51有32根i/o口線,而mcs-48只有27根。 外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器尋址空間 mcs-51可對(duì)64kb的外部數(shù)據(jù)存儲(chǔ)器尋址且不受該系列中各種芯片型號(hào)的影響,而對(duì)程序存儲(chǔ)器是內(nèi)外總空間為64kb,根據(jù)不同的芯片型號(hào),mcs-51外部程序存儲(chǔ)器最大尋址范圍為64kb。 中斷與堆棧 mcs-51有5個(gè)中斷源(對(duì)8032/8052為6個(gè)),分為2個(gè)優(yōu)先級(jí),每個(gè)中斷源的優(yōu)先級(jí)是可編程的。它的堆棧位置也是可編程的,堆棧深度可達(dá)128字節(jié)。而mcs-48只有不分優(yōu)先級(jí)的2個(gè)中斷源,且堆棧設(shè)置在片內(nèi)ram的16個(gè)字節(jié)的固定單元內(nèi)。 定時(shí)/計(jì)數(shù)器與寄存器區(qū) mcs-51子系列有2個(gè)16位定時(shí)/計(jì)數(shù)器,通過(guò)編程可以實(shí)現(xiàn)四種工作模式。mcs-52子系列則有3個(gè)16位定時(shí)/計(jì)數(shù)器,而mcs-48只有一個(gè)8位定時(shí)/計(jì)數(shù)器;mcs-51在內(nèi)部ram中開設(shè)了四個(gè)通用工作寄存器區(qū),共32個(gè)通用寄存器,以適應(yīng)多種中斷或子程序嵌套的要求。而mcs-48的內(nèi)部ram中只有兩個(gè)通用工作寄存器區(qū),每個(gè)寄存器區(qū)包含8個(gè)8位寄存器。5.2.3 at89s52單片機(jī)的硬件原理 如圖5-2所示,圖為單片機(jī)的基本外圍電路。20管腳接地,40管腳接+5v電源,為單片機(jī)工作提供電源。18及19管腳接晶振,為單片機(jī)提供時(shí)鐘信號(hào),晶振為11.0592mhz。晶振的振蕩頻率越高,系統(tǒng)的時(shí)鐘頻率越高,單片機(jī)工作的速度也越高。對(duì)于液晶顯示電路的設(shè)計(jì),需要單片機(jī)有較高的工作效率,所以選擇比較高頻率的晶振,從而提高液晶屏幕的刷新速率,獲得更加連貫、流暢的圖像顯示。根據(jù)需要還可以加上復(fù)位電路,復(fù)位是單片機(jī)的初始化操作?;蛘弋?dāng)單片機(jī)程序運(yùn)行出錯(cuò)導(dǎo)致死鎖狀態(tài)的時(shí)候,為擺脫困境,也需要按復(fù)位鍵以重新啟。 圖5-2 at89s52單片機(jī)基本外圍電路單片機(jī)最小系統(tǒng)復(fù)位、晶振電路簡(jiǎn)介:1、復(fù)位電路的設(shè)計(jì) 復(fù)位電路是使單片機(jī)的cpu或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從這一狀態(tài)開始工作。(1)單片機(jī)常見的復(fù)位電路 通常單片機(jī)復(fù)位電路有兩種:上電復(fù)位電路,按鍵復(fù)位電路6。上電復(fù)位電路:上電復(fù)位是單片機(jī)上電時(shí)復(fù)位操作,保證單片機(jī)上電后立即進(jìn)入規(guī)定的復(fù)位狀態(tài)。它利用的是電容充電的原理來(lái)實(shí)現(xiàn)的。按鍵復(fù)位電路:它不僅具有上電復(fù)位電路的功能,同時(shí)它的操作比上電復(fù)位電路的操作要簡(jiǎn)單的多。如果要實(shí)現(xiàn)復(fù)位的話,只要按下reset鍵即可。在此設(shè)計(jì)中,采用的按鍵復(fù)位電路。按鍵復(fù)位電路如圖5-3所示。 圖5-3復(fù)位電路(2)復(fù)位電路工作原理 上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間reset引腳獲得高電平,隨著電容的充電,rerst引腳的高電平將逐漸下降,rerst引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。上電與按鍵均有效的復(fù)位電路不僅在上電時(shí)可以自動(dòng)復(fù)位,而且在單片機(jī)運(yùn)行期間,利用按鍵也可以完成復(fù)位操作6。2、晶振電路的設(shè)計(jì) 晶振電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地工作。 通常在引腳xtall和xtal2跨接石英晶體和兩個(gè)補(bǔ)償電容構(gòu)成自激振蕩器,如圖5-4所示??梢愿鶕?jù)情況選擇6mhz、12mhz或24mhz等頻率的石英晶體,補(bǔ)償電容通常選擇30pf左右的瓷片電容。 圖5-4 時(shí)鐘振蕩電路5.3 時(shí)鐘電路ds13025.3.1 ds1302芯片介紹 低功耗時(shí)鐘芯片ds1302可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。ds1302用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這種記錄對(duì)長(zhǎng)時(shí)間的連續(xù)測(cè)控系統(tǒng)結(jié)果的分析以及對(duì)異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。 采用ds1302作為記錄測(cè)控系統(tǒng)中的數(shù)據(jù)記錄,其軟硬件設(shè)計(jì)簡(jiǎn)單,時(shí)間記錄準(zhǔn)確,既避免了連續(xù)記錄的大工作量,又避免了定時(shí)記錄的盲目性,給連續(xù)長(zhǎng)時(shí)間的測(cè)量、控制系統(tǒng)的正常運(yùn)行及檢查帶來(lái)了很大的方便,可廣泛應(yīng)用于長(zhǎng)時(shí)間連續(xù)的測(cè)控系統(tǒng)中。在測(cè)量控制系統(tǒng)中,特別是長(zhǎng)時(shí)間無(wú)人職守的測(cè)控系統(tǒng)中,經(jīng)常需要記錄某些具有特殊意義的數(shù)據(jù)及其出現(xiàn)的時(shí)間。記錄及分析這些特殊意義的數(shù)據(jù),對(duì)測(cè)控系統(tǒng)的性能分析及正常運(yùn)行具有重要的意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時(shí)采樣或定時(shí)采樣,沒(méi)有具體的時(shí)間記錄,因此只能記錄數(shù)據(jù)而無(wú)法準(zhǔn)確記錄其出現(xiàn)的時(shí)間;若采用單片機(jī)計(jì)時(shí),一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測(cè)控系統(tǒng)可能不允許。而在系統(tǒng)中采用ds1302則能很好地解決這個(gè)問(wèn)題。(1) ds1302的性能特性 實(shí)時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、周、月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù); 用于高速數(shù)據(jù)暫存的318位ram; 最少引腳的串行i/o; 2.55.5v電壓工作范圍; 2.5v時(shí)耗電小于300na; 用于時(shí)鐘或ram數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式; 簡(jiǎn)單的3線接口; 可選的慢速充電(至vcc1)的能力。 ds1302時(shí)鐘芯片包括實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)的靜態(tài)ram,它經(jīng)過(guò)一個(gè)簡(jiǎn)單的串行接口與微處理器通信,實(shí)時(shí)時(shí)鐘/日歷提供秒、分、時(shí)、日、周、月和年等信息。對(duì)于小于31天的月和月末的日期自動(dòng)進(jìn)行調(diào)整,還包括閏年校正的功能。時(shí)鐘的運(yùn)行可以采用24h或帶am(上午)/pm(下午)的12h格式。采用三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或ram數(shù)據(jù)。ds1302有主電源/后備電源雙電源引腳:vcc1 在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電池備份;vcc2在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式中,vcc1 連接到備份電源,以便在沒(méi)有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。ds1302由vcc1或vcc2中較大者供電。當(dāng)vcc2大于vcc1+0.2v時(shí),vcc2給ds1302供電;當(dāng)vcc2小于vcc1時(shí),ds1302由vcc1供電。(2) ds1302數(shù)據(jù)操作原理 ds1302在任何數(shù)據(jù)傳送時(shí)必須先初始化,把rst腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在sclk的上升沿串行輸入,前8位指定訪問(wèn)地址,把命令字節(jié)裝入移位寄存器之后,在之后的時(shí)鐘周期,在讀操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8加8(8位地址加8位數(shù)據(jù));在多字節(jié)方式下為8加字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。 圖5-5 ds1302管腳圖 如果在傳送過(guò)程中置rst為低電平,則會(huì)終止本次數(shù)據(jù)傳送,并且i/o引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在vcc2.5v之前,rst腳必須保持低電平。只有在sclk為低電平時(shí),才能將rst置為高電平。ds1302的管腳圖如圖5-5所示,表5-2為各引腳的功能。表5-2 ds1302引腳功能表引腳號(hào)引腳名稱功能1vcc2主電源2,3x1,x2振蕩源,外接32768hz晶振4gnd地線5rst復(fù)位/片選線6i/o串行數(shù)據(jù)輸入/輸出端(雙向)7sclk串行數(shù)據(jù)輸入端8vcc1后備電源 ds1302的控制字如表5-3所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到ds1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1表示存取ram數(shù)據(jù)。位51(a4a0)指示操作單元的地址。最低有效位(位0)如為0,表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。7 6 5 4 3 2 1 01ram cka4a3a2a1a0ram k 表5-3 控制字節(jié)的含義 控制字總是從最低位開始輸出。在控制字指令輸入后的下一個(gè)sclk時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入ds1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個(gè)sclk脈沖的下降沿,讀出ds1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最到位。數(shù)據(jù)讀寫時(shí)序如圖5-6、5-7所示。 圖5-6單字節(jié)讀時(shí)序 圖5-7單字節(jié)寫時(shí)序 ds1302內(nèi)部共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式,其日歷、時(shí)間寄存器及其控制字見表5-4,其中奇數(shù)為讀操作,偶數(shù)為寫操作。表5-4 ds1302的日歷、時(shí)鐘寄存器及其控制字寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作76543210秒寄存器80h81h00-59ch10secsec分鐘寄存器82h83h00-59010minmin小時(shí)寄存器84h85h12或00-2312/24010aphrhr日期寄存器86h87h01-28,29,30,310010datedate月份寄存器88h89h01-12000iommonth周日寄存器8ah8bh01-0700000day年份寄存器8ch8dh00-9910yearyear 時(shí)鐘暫停:秒寄存器的位7定義位時(shí)鐘暫停位。當(dāng)它為1時(shí),ds1302停止振蕩,進(jìn)入低功耗的備份方式。通常在對(duì)ds1302進(jìn)行寫操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序),停止振蕩。當(dāng)它為0時(shí),時(shí)鐘將開始啟動(dòng)。 am-pm/12-24小時(shí)方式:小時(shí)寄存器的位7定義為12或24小時(shí)方式選擇位。它為高電平時(shí),選擇12小時(shí)方式。在此方式下,位5是am/pm位,此位是高電平時(shí)表示pm,低電平表示am,在24小時(shí)方式下,位5為第二個(gè)10小時(shí)位(2023h)。5.3.2 ds1302 的應(yīng)用 實(shí)時(shí)時(shí)鐘芯片ds1302采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768hz晶振。要特別說(shuō)明的是,備用電源bt可以用電池或超級(jí)電容(10萬(wàn)f以上)。雖然ds1302在主電源掉電后耗電很小,但如果要長(zhǎng)時(shí)間保證時(shí)鐘正常,最好選用小型充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天),可以用漏電較小的普通電解電容代替(100f就可以保證1小時(shí)的正常走時(shí))。ds1302在第一次加電后,需進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間。ds1302的時(shí)鐘電路如圖5-8所示。 圖5-8 ds1302時(shí)鐘電路5.4 溫度采集電路ds18b02 數(shù)字溫度傳感器ds18b20是由dalles半導(dǎo)體公司生產(chǎn)的,它具有耐磨耐碰,體積小,使用方便,封裝形式多樣(如圖5-9),適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。 圖5-9 ds18b20的兩種封裝5.4.1 ds18b20的主要特性 適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電12。 獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊12。 ds18b20支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫12。 ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)12。 溫范圍55125,在-10+85時(shí)精度為0.512。 可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫12。 在9位分辨率時(shí)最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快12。 測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力12。 負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀, 但不能正常工作12。5.4.2 ds18b20的電路連接 ds18b20的供電方式有兩種:寄生電源供電方式和外部電源供電方式。本設(shè)計(jì)采用外部電源供電方式(如圖5-10),ds18b20工作電源由vcc引腳接入,此時(shí)i/o線不需要強(qiáng)上拉,不存在電源電流不足的問(wèn)題,可以保證轉(zhuǎn)換精度。外部電源供電方式是ds18b20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。 圖5-10 ds18b20引腳接線 引腳說(shuō)明:gnd為接地引腳;dq為數(shù)據(jù)輸入輸出腳。用于單線操作,漏極開路;vcc接電源正。 5.5 調(diào)時(shí)按鍵設(shè)計(jì) 實(shí)現(xiàn)鍵盤控制的方法有多種,它可以用fpga來(lái)進(jìn)行控制,也可以用單片機(jī)來(lái)進(jìn)行控制。在本系統(tǒng)中,我們采用了單片機(jī)來(lái)進(jìn)行控制,因?yàn)閱纹瑱C(jī)可以很好的解決鍵抖動(dòng)。 由若干個(gè)按鍵組成一個(gè)鍵盤,其電路結(jié)構(gòu)可分為獨(dú)立式鍵盤和矩陣式鍵盤兩種。 獨(dú)立式鍵盤每個(gè)鍵單獨(dú)占用一根i/o口線,每根i/o口線上的按鍵工作狀態(tài)不會(huì)影響其他i/o口線上的狀態(tài),矩陣式鍵盤按鍵排列為行列式矩陣結(jié)構(gòu),也稱行列式鍵盤結(jié)構(gòu)。4行4列共16個(gè)鍵,只占用8根i/o口線,鍵數(shù)目較多,可節(jié)省口線。本設(shè)計(jì)采用的是獨(dú)立式鍵盤。鍵盤的工作方式可分為編程控制方式和中斷控制方式。cpu在一個(gè)工作周期內(nèi),利用完成其他任務(wù)的空余時(shí)間,調(diào)用鍵盤掃描子程序,經(jīng)程序查詢,若無(wú)鍵操作,則返回;若有鍵操作,則進(jìn)而判斷是哪個(gè)鍵,并執(zhí)行相應(yīng)的鍵處理程序。這種方式為編程掃描方式。由于單片機(jī)在正常應(yīng)用過(guò)程中,可能會(huì)經(jīng)常進(jìn)行鍵操作,因而編程控制方式使cpu經(jīng)常處于工作狀態(tài), 在進(jìn)行本次設(shè)計(jì)中,只涉及到了設(shè)置、上調(diào)、下調(diào)三個(gè)功能。因此采用獨(dú)立式鍵盤。如圖5-11所示。 圖5-11 按鍵設(shè)計(jì)5.6 顯示模塊的設(shè)計(jì) 在日常生活中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通用器件,如在計(jì)算器、萬(wàn)用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、led數(shù)碼管、液晶顯示器。發(fā)光管和led數(shù)碼管比較常用,軟硬件都比較簡(jiǎn)單,在前面章節(jié)已經(jīng)介紹過(guò),在此不作介紹,本章重點(diǎn)介紹字符型液晶顯示器的應(yīng)用。 在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn): 顯示質(zhì)量高。由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(crt)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫質(zhì)高且不會(huì)閃爍。 數(shù)字式接口。液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠,操作更加方便。 體積小、重量輕。液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。 功耗低。相對(duì)而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)ic上,因而耗電量比其它顯示器要少得多。5.6.1 lcd1602的基本參數(shù)及引腳功能 lcd1602分為帶背光和不帶背光兩種,基控制器大部分為hd44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差別,兩者尺寸差別如下圖5-12所示:圖5-12 1602lcd尺寸圖lcd1602主要技術(shù)參數(shù):顯示容量:162個(gè)字符芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.954.35(wh)mm引腳功能說(shuō)明: lcd1602采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表5-5所示:表5-5引腳接口說(shuō)明表 編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 1 vss電源地 9 d2數(shù)據(jù) 2 vdd電源正極 10 d3數(shù)據(jù) 3 vl液晶顯示偏壓 11 d4數(shù)據(jù) 4 rs數(shù)據(jù)/命令選擇 12 d5數(shù)據(jù) 5 r/w讀/寫選擇 13 d6數(shù)據(jù) 6 e使能信號(hào) 14 d7數(shù)據(jù) 7 d0數(shù)據(jù) 15 bla背光源正極 8 d1數(shù)據(jù) 16 blk背光源負(fù)極 第1腳:vss為地電源。 第2腳:vdd接5v正電源。 第3腳:vl為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10k的電位器調(diào)整對(duì)比度。 第4腳:rs為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第5腳:r/w為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)rs和r/w共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)rs為低電平r/w為高電平時(shí)可以讀忙信號(hào),當(dāng)rs為高電平r/w為低電平時(shí)可以寫入數(shù)據(jù)。 第6腳:e端為使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第714腳:d0d7為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負(fù)極。5.6.2 lcd1602的指令說(shuō)明及時(shí)序 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表5-6所示: 表5-6:控制命令表序號(hào) 指令rsr/wd7d6d5d4d3d2d1d01 清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001i/ds4顯示開/關(guān)控制0000001dcb5光標(biāo)或字符移位000001s/cr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01bf計(jì)數(shù)器地址10寫數(shù)到cgram或ddram)10要寫的數(shù)據(jù)內(nèi)容11從cgram或ddram讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平) 指令1:清顯示,指令碼01h,光標(biāo)復(fù)位到地址00h位置。 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。 指令3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。 指令4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 c:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 指令6:功能設(shè)置命令 dl:高電平時(shí)為4位總線,低電平時(shí)為8位總線 n:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 f:低電平時(shí)顯示57的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。 指令7:字符發(fā)生器ram地址設(shè)置。 指令8:ddram地址設(shè)置。 指令9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù)。 指令11:讀數(shù)據(jù)。 讀寫操作時(shí)序如圖5-13和5-14所示:圖5-13 讀操作時(shí)序圖5-14 寫操作時(shí)序5.6.3 lcd1602的電路連接 將lcd1602的rs端和p2.4,r/w端和p2.5,e 端和p2.6相連,當(dāng)rs=0時(shí),對(duì)lcd1602寫入指令;當(dāng)rs=1時(shí),對(duì)lcd1602寫入數(shù)據(jù)。當(dāng)r/w端接高電平時(shí)芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫數(shù)據(jù)狀態(tài),e端為使能信號(hào)端。當(dāng)r/w為高電平,,e端也為高電平,rs為低電平時(shí),液晶顯示屏顯示需要顯示的示數(shù)。圖5-15為lcd1602液晶顯示屏與單片機(jī)的硬件連接圖。 圖5-15 lcd液晶與單片機(jī)硬件連線圖6 系統(tǒng)軟件的設(shè)計(jì)6.1系統(tǒng)總流程圖的設(shè)計(jì)系統(tǒng)總流程圖如圖6-1所示。流程圖分析:首先系統(tǒng)初始化,系統(tǒng)開始運(yùn)行,當(dāng)有設(shè)置鍵按下時(shí)進(jìn)入修改時(shí)間模式,無(wú)按鍵按下時(shí)讀取時(shí)間、溫度等數(shù)據(jù)送入液晶屏顯示;在修改時(shí)間模式下設(shè)置時(shí)間完成后再送數(shù)據(jù)到液晶屏顯示。 開始系統(tǒng)初始化n設(shè)置鍵是否按下? y 讀時(shí)間 進(jìn)入修改時(shí)間模式 讀溫度設(shè)置時(shí)間n 設(shè)置完成? y 顯示 圖6-1系統(tǒng)總流程圖6.2陽(yáng)歷程序流程圖 因?yàn)槭褂昧藭r(shí)鐘芯片ds1302,陽(yáng)歷程序只需從ds1302各寄存器中讀出年、周、月、日、時(shí)、分、秒等數(shù)據(jù),再處理即可。在首次對(duì)ds1302進(jìn)行操作之前,必須對(duì)它進(jìn)行初始化,然后從ds1302中讀出數(shù)據(jù),再經(jīng)過(guò)處理后,送給顯示緩沖單元。陽(yáng)歷程序流程圖見圖6-2所示。 開始初始化ds13021302開始振蕩從1302中讀出年、周、月、日、小時(shí)、分、秒將bcd碼高低位分離,送顯示緩沖單元 圖6-2 陽(yáng)歷程序流程圖6.3 時(shí)間調(diào)整程序流程圖 調(diào)整時(shí)間用3個(gè)調(diào)整按鈕,1個(gè)作為移位、控制用,2個(gè)作為加和減用,分別定義為控制按鈕、加按鈕和減按鈕。在調(diào)整時(shí)間過(guò)程中,要調(diào)整的位與別的位應(yīng)該有區(qū)別。所以增加了光標(biāo)閃爍功能,即調(diào)整位的光標(biāo)一直在閃爍,直到調(diào)整下一位。時(shí)間調(diào)整程序流程圖如圖6-3所示??刂奇I有效,進(jìn)入分調(diào)整程序等待按鍵程序加鍵有效分加1控制鍵有效,進(jìn)入時(shí)調(diào)整程序控制鍵有效,進(jìn)入星期調(diào)整成程序控制鍵有效,進(jìn)入日調(diào)整程序控制鍵有效,進(jìn)入月調(diào)整程序控制鍵有效,進(jìn)入年調(diào)整程序等待按鍵程序加鍵有效時(shí)加1等待按鍵程序加鍵有效星期加1等待按鍵程序加鍵有效日加1等待按鍵程序加鍵有效月加1等待按鍵程序加鍵有效年加1控制鍵有效,跳出時(shí)間調(diào)整程序,進(jìn)入主循環(huán)程序 圖6-3 時(shí)間調(diào)整程序流程圖6.4 ds1302時(shí)鐘程序流程圖 時(shí)鐘流程圖如圖6-4所示。流程圖分析:ds1302開始計(jì)時(shí)時(shí),首先進(jìn)行初始化,當(dāng)有中斷信號(hào)時(shí),讀取時(shí)鐘芯片的數(shù)據(jù)送入液晶屏顯示。這時(shí)若有設(shè)置鍵按下時(shí),進(jìn)行時(shí)間修改,完成后將數(shù)據(jù)送入時(shí)鐘芯片;若沒(méi)有按鍵按下,則直接存入eprom,送入液晶屏顯示。 開始 送eprom是否修改當(dāng)前時(shí)間?設(shè)置鍵是 否按下?讀時(shí)鐘芯片送顯示 開中斷 初始化ynn送時(shí)鐘芯片n 圖6-4 時(shí)鐘流程圖 6.5 溫度顯示程序流程圖 溫度讀取流程圖如圖6-5所示。流程圖分析:開始進(jìn)入初始化ds18b20,就是通過(guò)主機(jī)拉低單線產(chǎn)生復(fù)位脈沖然后釋放該線,如果有應(yīng)答脈沖,即發(fā)起rom命令當(dāng)成功的執(zhí)行操作命令后,就使用convert t命令即開始溫度轉(zhuǎn)換,當(dāng)轉(zhuǎn)換

溫馨提示

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

評(píng)論

0/150

提交評(píng)論