(論文)單片機作息時間控制系統(tǒng)設計電子信息工程設計論文(2013年優(yōu)秀畢業(yè)設計論文)_第1頁
(論文)單片機作息時間控制系統(tǒng)設計電子信息工程設計論文(2013年優(yōu)秀畢業(yè)設計論文)_第2頁
(論文)單片機作息時間控制系統(tǒng)設計電子信息工程設計論文(2013年優(yōu)秀畢業(yè)設計論文)_第3頁
(論文)單片機作息時間控制系統(tǒng)設計電子信息工程設計論文(2013年優(yōu)秀畢業(yè)設計論文)_第4頁
(論文)單片機作息時間控制系統(tǒng)設計電子信息工程設計論文(2013年優(yōu)秀畢業(yè)設計論文)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

電子信息工程技術專業(yè)畢業(yè)設計學院畢業(yè)設計說明書題 目:基于單片機的作息時間控制系的設計與實現(xiàn)作 者: 學號: 系 別: 專 業(yè): 電子信息工程 指導教師: 專業(yè)技術職務: 目 錄一、引言-3 1.1單片機的作息時間控制系統(tǒng)設計的目的和意義-3 1.2方案比較-3二、整體設計方框圖-4三、模塊電路設計-53.1單片機核心控制模塊-5 3.2鍵盤模塊-73.3實時時鐘模塊-123.4數(shù)據(jù)存儲模塊-143.5溫度傳感器模塊-3.6紅外模塊-3.7電機模塊-3.8顯示模塊-3.9外圍驅動模塊-四、單片機軟件系統(tǒng)設計-154.1系統(tǒng)實現(xiàn)工作流程-4.2系統(tǒng)流程圖-4.3系統(tǒng)源程序-五、元件明細表-16六、整機電路圖-19 6.1 整體原理圖-196.2 整體PCB圖-206.3整體PCB 3D圖-七、總結與致謝-24八、參考文獻-24一、引言1.1單片機作息時間控制系統(tǒng)設計的目的和意義隨著計算機技術的發(fā)展和在控制系統(tǒng)中的廣泛應用,以及設備向小型化、智能化發(fā)展,作為高新技術之一的單片機以其體積小、功能強、價格低廉、使用靈活等優(yōu)勢,顯示出了很強的生命力。進入21世紀以來,開發(fā)推出單片機的公司很多,各種高性能單片機芯片市場也異?;钴S,新技術的不斷采用,更加使單片機的種類、性能以及應用領域不斷擴大和提高。因其功耗低,超高型,低成本,功能完整,在國內越來越受到用戶的重視和廣泛使用。 本設計是一個具有打鈴、當前環(huán)境溫度顯示、教室燈光、廣播、校門開關的自動控制等功能的作息時間控制系統(tǒng)。同時該系統(tǒng)也是一可調式萬年歷,采用SG12864液晶具有良好的菜單式人機界面更使本系統(tǒng)增色不少。它利用PCF8563實時時鐘芯片計時,進行年歷計算,并用SG12864將當前日期、星期、時間出來;在進行時間計算,分每加一時,都與規(guī)定的作息時間比較,如果相等則進行相應的控制或動作。由單片機核心控制模塊、鍵盤模塊、電機模塊、實時時鐘模塊、紅外模塊、液晶顯示模塊、溫度傳感器模塊、數(shù)據(jù)存儲模塊、外圍驅動模塊九部分組成,系統(tǒng)擴展16個矩陣按鍵用于打鈴時間調整及時間校正?,F(xiàn)代機關企業(yè),特別是學校要求對時間加以控制,要按時打鈴及播放廣播,以保證學習與工作的正常運行。本設計實現(xiàn)了這些功能,給學校及其他機關企業(yè)帶來方便,整體性好,人性化強、可靠性高,實現(xiàn)了對時間控制的智能化。1.2方案比較作息時間控制系統(tǒng)的設計有很多方案可以實現(xiàn),其主流技術主要有以下幾種:(1)用可編程邏輯器件(如CPLD、FPGA)來實現(xiàn),而在本設計中如要實現(xiàn)功能相對來說比較復雜,必須得用到FPGA來實現(xiàn),而FPGA的價格相對較貴,且系統(tǒng)設計比較困難。(2)用PLC來實現(xiàn),PLC其實就是一被封裝起來的單片機,里面設有監(jiān)控程序,并對I/O端口進行了光電隔離。這樣一來使得PLC性能穩(wěn)定且容易使用,且只需簡單外圍電路就可以實現(xiàn)該系統(tǒng)功能,但PLC比較昂貴,這樣會使成本增高而失去市場競爭。(3)就是用555定時器產(chǎn)生時鐘脈沖和數(shù)字芯片(如74LS14)來實現(xiàn),但要來實現(xiàn)本設計需要大量的數(shù)字芯片,使得系統(tǒng)穩(wěn)定性下降,生產(chǎn)難度加大,而且成本會增加。(4)就是應用單片充當主控器來再加上適量的外圍實現(xiàn)此功能,且單片機價格便宜,性能穩(wěn)定。應用的外圍器件相對較少,這就提高了系統(tǒng)的穩(wěn)定性,且單片機控制簡易,開發(fā)工具簡單,很容易大批量生產(chǎn)。經(jīng)過以上比較,最終我們選擇第(4)種方案來實施。二整體設計方框圖三模塊電路設計3.1單片機核心控制模塊A核心器件的選擇單片機是本設計的核心器件,因此單片機的選擇決定了該設計的穩(wěn)定和性能,目前單片機市場種類繁多,有幾千種不同型號,單片機的選擇應遵循在能滿足性能條件下盡可能的選擇功耗小資源少價格低,而且貨源充足的?,F(xiàn)在主流單片機種類有以下幾類:PIC單片機: 是MICROCHIP公司的產(chǎn)品,其突出的特點是體積小,功耗低,精簡指令集,抗干擾性好,可靠性高,有較強的模擬接口,代碼保密性好,大部分芯片有其兼容的FLASH程序存儲器的芯片。 EMC單片機:是臺灣義隆公司的產(chǎn)品,有很大一部分與PIC 8位單片機兼容,且相兼容產(chǎn)品的資源相對比PIC的多,價格便宜,有很多系列可選,但抗干擾較差。 ATMEL單片機(51單片機):ATMEL公司的8位單片機有AT89、AT90兩個系列,AT89系列是8位Flash單片機,與8051系列單片機相兼容,靜態(tài)時鐘模式;AT90系列單片機是增強RISC結構、全靜態(tài)工作方式、內載在線可編程Flash的單片機,也叫AVR單片機。 PHLIPIS 51PLC系列單片機(51單片機):PHILIPS公司的單片機是基于80C51內核的單片機,嵌入了掉電檢測、模擬以及片內RC振蕩器等功能,這使51LPC在高集成度、低成本、低功耗的應用設計中可以滿足多方面的性能要求。 HOLTEK單片機:臺灣盛揚半導體的單片機,價格便宜,種類較多,但抗干擾較差,適用于消費類產(chǎn)品。 TI公司單片機(51單片機):德州儀器提供了TMS370和MSP430兩大系列通用單片機.TMS370系列單片機是8位CMOS單片機,具有多種存儲模式、多種外圍接口模式,適用于復雜的實時控制場合;MSP430系列單片機是一種超低功耗、功能集成度較高的16位低功耗單片機,特別適用于要求功耗低的場合。最后我們決定選用ATMEL公司的AT89S51單片機,AT89S51是ATMEL公司生產(chǎn)的低功耗,高性能、高性價比的CMOS 8位單片機,片內含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,AT89S51含有1288字節(jié)內部RAM、32個可編程I/O口線、2個16位定時/計數(shù)器、6個中斷源和全雙工串行UART通道,已能滿足系統(tǒng)控制需求。B模塊電路設計單片機運行需要滿足幾個條件,首先必需提供電源,還時鐘振蕩源,還有復位。由于十二個時鐘周期構成一個機器周期,在這里為方便計算我們選取晶振頻率為12M HZ的晶振,因為晶振產(chǎn)生的信號比較弱,電容選取范圍只能是小于30PF,在這里我們選取C1、C2為22PF。當單片機的復位端持續(xù)為兩個機器周期高電平時產(chǎn)生復位,因此復位電路的參數(shù)需要根據(jù)晶振來決定,單片機控制系統(tǒng)一般都要求達到上電復位,因此這就對電容和電阻的選擇有一定的要求,這可以通過計算來得出元件參數(shù),但單片機最小系統(tǒng)的參數(shù)有一個經(jīng)驗值,在這里我們選用取R2 100、R1 10K,C3取10UF。由于單片機的P0口結構的特殊性,需加上拉電阻,這里我們選取阻值為10K的電阻,而耐壓值的選擇我們則只須選擇大于7.5V就行了。C.模塊電路圖3.2鍵盤模塊A鍵盤電路選擇鍵盤可以有幾種選擇:一種是利用鍵盤LED芯片(如HD7279、HD8279、MAX7219等),一種則是直接利用單片機I/O口搭建鍵盤電路。采用鍵盤LED芯片,具有編程簡單,抗干擾能力強、穩(wěn)定性好、功能強大等特點,但其成本比較高,而且占用額外的功耗和空間,通常用在對鍵盤讀取要求較高的場合。而普通的鍵盤電路,則有電路簡單,成本低等特點,但其抗干擾能力較前者弱。而鍵盤電路結構又分為直接型和矩陣型,直接型具有編程、電路簡單等特點,但占用的I/O口比較多,適用于只需少量鍵盤的場合。矩陣型具有電路、編程復雜等特點,但占用I/O口少,比較適應于要求鍵盤比較多的場合。而本設計的顯示電路是采用的LCD顯示,且對鍵盤讀取要求也不是太高,采取鍵盤芯片不能充分利用其功能,有點浪費。且單片機I/O口比較緊張,所以決定采用普通矩陣鍵盤。B.模塊電路設計在本設計中有用到數(shù)字鍵0-9,且還有上、下、左、右、確定、取消鍵。一共十六個鍵,剛好可用8個I/O口組成4*4矩陣鍵盤。而矩陣鍵盤的搭建比較簡單,只需遵循行列相交搭建就行,而必需在行或列添加上拉電阻,而上拉電阻的選取就只需遵循上拉電流小于單片機最大灌電流就行,在這里我們選取10K的電阻來充當上拉電阻。C模塊電路圖3.3實時時鐘模塊A核心器件選擇在單片機內部,可以利用定時器進行計時,也可以實現(xiàn)功能,但利用內部定時器進行計時會產(chǎn)生計時不精確,且增加了CPU的負擔和編程的難度,再就是掉電重啟后時間會全部被初始化。因此我們采用實時時鐘芯片,實時時鐘芯片的種類繁多。在這里我們選用PCF8563實時時鐘芯片。PCF8563 是低功耗的CMOS 實時時鐘日歷芯片,它提供一個可編程時鐘輸出,一個中斷輸出和掉電檢測器,所有的地址和數(shù)據(jù)通過I2C 總線接口串行傳遞。最大總線速度為400Kbits/s,每次讀寫數(shù)據(jù)后,內嵌的字地址寄存器會自動產(chǎn)生增量,可編程時鐘輸出剛好可以為紅外發(fā)射管提供載波信號。特性* 低工作電流:典型值為0.25A(VDD=3.0V,Tamb=25時)。* 世紀標志* 大工作電壓范圍:1.05.5* 低休眠電流;典型值為0.25A(VDD=3.0V,Tamb=25)* 400KHz 的I2C 總線接口(VDD=1.85.5V 時)。* 可編程時鐘輸出頻率為:32.768KHz,1024Hz,32Hz,1Hz。* 報警和定時器。* 掉電檢測器。* 內部集成的振蕩器電容。* 片內電源復位功能。* I2C 總線從地址:讀,0A3H;寫,0A2H。* 開漏中斷引腳。PCF8563 有16 個位寄存器:一個可自動增量的地址寄存器,一個內置32.768KHz 的振蕩器(帶有一個內部集成的電容),一個分頻器(用于給實時時鐘RTC 提供源時鐘),一個可編程時鐘輸出,一個定時器,一個報警器,一個掉電檢測器和一個400KHz I2C總線接口。所有16 個寄存器設計成可尋址的8 位并行寄存器,但不是所有位都有用。前兩個寄存器(內存地址00H,01H)用于控制寄存器和狀態(tài)寄存器,內存地址02H08H 用于時鐘計數(shù)器(秒年計數(shù)器),地址09H0CH 用于報警寄存器(定義報警條件),地址0DH 控制CLKOUT 管腳的輸出頻率,地址0EH 和0FH 分別用于定時器控制寄存器和定時器寄存器。秒、分鐘、小時、日、月、年、分鐘報警、小時報警、日報警寄存器,編碼格式為BCD,星期和星期報警寄存器不以BCD 格式編碼。當一個RTC 寄存器被讀時,所有計數(shù)器的內容被鎖存,因此,在傳送條件下, 可以禁止對時鐘日歷芯片的錯讀。一個或多個報警寄存器MSB(AE=Alarm Enable 報警使能位)清時,相應的報警條件有效,這樣,一個報警將在每分鐘至每星期范圍內產(chǎn)生一次。設置報警標志位AF(控制狀態(tài)寄存器的位)用于產(chǎn)生中斷,AF 只可以用軟件清除。位的倒計數(shù)器(地址0FH)由定時器控制寄存器(地址0EH)控制,定時器控制寄存器用于設定定時器的頻率(4096,64,1,或1/60Hz),以及設定定時器有效或無效。定時器從軟件設置的8 位二進制數(shù)倒計數(shù),每次倒計數(shù)結束,定時器設置標志位TF,定時器標志位TF 只可以用軟件清除,TF 用于產(chǎn)生一個中斷(/INT),每個倒計數(shù)周期產(chǎn)生一個脈沖作為中斷信號。TI/TP控制中斷產(chǎn)生的條件。當讀定時器時,返回當前倒計數(shù)的數(shù)值。管腳CLKOUT 可以輸出可編程的方波。CLKOUT 頻率寄存器(地址0DH;參見表23)決定方波的頻率,CLKOUT 可以輸出32.768KHz( 缺省值),1024,32,1Hz 的方波。CLKOUT為開漏輸出管腳,通電時有效,無效時為高阻抗。表1 PCF8563寄存器結構地址寄存器名稱D7D6D5D4D3D2D1D000H控制/狀態(tài)寄存器1TEST0STOP0TTESTC00001H控制/狀態(tài)寄存器2000TI/TPAFTFAIETIE02H秒寄存器VL0059 BCD碼格式數(shù)03H分寄存器-0059 BCD碼格式數(shù)04H時寄存器-0023 BCD碼格式數(shù)05H日寄存器-0031 BCD碼格式數(shù)06H星期寄存器-0006 BCD碼格式數(shù)07H月/世紀寄存器C0012 BCD碼格式數(shù)08H年寄存器0099 BCD碼格式數(shù)09H分鐘報警寄存器AE0059 BCD碼格式數(shù)0AH時鐘報警寄存器AE0023 BCD碼格式數(shù)0BH日報警寄存器AE0031 BCD碼格式數(shù)0CH星期報警寄存器AE0006 BCD碼格式數(shù)0DHCLKOUT頻率寄存器FEFD1FD00EH定時控制寄存器TE-TD1TD00FH定時器倒計時數(shù)值寄存器定時器倒數(shù)計數(shù)數(shù)值B.模塊電路設計本模塊電路比較簡單,只需注意一個地方,那就是實時時鐘芯片一般裝有后備電池,以保證當斷電時仍繼續(xù)計時,這就需要考慮一個當斷電時電流反灌而損壞電源的問題,還有就是當從斷電狀態(tài)進入上電電壓的瞬時上升會造成電池壽命的縮短,因此我們在電源和地之間需加一二極管和緩沖電容,二極管的選取只須考慮最大正向整流電流和最大反向電壓,在這里們選取4148,而緩沖電容則選取0.047F。而晶振必須選取32.768KHZ,在晶振和地之間須串聯(lián)一耦合電容,耦合電容只須小于35P就可以了,在這里我們先取18P。C.模塊電路圖2.4數(shù)據(jù)存儲模塊A.核心器件選擇本模塊的設計是為了增加在線調整作息時間,以更適應現(xiàn)實生活中的需要。而數(shù)據(jù)存儲芯片,我們采用非掉電易失的串行EEPROM芯片進行存儲。串行EEPROM中,較為典型的有ATMEL公司的AT24CXX系列以及該公司生產(chǎn)的AT93CXX系列,較為著名的半導體廠家,包括Microchip,國家半導體廠家等,都有AT93CXX系列EEPROM產(chǎn)品。 AT24CXX系列的串行電可改寫及可編程只讀存儲器EEPROM有10種型號,其中典型的型號有AT24C01A/02/04/08/16等5種,它們的存儲容量分別是1024/2048/4096/8192/16384位,也就是128/256/512/1 024/2048字節(jié)。這個系列一般用于低電壓,低功耗的工業(yè)和商業(yè)用途,并且可以組成優(yōu)化的系統(tǒng)。信息存取采用2線串行接口。這里我們就24C02的結構特點,其它系列比較類似。 AT24C02有地址線A0A2,串行時鐘引腳SDA,串行時鐘輸入引腳SCL,寫保護引腳WP等引腳。很明顯,其引腳較少,對組成的應用系統(tǒng)可以減少布線,提高可靠性。 各引腳的功能和意義如下: VCC引腳,電源+5V。 GND引腳,地線。 SCL引腳,串行時鐘輸入端。在時鐘的正跳沿即上升沿時把時鐘寫入EEPROM;在時鐘的負跳沿即下降沿時把數(shù)據(jù)從EEPROM中讀出來。 SDA引腳,串行數(shù)據(jù)I/O端,用于輸入和輸出串行數(shù)據(jù)。這個引腳是漏極開路的埠,故可以組成“線或”結構。 A0,A1,A2引腳,是芯片地址引腳。在型號不同時意義有些不同,但都要接固定電平。 WP引腳,寫保護端。這個端提供了硬件數(shù)據(jù)保護。當把WP接地時,允許芯片執(zhí)行一般讀寫操作;當把WP接VCC時,則對芯片實施寫保護。內存的組織:對于不同的型號,內存的組織不一樣,其關鍵原因在于內存容量存在差異。對于AT24CXX系列的EEPROM,其典型型號的內存組織如下。 AT24C01A:內部含有128個字節(jié),故需要7位地址對其內部字節(jié)進行尋址 AT24C02:內部含有256個字節(jié),故需要8位地址對其內部字節(jié)進行讀寫。起始狀態(tài):當SCL為高電平時,SDA由高電平變到低電平則處于起始狀態(tài)。起始狀態(tài)應處于任何其它命令之前。 停止狀態(tài):當SCL處于高電平時,SDA從低電平變到高電平則處于停止狀態(tài)。在執(zhí)行完讀序列信號之后,停止命令將把EEPROM置于低功耗的備用方式(Standby Mode). 應答信號:應答信號是由接受資料的器件發(fā)出的。當EEPROM接受完一個寫入資料之后,會在SDA上發(fā)一個”0”應答信號。反之,當單片機接受完來自EEPROM的資料后,單片機也應向SDA發(fā)ACK信號。ACK信號在第9個時鐘周期時出現(xiàn)。 備用方式(Standby Mode):AT24C01A/02/04/08/16都具有備用方式,以保證在沒有讀寫操作時芯片處于低功耗狀態(tài)。在下面兩種情況中,EEPROM都會進入備用方式:第一,芯片通電的時候;第二,在接到停止位和完成了任何內部操作之后。 AT24C01等5種典型的EEPROM在進入起始狀態(tài)之后,需要一個8位的“器件地址字”去啟動內存進行讀或寫操作。在寫操作中,它們有“字節(jié)寫”,“頁面寫”兩種不同的寫入方法。在讀操作中,有“現(xiàn)行地址讀”,隨機讀和“順序讀”種各具特點的讀出方法。下面分別介紹器件尋址,寫操作和讀操作。 器件尋址:所謂器件尋址(Device Addressing)就是用一個8位的器件地址字(Device Address Word)去選擇內存芯片。在邏輯電路中的AT24CXX系列的5種芯片種,即AT24C01A/02/04/08/16中,如果和器件地址字相比較結果一致,則讀芯片被選中。下面對器件尋址的過程和意義加以說明。 芯片的操作地址 D7D6D5D4D3D2D1D01010A2A1A0R/W 用于內存EEPROM芯片尋址的器件地址字如圖所示。它有4種方式,分別對應于1K/2K,4K,8K和16K位的EEPROM芯片。 從圖中看出:器件地址字含有3個部分。第一部分是高4位,它們稱為EEPROM AT24C01A/02/04/08/16的標識第二部分稱為硬布線地址,它們是標識后的3位。第三部分是最低位,它是讀/寫操作選擇位。 第一部分:器件標識,器件地址字的最高4位。這4位的內容恒為”1010”,用于標識EEPROM器件AT24C01A/02/04/08/16。 第二部分:硬布線地址,是與器件地址字的最高4位相接的低3位。硬布線地址的3位有2種符號:Ai(i=02),Pj(j=02)其中Ai表示外部硬布線地址位。 對于AT24C10A/02這兩種1K/2K位的EEPROM芯片,硬布線地址為“A2,A1,A0”。在應用時,“A2,A1,A0”的內容必須和EEPROM芯片的A2,A1,A0的硬布線情況,即邏輯連接情況相比較,如果一樣,則芯片被選中;否則,不選中。AT24C01/02:真正地址=字地址。 第三部分:讀/寫選擇位,器件地址字的最低位,并用R/W表示。當R/W=1時,執(zhí)行讀操作;當R/W=0時,執(zhí)行寫操作。 當EEPROM芯片被選中時,則輸出“0”;如果EEPROM芯片沒有被選中,則它回到備用方式。被選中的芯片。其以后的輸入,輸出情況視寫入和讀出的內容而定。 寫操作:AT24C01A/02/04/08/16這5種EEPROM芯片的寫操作有2種:一種是字節(jié)寫,另一種是頁面寫。 字節(jié)寫:這種寫方式只執(zhí)行1個字節(jié)的寫入。字節(jié)寫的過程如圖所示,其寫入過程分外部寫和內部寫兩部分,分別說明如下。 在起始狀態(tài)中,首先寫入8位的器件地址。則EEPROM芯片會產(chǎn)生一個“0”信號ACK輸出作為應答;接著,寫入8位的字地址,在接受了字地址之后,EEPROM芯片又產(chǎn)生一個“0”應答信號ACK;隨后,寫入8位資料,在接受了資料之后,芯片又產(chǎn)生一個“0”信號ACK作為應答。到此為止,完成了一個字節(jié)寫過程,故應在SDA端產(chǎn)生一個停止狀態(tài),這是外部寫過程。 在這個過程中,控制EEPROM的單片機應在EEPROM的SCL,SDA端送入恰當?shù)男盘?。當然在一個字節(jié)寫過程結束時,單片機應以停止狀態(tài)結束寫過程。在這時,EEPROM進入內部定時的寫周期,以便把接受的數(shù)據(jù)寫入到存儲單元中。在EEPROM的內部寫周期中,其所有輸入被屏蔽,同時不響應外部信號直到寫周期完成。這是內部寫過程。內部寫過程大約需要10ms時間。內部寫過程處于停止狀態(tài)與下一次起始狀態(tài)之間。頁面寫: 這種寫入方式執(zhí)行含若干字節(jié)的1個頁面的寫入。對于AT24C01A/02,它們的1個頁面含8個字節(jié);頁面寫的開頭部分和字節(jié)寫一樣。在起始狀態(tài),首先寫入8位器件地址;待EEPROM答當了“0”信號ACK之后,寫入8位字地址;又待芯片應答了“0”信號ACK之后,寫入8位資料。 隨后頁面寫的過程則和字節(jié)寫有區(qū)別。 當芯片接受了第一個8位資料并產(chǎn)生應答信號ACK之后,單片機可以連續(xù)向EEPROM芯片發(fā)送共為1頁面的資料。對于AT24C01A/02,可發(fā)送共1個頁面的8個字節(jié)(連第一個8位資料在內)。對于AT24C04/08/16,則共可發(fā)送1個頁面共16個字節(jié)(連第一個8位資料在內)。當然,每發(fā)一個字節(jié)都要等待芯片的應答信號ACK。 之所以可以連續(xù)向芯片發(fā)送1個頁面資料,是因為字地址的低34位在EEPROM芯片內部可實現(xiàn)加1,字地址的高位不變,用于保持頁面的行地址。頁面寫和字節(jié)寫兩者一樣可,都分為外部寫和內部寫過程。 應答查詢:應答查詢是單片機對EEPROM各種狀態(tài)的一種檢測。單片機查詢到EEPROM有應答“0”信號ACK輸出,則說明其內部定時寫的周期結束,可以寫入新的內容。單片機是通過發(fā)送起始狀態(tài)及器件地址進行應答查詢的。由于器件地址可以選擇芯片,則檢測芯片送出到SDA的狀態(tài)就可以知道其是否有應答了。 讀操作:讀操作的啟動是和寫操作類同的。它一樣需要圖所示的器件地址字。和寫操縱不同的就是信號為時執(zhí)行讀操作。 讀操縱有3種方式,即現(xiàn)行地址讀,隨機讀和順序讀。下面分別說明它們的工作過程。 現(xiàn)行地址讀: 在上次讀或寫操縱完成之后。芯片內部字地址計數(shù)器會加1,產(chǎn)生現(xiàn)行地址。只要沒有再執(zhí)行讀或寫操作,這個現(xiàn)行地址就會在EEPROM芯片保持接電的期間一直保存。一旦器件地址選中EEPROM芯片,并且有R/W=1,則在芯片的應答信號ACK之后把讀出的現(xiàn)行地址的資料送出?,F(xiàn)行地址的資料輸出時,就由單片機一位一位接受,接收后單片機不用向EEPROM發(fā)應答信號ACK“0”電平,但應保證發(fā)出停止狀態(tài)的信號以結束現(xiàn)行地址讀操作?,F(xiàn)行地址讀會產(chǎn)生地址循環(huán)覆蓋現(xiàn)象,但和寫操縱的循環(huán)覆蓋不同。在寫操縱中,地址的循環(huán)覆蓋是現(xiàn)行頁面的最后一個字節(jié)寫入之后,再行寫入則覆蓋同一頁面的第一個字節(jié)。而在現(xiàn)行地址讀操縱中,地址的循環(huán)覆蓋是在最后頁面的最后一個字節(jié)讀出之后,再行讀出才覆蓋第一個頁面的第一個字節(jié)。 隨機讀: 隨機讀和現(xiàn)行地址讀的最大區(qū)別在于隨機讀會執(zhí)行一個偽寫入過程以把字地址裝入EEPROM芯片中,然后執(zhí)行讀出,顯然,隨機讀有2個步驟。 第一,執(zhí)行偽寫入把字地址送入EEPROM,以選擇需讀的字節(jié)。 第二,執(zhí)行讀出根據(jù)字地址讀出對應內容。 當EEPROM芯片接收了器件地址及字地址時,在芯片產(chǎn)生應答信號ACK之后,單片機必須再產(chǎn)生一個起始狀態(tài),執(zhí)行現(xiàn)行地址讀,這時單片機再發(fā)出器件地址并且令R/W=1,則EEPROM應答器件地址并行輸出被讀數(shù)據(jù)。在資料讀出時由單片機執(zhí)行一位一位接收,接收完畢后,單片機不用發(fā)“0”應答信號ACK,但必須產(chǎn)生停止狀態(tài)以結束隨機讀過程。 應該注意:在隨機讀的第二個步驟是執(zhí)行現(xiàn)行地址讀的,由于第一個步驟時芯片接收了字地址,故現(xiàn)行地址就是所送入的字地址。 順序讀: 順序讀可以用現(xiàn)行地址讀或隨機讀進行啟動。它和現(xiàn)行地址讀。隨機讀的最大區(qū)別在于:順序讀在讀出一批資料之后才由單片機產(chǎn)生停止狀態(tài)結束讀操作;而現(xiàn)行地址讀和隨機讀在讀出一個資料之后就由單片機產(chǎn)生停止狀態(tài)結束讀操作。 執(zhí)行順序讀時,首先執(zhí)行現(xiàn)行讀或隨機讀的有關過程,在讀出第一個資料之后,單片機輸出“0”應答信號ACK。在芯片接收應答信號ACK后,就會對字地址進行計數(shù)加1,隨后串行輸出對應的字節(jié)。當字地址計數(shù)達到內存地址的極限時,則字地址會產(chǎn)生覆蓋,順序讀將繼續(xù)進行。只有在單片機不再產(chǎn)生“0”應答信號ACK,而在接收資料之后馬上產(chǎn)生停止狀態(tài),才會結束順序讀操作。 B.模塊電路設計本模塊電路簡單,只須將三地址端和寫保護接地就可以了。C.模塊電路圖3.5溫度傳感器模塊A核心器件選擇Dallas 半導體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 “一線總線”接口的溫度傳感器?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V5.5V的電壓范圍,使系統(tǒng)設計更靈活、方便。DS18B20測量溫度范圍為 -55C+125C,在-10+85C范圍內,精度為0.5C。DS18B20可以程序設定912位的分辨率,及用戶設定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20內部結構DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如下:DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/LSB形式表達,其中S為符號位。LS Byte:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4MS Byte:Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524這是12位轉化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘以0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘以0.0625即可得到實際溫度。例如+125的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。溫度數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制)+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90hDS18B20溫度傳感器的存儲器DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結構寄存器。暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結構寄存器的易失性拷貝,這三個字節(jié)的內容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內部計算。第九個字節(jié)是冗余檢驗字節(jié)。該字節(jié)各位的意義如下: TMR1R011111低五位一直都是1 ,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位)分辨率設置表: R1R0分辨率溫度最大轉換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復位成功。B.模塊電路設計本模塊接口電路簡單,在這里不對電路進行講解了。C.模塊電路圖3.6紅外模塊A.核心元件選擇紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的媒體,即通信信道。發(fā)送端采用脈時調制(PPM)方式,將二進制數(shù)字信號調制成某一頻率的脈沖序列,并驅動紅外發(fā)射管以光脈沖的形式發(fā)送出去;接收端將接收到的光脈轉換成電信號,再經(jīng)過放大、濾波等處理后送給解調電路進行解調,還原為二進制數(shù)字信號后輸出。紅外發(fā)送器電路包括脈沖振蕩器、驅動管Q1和Q2、紅外發(fā)射管Q3等部分。其中脈沖振蕩器用以產(chǎn)生38kHz的脈沖序列作為載波信號;紅外發(fā)射管Q3用來向外發(fā)射950nm的紅外光束。紅外發(fā)送器的工作原理為:串行數(shù)據(jù)由單片機的串行輸出端DATA送出并驅動Q1管,數(shù)位“0”使Q1管導通,通過Q2管調制成38kHz的載波信號,并利用紅外發(fā)射管Q3以光脈沖的形式向外發(fā)送。數(shù)位“1”使Q1管截止,紅外發(fā)射管Q3不發(fā)射紅外光。若傳送的波特率設為1200bps,則每個數(shù)位“0”對應32個載波脈沖調制信號的時序,如圖1所示。圖1 調制信號時序圖紅外接收電路選用專用紅外接收模塊。該接收模塊是一個三端元件,使用單電源+5V電源,具有功耗低、抗干擾能力強、輸入靈敏度高、對其它波長(950nm以外)的紅外光不敏感的特點,其內部結構框圖如圖2所示。圖2 紅外接收模塊內部結構框圖接收模塊的工作原理為:首先,通過紅外光敏元件將接收到的載波頻率為38kHz的脈沖調制紅外光信號轉化為電信號,再由前置放大器和自動增益控制電路進行放大處理。然后,通過帶通濾波器和進行濾波,濾波后的信號由解調電路進行解調。最后,由輸出級電路進行反向放大輸出。為保證紅外接收模塊接收的準確性,要求發(fā)送端載波信號的頻率應盡可能接近38kHz,因此在設計脈沖振蕩器時,要選用精密元件并保證電源電壓穩(wěn)定。再有,發(fā)送的數(shù)位“0”至少要對應14個載波脈沖,這就要求傳送的波特率不能超過2400bps。B.模塊電路設計紅外發(fā)射二極管的額定電流為5-50mA在這里我選取限流電阻R10 470,而從PCF8563產(chǎn)生的信號比較微弱,須加上拉電阻,在這里選取R8 10K的上拉電阻。為減少噪聲影響我們在基極和載波信號間加一抗干擾電阻R9,阻值為1K。在接收管處為增加輸出信號強度和減少噪聲影響,輸出端也加一拉電阻R11,阻值為10K,由于本設計是利用單片機中斷以做出及時響應,在這里輸出需加一反向器然后再送入單片才能達到控制功能,在這里我采用74LS04。C.模塊電路圖3.7電機模塊A.核心器件選擇電機分直流電機和步進電機,而步進電機力矩大且便于精準控制,步進電動機有三線式、五線式、六線式三種,但其控制方式均相同,必須以脈沖電流來驅動。若每旋轉一圈以20個勵磁信號來計算,則每個勵磁信號前進18度,其旋轉角度與脈沖數(shù)成正比,正、反轉可由脈沖順序來控制。 步進電動機的勵磁方式可分為全步勵磁及半步勵磁,其中全步勵磁又有1相勵磁及2相勵磁之分,而半步勵磁又稱1-2相勵磁。圖為步進電動機的控制等效電路,適應控制A、B、/A、/B的勵磁信號,即可控制步進電動機的轉動。每輸出一個脈沖信號,步進電動機只走一步。因此,依序不斷送出脈沖信號,即可步進電動機連續(xù)轉動。1相勵磁法:在每一瞬間只有一個線圈導通。消耗電力小,精確度良好,但轉矩小,振動較大,每送一勵磁信號可走18度。若欲以1相勵磁法控制步進電動機正轉,其勵磁順序如圖所示。若勵磁信號反向傳送,則步進電動機反轉。 勵磁順序: ABCDA STEP AB CD11 0 0 0 201 0 0 300 1 0 40 0 0 1 2相勵磁法:在每一瞬間會有二個線圈同時導通。因其轉矩大,振動小,故為目前使用最多的勵磁方式,每送一勵磁信號可走18度。若以2相勵磁法控制步進電動機正轉,其勵磁順序如圖所示。若勵磁信號反向傳送,則步進電動機反轉。 勵磁順序: ABBCCDDAAB STEP AB CD11 1 0 0 201 1 0 300 1 1 41 0 0 1 1-2相勵磁法:為1相與2相輪流交替導通。因分辨率提高,且運轉平滑,每送一勵磁信號可走9度,故亦廣泛被采用。若以1相勵磁法控制步進電動機正轉,其勵磁順序如圖所示。若勵磁信號反向傳送,則步進電動機反轉。 勵磁順序: AABBBCCCDDDAA STEP ABCD1100021100300104011050010600117000181001電動機的負載轉矩與速度成反比,速度愈快負載轉矩愈小,當速度快至其極限時,步進電動機即不再運轉。所以在每走一步后,程序必須延時一段時間。B.模塊電路設計剛憑單片機的I/O口是無法驅動步進電機的,因此需要加驅動芯片,在這里我們選擇ULN2003,ULN2003是耐高壓、大電流NPN達林頓管,恰好能滿足驅動需求,在輸出端串聯(lián)一小電阻以減少噪聲干擾,在這里電阻取20。C.模塊電路圖3.8顯示模塊A.核心器件選擇顯示可用LED數(shù)碼管或LCD顯示,LCD顯示器具有顯示豐富、功耗低、低閃爍和低幅射等特點。為使人機界面更加和諧豐富在這里我們采用128*64LCD顯示器。本設計采用內置控制器、不帶字庫的圖形點陣液晶顯示模塊,點陣數(shù)為12864。它主要由行驅動器/列驅動器及12864 全點陣液晶顯示器組成,可完成圖形顯示也可以顯示84 個(1616 點陣)漢字。主要技術參數(shù)和性能:1)電源VDD +5V 模塊內自帶-10V 負壓用于LCD 的驅動電壓2)顯示內容128(列) 64(行)點3)全屏幕點陣4)七種指令5)與CPU 接口采用8 位數(shù)據(jù)總線并行輸入輸出和8 條控制線6)占空比1/64 7)工作溫度-10 +55 存儲溫度-20 +60模塊主要硬件構成說明(結構框圖)IC1、IC2 為列驅動器,IC1 控制模塊的右半屏,IC2 控制模塊的左半屏, IC3 為行驅動器。IC1、IC2、IC3 含有以下主要功能器件,了解如下器件有利于對LCD 模塊的編程。1)指令寄存器(IR) IR 是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對應,當D/I=0 時在E 信號下降沿的作用下指令碼寫入IR2)數(shù)據(jù)寄存器(DR) DR 用于寄存數(shù)據(jù),與指令寄存器寄存指令相對應,當D/I=1 時在下降沿作用下,圖形顯示數(shù)據(jù)寫入DR,或在E 信號高電平作用下,由DR 讀到DB7DB0 數(shù)據(jù)總線,DR 和DDRAM 之間的數(shù)據(jù)傳輸是模塊內部自動執(zhí)行的。3)忙標志BF BF 標志提供內部工作情況,BF=1 表示模塊在內部操作,此時模塊不接受外部指令和數(shù)據(jù);BF=0 時模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。利用STATUS READ 指令可以將BF 讀到數(shù)據(jù)總線從而檢驗模塊之工作狀態(tài)。4)顯示控制觸發(fā)器DFF 用于模塊屏幕顯示開和關的控制,DFF=1為開顯示,DDRAM 的內容就顯示在屏幕上;DFF=0為關顯示。DDF 的狀態(tài)是指令DISPLAY ON/OFF 和RST 信號控制的。5)XY 地址計數(shù)器XY 地址計數(shù)器是一個9 位計數(shù)器高,3 位是X 地址計數(shù)器,低6 位為Y 地址計數(shù)器。XY 地址計數(shù)器實際上是作為DDRAM 的地址指針,X地址計數(shù)器為DDRAM 的頁指針,Y地址計數(shù)器為DDRAM 的Y 地址指針。X 地址計數(shù)器沒有記數(shù)功能,只能用指令設置。Y 地址計數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫入后 Y 地址自動加1, Y地址指針從0 到63。6)顯示數(shù)據(jù)RAM DDRAMDDRAM是存儲圖形顯示數(shù)據(jù)的,數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。7)Z 地址計數(shù)器Z 地址計數(shù)器是一個6 位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,用于顯示行掃描同步,當一行掃描完成此地址計數(shù)器自動加1,指向下一行掃描數(shù)據(jù),RST 復位后Z 地址計數(shù)器為

溫馨提示

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

評論

0/150

提交評論