單片機課程設計:基于單片機的掉電數(shù)據(jù)保持存儲器_第1頁
單片機課程設計:基于單片機的掉電數(shù)據(jù)保持存儲器_第2頁
單片機課程設計:基于單片機的掉電數(shù)據(jù)保持存儲器_第3頁
單片機課程設計:基于單片機的掉電數(shù)據(jù)保持存儲器_第4頁
單片機課程設計:基于單片機的掉電數(shù)據(jù)保持存儲器_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上東 北 石 油 大 學 課 程 設 計 課 程 單片機課程設計 題 目 基于單片機的掉電數(shù)據(jù)保持存儲器 院 系 專業(yè)班級 學生姓名 學生學號 指導教師 2013年 7 月 8日 東北石油大學課程設計任務書課程 單片機課程設計 題目 基于單片機的掉電數(shù)據(jù)保持存儲器 專業(yè) 姓名 學號 一、任務 設計一款以AT89C51單片機為控制核心,利用AT24C02內(nèi)存芯片設計的一種掉電數(shù)據(jù)存儲器,這種存儲器掉電后再次開機,LED數(shù)碼管能夠顯示上次關機時的數(shù)字。二、設計要求1 掌握AT24C02內(nèi)存芯片的工作原理及使用方法。2 通過對AT89C51單片機的編程,實現(xiàn)存儲器掉電后再次開

2、機時,LED數(shù)碼管能夠顯示上次關機時的數(shù)字。3 寫出詳細的設計報告。4 給出全部電路和源程序。三、參考資料1 焦麗鵑.李春旭.郭學良.液晶顯示器在人機交互系統(tǒng)中的應用J.信息技術,2006年11期. 2 馬忠梅.單片機的C 語言應用程序設計M.北京:北京航空航天大學出版社.2006 3 劉勇數(shù)字電路M.電子工業(yè)出版社,20044 沈紅衛(wèi).單片機應用系統(tǒng)設計實例與分析M.北京:北京航空航天大學出版社.2003 .5 周潤景.基于Proteus的電路與單片機仿真系統(tǒng)設計與仿真M. 北京:北京航空航天大學出版社. 2005.完成期限 2013.7.1 - 2013.7.10 指導教師 專業(yè)負責人 2

3、013年 6月 29 日專心-專注-專業(yè)目 錄3.3 復位電路模塊的設計7第1章 緒論近年來隨著計算機在社會領域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關的系統(tǒng),越來越廣泛地應用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。 而51系列單片機1是各單片機中最為典型和最有代表性的一種,通過本次課程設計進一步對單片機學習和應用,從而更熟悉單片機的原理和相關設計

4、并提高了開發(fā)軟、硬件的能力。本設計是通過單片機設計一個掉電數(shù)據(jù)存儲器,要求開機后,LED數(shù)碼管能夠顯示上次關機的數(shù)字。還要設計一個能夠進行數(shù)據(jù)回查的儀表。1.1 掉電數(shù)據(jù)保持存儲器的概述在位置測量系統(tǒng)中,基準量的建立是最基本的,也是必不可少的而在目前所流行的位置測量系統(tǒng)中,大都采用相對測量或相對測量和絕對測量相結合的方法不論是前者還是后者,要想保證測量基準在整個測量過程中不發(fā)生丟失,測量系統(tǒng)信息掉電保護就顯得特別重要由于有了系統(tǒng)信息掉電保護,可避免多次重建測量基準,而保證測量基準在整個測量過程中不發(fā)生丟失所以在當前所用的測量系統(tǒng)中,信息掉電保護功能是必不可少的所謂信息掉電保護是指系統(tǒng)在掉電的瞬

5、間,能把測量頭的位置坐標準確記錄下來,待下次上電后,就可正確復現(xiàn)掉電前測量頭的位置坐標,保證了在接下去的測量過程中,測量基準不發(fā)生變化,從而保證測量系統(tǒng)在整個測量過程中的準確性2。1.2 單片機發(fā)展的技術狀況在測量、控制等領域的應用中,常要求單片機內(nèi)部和外部RAM中的數(shù)據(jù)在電源掉電時不丟失,重新加電時,RAM中的數(shù)據(jù)能夠保存完好,這就要求對單片機系統(tǒng)加接掉電保護電路。掉電保護通??刹捎靡韵氯N方法:一是加接不間斷電源,讓整個系統(tǒng)在掉電時繼續(xù)工作,二是采用備份電源,掉電后保護系統(tǒng)中全部或部分數(shù)據(jù)存儲單元的內(nèi)容;三是采用EEPROM來保存數(shù)據(jù)。由于第一種方法體積大、成本高,對單片機系統(tǒng)來說,不宜采

6、用。第二種方法是根據(jù)實際需要,掉電時保存一些必要的數(shù)據(jù),使系統(tǒng)在電源恢復后,能夠繼續(xù)執(zhí)行程序,因而經(jīng)濟實用,故大量采用。EEPROM既具有ROM掉電不丟失數(shù)據(jù)的特點,又有RAM隨機讀的特點。但由于其讀寫速度與讀寫次數(shù)的限制,使得EEPROM不能完全代替RAM3。1.3 本設計任務本研究即以AT89C51單片機為核心,利用AT24C02內(nèi)存芯片設計一個掉電數(shù)據(jù)保持存儲器,要求系統(tǒng)在斷電時,能夠保存數(shù)據(jù),再次開機時,可以使LED數(shù)碼管能夠顯示上次關機時的數(shù)字。其基本電路包括:單片機最小系統(tǒng)、I2C接口電路、LED顯示電路等。第2 章 總體方案論證與設計本系統(tǒng)采用單片機AT89C51為控制核心,利用

7、AT24C02內(nèi)存芯片4設計一個掉電數(shù)據(jù)保持存儲器,要求系統(tǒng)在斷電時,能夠保存數(shù)據(jù),再次開機時,可以使LED數(shù)碼管能夠顯示上次關機時的數(shù)字。系統(tǒng)主要包括單片機最小系統(tǒng)、I2C接口電路、LED顯示電路等。2.1 總體方案思路分析AT89C5l 中有一個用于構成內(nèi)部振蕩器的高增益反相放大器,引腳 XTAL1 和 XTAL2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構成自激振蕩器,振蕩電路。 外接石英晶體及電容 C1、C2 接在放大器的反饋回路中構成并聯(lián)振蕩電路。對外接電容 C1、C2 雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振

8、蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用 30pF±10pF,而如使用陶瓷諧振器建議選擇 40pF±10F。 用戶也可以采用外部時鐘。采用外部時鐘的電路。這種情況下,外部時鐘脈沖接到 XTAL1 端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2 則懸空。 在掉電模式下,振蕩器停止工作,進入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi) RAM 和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結。退出掉電模式的唯一方法是硬件復位,復位后將重新定義全部特殊功能寄存器但不改變 RAM中的內(nèi)容,在 Vcc 恢復到正常工作電平前,復位應無效,且必須保持一定時間以

9、使振蕩器重啟動并穩(wěn)定工作。同時AT24C02存儲芯片,既具有ROM掉電不丟失數(shù)據(jù)的特點,又有RAM隨機讀寫的特點。所以使用EEPROM AT24C02實現(xiàn)掉電保護,我們根據(jù)其特點進行設計5。2.2 總體硬件組成框圖 AT89C51 LED顯示器AT24C0數(shù)據(jù)存儲芯片 晶振電路 復位電路 開關控制電路 圖2-1 總體硬件組成框圖 系統(tǒng)框圖如圖2-1所示,系統(tǒng)主要由單片機AT89C51,數(shù)據(jù)存儲芯片AT24C02,晶振電路,復位電路,開關控制電路組成。 第3章 系統(tǒng)硬件設計3.1 掉電數(shù)據(jù)保持存儲器的硬件設計3.1.1 AT89C51芯片介紹AT89C51 是美國 ATMEL 公司生產(chǎn)的低電壓,

10、高性能 CMOS8 位單片機,片內(nèi)含 4k bytes 的可反復擦寫的只讀程序存儲器(PEROM)和 128 bytes 的隨機存取數(shù)據(jù)存儲器(RAM),器件采用 ATMEL 公司的高密度、非易失性存儲技術生產(chǎn),兼容標準 MCS-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器(CPU)和 Flash 存儲單元,功能強大 AT89C51 單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。AT89C51 提供以下標準功能:4k 字節(jié) Flash 閃速存儲器,128 字節(jié)內(nèi)部 RAM,32 個 IO 口線,兩個 16 位定時計數(shù)器,一個 5 向量兩級中斷結構,一個全雙工串行通信口,片內(nèi)

11、振蕩器及時鐘電路。同時,AT89C51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位6。圖3-1-1 AT89C51引腳圖 3.1.2 驅動電路的設計此系統(tǒng)中驅動電路原理圖如圖3-1-2所示。 圖3-1-2 驅動電路原理圖3.2 晶振電路模塊的設計 圖3-2 晶振電路89C51芯片內(nèi)部有一個高增益反相放大器,用于構成振蕩器7。如圖32,反相放大器的輸入端為XTAL1 ,輸出端為XTAL2,兩個跨接石

12、英晶體及兩個電容就可以構成穩(wěn)定的自激振蕩器。電容器通常取30pF左右,可以穩(wěn)定頻率并對振蕩頻率有微調(diào)作用XTAL1 是片內(nèi)振蕩器的反相放大器輸入端,XTAL2 則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2 懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF 左右。一個晶體振蕩器,接在單片機內(nèi)部的振蕩電路上,兩個電容是起振電容,頻率越高,應該越小8。3.3 復位電路模塊的設計 在振蕩器運行時,有兩個機器周期(24 個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機復位,

13、只要這個腳保持高電平,51 芯片便循環(huán)復位。復位后P0P3 口均置1 引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR 全部清零。當復位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM 的00H 處開始運行程序。 如上圖3-3所示復位電路,由于復位時高電平有效,當剛接上電源的瞬間,電容C1兩端相當于短路,即相當于給RESET引腳一個高電平,等充電結束時(這個時間很短暫),電容相當于斷開,這時已經(jīng)完成了復位動作9。 圖3-3 復位電路3.4 數(shù)碼顯示管模塊設計我們最常用的是七段式和八段式LED數(shù)碼管,八段比七段多了一個小數(shù)點,其他的基本相同。所謂的八段就是指數(shù)碼管里有八個小LED發(fā)光二極管,通過控制不同的

14、LED的亮滅來顯示出不同的字形。數(shù)碼管又分為共陰極和共陽極兩種類型,其實共陰極就是將八個LED的陰極連在一起,讓其接地,這樣給任何一個LED的另一端高電平,它便能點亮10。而共陽極就是將八個LED的陽極連在一起。其原理圖如下11。 共陰極 共陽極 引腳圖 圖3-2-1 數(shù)碼顯示管設計原理圖第4章 系統(tǒng)的軟件設計4.1 主程序設計開始 賦初值調(diào)用讀取函數(shù)數(shù)據(jù)開始計時 調(diào)用讀取函數(shù)數(shù)據(jù)是否計時一秒否清零是調(diào)用寫入數(shù)據(jù)函數(shù)是否清零鍵為零否是 延時 圖4-1 主程序流程圖4.2 子程序設計 開始 將數(shù)據(jù)送入SDA 賦初值 等待一個周期SCL上升沿數(shù)據(jù)寫入AT24C02 等待2個周期 SCL置低電平 將

15、數(shù)據(jù)左移一位 移入次數(shù)加1否是否移入次數(shù)為8是 返回主程序圖4-2 寫入數(shù)據(jù)子程序第5章 系統(tǒng)調(diào)試與測試結果分析5.1 使用的儀器儀表 按鍵開關,AT89C51單片機,AT24C02數(shù)據(jù)存儲器,LED數(shù)碼顯示器,電容,電阻,電源插頭。下面為各元器件的作用: 開關:一個開關起到開關機作用,一個開關用于復位電路; 電容:用于單片機的最小系統(tǒng); 數(shù)碼顯示器:顯示數(shù)字。5.2 系統(tǒng)調(diào)試根據(jù)系統(tǒng)設計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。5.2.1硬件調(diào)試 對各個模塊的功能進行調(diào)試,主要調(diào)試各模塊能否實現(xiàn)指定的功能。5.2.2軟件調(diào)試 軟件調(diào)試采用單片機仿真器WAVE6000L

16、及微機,將編好的程序進行調(diào)試,主要是檢查語法錯誤。5.2.3硬件軟件聯(lián)調(diào) 將調(diào)試好的硬件和軟件進行聯(lián)調(diào),主要調(diào)試系統(tǒng)的實現(xiàn)功能。5.3 測試結果此次系統(tǒng)設計結果較好,開啟電源帶數(shù)字到達某一值關閉電源,等待五秒,待再次開啟電源,顯示為關機時結果。結 論 本設計任務是以AT89C51單片機為控制核心,利用AT24C02內(nèi)存芯片設計一個掉電數(shù)據(jù)保持存儲器。通過這次的學習,我對我對AT89C51系列單片機有了進一步了解,對AT24C02芯片的應用更加靈活。更主要得是我知道了掉電保護的主要原理是由電源監(jiān)控芯片和串行E2PROM AT24C02構成的低成本掉電檢測和保護電路,在實時保存數(shù)據(jù)和掉電恢復現(xiàn)場繼

17、續(xù)運行的單片機系統(tǒng)中具有現(xiàn)實的工程意義。使用中比自帶掉電保護的EZPROM 要更加靈活,可以自由利用AT24C02 的存儲空間,例如循環(huán)使用、用個別單元存放可修改參數(shù)。但是,由于實際應用中廉價的單片機大多數(shù)都不帶總線接口,這就使得在軟件編程上復雜了一些,通過一定的編程技巧取得的效果是令人滿意的。 通過軟硬件的仿真調(diào)試,實現(xiàn)了本次設計的基本功能:實現(xiàn)存儲器掉電后再次開機時,LED數(shù)碼管能夠顯示上次關機時的數(shù)字。但在實際應用中,功能不僅僅于此,通過對程序的稍做修改,我們就可以實現(xiàn)更多的功能。參考文獻1 焦麗鵑.李春旭.郭學良.液晶顯示器在人機交互系統(tǒng)中的應用J.信息技術,2006年11期. 2 劉

18、勇數(shù)字電路M.電子工業(yè)出版社,20043 沈紅衛(wèi).單片機應用系統(tǒng)設計實例與分析M.北京:北京航空航天大學出版社.2003 .4 彭介華.電子技術課程設計指導J.北京:高等教育出版社,1997.5 萬光毅.單片機實驗與實踐教程M. 北京:北京航空航天大學出版社.2005.1.6 張毅剛.單片機原理及應用M. 北京:高等教育出版社.2003:160-190.7 諸昌鈐.LED 顯示屏系統(tǒng)原理及工程技術M. 成都:電子科技大學出版社.2000.8 張紅.基于單片機控制的LED 點陣顯示屏系統(tǒng)J. 微計算機信息.2009.25期 1-2卷:92-93.9 胡燁,姚鵬翼,陳明.Protel 99SE原理

19、圖與PCB設計教程M.機械工業(yè)出版社.2005:23-99.10 馬忠梅.單片機的C 語言應用程序設計M.北京:北京航空航天大學出版社.200611 周潤景.基于Proteus的電路與單片機仿真系統(tǒng)設計與仿真M. 北京:北京航空航天大學出版社. 2005. 附錄1 程序#include <reg52.h> #include <intrins.h> #define OP_READ 0xa1 #define OP_WRITE 0xa0 sbit SCK=P34; sbit SDA=P35; unsigned char code table=0xc0,0xf9,0xa4,0x

20、b0,0x99,0x92,0x82,0xf8,0x80,0x90; unsigned char sec=0; unsigned int count; bit write=0; sbit shiwei=P26; sbit gewei=P27; sbit K5=P32; void delay1ms()unsigned char i,j; for(i=0;i<10;i+)for(j=0;j<33;j+); void delaynms(unsigned char n) unsigned char i;for(i=0;i<n;i+)delay1ms();void start()SDA

21、= 1; SCK = 1; SDA = 0; SCK = 0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); void stop()SDA = 0; SCK = 1; _nop_(); _nop_(); SDA = 1; _nop_(); _nop_(); SDA=0; _nop_(); _nop_(); SCK=0;bit Ask() bit ack_bit; SDA = 1; _nop_(); _nop_(); SCK = 1; _nop_(); _nop_(); ack_bit = SDA; SCK = 0; return ack_bit; u

22、nsigned char ReadData()unsigned char i;unsigned char x; for(i = 0; i < 8; i+)SCK = 1; x<<=1; x|=(unsigned char)SDA; SCK = 0; return(x); void WriteCurrent(unsigned char y)unsigned char i;for(i = 0; i < 8; i+) SDA = (bit)(y&0x80); _nop_(); SCK = 1; _nop_(); _nop_(); SCK = 0; y <<

23、= 1; unsigned char writeset(unsigned char add,unsigned int dat) start(); WriteCurrent(OP_WRITE); Ask();WriteCurrent(add); Ask();WriteCurrent(dat); Ask();stop(); delaynms(4); unsigned char ReadCurrent()unsigned char x;start(); WriteCurrent(OP_READ); Ask();x=ReadData(); stop(); return x; unsigned char ReadSet(unsigned char set_addr)start(); WriteCurrent(OP_WRITE); Ask();WriteCurrent(set_addr); Ask();return(ReadCurrent(); void LED

溫馨提示

  • 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

提交評論