版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、i 基于 8031 單片機溫度控制系統設計 摘 要 隨著國民經濟的發(fā)展,人們需要對各種加熱爐、熱處理爐、烘干箱溫度進行 監(jiān)測和控制。采用單片機來對他們控制不僅具有控制方便,簡單和靈活性大等優(yōu) 點,而且可以大幅度提高被控溫度的技術指標,從而能夠大大的提高產品的質量 和數量。 本設計以 mcs-51 單片機為基礎,結合溫度傳感變送器、a/d 轉換器、led 顯 示器等,組成一個基于 mcs-51 系列中 8031 單片機的溫度控制系統本設計,對 烘干箱的溫度進行檢查與控制。溫度控制誤差2。烘干時顯示實時溫度,顯 示精確到 1。 關鍵詞:單片機,烘干箱,溫度控制,過程控制系統 ii base on
2、8031 singlechip temperature control system design abstract with the development of the national economy, there is a need for a riety of furnace ,heat treatment furnace, drying box temperature monitoring and control. single-chip computer to control not only has control of their convenience, simplicit
3、y and flexibility advantages, but also substantial increase in temperature was charged with technical indicators, which can greatly improve the quality and quantity of products. the mcs-51 design is based on single-chip, combined with temperature sensing transducer, a / d converter, led display and
4、so on, based on the formation of a mcs- 51 series of 8031 single-chip temperature control system for the design, the temperature of the drying box to check and control. temperature control error 2 . display real-time temperature of drying, indicating accurate to 1 . key words: microcontroller, dry b
5、ox, temperature control, process control system. 目錄 iii 前 言 1.1 概述21 第 1 章 緒 論 1.1 概述2 1.1 概述2 1.2 單片機技術簡介2 1.2.1 單片機技術的發(fā)展2 1.2.2 單片機技術的應用3 第 2 章 元器件介紹25 2.1 單片機系統主機的選擇5 2.1.1 單片機的主流系列及機型選擇5 2.2 溫度傳感器5 2.3 2 e prom2864a 介紹6 2.4 adc0809 介紹 8 2.4.1 adc0809 轉換器及其接口電路 8 2.4.2 adc0809 引腳介紹 10 2.5 七段碼 led
6、 顯示器12 2.5.1 led 數碼管編碼方式13 2.5.2 靜態(tài)顯示方式15 第 3 章 系統硬件設計 1.1 概述216 3.1 主機16 3.2 溫度檢測電路17 3.3 溫度控制18 3.4 溫度的設定18 3.5 溫度顯示電路18 3.6 報警電路19 3.7 電爐控制電路19 3.8 硬件原理圖19 第 4 章 軟件設計 1.1 概述220 4.1 工作流程20 4.2 功能模塊20 4.3 資源分配20 iv 4.4 功能軟件設計21 4.4.1 主程序和中斷服務子程序21 4.4.2 鍵盤管理模塊23 4.4.3 顯示模塊26 4.4.4 溫度檢測模塊27 4.4.5 溫度
7、控制模塊29 4.4.6 溫度越限報警模塊30 總 結 1.1 概述233 謝 辭 1.1 概述234 參考文獻 1.1 概述235 外文資料翻譯 1.1 概述236 附 圖 1 前 言 在工業(yè)生產中,電流、電壓、溫度、壓力、流量、流速和開關量都是常用的 主要被控參數。其中,溫度控制也越來越重要。在工業(yè)生產的很多領域中,人們 都需要對各類加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測和控制。采用 單片機對溫度進行控制不僅具有控制方便、簡單和靈活性大等優(yōu)點,而且可以大 幅度提高被控溫度的技術指標,從而能夠大大的提高產品的質量和數量。因此, 單片機對溫度的控制問題是一個工業(yè)生產中經常會遇到的控制問
8、題。 單片機是一種集 cpu、ram、rom、i/o 接口和中斷系統等部分于一體的器件, 只需要外加電源和晶振就可實現對數字信息的處理和控制。因此,單片機廣泛用 于現代工業(yè)控制中。 本論文側重介紹“單片機溫度控制系統”的軟件設計及相關內容。論文的主 要內容包括:采樣、濾波、鍵盤、led 顯示和報警系統,加熱控制系統,單片機 mcs-51 的開發(fā)以及系統應用軟件開發(fā)等。作為控制系統中的一個典型實驗設計, 單片機溫度控制系統綜合運用了微機原理、自動控制原理、模擬電子技術、數字 控制技術、鍵盤顯示技術等諸多方面的知識,是對所學知識的一次綜合測試。 2 第 1 章 緒 論 1.1 概述 隨著現代工業(yè)的
9、逐步發(fā)展,在工業(yè)生產中,溫度、壓力、流量和液位是四種 最常見的過程變量。其中,溫度是一個非常重要的過程變量。例如:在冶金工業(yè)、 化工工業(yè)、電力工業(yè)、機械加工和食品加工等許多領域,都需要對各種加熱爐、 熱處理爐、反應爐和鍋爐的溫度進行控制。然而,用常規(guī)的控制方法,潛力是有 限的,難以滿足較高的性能要求。采用單片機來對它們進行控制不僅具有控制方 便、簡單和靈活性大的優(yōu)點,而且可以大幅度提高被測溫度的技術指標,從而能 夠大大提高產品的質量和數量。因此,單片機對溫度的控制問題是一個工業(yè)生產 中經常會遇到的控制問題。 1.2 單片機技術簡介 1.2.1 單片機技術的發(fā)展 所謂單片機是指在一個集成芯片中,
10、集成微處理器、存儲器、基本的 i/0 接 口以及定時/計數、通信部件,即在一個芯片上實現一臺微型計算機的基本功能。 1970 年微型計算機研制成功之后,隨著就出現了單片機(即單片微型計算機)。美 國 intel 公司 1971 年生產的 4 位單片機 4004 和 1972 年生產的雛形 8 位單片機 8008,特別是 1976 年 mcs-48 單片機問世以來,在短短的二十幾年間,經歷了四 次更新換代,其發(fā)展速度大約每二、丁三年要更新一代、集成度增加一倍、功能 翻一番。其發(fā)展速度之快、應用范圍之廣,己達到了驚人的地步。盡管日前單片 機的品種很多,但其中最具典型性的當數 intel 公司的 m
11、cs-51 系列單片機。 mcs-51 是在 mcs-48 的基礎上于 80 年代初發(fā)展起來的,雖然它仍然是 8 位的單 片機,但其功能有很大的增強。由于 philips, atmel, welbord, lg 等近百家 ic 制造商都主產 51 系列兼容產品,具有品種全、兼容性強、軟硬件資料豐富等 特點。因此,mcs- 51 應用非常廣泛,成為繼 mcs-48 之后最重要的單片機品種。 直到現在 mcs-51 仍不失為單片機中的牡流機型。國內尤以 intel 的 mcs-51 系列 單片機應用最廣。由于 8 位單片機的高性能價格比估計近十年內,8 位單片機仍 3 將是單片機中的主流機型。 1
12、.2.2 單片機技術的應用 隨著計算機技術的發(fā)展和在控制系統中的廣泛應用,以及設備向小型化、智 能化發(fā)展,作為高新技術之一的單片機以其體積小、功能強、價格低廉、使用靈 活等優(yōu)勢,顯示出很強的生命力。它和一般的集成電路相比有較好的抗干擾能力, 對環(huán)境的溫度和濕度都有較好的適應性,可以在工業(yè)條件下穩(wěn)定工作。且單片機 廣泛地應用于各種儀器儀表,使儀器儀表智能化,提高它們的測量速度和測量精 度,加強控制功能。如 mcs-51 系列單片機控制的“船舶航行狀態(tài)自動記錄儀” 、 “煙葉水分測試儀” 、 “智能超聲波測厚儀”等。單片機也廣泛地應用于實時控制 系統中,例如對下 sid 卜各種窯爐的溫度、酸度、化
13、學成分的測量和控制。將測 量技術、自動控制技術和單片機技術相結合,充分發(fā)揮其數據處理功能和實時控 制功能,使系統工作處于最佳狀態(tài),提高系統的生產效率和產品質量。從航空航 天、地質石油、冶金采礦、機械電子、輕工紡織等行業(yè)的分布系統與智能控制以 及機電一體化設備和產品,到郵電通信、日用設備和器械,單片機都發(fā)揮了巨大 作用。 其應用大致可分為以下兒方面: 1機電一體化設備的控制核心 機電一體化是機械設備發(fā)展的方向。單片機的出現促進了機電一體化技術的 發(fā)展,它作為機電產品的控制器,充分發(fā)揮其自身優(yōu)點,大大強化了機器的功能, 提高了機器的自動化、智能化程度。最典型的機電產品機器人,每個關節(jié)或動作 部位都
14、是個單片機控制系統。 2數據采集系統的現場采集單元 大型數據采集系統,要求數據采集的同步性和實時性要好。使用單片機作為 系統的前端采集單元,由主控計算機發(fā)出采集命令,再將采集到的數據逐一送到 主計算機中進行處理。如有些氣象部門、油田采油部門以及電廠等均可采用這樣 的系統。 3分布控制系統的前端控制器 在直接控制級的計算機分布控制系統(dcs)中,單片機作為過程控制中每一 分部操作或控制的控制器,進行數據采集、反饋計算、控制輸出,并在上位機命 令的指揮下進行相應協調工作。 4 4智能化儀表的機芯 自動化儀表的智能化程度越來越高。采用單片機的智能化儀表可具有自整定、 自校正、自動補償和自適應功能,
15、還可進行數字 pid 調節(jié),軟件消除電流熱噪聲 等等,解決傳統儀表所不能解決的難題。單片機的應用使這種性能如虎添翼,如 自動計費電度表、燃氣表中己有這方面的應用。許多工業(yè)儀表中的智能流量計, 氣體分析儀、成分分析僅等也采用了這項技術。甚至有的保健治療儀中也采用了 單片機控制。 5消費類電子產品控制 該應用主要反映在家電領域,如洗衣機、空調器、保安系統、vcd 視盤機、 電子秤、ic 卡、手機、bp 機等。這些設備中使用了單片機機芯后,大大提高了 其控制功能和性能,并實現了智能化、最優(yōu)化控制。 6終端及外圍設備控制 計算機網絡終端設備,如銀行終端、商業(yè) pos(自動收款機)以及計算機外圍 設備如
16、打印機、通信終端和智能化 ups 等。在這些設備中使用單片機,使其具有 計算、存儲、顯示、輸入等功能,具有和計算機連接的接口,使計算機的能力及 應用范圍大大提高。 本課題以單片機作為控制器之一,進一步研究單片機在自動化檢測領域中的 應用。 5 第 2 章 元器件介紹 2.1 單片機系統主機的選擇 2.1.1 單片機的主流系列及機型選擇 1intel 公司的 mcs-48(8 位機):8 位 cpu,并行 i/o 口,8 位定時/計數器尋 址范圍不大于 4k,且無串行口,屬于初級單片機,功能小,易于控制。 2intel 公司的 mcs-51(8 位機):多級中斷處理系統,8 位定時/計數器。 r
17、am,rom 尋址范圍可達 64k 字節(jié),且?guī)в写?i/o 口,此類單片機應用領域極 其廣泛。且貨源充足,其在國內的主流的地位有可能穩(wěn)定一個相當時期。 因考慮頻率的顯示程序中需使用串行輸出,而 mcs-48 系列無串行口,且尋 址范圍過小,故不易實現產品的功能,mcs-51 系列單片機功能全面 ,可靠性高, 容易達到產品的性能指標,且貨源充足,性能價格比較高。mcs-96 雖功能強大 ,但本次設計頻率計軟件對單片機性能要求較低,且 mcs-96 價格昂貴故 mcs- 51 系列能基本滿足要求,是首要選擇。 mcs-51 系列中又以 8031、8051、8751 為代表。它們之間最大的差別在于
18、片 內 rom 的供應狀態(tài)。在 8051 和 8751 中,片內有 4k 字節(jié)的 rom/eprom,而 8031 片內無 rom/eprom,故如選擇 8031,片外必須擴展 eprom,由于 8031 相對 8051、8751 供應狀態(tài)相對充足,且性價比較高,故本設計中選用 8031 單片 機作為控制芯片。 2.2 溫度傳感器 在本次的設計中,我所采用的是熱電阻。熱電阻測溫的基礎是大多數金屬導 體的電阻率溫度升高而增大,具有正的溫度系數。在工業(yè)上廣泛應用的熱電阻溫 度計一般用來測量-200+500范圍的溫度,隨著科學技術的發(fā)展熱電阻溫度計 的測量范圍低溫端可達 1k 左右,高溫端可測到 1
19、000。熱電阻溫度計的特點是 精度高,適宜于測低溫。在 560以下的溫度測量時,它的輸出信號比熱電偶容 易測量。 (1)純金屬是熱電阻的主要制造材料,熱電阻的材料應具有以下的特性: 6 電阻溫度系數要大而且穩(wěn)定,電阻值與溫度之間應具有良好的線性 關系。 電阻率高,熱容量小,反應速度快。 材料的復現性和工藝性好,價格低。 在測溫范圍內化學物理特性穩(wěn)定。 (2)鉑電阻 目前,在工業(yè)中應用最廣的鉑和銅,并已制作成標準溫熱電阻。鉑電阻的特 點是精度高,穩(wěn)定性好,性能可靠。鉑在氧化性氣氛中,甚至在高溫下的物理、 化學性質都非常穩(wěn)定。因此鉑被公認為是目前制造熱電阻的最好材料。鉑電阻與 溫度之間的關系接近于
20、線性,在 0630.74范圍內可用下式表示:rt=r0(1+at+bt2) 。在-1900范圍內為 rt=r0(1+at+bt2+ct3)。該式中,r0、rt 為溫度 0 時 鉑電阻的電阻值,t 為任意溫度,a、b、c 為溫度系數,由實驗確定, a=3.9684*10-3/,b=-5.847*10-7/,c=-4.22*10-12/。由上面的兩個式子 可以看出,當 r0 值不同時,在同樣的溫度下,其 rt 值也不同。目前國內統一設 計的一般工業(yè)用標準鉑電阻值 r0 有 100 歐和 500 歐兩種,并將電阻值 rt 與溫度 t 的相應關系統一列成表格稱其為鉑電阻的分度表,分度號分別用 pt10
21、0 和 pt500 表示。 鉑電阻在常用的熱電阻中準確度最高,國際溫標 its-90 中還規(guī)定,將具有特 殊構造的鉑電阻作為 13.5033k-961.78標準溫度計來使用。鉑電阻廣泛應用于- 200850范圍內的溫度測量,工業(yè)中通常在 600以下。 2.3 2864a 介紹 2 e prom 電擦除電可編程只讀存儲器是近年來被廣泛應用的一種新產品。其 2 e prom 優(yōu)點是能使 cpu 在線修改其中的數據,并可在斷電情況下保存數據,集 eprom 和 ram 功能一體。 intel2864a 是 8k8 位,單5v 供電,最大工作電流為 140ma, 2 e prom 維持電流 60ma,
22、其 24 腳的管腳及原理圖見圖 2-1。由于片內設有編程所需的高 壓脈沖產生電路,因此無需外加編程電源和寫入脈沖。 7 圖 2-1 2864a 管腳及原理框圖 (a) 管腳;(b) 原理圖 2864a 有 4 種工作方式,如表 2-1 所示。 表 2-1 2864a 工作方式 控 制 腳 方 式 ceoewe i/i/ 0 o 7 o 讀 出llh輸出信息 寫 入lhl數據輸出 維 持hxx高 阻 禁止寫xlx 禁止寫xxh 1維持和讀出方式:2864a 的維持和讀出方式與普通 eprom 完全相同。 2寫入方式:2864a 提供了兩種數據寫入操作方式,即字節(jié)寫入和頁面寫 入。 3數據查詢方式
23、:數據查詢方式是指用軟件來檢測寫操作中的“頁存儲” 周期是否完成。在“頁存儲”期間,如進行寫操作,讀出的是最后寫入的字節(jié), 若芯片的轉儲工作未完成,則讀出數據的高位是原來寫入字節(jié)最高位的反碼,據 8 此,cpu 可判斷芯片的編程是否結束。2846a 與 8031 的接口電路如圖 2-2 所示。 圖 2-2 2864a 與 8031 的接口電路 2.4 adc0809 介紹 a/d 轉換電路很多,選擇 a/d 轉換器件主要從速度.精度和藹價格等方面行考 慮,根據 a/d 轉換器的工作原理,可以分為下面的三種類型: 并行 a/d 變換器:速度高,價格也很昂貴,用于高速(如視頻處理場合) 。 逐次逼
24、近型 a/d 轉換器:精度速度價格方面比較折衷,是最常用的一種 a/d 轉換器。 雙積分型 a/d 轉換器:精度高,抗干擾能力強,價格低,但是速度慢,常 用于測量儀表等場合。 2.4.1 adc0809 轉換器及其接口電路 adc0809 是 8 位 cmos 逐次逼近式 a/d 轉換器。內部有 8 路模擬量輸入通 9 道和 8 位數字量輸出的 a/d 轉換器,它是美國國家半導體公司的產品,是目前 國內最廣泛的 8 位通用的 a/d 轉換的芯片。啟動信號為脈沖啟動方式,最大可 調誤差為1lsb。adc0809 內部設有時鐘電路,故 clk 時鐘需由外部輸入。其 內部結構圖如下圖 2-3 所示。
25、 圖 2-3 adc0809 的內部結構 片內帶有鎖存功能的 8 路模擬多路開關,可對 8 路輸入模擬信號分時轉換, 具有多路開關的地址譯碼和鎖存電路、8 位 a/d 轉換器和三態(tài)輸出鎖存器等。 在時鐘脈沖的同步下,控制邏輯先使 n 位寄存器的 d7 位置 1(其余位為 0),此 時該寄存器輸出的內容為 80h,此值經 dac 轉換為模擬量輸出 vn,與待轉換的模 擬輸入信號 vin 相比較,若 vin 大于等于 vn,則比較器輸出為 1.于是在時鐘脈沖 的同步下,保留 d7=1,并使下一位 d6=1,所得新值(c0h)再經 dac 轉換得到新的 vn,再與 vin 比較,重復前述過程.反之,
26、若使 d7=1 后,經比較,若 vin 小于 vn,則使 d7=0,d6=1,所得新值 vn 再與 vin 比較,重復前述過程.依次類推,從 d7 到 d0 都 比較完畢,轉換便結束.轉換結束時,控制邏輯使 eoc 變?yōu)楦唠娖?表示 a/d 轉換結, 此時的 d7d0 即為對應于模擬輸入信號 vin 的數字量。如圖 2-4 所示 adc0809 與 8031 的接口電路。 10 圖 2-4 adc0809 與 8031 的接口電路 2.4.2 adc0809 引腳介紹 adc0809 采用雙列直插式封裝,共有 28 條引腳,如 2-5 圖所示。 11 圖 2-5 adc0809 引腳圖 1.
27、in0-in7 in0in7 為 8 路模擬電壓輸入線,用于輸入被轉換的模擬電壓 2. adda,addb,addc 三位地址輸入端。八路模擬信號轉換選擇同由 abc 決定。a 為低位,c 為 高位。 a、b、c 三位地址的輸入與 8 路通道的對應關系如表 2-2 下: 表 2-2 a、b、c 三位地址的輸入與 8 路通道的對應關系 abc 三位地址的輸入與 8 路通道的對應關系 c00001111 b00110011 地 址 編 碼 a01010101 選中通道in0in1in2in3in4in5in6in7 3. clk 外部時鐘輸入端,時鐘頻率高,a/d 轉換速度快。允許范圍為 10-
28、1280khz,典型值為 640khz,此時,a/d 轉換時間為 10us。通常由 mcs-51 型 單片機 ale 端直接或分頻后與其相連。當 mcs-51 型單片機無讀寫外,ram 操 作時,ale 信號固定為 cpu 時鐘頻率的 1/6,若單片機外接的晶振為 6mhz,則 1/6 為 1mhz,a/d 轉換時間為 64us。 4. d0-d7 數字量輸出端,a/d 轉換的結果由這幾個端口輸出。 5. oe a/d 轉換結果輸出允許控制端,當 oe 端為高電平時,允許將 a/d 轉換結果 從 d0-d7 端輸出。通常由 mcs-51 型單片機的 rd 端和 adc0809 片選端(例如 p
29、2.0),通過或非門與 adc0809 的 oe 端相連接。當 dptr 為 feffh,且執(zhí)行 12 “movx a,dptr” 指令后,rd 和 p2.0 均有效,或非后產生高電平,使 adc0809 的 oe 端有效,adc0809 將 a/d 轉換的結果送入數據總線 p0 口,cpu 在讀入中。 6. ale 地址鎖存允許信號。八路模擬通道地址由 a,b,c 輸入在 adc0809 的 ale 信號有效時,將該八路地址鎖存。 7. start 啟動 a/d 轉換信號。當 start 端輸入一個正脈沖時,立即啟動 adc0809 進行 a/d 轉換。start 端與 ale 端連在一起,
30、由 msc-51 型單片機 wr 和 adc0809 片選端(例如 p2.0) 。通過或非門連接,當 dptr 為 fef8h 時,執(zhí)行 “movx dptr,a”指令后,將啟動 adc0809 模擬通道 0 的 a/d 轉換。 fef8hfeffh 分別為八路模擬輸入通道的地址。執(zhí)行 movx 寫指令,并非真的 將 a 中的內容寫進 adc0809 中,adc0809 中沒有一個寄存器,能容納的 a 中 的內容。adc0809 的輸入通道是 in0in7,輸出通道是 d0d7,因此,執(zhí)行: “movx dptr,a”指令與 a 中內容無關,但 dptr 地址應指向當前 a/d 的 通道地址。
31、 8. eoc a/d 轉換結束信號。當 adc0809 啟動 a/d 轉換后,eoc 輸出低電平,轉換 結束后,eoc 輸 出高電平,表示可以讀取 a/d 轉換的結果。該信號取反后若與 mcs-51 型單片機引腳 int0 或 int1 連接,可引發(fā) cpu 中斷,在中斷服務程序 中讀 a/d 轉換的數字信號,若與 mcs-51 型單片機兩個中斷源已用完,則 eoc 也可與 p1 口或 p3 口的一條端線相連,不采用中斷方式,采用查詢方式,查得 eoc 為高電平后,再讀入 a/d 轉換的值。 9. vref+,vref- 正負基準電壓輸入端。正基準電壓的典型值為+5v,可與電源電壓+5v 相
32、連, 但電源電壓往往有一定的波動,將影響 a/d 轉換的精度。因此,精度要求較高時, 可用高穩(wěn)定基準電源輸入。當模擬信號電壓較低時,基準電壓也可取低于 5v 的 數值。 10. vcc,gnd vcc,gnd:正電源電壓端和地端。 13 2.5 七段碼 led 顯示器 led 數碼管是由發(fā)光二極管作為顯示字段的數碼型顯示器件。圖 2-7(a)為 0.5inled 數碼管的外形和引腳圖,其中七只發(fā)光二極管分別對應 ag 筆段構成 八字形另一只發(fā)光二極管 dp 作為小數點。因此這種 led 顯示器稱為七段數碼管 或八段數數碼。 led 數碼管按電路中的連接方式可以分為共陰型和共陽型兩大類。共陽型是
33、 將各段發(fā)光二極管的正極連在一起,作為公共端 com,公共端 com 接高電平, ag、dp 各筆段通過限流電阻接控制端。某筆段控制端低電平時,該筆段發(fā)光, 高電平時不發(fā)光??刂颇硯锥喂P段發(fā)光,就能顯示出某個數碼或字符。led 的共 陰極和共陽極的結構圖如圖 2-5(a) 、(b)、(c) 所示。 (a) (b) (c) 圖 2-5 7 段 led 數碼顯示器 (a)符號和引腳;(b)共陰極;(c)共陽極 led 數碼管按其外形尺寸有多種形式,使用較多的是 0.5in 和 0.8in;按顯示 顏色也有多種形式,主要有紅色和綠色;按亮度強弱可分為高亮和普亮,指通過 同樣的電流顯示亮度不一樣,這是
34、因發(fā)光二極管的材料不一樣而引起的。 led 數碼管的使用與發(fā)光二極管相同,根據其材料不同正向壓降一般為 1.52v 額定電流為 10ma,最大電流為 40ma。靜態(tài)顯示時取 10ma 為宜,動態(tài) 掃描顯示可加大,可脈沖電流,但一般不超過 40ma。 14 2.5.1 led 數碼管編碼方式 當 led 數碼管與單片機相連時,一般將 led 數碼管的各筆段引腳 a、b、g、dp 按某一順序接到 mcs51 型單片機某一個并行 i/o 口 d0、d1、d7,當該 i/o 口輸出某一特定數據時,就能使 led 數碼管顯示出 某個字符。例如要使共陽極 led 數碼管顯示“0” ,則 abcdef 各筆
35、段引腳為低電 平,g 和 dp 為高電平,如 2-2 表所示。 表 2-2 共陽極 led 數碼管顯示數字“0”時各管段編碼 cd7 d6d5d4d3d2d1d0 字段 碼 顯示 數 dpgfedcba 11000000c0h0 c0h 稱為共陽 lcd 數碼管顯示“0”的字段碼,不計小數點的字段碼稱為七 段碼,包括小數點的字段稱為八段碼。 led 數碼管編碼方式按小數點計否可分為七段碼和八段碼;按共陰共陽可分 為共陰字段碼和共陽字段碼,不計小數點的共陰字段碼與共陽字段碼互為反碼; 按 a、b、g、dp 編碼順序是高位在前,還是低位在前,又可分為順序字段碼 和逆序字段碼。甚至在某些特殊情況下將
36、 a、b、g、dp 順序打亂編碼。下表 2-3 為共陰和共陽 led 數碼管幾種八段編碼表。 表 2-3 共陰和共陽 led 數碼管幾種八段編碼 共陰順序小數點暗共陰逆序小數點暗 dp g f e d c b a16 進制a b c d e f g dp16 進制 共陽順序 小數點亮 共陽順序 小數點暗 00 0 1 1 1 1 1 13fh1 1 1 1 1 1 0 0fch40hc0 h 10 0 0 0 0 1 1 006h0 1 1 0 0 0 0 0 60h79hf9 h 20 1 0 1 1 0 1 15bh1 1 0 1 1 0 1 0dah 24ha4 h 30 1 0 0 1
37、 1 1 14fh1 1 1 1 0 0 1 0f2h30hb0 h 40 1 1 0 0 1 1 066h0 1 1 0 0 1 1 066h19 h99 h 15 50 1 1 0 1 1 0 16dh1 0 1 1 0 1 1 0b6h12 h92 h 60 1 1 1 1 1 0 17dh1 0 1 1 1 1 1 0beh02 h82 h 70 0 0 0 0 1 1 107h1 1 1 0 0 0 0 0e0h78 hf8 h 80 1 1 1 1 1 1 17fh1 1 1 1 1 1 1 0feh00 h80 h 90 1 1 0 1 1 1 16fh1 1 1 1 0 1 1
38、 0f6h10 h90 h led 數碼管顯示電路在單片機應用系統中可分為靜態(tài)顯示方式和動態(tài)顯示方 式。 2.5.2 靜態(tài)顯示方式 此時,每一位顯示器的字段需要一個 8 位 i/o 口控制,而且該 i/o 口須有鎖 存功能,n 位顯示器就需要 n 個 8 位 i/o 口,公共端可直接接+5v(共陽)或接 地(共陰) 。顯示時,每一位字段碼分別從 i/o 控制口輸出,保持不變直至 cpu 刷新顯示為止。 16 第 3 章 系統硬件設計 系統的硬件電路包括主機、溫度檢測、溫度控制、人機對話(鍵盤/顯示/報 警)4 個主要部分。下面對各部分電路分述如下。 3.1 主機 由于系統控制方案簡單,數據量也
39、不大,因此選用 8031 作為控制系統的核 心,外擴 eprom2764 作為程序存儲器。也可視具體情況換用 8051、8052、8751、8752、80c51、89c51、89c52 等。其中, 8051、8052、8751、8752 的各個引腳輸入/輸出電平只與 ttl 電平兼容; 89c51、89c52、80c51 各引腳輸入/輸出電平既與 ttl 電平兼容,也與 cmos 電 平兼容。圖 3-1 為系統的結構框圖。 圖 3-1 電烤箱控制系統結構框 a/d 17 8031 的晶振頻率為 6 mhz。由于 8031 無片內 rom,故 ea 應接地,使用片 外 rom。8031 的 p0
40、 口為低 8 位地址及數據總線的分時復用引腳,需要地址鎖存 器,將低 8 位的地址鎖存后在接到 2764a 的 a0a7 上。該電路采用 74ls373 作 為地址鎖存器,8031 的地址鎖存控制信號線 ale 接鎖存器控制端 g,當 ale 發(fā) 生從高電平向低電平的跳變時,74ls373 將低 8 位地址鎖存后,p0 與 d0d7 口 相連方可作為數據線使用。地址鎖存控制信號 ale 為高電平時,p2 口輸出高 4 位地址 pch,p0 口輸出低 8 位地址 pcl;ale 下降為低電平后,p2 口信息保持 不變,而 p0 口將通過 d0d7 來讀取片外 rom 中的指令。因此,低 8 位地
41、址必 須在 ale 降為低電平之前由外部地址鎖存器 74ls373 鎖存起來。在 psen 輸出 負跳變選通片外 rom 后,p0 口轉為輸入狀態(tài),讀入片外 rom 的指令字節(jié)。 3.2 溫度檢測電路 這部分包括溫度傳感器、變送器和 a/d 轉換三部分。 溫度傳感器和變送器的類型選擇與被控溫度的范圍及精度等級有關。型號為 wzb-003,分度號為 ba2 的鉑熱電阻適應于 0500的溫度測量范圍,可以滿 足本系統的要求。 變送器將電阻信號轉換與溫度成正比的電壓,當溫度在 0500時變送器 輸出 04.9v 左右的電壓。 adc0809 與單片機的接口電路如圖 14 所示。由于 adc0809
42、片內無時鐘, 故利用 8031 提供的地址鎖存允許信號 ale 經 d 觸發(fā)器二分頻后獲得。ale 引腳 的頻率是單片機時鐘頻率的 1/6,如果單片機時鐘頻率為 6mhz,則 ale 引腳的 頻率是 1mhz。在經二分頻后為 500khz,所以 adc0809 更加能可靠工作。 由于 adc0809 具有輸出三態(tài)鎖存器,故其八位數據輸出線可直接與單片機 數據總線相連,單片機的低 8 位地址信號在 ale 作用下鎖存在 74ls373 輸出的 低 3 位信號夾道 adc0809 的通道選擇端 a、b、c 上,作為通道編碼。單片機的 p2.7 作為片選信號,與 wr 進行或非操作,得到一個正脈沖,
43、夾道 adc0809 的 ale 和 start 引腳上。由于 ale 和 start 連接在一起,因此 adc0809 在鎖 存通道地址的同時也啟動轉換。在讀取轉換結果時,用單片機的讀信號 rd 和 p2.7 引腳經或非門后產生的正脈沖作為 oe 信號,用以打開三態(tài)輸出鎖存器。顯然, 18 上述操作時,p2.7 應為低電平。adc0809 的 eoc 端經反相器連接到單片機的 p3.3 引腳,作為查詢或中斷信號。 a/d 轉換器件的選擇主要取決于溫度的控制精度。本系統要求溫度控制誤差 2,采用 8 位 a/d 轉換器,其最大量化誤差為1/2(1/255*500)=1, 完全能夠滿足精度的要求
44、。這里我們采用 adc0809 作為 a/d 轉換器。電路設計 好后,調整變送器的輸出,是 0500的溫度變化對應于 04.9v 的輸出,則 a/d 轉換對應的數字量為 00hfah,即 0250,則轉換結果乘以 2 正好是溫 度值。用這種方法一方面可以減少標度轉換的工作量,另一方面還可以避免標度 轉換帶來的計算誤差。 3.3 溫度控制 電爐控制采用可控硅來實現,雙向可控硅和電爐電阻絲串接在交流 220 v 市 電回路中。單片機的 p1.7 口通過光電隔離器和驅動電路送到可控硅的控制端,由 p1.7 口的高低電平來控制可控硅的導通與斷開,從而控制電阻絲的通電加熱時間。 3.4 溫度的設定 溫度
45、的設定由鍵盤的按鍵來實現。它有獨立式按鍵結構和矩陣式按鍵結構兩 種。鍵盤是由若干個按鍵組成的,它是單片機最簡單的輸入設備。操作員通過鍵 盤輸入數據或命令,實現簡單的人機對話。由于鍵盤只設置 3 個功能鍵,分別是 啟動、 “十位+”和“個位+”鍵,由 p1 口低 3 位作為鍵盤接口,此時,可采用獨 立式按鍵結構。利用+1 按鍵可以分別對預置溫度的十位和個位進行加 1 設置,并 在數碼管 led 上顯示當前設置值。連續(xù)按動相應位的加 1 鍵即可實現 15 35的溫度設置。 按鍵就是一個簡單的開關,當按鍵按下時,相當于開關閉合;當按鍵松開時, 相當于開關斷開。按鍵在閉合和斷開時,觸電會存在抖動現象。
46、 按鍵的抖動時間一般為 510ms,抖動可能造成一次按鍵的多次處理問題。 應采取措施消除抖動的影響。消除辦法有多種,常用軟件延時 10ms 的方法。 在按鍵較少時,常采用圖(b)所示的去抖電路。當按鍵未按下時,輸出為 19 “1” ;當按鍵按下時,輸出為“0” ,即使在 b 位置時因抖動瞬時斷開,只要按鍵 不回 a 位置,輸出就會仍保持為“0”狀態(tài)。 當按鍵多時,常采用軟件延時的辦法。當單片機檢測到有按鍵按下時,先延 時 10ms,然后再檢測按鍵的狀態(tài),若仍是閉合狀態(tài),則認為真正有鍵按下。當檢 測到按鍵釋放時,亦需要做同樣的處理。 3.5 溫度顯示電路 本系統設有 2 位 led 數碼顯示器,
47、停止加熱是顯示設定溫度,啟動加熱時 顯示當前溫室溫度采用串行口擴展的靜態(tài)顯示電路作為顯示接口電路。溫度值采 用 led 數碼靜態(tài)串行輸出顯示,每 30s 刷新一次顯示值。為了不再擴展并行 i/o 口,本例利用串行口的移位功能,擴展為 2 位靜態(tài)顯示電路。led2 顯示十位溫 度值,led1 顯示個位溫度值。在單片機應用系統中,如果需要顯示的內容只有 數碼和某些字母,使用 led 數碼管是一種較好的選擇。led 數碼管顯示清晰、 成本低廉、配置靈活,與單片機接口簡單易行。 3.6 報警電路 報警功能由蜂鳴器來實現。當由于意外因素導致溫室溫度高于設置溫度時, p1.6 口送出的低電平經反向器驅動蜂
48、鳴器鳴叫報警。 3.7 電爐控制電路 電路控制采用可控硅來實現,雙向可控硅和電爐電阻絲串接在交流 220v 市 點回路中。單片機的 p1.7 口通過光電隔離器和驅動電路送到可控硅的控制端,由 p1.7 口的高低電平來控制可控硅的導通和斷開, 控制電阻絲的通電加熱時間。 對使用 scr 的電路,在 scr 陽極加上正向電壓后,還必須在門極與陰極之 間加上觸發(fā)電壓,scr 才能從阻斷轉變?yōu)閷ǎ晳T稱為觸發(fā)控制,提供這個觸 發(fā)電壓的電路稱為 scr 的觸發(fā)電路。它決定每個 scr 的觸發(fā)導通時刻,是 scr 裝置中不可缺少的一個重要組成部分。 控制電路和主要電路的隔離通常是必要的,隔離可有光耦或脈
49、沖變壓器實現。 20 3.8 硬件原理圖 見附圖 第 4 章 軟件設計 4.1 工作原理 電烤箱在開始時,這時可以用“+1”鍵設定預置溫度,顯示器顯示預定溫度; 溫度設定好后就可以按啟動鍵啟動系統工作了。溫度檢測系統不斷定時檢測當前 溫度,并送往顯示器顯示,達到預定值后停止加熱并顯示當前溫度;當溫度下降 到下限時再啟動加熱。這樣不斷重復上述過程,使溫度保持在預定溫度范圍之內。 啟動后不能再修改預置溫度,必須按復位/停止鍵回到停止加熱狀態(tài)再重新設定預 置溫度。 4.3 地址分配 首先給出單片機資源分配情況。數據存儲器的分配與定義見表 4-1。 表 4-1 溫度控制軟件數據存儲器分配表 地 址功
50、能名 稱初始化值 50h51h 當前檢測溫度,高位 在前 temp1temp0 00h 21 52h53h預置溫度,高位在前st1st000h 54h56h bcd 碼顯示緩沖區(qū), 百位、十位、個位 t100,t10,t00h 57h58h 二進制顯示緩沖 區(qū),高位在前 bt1,bt000h 59h7fh堆棧區(qū) psw.5 報警允許標 f0=0 時禁止報警 f0=1 時允許報警 f0 0 程序存儲器:eprom2764 的地址范圍為 0000h1fffh i/o 口:p1.0p1.3鍵盤輸入;p1.6、p1.7報警控制和電爐控制。 a/d 轉換器 0809:通道 0通道 7 的地址為 7ff8
51、h7fffh,使用通道 0。 4.4 功能軟件設計 4.4.1 主程序和中斷服務子程序 主程序采用中斷嵌套方式設計,各功能模塊可直接調用。主程序完成系統的 初始化,溫度預置及其合法性檢測,預置溫度的顯示及定時器 0 設置。定時器 0 中斷服務子程序是溫度控制體系的主體,用于溫度檢測、控制和報警。中斷由定 時器 0 產生,根據需要每隔 15 s 中斷一次,即每 15 s 采樣控制一次。但系統采用 6 mhz 晶振,最大定時為 130 ms,為實現 15 s 定時,這里另行設了一個軟件計數 器。主程序和中斷服務子程序的流程圖如圖 4-1 所示。 0 1 15 s y n 0 0 22 4-1 系統
52、程序總體結構框圖 主程序 main :(數據緩沖區(qū)的定義和初始化部分從略) org 0000h ajmpmain org 000bh ajmppt0 org 0030h main: mov sp,#59h ; 設定堆棧指針 mov tmod,#01h ; 定時器 0 初始化 mov tl0,#0b0h ; 定時器定時時間 100 ms movth0,#3ch movr7,#150;置 15 s 軟計數器初值 acallkin;調鍵盤管理子程序 setbet0;允許定時器 0 中斷 setbea;開中斷 setbtr0;啟動定時器 0 sjmp$ 定時器 0 中斷服務子程序 pt0: pt0:
53、movtl0,#0b0h movth0,#3ch ;重置定時器 0 初值 djnzr7,back ;15 s 到否,不到返回 movr7,#150 ;重置軟計數器初值 23 acall tin ;溫度檢測 mov bt1,temp1 ;當前溫度送顯示緩沖區(qū) mov bt0,temp0 acall disp ;顯示當前溫度 acall cont ;溫度控制 lcall alarm ;溫度越限報警 back:reti 4.4.2 鍵盤管理模塊 上電或復位后系統處于鍵盤管理狀態(tài),其功能是監(jiān)測鍵盤輸入,接收溫度預 置和啟動鍵。程序設有預置溫度合法檢測報警,當預置溫度超過 500時會報警 并將溫度設定在
54、 500。鍵盤管理子程序流程圖如圖 4-2 所示。 圖 4-2 鍵盤管理子程序流程圖 鍵盤管理子程序 kin: kin: acal chk ;預置溫度合法性檢測 mov bt1,st1 a p1.10 p1.20 p1.30 p1.00 100a 10a 1a a a y n y n n y y y n n n y n y 24 mov bt0,st0 ;預置溫度送顯示緩沖區(qū) lcall disp ;顯示預置溫度 kin0: acall key ;讀鍵值 jz kin0 ;無鍵閉合和重新檢測 acall disp acall disp ;二次調用顯示子程序延時去抖 acallkey ;再檢測有
55、無鍵按下 jz kin0;無鍵按下重新檢測 jb acc.1,s10 mov a,#100;百位鍵按下 ajmp sum s10: jb acc.2,s1 mova,#10;十位鍵按下 ajmp sum s1: jb acc.3,s0 mova,#01 ;個位鍵按下 sum: add a,st0;預置溫度按鍵+1 movst0,a mova,#00h addca,st1 movst1,a kin1: acall key;判斷閉合鍵釋放 jnz kin1;未釋放繼續(xù)判斷 ajmp kin;閉合鍵釋放繼續(xù)掃描鍵盤 s0: jnb acc.0,kin;無鍵按下重新掃描鍵盤 ret;啟動鍵按下返回 k
56、ey: mova,p1;讀鍵值子程序 cpla anla,#0fh ret 預置溫度合法性檢測子程序 chk(用雙字節(jié)減法比較預置溫度是否大于 25 500(01f4h): chk:mova,#0f4h ;預置溫度上限低 8 位送 a clrc subba,st0;低 8 位減,借位送 cy mova,#01h;預置溫度上限高 8 位送 a subba,st1;高 8 位帶借位減 jc outa ;預置溫度越界,轉報警 mova,#00h;預置溫度合法標志 ret outa: movst1,#01h ;將 500 寫入預置溫度數據區(qū) mov st0,#0f4h clr p1.6;發(fā)報警信號 0
57、.6 s acall d0.6s setb p1.6;停止報警 ret 4.4.3 顯示模塊 顯示子程序的功能是將顯示緩沖區(qū) 57h 和 58h 的二進制數據先轉換成三個 bcd 碼,分別存入百位、十位和個位顯示緩沖區(qū)(54h、55h 和 56h 單元) ,然 后通過串口送出顯示。顯示子程序 disp: disp: acall htb ;將顯示數據轉換為 bcd 碼 mov scon,#00h ;置串行口為方式 0 mov r2,#03h ;顯示位數送 r2 mov r0,#t100 ;顯示緩沖區(qū)首地址送 r0 ld: mov dptr,#tab ;指向字型碼表首地址 mov a,r0 ;取顯
58、示數據 movc a,a+dptr ;查表 mov sbuf,a;字型碼送串行口 wait: jbc ti,next;發(fā)送結束轉下一個數據并清中斷標志 sjmp wait;發(fā)送未完等待 next: incr0 ;修改顯示緩沖區(qū)指針 26 djnz r2,ld;判 3 位顯示完否,未完繼續(xù) ret tab: coh f9h a4h boh 99h 92h 82h f8h 80h 90h bcd 碼轉換子程序 htb: htb: mova,bt0;取二進制顯示數據低 8 位 movb,#100 ;除 100,確定百位數 divab movt100,a;百位數送 54h 單元 mova,#10 ;
59、除 10,確定十位 xch a,b div a,b mov t10,a ;十位數送 55h 單元 mov t,b ;個位數送 56h 單元 mov a,bt1 ;取二進制顯示數據高 8 位 jnz lh1 ;高位不為 0 轉 lh1 繼續(xù)高 8 位轉換 ret ;高位為 0 結束,返回 lh1: mova,#06h ;高位不為 0,低位轉換結果加 256(因為溫度數 據不會大于 500,所以高 8 位最多為 01h,即 256) add a,t daa;個位加 6(十進制加) movt,a;結果送回個位 mova,#05h addca,t10 da a;十位加 5(十進制加) movt10,a
60、;結果送回十位 mova,#02h addca,t100 da a;百位加 2(十進制加) movt100,a;結果送回百位 ret 27 4.4.4 溫度檢測模塊 a/d 轉換采用查詢方式。為提高數據采樣的可靠性,對采樣溫度進行數字濾 波。數字濾波的算法很多,這里采用 4 次采樣取平均值的方法。如前所述,本系 統 a/d 轉換結果乘 2 正好是溫度值,因此,4 次采樣的數字量之和除以 2 就是檢 測的當前溫度。檢測結果高位存入 50h,低位存入 51h。溫度檢測子程序流程圖 如圖 4-3 所示。 圖 4-3 溫度檢測子程序流程圖 溫度檢測子程序 tin: tin: mov temp1,#00
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省文山壯族苗族自治州(2024年-2025年小學五年級語文)人教版期末考試(下學期)試卷及答案
- 工程制圖教案創(chuàng)新:2024年的機遇與挑戰(zhàn)
- 教育技術驅動:2024年《登上企鵝島》課件的革新
- 《曾子殺豬》課件
- 新版2024年安全教育培訓記錄表設計與應用
- 2024年企業(yè)ERP采購流程重構培訓
- 第47屆世界技能大賽江蘇省選拔賽網絡系統管理項目技術文件V1.1
- 2024年XX企業(yè)社會責任與企業(yè)文化
- 2020盲盒經濟洞察報告
- 《高科技智能住宅》課件
- 樂理知識考試題庫130題(含答案)
- 人教版(2024)七年級地理上冊2.2《地形圖的判讀》精美課件
- 2024年共青團入團積極分子團校結業(yè)考試試題庫及答案
- 2024年遼寧高考歷史試題(含答案和解析)
- 黃河商品交易市場介紹稿
- Unit 3 My friends Part C Story time(教學設計)-2024-2025學年人教PEP版英語四年級上冊
- 2024中國海油校園招聘2024人(高頻重點提升專題訓練)共500題附帶答案詳解
- 孫中山誕辰紀念日主題班會主題班會
- 2024年安徽省合肥市中考語文題卷(含答案)
- G -B- 43630-2023 塔式和機架式服務器能效限定值及能效等級(正式版)
- 24春國開電大《工具書與文獻檢索》平時作業(yè)1-4答案
評論
0/150
提交評論