




已閱讀5頁,還剩32頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于單片機AT89C52的軸溫報警器設計專業(年級、班) 設 計 人 指 導 教 師 輔 導 教 師 2009 年 01 月 01 日(設計結束日)目 錄第一章 緒 論研究背景及現狀1.1 研究背景1.1.1 國內研究現狀1.1.2 國外研究現狀1.2 研究方案1.2.1 單片機選擇1.2.2 集成傳感器的選擇第二章 主要硬件介紹2.1單片機AT86C52介紹2.1.1 主要性能參數2.1.2 功能特新概述2.1.3 引腳功能說明2.2 DS18B20介紹2.2.1 DS18B20內部結構2.2.2 DS18B20溫度傳感器的存儲器2.3 LCD顯示器2.3.1 單色液晶顯示器的原理2.3.2 1602LCD的引腳功能2.4 “看門狗”電路2.4.1 “看門狗”的工作原理第三章 軟件開發環境介紹集成開發環境 KEIL1. u Vision2 IDE2. C51編譯器和A51匯編器3. LIB51庫管理器4. BL51鏈接器定位器5. Vision2 軟件調試器6. Vision2硬件調試器7. 利用KEIL開發系統軟件流程第四章 系統設計軟件部分設計4.1溫度部分軟件設計4.2 顯示部分程序設計4.3 報警部分程序設計4.4 本章小結結語參考文獻附錄摘 要以旅客列車的軸溫作為控制對象,探討了一種基于AT89C52單片機的軸溫報警系統方案。該系統利用軟件對采集的數據進行比較、處理,使得系統易于實現。便于維護。能滿足當前鐵路提速的要求 ,對保障列車的安全運行具有重要作用。關鍵詞:溫度傳感器DS18B20;單片機AT89C52;AbstractThe temperature in the passenger train control object is discussed, as a kind of AT89C52 single chip based on temperature alarm system solutions. This system using the software of the data collected in comparison, processing, the system is easy to realize. Easy maintenance. To meet the demands of the railway, the speed of train operation safety guarantee plays an important role.Key words: DS1820; Single Chip Microcomputer AT89C52;第一章 緒論l 研究背景及現狀客車用集中軸溫報警器(以下簡稱軸溫報警器)作為保障旅客列車運行安全重要設備,廣泛應用于各類旅客列車車軸溫度的實時監測,以避免列車運行過程中因溫度過高引起切軸造成的行車事故。l 1.1研究背景在現代化的工農業生產和日常生活中,溫度、電流、電壓、壓力、流量、流速和開關量都是常用的主要被控參數。例如:在冶金工業、化工生產、電力工程、造紙行業、農業生產、機械制造和食品加工等諸多領域中,人們都需要對各類加熱爐、熱處理爐、反應爐、鍋爐和溫室中的溫度進行檢測,來達到有效的測量、控制和調節作用。現階段全路廣泛使用的集中式軸溫報警器是由傳輸線路、軸溫傳感器及控制顯示器組成 ,是監測鐵路列車軸溫 ,預報熱軸 ,防止切軸 ,保證列車運行安全的重要設備. 自軸溫報警器使用以來 ,在預報熱軸 ,防止切軸方面發揮了重要作用 ,準確預報了大量熱軸故障. 但隨著全路范圍內的大規模提速 ,傳統的軸溫監測裝置由于溫度檢測以熱敏電阻為溫度敏感元件 ,雖然熱敏電阻成本低 ,但需要后續信號處理電路 ,使傳感器連線太多,干擾大 , 由于熱敏電阻本身的可靠性相對較差 ,測量溫度的準確度低 ,所以使檢測系統的精度低 ,可靠性差. 而且由于以往系統數據分析單一等原因使之已不能滿足現階段及將來鐵路運輸安全保障的要求 ,需要對其進行改進。l 1.1.1國內研究現狀我國在軸溫報警系統方面,在客車檢測上用到的較頻繁。國內多采用的熱敏電阻器。熱敏電阻的電阻溫度系數較高,室溫電阻通常也較高,因此其自身發熱較小,信號調節較為簡單。熱敏電阻的缺點是互換性差,溫度與輸出阻值之間呈非線性關系。熱敏電阻分為正溫度系數熱敏電阻和負溫度系數熱敏電阻兩種,但在溫度測量應用中,正溫度系數熱敏電阻較少得到采用,更多采用的是負溫度系數熱敏電阻。l 1.1.2國外研究現狀美國、德國、日本等發達國家,涉及其領域較早,在溫控方面取得了很大的發展,并且現在處于了較成熟的發展階段。而我國的溫控起步較晚,但是在引進、借鑒、吸收和消化了發達國家先進技術的基礎上,研制了屬于自己適合自己的微溫控系統。雖然和發達國家還有一定的差距,但是在關于微處理器的智能溫控系統在國內已形成一種良好的發展趨勢,技術日趨完善,在諸多領域都引領了現代科技的潮流。特別是近幾年,含微處理器的智能化數字測溫儀及智能化溫度測控儀系統脫穎而出,以其精度高、準確、可靠、體積小、操作方便靈活等優點,大有取代傳統測控系統的趨勢。1.2 研究方案此次軸溫報警器設計是一套基于單片機的綜合控制系統,包括很多方面。本次設計由于時間等各方面的限制只完成了其中的測量和顯示該部分的內容。l 1.2.1單片機的選擇根據控制系統所要求的控制精度,響應速度,開發環境,I/O點數,輸入/輸出通道數等情況,我們選擇了MCS51系列的8位單片機89C52。AT89C52是一種帶8K字節閃速可編程可擦除只讀存儲器(EEPROM)的低電壓、高性能CMOS8位為制器 。該器件采用ATMEL非易失存儲器制造技術制造,與工業標準的80C51和80C52輸出管相兼容。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的AT89C52是一種高性能控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。l 1.2.2集成傳感器的選擇傳感器是實現測量與控制的首要環節,是測控系統的關鍵部件。傳感器亦稱換能器、變換器,它是將被測的某一物理量(信號)按一定規律轉換成與其對應的另一種(或同種)物理量(或信號)的輸出裝置。傳感器的種類繁多,分類方法也很多。例如,按構成原理來分,可分為結構型和物性型兩類;按信號轉換效應來分,可分為物理型、化學型及生物型傳感器等;按構成傳感器敏感元件材料分,又可分為半導體傳感器、陶瓷傳感器、光纖傳感器、高分子膜傳感器等;按能量觀點分類,則又可分為有源傳感器和無源傳感器等。這里,我們重點介紹一下溫度傳感器。廣義來講,一切隨溫度變化而物體性質亦發生變化的物質均可作為溫度傳感器,例如,我們平常使用的各種材料、元件,其性質或多或少地都會隨其所處的環境溫度變化而變化,因而它們幾乎都能作為溫度傳感器使用。但是,一般真正能作為實際中可使用的溫度傳感器的物體一般需要具備下述條件:(1)物體的特性隨溫度的變化有較大的變化,且該變化量易于測量;(2) 對溫度的變化有較好一一對應的關系,即對除溫度外其他物理量的變化不敏感;(3) 性能誤差及老化小、重復性好,尺寸小;(4) 有較強的耐機械、化學及熱作用等的特點;(5) 與被檢測的溫度范圍和精密度相適應;(6) 價格便宜,適合于批量生產。符合上述條件的常用溫度傳感器有熱電偶、熱電阻、光輻射溫度計、玻璃溫度計、半導體集成溫度傳感器等。而DS18B20 是美國DALLAS 公司繼DS1820 之后推出的增強型單總線數字式溫度傳感器,它在轉換速度、轉換時間、傳輸距離、分辨率等方面較DS1820 有了很大的改進,給用戶帶來了更方便、更令人滿意的效果。第二章 主要硬件介紹l 2.1單片機AT89C52介紹AT89C52是美國ATMEL公司生產的低電壓,高性能CMOS 8位單片機,片內含8K bytes 的可反復擦鞋的只讀程序存儲器(PEROM)和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度,非易失性存儲技術生產,與標準MCS-51指令系統及8052產品引腳兼容,片內置通用8位中央處理器(CPU)和FLASH存儲單元。l 2.1.1主要性能參數:l 與MCS-51產品指令和引腳完全兼容l 8K字節可重復擦寫Flash閃速存儲器l 1000次擦寫周期l 全靜態操作:0Hz-24MHzl 三級加密程序存儲器l 2568字節內部RAMl 32個可編程I/O線口l 3個16位定時/計數器l 8個中斷源l 可編程串行UART通道l 低功耗空閑和掉電模式l 2.1.2功能特性概述:AT89C52提供以下標準功能,8k字節Flash閃速存儲器,256字節內部RAM,32個I/O口線,3個16位定時/計數器,一個6向量兩集中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C52可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。l 2.1.3 引腳功能說明:Vcc:電源電壓GND:地P0口:P0 口是一組 8 位漏極開路型雙向 I/O 口, 也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動 8 個 TTL邏輯門電路,對端口 P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低 8 位)和數據總線復用,在訪問期間激活內部上拉電阻。在 Flash 編程時,P0 口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。P1 口:P1 是一個帶內部上拉電阻的 8 位雙向 I/O 口, P1 的輸出緩沖級可驅動(吸收或輸出電流)4 個 TTL 邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與 AT89C51 不同之處是,P1.0 和 P1.1 還可分別作為定時/計數器 2 的外部計數輸入(P1.0/T2)和輸入(P1.1/T2EX)。Flash 編程和程序校驗期間,P1 接收低 8 位地址。P2 口:P2 是一個帶有內部上拉電阻的 8 位雙向 I/O 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個 TTL 邏輯門電路。對端口 P2 寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或 16 位地址的外部數據存儲器(例如執行 MOVX DPTR 指令)時,P2 口送出高 8 位地址數據。在訪問 8 位地址的外部數據存儲器(如執行 MOVX RI 指令)時,P2 口輸出P2 鎖存器的內容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。P3口:P3 口是一組帶有內部上拉電阻的 8 位雙向 I/O 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個 TTL 邏輯門電路。對 P3 口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的 P3 口將用上拉電阻輸出電流(IIL) 。此外,P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。ALE/PROG: 當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節。一般情況下,ALE 仍以時鐘振蕩頻率的 1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個 ALE 脈沖。對 Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG) 。如有必要,可通過對特殊功能寄存器(SFR)區中的 8EH 單元的 D0 位置位,可禁止 ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將 ALE 激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置 ALE 禁止位無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當 AT89C52 由外部程序存儲器取指令(或數據)時,每個機器周期兩次 PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數據存儲器,將跳過兩次 PSEN信號。EA/VPP:外部訪問允許。欲使 CPU 僅訪問外部程序存儲器(地址為 0000HFFFFH) ,EA 端必須保持低電平(接地) 。需注意的是:如果加密位 LB1 被編程,復位時內部會鎖存 EA端狀態。如 EA端為高電平(接 Vcc端) ,CPU 則執行內部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源 Vpp,當然這必須是該器件是使用 12V 編程電壓 VppXTAL1:振蕩器反相放大器的及內部時鐘發生器的輸入端。XTAL2:振蕩器反相放大器的輸出端l 2.2 DS18B20介紹DS18B20是美國DALLAS半導體公司繼DS1822之后最新推出的一種數字化單總線器件,屬于新一代的適配微處理器的改進型智能溫度傳感器。與傳統的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現9-12位數字值讀書方式。可以分別在93.75ms和750ms內完成9位和12位的數字量,并且從DS18B20讀出的信息或寫入DS18B20的信息僅需要一根口線讀寫,溫度變換功率拉源于數據總線,總線本身也可以向所掛接的DS18B20供電,而無需額外的電源。因而使用DS18B20可使系統結構更趨向于簡單,可靠性更高。DS18B20 支持“一線總線”接口,測量溫度范圍為 -55C+125C ,在-10+85C 范圍內,精度為0.5C 。DS1822 的精度較差為 2C現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量,與前一代產品不同,新的產品支持 3V5.5V 的電壓范圍,使系統設計更靈活、方便。而且新一代產品更便宜,體積更小。 DS18B20可以程序設定912位的分辨率,精度為0.5C。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設定,及用戶設定的報警溫度存儲在EEPROM 中,掉電后依然保存。DS18B20 的性能是新一代產品中最好的!性能價格比也非常出色! DS1822 與 DS18B20 軟件兼容,是DS18B20 的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數的EEPROM,精度降低為2C,適用于對性能要求不高,成本控制嚴格的應用,是經濟型產品。 繼“一線總線”的早期產品后,DS18B20開辟了溫度傳感器技術的新概念。DS18B20使電壓、特性及封裝有更多的選擇,讓我們可以構建適合自己的經濟的測溫系統。 l 2.2.1 DS18B20的內部結構 DS18B20 內部結構主要由四部分組成:64 位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。DS18B20 的管腳排列 如下: DQ 為數字信號輸入/輸出端;GND 為電源地;VDD 為外接供電電源輸入端(在寄生電源接線方式時接地)。 l 2.2.2 DS18B20溫度傳感器的存儲器 DS18B20 溫度傳感器的內部存儲器包括一個高速暫存RAM 和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發器TH、TL和結構寄存器。 暫存存儲器包含了8 個連續字節,前兩個字節是測得的溫度信息,第一個字節的內容是溫度的低八位,第二個字節是溫度的高八位。第三個和第四個字節是TH、TL 的易失性拷貝,第五個字節是結構寄存器的 易失性拷貝,這三個字節的內容在每一次上電復位時被刷新。第六、七、八個字節用于內部計算。第九個字節是冗余檢驗字節。 該字節各位的意義如下: TM R1 R0 1 1 1 1 1 低五位一直都是1 ,TM 是測試模式位,用于設置DS18B20 在工作模式 還是在測試模式。在DS18B20 出廠時該位被設置為0,用戶不要去改動。 R1 和R0用來設置分辨率,如下表所示:(DS18B20 出廠時被設置為12 位) 根據DS18B20的通訊協議,主機控制DS18B20 完成溫度轉換必須經 過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發送一條ROM 指令,最后發送RAM 指令,這樣才能對DS18B20 進行預定的 操作。復位要求主CPU 將數據線下拉500 微秒,然后釋放,DS18B20 收到信號后等待1660 微秒左右,后發出60240 微秒的存在低脈沖,主CPU 收到此信號表示復位成功。l 2.3 LCD顯示器在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產品的通過器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要是數字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發光管、LED數碼管、液晶顯示器。發光管和LED數碼管比較常用,軟硬件都比較簡單,在此不作介紹,本節重點介紹1602字符型液晶顯示器。1602 字符型LCD模塊的應用非常廣泛,而各種液晶廠家均有提供幾乎都是同樣規格的 1602 模塊或兼容模塊,盡管各廠家的對其各自的產品命名不盡相同;1602 字符型 LCD模塊最初采用的 LCD控制器采用的是 HD44780,在各廠家生產的 1602 模塊當中,基本上也都采用了與之兼容的控制 IC,所以從特性上基本上是一樣的;當然,很多廠商提供了不同的字符顏色、背光色之類的顯示模塊。l 2.3.1 單色液晶顯示器的原理 LCD技術是把液晶灌入兩個列有細槽的平面之間。這兩個平面上的槽互相垂直(相交成90度)。也就是說,若一個平面上的分子南北向排列,則另一平面上的分子東西向排列,而位于兩個平面之間的分子被強迫進入一種90度扭轉的狀態。由于光線順著分子的排列方向傳播,所以光線經過液晶時也被扭轉90度。但當液晶上加一個電壓時,分子便會重新垂直排列,使光線能直射出去,而不發生任何扭轉。 LCD是依賴極化濾光器(片)和光線本身。自然光線是朝四面八方隨機發散的。極化濾光器實際是一系列越來越細的平行線。這些線形成一張網,阻斷不與這些線平行的所有光線。極化濾光器的線正好與第一個垂直,所以能完全阻斷那些已經極化的光線。只有兩個濾光器的線完全平行,或者光線本身已扭轉到與第二個極化濾光器相匹配,光線才得以穿透。 LCD由這樣兩個相互垂直的極化濾光器構成,所以在正常情況下應該阻斷所有試圖穿透的光線。但是,由于兩個濾光器之間充滿了扭曲液晶,所以在光線穿出第一個濾光器后,會被液晶分子扭轉90度,最后從第二個濾光器中穿出。另一方面,若為液晶加一個電壓,分子又會重新排列并完全平行,使光線不再扭轉,所以正好被第二個濾光器擋住。總之,加電將光線阻斷,不加電則使光線射出。 然而,可以改變LCD中的液晶排列,使光線在加電時射出,而不加電時被阻斷。但由于計算機屏幕幾乎總是亮著的,所以只有“加電將光線阻斷”的方案才能達到最省電的目的。 從液晶顯示器的結構來看,采用的LCD顯示屏都是由不同部分組成的分層結構。LCD由兩塊玻璃板構成,厚約1mm,其間由包含有液晶(LC)材料的5m均勻間隔隔開。因為液晶材料本身并不發光,所以在顯示屏兩邊都設有作為光源的燈管,而在液晶顯示屏背面有一塊背光板(或稱勻光板)和反光膜,背光板是由熒光物質組成的可以發射光線,其作用主要是提供均勻的背景光源。背光板發出的光線在穿過第一層偏振過濾層之后進入包含成千上萬水晶液滴的液晶層。液晶層中的水晶液滴都被包含在細小的單元格結構中,一個或多個單元格構成屏幕上的一個像素。在玻璃板與液晶材料之間是透明的電極,電極分為行和列,在行與列的交叉點上,通過改變電壓而改變液晶的旋光狀態,液晶材料的作用類似于一個個小的光閥。在液晶材料周邊是控制電路部分和驅動電路部分。當LCD中的電極產生電場時,液晶分子就會產生扭曲,從而將穿越其中的光線進行有規則的折射,然后經過第二層過濾層的過濾在屏幕上顯示出來。l 2.3.2 1602LCD的引腳功能1602LCD采用標準14腳或者16腳接口。VL位液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高。若對比度過高會產生“鬼影”,使用時可以通過一只10K電阻來調整對比度。RS為寄存器選擇端,RS為高電平時選擇數據寄存器,為低電平時選擇指令寄存器。R/W為讀寫信號線,為高電平時進行讀操作,為低電平時為寫操作。當RS和R/W同為低電平時可以寫入指令或者顯示地址;當RS為低電平、R/W為高電平時可以讀忙信號;當RS為高電平可以寫入數據。E為使能端,當E端有高電平跳變低電平時,液晶模塊執行命令。D0D7為8為雙向數據線。l 2.4“看門狗”電路隨著近代超大規模集成電路的出現, 微處理技術及外圍芯片有了飛速的發展。8051系列單片機,得到越來越多研制微機工控系統的科技人員和開發人員的親睞, 但同時也帶來了單片機芯片的抗干擾問題:許多應用系統在進行仿真調試和實驗室內的聯機試運行時都是成功的,然而,一旦進入現場使用,系統則會產生難以預料的干擾,可能導致一些智能型儀器儀表單片機工業控制系統發生“死機”。所以我們就需要一直“看門狗”。l 2.4.1“看門狗”工作原理在程序運行時,看門狗需要程序每隔一段時間給它個信號,用以清空它的計數器,如果沒有這個信號,計數器溢出,則會給處理器一個復位信號,使處理器強制復位,這樣可以避免死機。以 MAX705監控電路來說明“看門狗”硬件電路的工作過程。我們知道,MAX705是一種性能優良的低功耗CMOS監控電路芯片,其內部電路由上電復位、可重觸發“看門狗”定時器及電壓比較器等組成。MAX705只要在1.6 s時間內檢測到WDI引腳有高低電平跳變信號,則“看門狗”定時器清零并重新開始計時;若超出 1.6 s 后,WDI引腳仍無高低電平跳變信號,則“看門狗”定時器溢出,WDO引腳輸出低電平,進而觸發 MR手動復位引腳,使MAC705復位,從而使“看門狗”定時器清零并重新開始計時,WDO 引腳輸出高電平,MAX705的RST復位輸出引腳輸出大約200 ms寬度的低電平脈沖,使單片機控制系統可靠復位,重新投入正常運行。MAX705/706/813L是一組CMOS監控電路,能夠監控電源電壓、電池故障和微處理器(MPU或mP)或微控制器(MCU或mC)的工作狀態。將常用的多項功能集成到一片8腳封裝的小芯片內,與采用分立元件或單一功能芯片組合的電路相比,大大減小了系統電路的復雜性和元器件的數量,顯著提高了系統可靠性和精確度。RESET/RESET操作復位信號用于啟動或者重新啟動MPU/MCU,令其進入或者返回到預知的循環程序并順序執行。一旦MPU/MCU處于未知狀態,比如程序“跑飛”或進入死循環,就需要將系統復位。對于MAX705和MAX706而言,在上電期間只要Vcc大于1.0V,就能保證輸出電壓不高于0.4V的低電平。在Vcc上升期間RESET維持低電平直到電源電壓升至復位門限(4.65V或4.40V)以上。在超過此門限后,內部定時器大約再維持200ms后釋放RESET,使其返回高電平。無論何時只要電源電壓降低到復位門限以下(即電源跌落),RESET引腳就會變低。如果在已經開始的復位脈沖期間出現電源跌落,復位脈沖至少再維持140ms。在掉電期間,一旦電源電壓Vcc降到復位門限以下,只要Vcc不比1.0V還低,就能使RESET維持電壓不高于0.4V的低電平。MAX705和MAX706提供的復位信號為低電平RESET,而MAX813L提供的復位信號為高電平RESET,三者其它功能完全相同。有些單片機,如INTEL的80C51系列,需要高電平有效的復位信號。看門狗定時器MAX705/706/813L片內看門狗定時器用于監控MPU/MCU的活動。如果在1.6s內WDI端沒有收到來自MPU/MCU 的觸發信號,并且WDI處于非高阻態,則WDO輸出變低。只要復位信號有效或WDI輸入高阻,則看門狗定時器功能就被禁止,且保持清零和不計時狀態。復位信號的產生會被禁止定時器,可一旦復位信號撤消并且WDI輸入端檢測到短至50ns的低電平或高電平跳變,定時器將開始1.6s的計時。即WDI端的跳變會清零定時器并啟動一次新的計時周期。一旦電源電壓Vcc降至復位門限以下,WDO端也將變低并保持低電平。只要Vcc升至門限以上,WDO就會立刻變高,不存在延時。典型的應用中是將WDO端連接到MPU/MCU的非屏蔽中斷(NMI)端。當Vcc下降到低于復位門限時,即使看門狗定時器還沒有完成計時周期,端也將輸出低電平。通常這將觸發一次非屏蔽中斷,但是RESET如果同時變低,則復位功能優先權高于非屏蔽中斷。如果將WDI腳懸空,WDO腳可以被用作電源跌落檢測器的一個輸出端。由于懸空的WDI將禁止內部定時器工作,所以只有當Vcc下降到低于復位門限時,WDO腳才會變低,從而起到電源跌落檢測的作用。人工復位低電平有效的手動復位輸入端(MR)可被片內250mA的上拉電流源拉到高電平,并可以被外接CMOS/TTL邏輯電路或一端接地的按鈕開關拉成低電平。不需要采用外部去抖動電路,理由是最小為140ms的復位時間足以消除機械開關的抖動。簡單地將MR端連接到WDO端,就可以使看門狗定時器超時產生復位脈沖。當需要高電平有效的復位信號時,應該選用MAX813L。電源故障比較器MAX705/MAX706/MAX813L片內帶有一個輔助比較器,它具有獨立的同相輸入端(PFI)和輸出端(PFO),其反相輸入端內部連接一個1.25V的參考電壓源。為了建立一個電源故障預警電路,可以在PFI腳上連接一個電阻分壓支路,該支路連接的監視點通常在穩壓電源集成電路之前。通過調節電阻值,合理地選擇分壓比,以便于使穩壓器+5V 輸出端電壓下降之前,PFI端的電壓剛好下降到低于1.25V。使用為MPU/MCU提供中斷信號,以便使其能夠對即將到來的電源掉電作好充分地準備第三章 軟件開發環境介紹集成開發環境 KEILKEIL IDE Vision2集成開發環境是KEIL Software Inc/KEIL Elektronik Gmb開發的基于80C51內核的微處理器軟件開發平臺。它內嵌多種復合當前工業標準的開發工具,可以完成從工程建立和管理,編譯連接目標代碼的生成,軟件仿真,硬件仿真等完整的開發流程。尤其他的C編譯工具在產生代碼的準確性和效率方面達到了很高的水平,而且可以附加靈活的控制選項,在開發大型項目時非常理想。KEIL IDE Vision2集成開發環境主要是由以下部分組成:1. u Vision2 IDEVision2 IDE包括:一個工程管理器,一個功能豐富并有交互式錯誤提示的編程器選項設置生成工具,一級在線幫助。使用vision2創建源文件并組成應用工程加以管理。vision2可以自動完成編譯匯編鏈接程序的操作;2. C51編譯器和A51匯編器由Vision2 IDE創建的源文件可以被C51編譯器或A51匯編處理生成可重定位的object文件。KEIL C51編譯器遵循ANSI C語言標準支持C語言的所有標準特性,另外還增加了幾個可以直接支持80C51結構的特性。KEIL A51宏匯編器支持80C51及其派生系列的所有指令集:3. LIB51庫管理器LIB51 庫管理器可以從由匯編和編譯器創建的目標文件建立目標庫,這些庫是按規定格式排列的目標模塊,可在以后被鏈接器所使用當鏈接器處理一個庫時僅僅使用了庫中程序使用了的目標模塊而不是全部加以引用;4. BL51鏈接器定位器BL51鏈接器使用從庫中提取出來的目標模塊和由編譯器匯編器生成的目標模塊創建一個絕對地址目標模塊,絕對地址目標文件或模塊包括不可重定位的代碼和數據所有的代碼和數據都被固定在具體的存儲器單元中。絕對地址目標文件可以用于:編程EPROM或其他存儲器設備;由Vision2 IDE調試器對目標進行調試和模擬;使用在線仿真器進行程序測試。5. Vision2 軟件調試器Vision2軟件調試器能十分理想地進行快速可靠地程序調試。調試器包括一個高速模擬器,可以使用它模擬整個80C52系統包括片上外圍器件和外部硬件;6. Vision2硬件調試器Vision2 調試器向您提供了幾種在實際目標硬件上測試程序的方法。安裝MON51目標監控器到目標系統并通過Monitor-51 接口下載程序,使用高級GDI接口將Vision2調試器同TKS系列仿真器的硬件系統相連接,通過Vision2 的人機交互環境指揮連接的硬件完成仿真操作。Vision2 操作界面 Vision2 調試界面7. 利用KEIL開發系統軟件流程利用KEIL開發和調試系統軟件流程大致如下:1. 啟動Vision2,進入KEIL軟件的集成開發環境;2. 利用KEIL內置的文本編輯器進行程序源文件的編輯,因為KEIL集成的文本編輯器對中文支持不是很好,可以選擇其他的編輯器,Vision2能夠自動識別外部改變了的源文件;3. 建立工程指定針對那種單片機進行開發,指定對源程序的編譯,鏈接參數,指定調試方式,然后對工程進行相關設置;4. 設置好的工程后即可進行編譯,鏈接。連接仿真器對軟件進行調試。也可以生成下載到單片機存儲器上的HEX文件。第四章 系統設計軸溫報警器是以單片機AT89C52為核心的系統進行設計的。主要分為測量輸入模塊,運算處理模塊,顯示模塊,鍵盤設置模塊和報警模塊。其系統框圖如下:測量輸入模塊鍵盤設置模塊單片機運算處理模塊顯示模塊報警模塊系統框圖軟件部分設計用C語言進行單片機程序設計,采用結構化程序設計思想:在總體設計中采用“自頂而下”(TOP-DOWN)的方法,在程序設計中采用模塊化編程。把整體任務分成一個個子任務,子任務再分子任務,逐層細分,每個子程序都完成其規定的功能,明確輸入輸出。將這些程序連接起來就構成整體流程圖。模塊化編程,每個模塊結構完整,相互獨立的程序段。如液晶模塊的寫控制指令、寫顯示數據、清屏;數據處理中的工程量轉換,均值濾波等。這些程序可以任意調用、修改,使整個程序結構清晰,組合靈活,維護調試方便。主程序流程圖如圖所示,其功能是完成系統的初始化,循環不斷地查詢個按鍵值,將顯示緩沖區的內容送到液晶顯示器,以維持對按鍵的及時響應和數據顯示,并即時對軸溫信號進行比較判斷,當軸溫超過指定溫度是啟動警報程序。開始系統初始化開中板鍵1是否按下?鍵2是否按下?鍵3是否按下?軸溫顯示程序軸溫指定溫度外溫采集處理平動切換采集軸溫跟蹤比較程序報警程序NNNNYYYY主程序流程圖4.1溫度部分軟件設計開始初始化啟動DS18B20讀溫度計算溫度顯示器顯示溫度部分系統程序流程圖DSl8B20的一線工作協議流程是:初始化一ROM操作指令存儲器操作指令數據傳輸。其工作時序包括初始化時序、寫時序和讀時序。故主機控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DSl8B20進行復位。復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DSl8B20進行預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放DSl8B20收到信號后等待16-60微秒左右。后發出60-240微秒的存在低脈沖,主CPU收到此信號表示復位成功。初始化函數ReadOneChar(void)unsigned char i=0;unsigned char dat=0;for(i=8;i0;i-)DQ=0;/給脈沖信號dat=;DQ=l;/給脈沖信號 if(DQ) dat=0x80;delay(4); return(dat); /寫一個字節函數 WriteOneChar(unsigned char dat)unsignedchar i=0;for(i=8;i0;i-)DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat=1;4.2 顯示部分程序設計開始LCD初始化延時DS18B20設第一行顯示位置顯示第一行內容設第二行顯示位置顯示第二行內容顯示流程圖#ifndef _LCD1602_H_#define _LCD1602_H_#include#define Uchar unsigned char#define Uint unsigned int#define LCD_DATA P1sbit LCD_EN=P35;sbit LCD_RS=P36;sbit LCD_RW=P37;#endifvoid LCD_init(void);/初始化void LCD_cmd(Uchar cmd);/寫入控制命令void LCD_string(char *s);/寫入要顯示的字符串void LCD_char(char str);/寫入要顯示的字符void setxy(char x,char y);/設定顯示位置,行x=1/2,列y=116的任意整數void wait_until_ready(void);/檢測忙標志,忙則等待void delay(void);#includeLCD1602.Hsbit bflag=ACC7;void LCD_init(void)LCD_cmd(0x38);/8位數據,2行顯示LCD_cmd(0x08);/顯示關閉LCD_cmd(0x01);/清屏 LCD_cmd(0x06);/寫入數據后光標右移LCD_cmd(0x0c);/顯示開,不顯示光標void LCD_cmd(Uchar cmd)/*寫入控制命令LCD_RS=0;LCD_RW=0;LCD_DATA=cmd;En_Toggle(); wait_until_ready();void LCD_char(char str)/寫入要顯示的字符 LCD_RS=1; LCD_RW=0; LCD_DATA=str;En_Toggle();wait_until_ready();void setxy(char x,char y) /*設定顯示位置,行x=1/2,列y=116的任意整數*/char temp;if(x=1)temp=0x80+y-1;LCD_cmd(temp);elsetemp=0xC0+y-1;LCD_cmd(temp);void LCD_string(char *s)for(;*s!=0;s+)LCD_char(*s);void wait_until_ready(void) /檢測忙標志,忙則等待LCD_RS=0;LCD_RW=1;LCD_DATA=0x0ff;LCD_EN=1;delay();doACC=LCD_DATA;while(bflag=1);LCD_EN=0;4.3 報警部分程序設計本設計中,報警電路選用蜂鳴器+發光二極管實現聲光報警,他們性能穩定,工作可靠及時。現在應用較為廣泛。部分程序如下:設定當溫度大于45或者小于5時,開始報警。Unsigned chari=0;Unsigned int m,n;while(1)i=ReadTemperature();/讀溫度if(i0&i=45&m=5)%(m=5)/判斷溫度的取值范圍,如果大于45或小于5度,則蜂鳴器叫,發光二極管閃爍inta,b;Q1=1;/蜂鳴器叫for(a=0;a1000;a+)/發光二極管閃爍for(b=0;b1000;b+)Q2=1;for(a=0;a1000;a+)for(b=0;b1000;b+)Q2=0;4.4 本章小結用C語言進行單片機程序設計,采用結構化程序設計思想:在總體設計中采用“自頂而下”(TOP-DOWN)的方法,在程序設計中采用模塊化編程。把整體任務分成一個個子任務,子任務再分子任務,逐層細分,每個子程序都完成其規定的功能,明確輸入輸出。將這些程序連接起來就構成整體流程圖。模塊化編程,每個模塊結構完整,相互獨立的程序段。如液晶模塊的寫控制指令、寫顯示數據、清屏;數據處理中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業園區的物業管理及服務創新
- 工業排放控制技術分析
- 工業污染治理的新技術與成果
- 工業建筑設計及其安全防護措施
- 工業廢水零排放技術研究與應用推廣
- 工業污染防治與環保技術探討
- 工業污染的防治與綠色生產
- 工業機器人編程與調試技術研究
- 工業設計中的智能產品創新
- 工業自動化在白水泥生產中的應用研究
- 系統思考的十大基模講解課件
- IOF骨質疏松風險一分鐘測試題
- 假肢使用課件
- 高血壓危象急救和護理
- 部編版高中語文必修下冊文言文基礎知識練習(共12篇)
- 服裝投標技術方案全
- 建筑工程防水(防滲漏)處理PPT
- 民辦學校辦學章程(營利性)
- 機關婦委會換屆選舉工作基本程序
- 零件加工檢驗標準
- UML網上購物系統課程設計DOC
評論
0/150
提交評論