第1章 緒論 1.1課題背景 測量控制的作用是從生產現場中獲取各種參數,運用科學計算的方法,綜合各種先進技術,使每個生產環節都能夠得到有效的控制,不但保證了生產的規范化、提高產品質量、降低成本,還確保了生產安全。所以,測量控制技術已經被廣泛應用于煉油、化工、冶金、電力、電子、輕工和紡織等行業。
隨著單片機技術的迅速興起與蓬勃發展,其穩定、安全、高效、經濟等優點十分突出,所以其應用也十分廣泛。單片機已經無處不在、與我們生活息息相關,并且滲透到生活的方方面面。
單片機的特點是體積較小,也就是其集成特性,其內部結構是普通計算機系統的簡化,增加一些外圍電路,就能夠組成一個完整的小系統,單片機具有很強的可擴展性。它具有和普通計算機類似的、強大的數據處理功能,通過使用一些科學的算法,可以獲得很強的數據處理能力[2]。所以單片機在工業中應用中,可以極大地提高工業設備的智能化、數據處理能力和處理效率,而且單片機無需占用很大的空間。
隨著溫度檢測理論和技術的不斷更新, 溫度傳感器的種類也越來越多,在微機系統中使用的傳感器,必須是能夠將非電量轉換成電量的傳感器,目前常用的有熱電偶傳感器、熱電阻傳感器和半導體集成傳感器等,每種傳感器根據其自身特性,都有它自己的應用領域。 本設計所介紹的數字溫度計與傳統的溫度計相比,具有讀數方便,測溫范圍廣,測溫準確,其輸出溫度采用數字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用,該設計控制器使用單片機STC8052,測溫傳感器使用DS18B20用1602C以串口傳送數據,實現溫度顯示,能準確達到以上要求。 1.2溫度檢測與及報警系統的國內外狀況 溫度是一個非常重要的物理量,因為它直接影響燃燒、化學反應、發酵、烘烤、煅燒、蒸餾、濃度、擠壓成形、結晶以及空氣流動等物理和化學過程。溫度控制失誤就可能引起生產安全、產品質量、產品產量等一系列問題。因此對溫度的檢測的意義就越來越大。溫度采集控制系統在工業生產、科學研究和人們的生活領域中,得到了廣泛應用。
在工業生產過程中,很多時候都需要對溫度進行嚴格的監控,以使得生產能夠順利的進行,產品的質量才能夠得到充分的保證。使用自動溫度控制系統可以對生產環境的溫度進行自動控制,保證生產的自動化、智能化能夠順利、安全進行,從而提高企業的生產效率。
溫度采集控制系統是在嵌入式系統設計的基礎上發展起來的。嵌入式系統雖然起源 于微型計算機時代,但是微型計算機的體積、價位、可靠性,都無法滿足廣大對象對嵌入式系統的要求,因此,嵌入式系統必須走獨立發展道路。這條道路就是芯片化道路。將計算機做在一個芯片上,從而開創了嵌入式系統獨立發展的單片機時代。單片機誕生于二十世紀七十年代末,經歷了SCM、MCU和SOC三大階段。 在現代化的工業生產中,電流、電壓、溫度、壓力、流量、流速和開關量都是常用的主要被控參數。例如:在冶金工業、化工生產、電力工程、造紙行業、機械制造和食品加工等諸多領域中,人們都需要對各類加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測和控制。采用MCS-51單片機來對溫度進行控制,不僅具有控制方便、組態簡單和靈活性大等優點,而且可以大幅度提高被控溫度的技術指標,從而能夠大大提高產品的質量和數量。因此,單片機對溫度的控制問題是一個工業生產中經常會遇到的問題。同時溫度也是生活中最常見的一個物理量,也是人們很關心的一個物理量,它與我們的生活息息相關,有著十分重要的意義,在工業生產中,溫度過高或過低會直接影響到產品的質量、對機械設備和控制系統中的各種元器件造成一定的損壞,嚴重的會影響到生產安全。在日常生活中,溫度過高或過低同樣會造成一些不良影響。 在實際生產、生活等各個領域中,溫度是環境因素的不可或缺的一部分,對溫度及時精確的控制和檢測顯得尤為重要。比如,農業上土壤各個層面上的溫度將會影響植物的生長;在醫院的監護中也用到溫度的測量。在工業中,料桶里外上限溫度要求不一,以及熱處理中工件各個部位的溫度對工件形成后的性能至關重要等等。現代電子工業的飛速發展對自動測試的要求越來越高。采用單片機對溫度進行控制,不僅具有控制方便和組態簡單的優點,而且可以提高被控溫度的技術指標。針對以上情況,在控制成本的前提下,通過本設計設計一款能夠實時檢測控制溫度,又具有對系統設定不同的報警溫度的溫度控制報警系統功能。此系統能夠滿足現代生產生活的需要,效率高,具有較強的穩定性和靈活性。因此,在生產和生活中要對溫度進行嚴格的控制,使溫度在規定的范圍內變化。通過本系統提高學生對于溫度控制的認識。在學習實踐中提高對理論的認知能力和動手解決實際問題的能力,達到教學實踐相結合的目的。及采用先進的科學技術,加以豐富的保安實際經驗和知識,向社會提供各種超值安全設備服務,給用戶帶來安全和放心。
第2章系統的硬件結構的組成
本系統集成了溫度報警及開機計時功能,必要時,也可以將計時功能改為臨時時鐘的功能,這大大方便了我們的需要。 本系統結構框架: 2.1 所需主要元件及芯片 l AT89C52單片機一片。 l 1302時鐘芯片一片。 l 18b20溫度傳感器一只。 2.2設計思想 l 溫度方面:18b20實時采集溫度數據,并將采集到的數據傳送到單片機加以計算并處理,單片機將處理好的數據通過LCD液晶顯示屏顯示出來,以便我們能夠直觀的測量數據。 l 時鐘方面:采用1302芯片通過簡單的串行接口與單片機進行通信以實現對時間的調整,當需要復位時只需按下復位按鈕,系統又可回到計時狀態,當需要時鐘是也可以通過按鍵將計時改為鐘表。 l 輸出顯示:采用1602C液晶顯示器通過單片機P0口將所測溫度,以及時間顯示出來。 l 報警處理:通過所測溫度與預先設定的上下限的溫度進行比較,如果大于或小于是就開始報警。報警顯示通過LED發光二極管顯示并通過揚聲器發出警告。 2.3所需主要元件介紹 2.3.1 Stc89c52單片機 STC89C52低電壓,高性能CMOS8位單片機,片內含4K的可以反復擦寫的只讀程序存儲器PEROM和128B的隨機數據存儲器RAM器件采用ATMAl公司的高密度,非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器CPU和FLASH存儲單元,功能強大AT89C51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。 主要性能 l 與MCS-51單片機產品兼容。 l 8K字節在系統可編程Flash存儲器。 l 1000次擦寫周期。 l 全靜態操作:0Hz~33Hz。 l 三級加密程序存儲器。 l 32個可編程I/O口線。 l 三個16位定時器/計數器。 l 八個中斷源。 l 全雙工UART串行通道。
l 低功耗空閑和掉電模式。 l 掉電后中斷可喚醒。
l 看門狗定時器。 l 雙數據指針。 l 掉電標識符。 file:///D:/Temp/msohtmlclip1/01/clip_image002.gif 圖2-1 STC89C52引腳圖 VCC : 電源 GND: 地 P0 口: P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下, P0具有內部上拉電阻。 在 flash編程時,P0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗 時,需要外部上拉電阻。 1 P1 口: P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 此外,P1.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2 的觸發輸入(P1.1/T2EX).在flash編程和校驗時,P1口接收低8位地址字節。 引腳號 第二功能 P1.0 T2(定時器/計數器T2的外部計數輸入),時鐘輸出 P1.1 T2EX(定時器/計數器T2的捕捉/重載觸發信號和方向控制)
P1.5 MOSI(在系統編程用) P1.6 MISO(在系統編程用) P1.7 SCK(在系統編程用) 2 P2 口: P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX @DPTR) 時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發送1。在使用 8位地址(如MOVX @RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。 在flash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。 3 P3 口: P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89S52特殊功能(第二功能)使用.在flash編程和校驗時,P3口也接收一些控制信號。 引腳號 第二功能 P3.0------RXD(串行輸入) P3.1-------TXD(串行輸出) P3.2------- INT0(外部中斷0) P3.3------- INT0(外部中斷0) P3.4------- T0(定時器0外部輸入) P3.5------- T1(定時器1外部輸入) P3.6 -------WR(外部數據存儲器寫選通) P3.7------- RD(外部數據存儲器寫選通 XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端
存儲器結構 MCS-51器件有單獨的程序存儲器和數據存儲器。外部程序存儲器和數據存儲器都可以 64K尋址。 程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始
對于 89S52,如果EA 接VCC,程序讀寫先從內部存儲器(地址為0000H~1FFFH)開 始,接著從外部尋址,尋址地址為:2000H~FFFFH 。數據存儲器:AT89S52 有256字節片內數據存儲器。高128 字節與特殊功能寄存器重疊。也就是說高128字節與特殊功能寄存器有相同的地址,而物理上是分開的。 當一條指令訪問高于7FH 的地址時,尋址方式決定CPU 訪問高128 字節RAM 還是特 殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。 例如,下面的直接尋址指令訪問0A0H(P2口)存儲單元 MOV 0A0H , #data 使用間接尋址方式訪問高128 字節RAM。例如,下面的間接尋址方式中,R0 內容為 0A0H,訪問的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。 MOV @R0 , #data 堆棧操作也是簡介尋址方式。因此,高128字節數據RAM也可用于堆棧空間。 中斷 AT89S52 有6個中斷源:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、 2)和一個串行中斷。 符號 位地址 功能 EA IE.7 中斷總允許控制位。EA=0,中斷總禁止;EA=1,各中斷由各自的控制位設定 IE.6 預留 ET2 IE.5 定時器2中斷允許控制位 ES IE.4 串行口中斷允許控制位 ET1 IE.3 定時器1中斷允許控制位 EX1 IE.2 外部中斷1允許控制位 ET0 IE.1 定時器0中斷允許控制位 EX0 IE.0 外部中斷1允許控制位 晶振特性 AT89S52 單片機有一個用于構成內部振蕩器的反相放大器,XTAL1 和XTAL2 分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構成自激振蕩器。從外部時鐘源驅動器件的話,XTAL2 可以不接,而從XTAL1 接入,由于外部時鐘信號經過二分頻觸發后作為外部時鐘電路輸入的,所以對外部
時鐘信號的占空比沒有其它要求,最長低電平持續時間和最少高電平持續時間等還是要 符合要求的。 2.3.2 1302時鐘芯片 DS1302 是DALLAS 公司推出的涓流充電時鐘芯片內含有一個實時時鐘/日歷和31 字節靜態RAM 通過簡單的串行接口與單片機進行通信實時時鐘/日歷電路提供秒分時日日期月年的信息每月的天數和閏年的天數可自動調整時鐘操作可通過AM/PM 指示決定采用24 或12 小時格式DS1302 與單片機之間能簡單地采用同步串行的方式進行通信僅需用到三個口線1 RES 復位2 I/O 數據線3SCLK串行時鐘時鐘/RAM 的讀/寫數據以一個字節或多達31 個字節的字符組方式通信DS1302 工作時功耗很低保持數據和時鐘信息時功率小于1mW DS1302 是由DS1202 改進而來增加了以下的特性雙電源管腳用于主電源和備份電源供應Vcc1 為可編程涓流充電電源附加七個字節存儲器它廣泛應用于電話傳真便攜式儀器以及電池供電的儀器儀表等 產品領域下面將主要的性能指標作一綜合 實時時鐘具有能計算2100年之前的秒分時日日期星期月年的能力還有閏年調整的能力 31 8 位暫存數據存儲RAM 串行 I/O 口方式使得管腳數量最少 寬范圍工作電壓2.0 5.5V
工作電流 2.0V 時,小于300nA
讀/寫時鐘或RAM 數據時有兩種傳送方式單字節傳送和多字節傳送字符組方式8腳DIP 封裝或可選的8 腳SOIC 封裝根據表面裝配 簡單3線接口 與 TTL 兼容Vcc=5V 可選工業級溫度范圍-40 +85 與 DS1202 兼容 在 DS1202 基礎上增加的特性 對Vcc1 有可選的涓流充電能力
雙電源管用于主電源和備份電源供應 備份電源管腳可由電池或大容量電容輸入 附加的7字節暫存存儲器 1 DS1302的基本組成和工作原理 DS1302 的管腳排列及描述如下圖所示 管腳描述 X1 X2------- 32.768KHz 晶振管腳 GND------- 地 RST -------復位腳 I/O --------數據輸入/輸出引腳 SCLK------- 串行時鐘 Vcc1,Vcc2 -------電源供電管腳 2. DS1302 內部寄存器 CH: 時鐘停止位寄存器2 的第7 位12/24 小時標志 CH=0 振蕩器工作允許bit7=1,12 小時模式 CH=1 振蕩器停止bit7=0,24 小時模式 WP: 寫保護位寄存器2 的第5 位:AM/PM 定義 WP=0 寄存器數據能夠寫入 AP=1 下午模式 WP=1 寄存器數據不能寫入 AP=0 上午模式 TCS: 涓流充電選擇 DS: 二極管選擇位 TCS=1010 使能涓流充電 DS=01 選擇一個二極管 TCS=其它 禁止涓流充電 DS=10 選擇兩個二極管 DS=00 或11, 即使TCS=1010, 充電功能也被禁止 file:///D:/Temp/msohtmlclip1/01/clip_image004.jpg 圖2-2DS1302時鐘芯片引腳示意圖 2.3.3 18b20介紹 特性 • 獨特的單線接口僅需一個端口引腳進行通訊 • 簡單的多點分布應用 • 無需外部器件
• 可通過數據線供電 • 零待機功耗 • 測溫范圍-55~+125℃,以0.5℃遞增。華氏器件-67~+2570F,以0.90F 遞增 • 溫度以9 位數字量讀出 • 溫度數字量轉換時間200ms(典型值) • 用戶可定義的非易失性溫度報警設置 • 報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件 • 應用包括溫度控制、工業系統、消費品、溫度計或任何熱感測系統 說 file:///D:/Temp/msohtmlclip1/01/clip_image006.gif 圖2-3 DS18B20引腳示意圖 2.3.4 DS1602
特點 1602字符型LCD模塊的應用非常廣泛,而各種液晶廠家均有提供幾乎都是同樣規格的1602模塊或兼容模塊,盡管各廠家的對其各自的產品命名不盡相同;1602字符型LCD模塊最初采用的LCD控制器采用的是HD44780,在各廠家生產的1602模塊當中,基本上也都采用了與之兼容的控制IC,所以從特性上基本上是一樣的;當然,很多廠商提供了不同的字符顏色、背光色之類的顯示模塊。 通常所見到的1602模塊的規格基本如表2-1所示 表2-1 DS1602主要技術參數 DS1602引腳如表2-2所示 表2-2 DS1602接口信號說明
第3章系統的硬件結構模塊設計
本系統的設計結構由單片機,LCD液晶顯示器,1302時鐘芯片,18B20溫度傳感器,以及報警裝置構成。其工作過程為:18B20實時采集環境溫度,將處理好的二進制信號經串口線送至單片機加以處理運算,單片機將處理后的結果通過LCD屏幕顯示出來,單片機在處理的同時,通過將測得的溫度,與系統設定的上下限溫度加以比較,如果超過設定溫度,則通過LED顯示燈語蜂鳴器發出超溫警告,并停止高溫環境下工作這的設備,起到保護設備的作用。 本系統同時加入了1302時鐘芯片,可以起到開機計時的作用,這可以很好的顯示系統的工作時間 3.1系統的工作方框圖 系統的總體工作方框圖如下 file:///D:/Temp/msohtmlclip1/01/clip_image007.giffile:///D:/Temp/msohtmlclip1/01/clip_image008.gif 圖3-1 系統總體方框圖 3.2 系統硬件設計結構圖:
系統實際物品由萬能電路板焊接組成。 本系統的實際物品如下圖所示。 file:///D:/Temp/msohtmlclip1/01/clip_image009.jpg 圖3-2 系統實物圖 3.3 系統設計線路圖: 本系統線路圖采用Proteus方針軟件所設計,可以隨心所欲的的對電路進行改動, file:///D:/Temp/msohtmlclip1/01/clip_image011.jpg 3-3系統仿真圖 3.4 硬件模塊分析與介紹: 總的來說本系統可分為 1處理模塊2顯示模塊,3溫度處理模塊4報警模塊 5 時鐘模塊五大部分,下面分別介紹各個模塊的工作情況。
3.4.1 處理模塊
file:///D:/Temp/msohtmlclip1/01/clip_image013.jpg 圖3-4 處理模塊 本系統處理模塊采用STC89C52單片機,STC89C52單片機具有P0,P1,P2,P3,四個I/O,可根據不同需要使用其端口進行數據的輸入與輸出,關于STC89C52單片機的詳細說明前面以經介紹,此處略。 本系統采用P0口為數據的顯示接口,通過8跟數據線,與LCD液晶屏幕相連接 來顯示數據。 采用P2口來連接外部的報警裝置,通過P2.5,P2.6,P2.7與LED相接,P2.4與揚聲器相接來完成報警功能。 通過P2.4作為傳感器采集信號的輸入斷,將輸入的信號進行處理后輸出。 以P1.0---P1.3作為時鐘芯片輸入信號與輸出信號,時鐘信號短,以完成系統的時鐘功能。 3.4.2 顯示模塊:使用12864LCD 顯示部分采用DS1602液晶顯示器,具有工作電壓范圍寬,工作電流小,低功耗,工作穩定,無需軟件動態掃描的優點,大大節省了程序運行時間,提高了工作效率,被各個行業廣泛應用。
file:///D:/Temp/msohtmlclip1/01/clip_image015.gif 圖3-5 DS1602實物圖 file:///D:/Temp/msohtmlclip1/01/clip_image017.jpg 圖3-6 DS1602仿真圖 本系統中單片機P0接口所輸出的數據由D0———D7信號線輸入LCD屏幕
最終顯示所需的數據,以P2.0作為數據/命令選擇端口,以P2.1作為讀寫選擇端口,以P2.2作為使能信號輸入端。 3.4.3 溫度處理模塊: 本系統的溫度處理模塊采用18B20溫度傳感器為工作核心,因其具有只需一個獨立的通訊端口進行數據傳輸,無需外部通電,無需外部器件,測溫范圍大,工作效率高的優點而應用。 環境溫度被18B20傳感器以二進制數據的形式采集,然后交付單片機處理,然后通過顯示器將被測溫度以十進制數的形式顯示出來。 本系統中以單片機的P2.3端口作為溫度數據輸入端與傳感器的DQ數據輸出線相連,從而實現溫度信號的傳輸功能, file:///D:/Temp/msohtmlclip1/01/clip_image019.gif 圖3-7 溫度測量模塊仿真圖 3.4.4 報警模塊, 本系統采用LED發光二極管,與蜂鳴器為報警裝置,當所測溫度超過設定溫度時,LED將發光,同時蜂鳴器將發出報警聲音。 本模塊中以P2.5,P2.6,P2.7作為報警信號的控制端口接LED等的陰極, LED陽極通過串接330歐姆電阻接5V電源(因為LED燈可以發光的電流范圍為5——20毫安,故串入330歐姆電阻,),因為蜂鳴器可發聲工作的電流范圍
為約100毫安,但單片機引腳最大輸出電流為5毫安,所以不能直接驅動,再此需加三極管放大電路來提高驅動能力。 下圖為此模塊的仿真電路,由于用proteus仿真時無需驅動,故此電路未加三極管驅動電路。蜂鳴器的控制接口為P2.4接口,當P2.4為低電平的時候,蜂鳴器開始工作
file:///D:/Temp/msohtmlclip1/01/clip_image021.gif 圖3-8 蜂鳴器報警仿真圖 3.4.5 時鐘模塊 由于本系統集成了時鐘系統,所以就需要有一個時鐘處理模塊。由于1302時鐘芯片具有一年不差一秒的很好的工作穩定性,本系統的時鐘模塊以1302為工作核心,并配以鍵盤來對時鐘進行調整,
file:///D:/Temp/msohtmlclip1/01/clip_image023.gif 圖3-9 時鐘模塊仿真圖
file:///D:/Temp/msohtmlclip1/01/clip_image025.gif 圖3-10按鍵仿真圖 本模塊中以P1.0作為數據的輸入端口,以P1.1作為時鐘信號的入端口。P3.3 P3.4,P3.5作為按鍵控制端來對時鐘進行操作。
第4章 系統的軟件程序設計 本系統程序采用單片機C語言編寫,單片機C語言與匯編語言相比,具有很大的優點。 1.語言簡潔、緊湊,使用方便、靈活 2. 運算符豐富 3.數據結構豐富。具有現代化語言的各種數據結構。 4.可進行結構化程序設計。 5.可以直接對計算機硬件進行操作。 6.生成的目標代碼質量高,程序執行效率高。 7.可移植性好。 4.1總體模塊介紹 本系統程序部分由溫度處理模塊,鍵盤掃描模塊,顯示模塊,報警模塊組成,由于C語言編寫的程序最大優點是可以模塊化,所以在此將各個模塊進行一一介紹。 程序總模塊: 執行順序 u 開始 u 中斷初始化 u 液晶初始化 u 1302初始化 u 讀取溫度 u 判斷溫度 u 顯示溫度 u 讀取時間 u 顯示時間 u 重新開始 注:本程序使用while死循環,即程序循環體重復執行,也就實現了重復讀取數據,重復顯示數據的目的。程序過程如下: Main() While(1) { 讀取溫度,同時定時中斷; 顯示溫度; 讀取時間; 顯示時間; } 主程序模塊流程圖如圖所示:
file:///D:/Temp/msohtmlclip1/01/clip_image026.gif
圖4-1 4.2各個模塊分別介紹
4.2.1 溫度處理模塊簡介: 溫度處理模塊的工作過程為傳感器先給單片機傳輸數據,然后單片機判斷溫度標志位,如果標志位為1,說明傳感器采集的為負溫度,主函數則調用負溫度處理函數,如果為0則說明采集的是正溫度,則調用正溫度處理函數。 溫度處理模塊流程圖如圖4-2所示。
file:///D:/Temp/msohtmlclip1/01/clip_image027.gif 圖4-2 4.2.2 鍵盤掃描模塊 鍵盤掃描模塊采用定時中斷,每50毫秒掃描鍵盤一次,先判斷AN1鍵盤按下幾次,這樣是為了判斷將要調整時,分,還是秒,然后判斷是AN2按鍵按下還是AN3按鍵按下,這樣用來判斷是將此時選定調整項目的是增還是減,這樣就完成了時鐘的調整問題。 鍵盤掃描模塊流程圖如圖4-3所示 file:///D:/Temp/msohtmlclip1/01/clip_image028.gif 圖4-3
4.2.3 顯示模塊 現實模塊僅為數據的直接讀出,故不詳細介紹。
4.2.4 報警模塊 報警模塊采用比較判斷的方法來實現所測溫度與設定溫度當達到時即報警的作用,程序僅為幾個if語句,故程序簡單明了。比較程序如下 while(1) { Read_Temperature();//讀取溫度 i=conver(); //轉換溫度 if(biaozhi==1) //標志位為1為負溫度反之為正溫度 { fuwendu(i); if(i>10) AQ=0; else AQ=1; biaozhi=0; } else
{ if(i>30) { BQ=0; AQ=1; } elseif(i>28) { AQ=0; BQ=1; } else { AQ=1; BQ=1; } if(i>32) { CQ=1; QQ=0; } else { CQ=0;
QQ=1;
}
zhengwendu(i); }
第5章 硬件調試近年來隨著科技的飛速發展,單片機的應用正在不斷地走向深入,同時帶動傳統控制檢測日新月異更新。在實時檢測和自動控制的單片機應用系統中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構,以及針對具體應用對象特點的軟件結合,加以完善。 單片機系統的硬件調試和軟件調試是不能分開的,許多硬件錯誤是在軟件調試中被發現和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來調試以進一步排除故障。可見硬件的調試是基礎,如果硬件調試不通過,軟件設計則是無從做起。 1. 排除邏輯故障
這類故障往往由于設計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認真對照原理圖,看兩者是否一致。應特別注意電源系統檢查,以防止電源短路和極性錯誤,并重點檢查系統總線(地址總線、數據總線和控制總線)是否存在相互之間短路或與其它信號線路短路。必要時利用數字萬用表的短路測試功能,可以縮短排錯時間。
2. 排除元器件失效
造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞。可以采取檢查元器件與設計要求的型號、規格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。
3. 排除電源故障
在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。若有高壓,聯機仿真器調試時,將會損壞仿真器等,有時會使應用系統中的集成塊發熱損壞。
結論本系統基于STC89C52單片機設計而成,通過DS18B20溫度傳感器采集環境溫度然后將所采集的溫度與預先設定的溫度進行比較,根據判斷條件完成報警功能。 系統仿真 本系統通過proteus仿真軟件仿真,并逐步調整原設計過程中出現的錯誤,加以改正,最終使系統像預想那樣正常工作。 硬件設計 本系統采用的是多功能電路板設計,由于硬件原因,本電路板設計外觀欠佳。由于此系統信號傳輸基本為二進制數據傳輸,故不用過分考慮干擾問題,可完成預定功能。 硬件調試 硬件調試是整個系統設計中最關鍵一步,我們預先設定的系統仿真可以通過,但硬件不一定通過,這還涉及到元件的質量問題,很可能工作一小段時間就出現問題。我在此硬件的調試中通過與仿真的對比,仔細查看焊接問題與接線問題最終完成了硬件的調試。
|