㈠ 單片機的控制系統是什麼
就叫單片機控制系統或叫微電腦控制系統。
另外PLC是單片機控制系統的最成功和成熟運用。
㈡ 基於單片機的溫度控制系統設計
第一章 緒論 1. 1 選題背景 防潮、防霉、防腐、防爆是倉庫日常工作的重要內容,是衡量倉庫管理質量的重要指標。它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進行,首要問題是加強倉庫內溫度與濕度的監測工作。但傳統的方法是用與濕度表、毛發濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行檢測,對不符合溫度和濕度要求的庫房進行通風、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度及濕度誤差大,隨機性大。因此我們需要一種造價低廉、使用方便且測量准確的溫濕度測量儀。1.2 設計過程及工藝要求 一、基本功能~ 檢測溫度、濕度~ 顯示溫度、濕度~ 過限報警 二、主要技術參數 ~ 溫度檢測范圍 : -30℃-+50℃~ 測量精度 : 0.5℃~ 濕度檢測范圍 : 10%-100%RH~ 檢測精度 : 1%RH~ 顯示方式 : 溫度:四位顯示 濕度:四位顯示~ 報警方式 : 三極體驅動的蜂鳴音報警 第二章 方案的比較和論證 當將單片機用作測控系統時,系統總要有被測信號懂得輸入通道,由計算機拾取必要的輸入信息。對於測量系統而言,如何准確獲得被測信號是其核心任務;而對測控系統來講,對被控對象狀態的測試和對控制條件的監察也是不可缺少的環節。感測器是實現測量與控制的首要環節,是測控系統的關鍵部件,如果沒有感測器對原始被測信號進行准確可靠的捕捉和轉換,一切准確的測量和控制都將無法實現。工業生產過程的自動化測量和控制,幾乎主要依靠各種感測器來檢測和控制生產過程中的各種參量,使設備和系統正常運行在最佳狀態,從而保證生產的高效率和高質量。2. 1溫度感測器的選擇 方案一:採用熱電阻溫度感測器。熱電阻是利用導體的電阻隨溫度變化的特性製成的測溫元件。現應用較多的有鉑、銅、鎳等熱電阻。其主要的特點為精度高、測量范圍大、便於遠距離測量。鉑的物理、化學性能極穩定,耐氧化能力強,易提純,復制性好,工業性好,電阻率較高,因此,鉑電阻用於工業檢測中高精密測溫和溫度標准。缺點是價格貴,溫度系數小,受到磁場影響大,在還原介質中易被玷污變脆。按IEC標准測溫范圍-200~650℃,網路電阻比W(100)=1.3850時,R0為100Ω和10Ω,其允許的測量誤差A級為±(0.15℃+0.002 |t|),B級為±(0.3℃+0.005 |t|)。銅電阻的溫度系數比鉑電阻大,價格低,也易於提純和加工;但其電阻率小,在腐蝕性介質中使用穩定性差。在工業中用於-50~180℃測溫。 方案二:採用AD590,它的測溫范圍在-55℃~+150℃之間,而且精度高。M檔在測溫范圍內非線形誤差為±0.3℃。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會損壞。使用可靠。它只需直流電源就能工作,而且,無需進行線性校正,所以使用也非常方便,借口也很簡單。作為電流輸出型感測器的一個特點是,和電壓輸出型相比,它有很強的抗外界干擾能力。AD590的測量信號可遠傳百餘米。綜合比較方案一與方案二,方案二更為適合於本設計系統對於溫度感測器的選擇。 2. 2 濕度感測器的選擇 測量空氣濕度的方式很多,其原理是根據某種物質從其周圍的空氣吸收水分後引起的物理或化學性質的變化,間接地獲得該物質的吸水量及周圍空氣的濕度。電容式、電阻式和濕漲式濕敏原件分別是根據其高分子材料吸濕後的介電常數、電阻率和體積隨之發生變化而進行濕度測量的。方案一:採用HOS-201濕敏感測器。HOS-201濕敏感測器為高濕度開關感測器,它的工作電壓為交流1V以下,頻率為50HZ~1KHZ,測量濕度范圍為0~100%RH,工作溫度范圍為0~50℃,阻抗在75%RH(25℃)時為1MΩ。這種感測器原是用於開關的感測器,不能在寬頻帶范圍內檢測濕度,因此,主要用於判斷規定值以上或以下的濕度電平。然而,這種感測器只限於一定范圍內使用時具有良好的線性,可有效地利用其線性特性。方案二:採用HS1100/HS1101濕度感測器。HS1100/HS1101電容感測器,在電路構成中等效於一個電容器件,其電容量隨著所測空氣濕度的增大而增大。不需校準的完全互換性,高可靠性和長期穩定性,快速響應時間,專利設計的固態聚合物結構,由頂端接觸(HS1100)和側面接觸(HS1101)兩種封裝產品,適用於線性電壓輸出和頻率輸出兩種電路,適宜於製造流水線上的自動插件和自動裝配過程等。相對濕度在1%---100%RH范圍內;電容量由16pF變到200pF,其誤差不大於±2%RH;響應時間小於5S;溫度系數為0.04 pF/℃。可見精度是較高的。綜合比較方案一與方案二,方案一雖然滿足精度及測量濕度范圍的要求,但其只限於一定范圍內使用時具有良好的線性,可有效地利用其線性特性。而且還不具備在本設計系統中對溫度-30~50℃的要求,因此,我們選擇方案二來作為本設計的濕度感測器。2. 3 信號採集通道的選擇 在本設計系統中,溫度輸入信號為8路的模擬信號,這就需要多通道結構。方案一、採用多路並行模擬量輸入通道。這種結構的模擬量通道特點為:(1) 可以根據各輸入量測量的餓要求選擇不同性能檔次的器件。總體成本可以作得較低。(2) 硬體復雜,故障率高。(3) 軟體簡單,各通道可以獨立編程。方案二、採用多路分時的模擬量輸入通道。 這種結構的模擬量通道特點為:(1) 對ADC、S/H要求高。(2) 處理速度慢。(3) 硬體簡單,成本低。(4) 軟體比較復雜。綜合比較方案一與方案二,方案二更為適合於本設計系統對於模擬量輸入的要求,比較其框圖,方案二更具備硬體簡單的突出優點,所以選擇方案二作為信號的輸入通道。本文來源於: http://www.waibaowang.net/dianzi/
㈢ 單片機有什麼特徵
單片機具有以下特點:
1、有優異的性能價格比
目前國內市場上,有些單片機的晶元只有人民幣幾元,加上少量外圍元件,就能構成一台功能相當豐富的智能化控制裝置。
2、集成度高,體積小,可靠性好
單片機把各功能部件集成在一塊晶元上,內部採用匯流排結構,減少了各晶元之間的連線,大大提高了單片機的可靠性與抗干擾能力。而且,由於單片機體積小,易於採取電磁屏蔽或密封措施,適合於在惡劣環境下工作。
3、控制能力強
單片機指令豐富,能充分滿足。工業控制的各種要求。
4、低功耗,低電壓,便於生產攜帶型產品。
5、易擴展
可根據需要並行或串列擴展,構成各種不同應用規模的計算機控制系統。
(3)單片機控制系統的標准擴展閱讀
單片機廣泛應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程式控制制等領域,大致可分如下幾個范疇:
1、在智能儀器儀表上的應用
單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用於儀器儀表中,結合不同類型的感測器,可實現諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。
2、在工業控制中的應用
用單片機可以構成形式多樣的控制系統、數據採集系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。
3、在家用電器中的應用
可以這樣說,現在的家用電器基本上都採用了單片機控制,從電飯褒、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門,無所不在。
4、在計算機網路和通信領域中的應用
現代的單片機普遍具備通信介面,可以很方便地與計算機進行數據通信,為在計算機網路和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程式控制交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的行動電話,集群移動通信,無線電對講機等。
5、單片機在醫用設備領域中的應用
單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。
6、在各種大型電器中的模塊化應用
某些專用單片機設計用於實現特定功能,從而在各種電路中進行模塊化應用,而不要求使用人員了解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子晶元中(有別於磁帶機的原理),就需要復雜的類似於計算機的原理。
㈣ 論文單片機溫度控制系統的(程序清單)!!!!急!!!!
本設計的溫度測量及加熱控制系統以 AT89S52 單片機為核心部件,外加溫度採集電
路、鍵盤及顯示電路、加熱控制電路和越限報警等電路。採用單匯流排型數字式的溫度傳
感器 DS18B20,及行列式鍵盤和動態顯示的方式,以容易控制的固態繼電器作加熱控制
的開關器件。本作品既可以對當前溫度進行實時顯示又可以對溫度進行控制,以使達到
用戶需要的溫度,並使其恆定在這一溫度。人性化的行列式鍵盤設計使設置溫度簡單快
速,兩位整數一位小數的顯示方式具有更高的顯示精度。建立在模糊控制理論上的控制
演算法,使控制精度完全能滿足一般社會生產的要求。通過對系統軟體和硬體設計的合理
規劃,發揮單片機自身集成眾多系統級功能單元的優勢,在不減少功能的前提下有效降
低了硬體成本,系統操控簡便。
實驗證明該溫控系統能達到 0.2℃的靜態誤差,0.45℃的控制精度,以及只有 0.83%
的超調量,因而本設計具有很高的可靠性和穩定性。
關鍵 詞: 單片機 恆溫控制 模糊控制
1
引 言
溫度是工業生產中主要的被控參數之一,與之相關的各種溫度控制系統廣泛應用於
冶金、化工、機械、食品等領域。溫度控制是工業生產過程中經常遇到的過程式控制制,有
些工藝過程對其溫度的控制效果直接影響著產品的質量,因而設計一種較為理想的溫度
控制系統是非常有價值的。
硬體 系統的設計
1、電路總體原理框圖
溫度測量及加熱系統控制的總體結構如圖 1 所示。系統主要包括現場溫度採集、實
時溫度顯示、加熱控制參數設置、加熱電路控制輸出、與報警裝置和系統核心 AT89S52
單片機作為微處理器。
圖 1:系統總體原理框圖
溫度採集電路以數字量形式將現場溫度傳至單片機。單片機結合現場溫度與用戶設
定的目標溫度,按照已經編程固化的模糊控制演算法計算出實時控制量。以此控制量控制
固態繼電器開通和關斷,決定加熱電路的工作狀態,使水溫逐步穩定於用戶設定的目標
值。在水溫到達設定的目標溫度後,由於自然冷卻而使其溫度下降時,單片機通過采樣
回的溫度與設置的目標溫度比較,作出相應的控制,開啟加熱器。當用戶需要比實時溫
度低的溫度時,此電路可以利用風扇降溫。系統運行過程中的各種狀態參量均可由數碼
管實時顯示。
2、溫度採集電路的設計
溫度採集電路模塊如圖 2 示。DS18B20 內部結構主要由四部分組成:64 位光刻 ROM、
溫度感測器、非揮發的溫度報警觸發器 TH 和 TL、配置寄存器。其中 DQ 為數字信號輸
入/輸出端;GND 為電源地;VDD 為外接供電電源輸入端。
2
圖 2:溫度採集電路
DS18B20 中的溫度感測器可完成對溫度的測量,以 12 位轉化為例:用 16 位符號擴展
的二進制補碼讀數形式提供,以 0.0625℃/LSB 形式表達,其中 S 為符號位。
這是 12 位轉化後得到的 12 位數據,存儲在 18B20 的兩個 8 比特的 RAM 中,二進
制中的前面 5 位是符號位,如果測得的溫度大於 0,這 5 位為 0,只要將測到的數值乘
於 0.0625 即可得到實際溫度;如果溫度小於 0,這 5 位為 1,測到的數值需要取反加 1
再乘於 0.0625 即可得到實際溫度。
3、鍵盤和顯示的設計
鍵盤採用行列式和外部中斷相結合的方法,圖 3 中各按鍵的功能定義如下表 1。其
中設置鍵與單片機的 INT 0 腳相連,S 0 −−S 9 、YES、NO 用四行三列接單片機 P0 口,REST
鍵為硬體復位鍵,與 R、C 構成復位電路。模塊電路如下圖 3:
表 1:按鍵功能
按鍵 鍵名 功能
REST 復位鍵 使系統復位
RET 設置鍵 使系統產生中斷,進入設置狀態
S 0 −−S 9 數字鍵 設置用戶需要的溫度
YES 確認鍵 用戶設定目標溫度後進行確認
NO 清除鍵 用戶設定溫度錯誤或誤按了 YES 鍵後使用
3
圖 3 鍵盤介面電路
顯示採用 3 位共陽 LED 動態顯示方式,顯示內容有溫度值的十位、個位及小數點後
一位。用 P2 口作為段控碼輸出,並用 74HC244 作驅動。P1.0—P1.2 作為位控碼輸出,
用 PNP 型三極體做驅動。模塊電路如下圖 4:
4、加熱控制電路的設計
圖 4 顯示介面電路
用於在閉環控制系統中對被控對象實施控制,被控對象為電熱杯,採用對加在電熱
杯兩端的電壓進行通斷的方法進行控制,以實現對水加熱功率的調整,從而達到對水溫
控制的目的。對電爐絲通斷的控制採用 SSR-40DA 固態繼電器。它的使用非常簡單,只
要在控制端 TTL 電平,即可實現對繼電器的開關,使用時完全可以用 NPN 型三極體接
成電壓跟隨器的形式驅動。當單片機的 P1.3 為高點平時,三極體驅動固態繼電器工作
接通加熱器工作,當單片機的 P1.3 為低電平時固態繼電器關斷,加熱器不工作。控制
電路圖如下圖 5:
4
圖 5 加熱控制電路
5、報警及指示燈電路的設計
當用戶設定的目標溫度達到時需用聲音的形式提醒用戶,此時蜂鳴器為三聲斷續的
滴答滴答的叫聲。在本系統中我們為用戶設計了越限報警,當溫度低於用戶設置的目標
溫度 10 度或高於 10 度時蜂鳴器為連續不斷的滴答滴答叫聲。當單片機 P1.7 輸出高電
平時,三極體導通,蜂鳴器工作發出報警聲。P1.7 為低電平時三極體關斷,蜂鳴器不
工作。
D1 為電熱杯加熱指示燈,P1.5 低電平有效;D0 為檢測到 DS18B20 的指示,高電平
有效;D10 為降溫指示燈,低電平有效。報警及指示燈電路如下圖 6 示:
圖 6 報警及指示燈電路
5
軟 件系統的設計
系統的軟體由三大模塊組成:主程序模塊、功能實現模塊和運算控制模塊。
1、主程序模塊
主程序主要完成加熱控制系統各部件的初始化和實現各功能子程序的調用,以及實
際測量中各個功能模塊的協調在無外部中斷申請時,單片機通過循環對外部溫度進行實
時顯示。把設置鍵作為外部中斷 0,以便能對數字按鍵進行相應處理。主程序流程圖如
下圖 7:
6
圖 7 主程序流程圖
7
2、功能實現模塊
以用來執行對固態繼電器及電熱杯的控制。功能實現模塊主要由中斷處理子程序、
溫度比較處理子程序、鍵盤處理子程序、顯示子程序、報警子程序等部分組成。鍵盤顯
示及中斷程序流程圖如下圖 8:
3、運算控制模塊
圖 8 鍵盤、顯示、中斷 子程序流程圖
該模塊由標度轉換、模糊控制演算法,及其中用到的乘法子程序。
3.1 標度轉換
16
式中 A 為二進制的溫度值, A0 為 DS18B20 的數字信號線送回來的溫度數據。
8
單片機在處理標度轉換時是通過把 DS18B20 的信號線送回的 16 位數據右移 4 位得
到二進制的溫度值。其小數部分通過查小數表的形式獲取。程序流程圖如下圖 9:
開始
將28H低4位與29H高4位組合成
一個位元組
將合成的位元組(整數部分)送29H
單元
將29H單元低4位送A
給DPTR賦常數表格2首地址
將查到的數值(即小數部分)送
30H單元
結束
3.2 模糊控制演算法子程序
圖 9 標度轉換子程序流程圖
該系統為一溫度控制系統,由於無法確切確定電爐的物理模型,因而無法建立其數
學模型和傳遞函數。加熱器為一慣性系統,我們採用模糊控制的方法,通過多次溫度測
量模糊計算當用戶設定目標溫度時需提前關斷加熱器的溫度,利用加熱器自身的熱慣性
使溫度上升到其設定溫度。每隔 5 攝氏度我們進行一次溫度測量,並當達到其溫度時關
斷加熱器記錄下因加熱器的熱慣性而上升的溫度值。從而可以建立熱慣性的溫度差值
表,在程序中利用查表法,查出相應設定溫度對應的關斷溫度。通過實驗數據我們可以
看出,當水溫從 0℃加熱到 50℃這段溫度區域,其溫度慣性曲線可近似成線性的直線,
水溫從 50℃加熱到 100℃這段溫度慣性曲線可近似成另一條線性的直線段。通過對設置
的目標溫度與溫控系統監測溫度進行差值處理就可近似的求出單片機的提前關斷溫度。
程序流程圖如圖 10:
9
4.源程序見附錄[2]
圖 10 模糊控制演算法子程序流程圖
設計 總結
我們的溫度控制系統是基於 AT89S52 單片機的設計方案,她能實時顯示當前溫度,
並能根據用戶的要求作出相應的控制。此系統為閉環系統,工作穩定穩定性高,控制精
度高,利用模糊控制演算法使超調量大大降低。軟體採用模塊化結構,提高了通用性。本設
計的目的不僅僅是溫度控制本身,主要提供了單片機外圍電路及軟體包括控制演算法設計
的思想,應該說,這種思想比控制系統本身更為重要。
1、設計所達到的性能指標
1.1 溫控系統的標度誤差
我們將標准溫度計和溫控系統探頭放人同一容器中,選定若干不同的溫度點,記
錄下標准溫度計顯示的溫度和溫控系統顯示的溫度進行比較。測量數據如下表 2 所示:
表 2 標准溫度計測量的溫度和溫控系統顯示的溫度
標准溫度計和溫控系統顯示的溫度(℃)
標准溫度計 16.9 47.7 57.8 63.0 72.8 85.1 90.9
溫控系統 16.5 48.0 58.3 62.9 73.0 85.5 90.5
差值比較 -0.4 0.3 0.5 0.1 0.2 0.4 -0.4
標度誤差 1.5%
10
1.2 溫控系統的靜態誤差
通過測量在不同的溫度點同標准溫度的溫度差來確定溫控系統的靜態誤差。其測量
數據如下表 3:
表 3 標准溫度和溫控系統顯示的溫度
標准溫度和溫控系統顯示的溫度(℃)
標准溫度 26.0 37.0 46.0 60.0 70.0 83.0
系統顯示值 25.7 36.4 46.1 59.6 70.0 83.3
差值 -0.3 -0.6 -0.1 -0.4 0 0.3
靜態誤差 0.18℃
1.3 溫控系統的控制精度
通過設定不同的溫度值,使加熱器加熱,待溫度穩定時記錄各溫度點的溫度計數據
和溫控系統的顯示值。其記錄數據如下表 4:
溫度計讀數和溫控系統顯示的溫度(℃)
設定溫度
值 20.0 28.0 35.0 45.0 55.0 75.0 87.0 91.0
系統顯示
值 20.5 27.7 34.4 45.1 54.1 74.9 86.1 91.2
差值 0.5 -0.3 -0.6 0.1 -0.9 -0.1 -0.9 0.2
控制精度 0.45℃
超調量 0.83%
2、結果分析論述
我們的系統完全滿足設計要求,靜態誤差方面可以達到 0.18℃的誤差,在讀數正確
方面與標准溫度計的讀數誤差為 1.5%,對一般的工業生產完全可以採用我們的設計。
該系統具有較小的超調值,超調值大約為 0.83%左右。雖然超調為不利結果,但另
一方面卻減小了系統的調節時間。從其數據表可以看出該系統為穩定系統。
3、設計方案評價
3.1 優點
在硬體方面:本設計方案採用了單匯流排型數字式的溫度感測器,提高了溫度的採集
精度,節約了單片機的口線資源。方案還使用僅一跟口線就可控制的美國生產的固態繼
電器 SSR—40DA 作加熱控制器件,使設計簡單化,且可靠性強。在控制精度方面,本設
計在不能確定執行機構的數學模型的情況下,大膽的假設小心的求證,利用模糊控制的
演算法來提高控制精度。
在軟體方面:我們採用模塊化編程,思路清晰,使程序簡潔、可移植性強。
3.2 缺點
本設計方案雖然採用了當前市場最先進的電子器件,使電路設計簡單,但設計方案
造價高。本系統雖然具有較小的超調量,但加大了調節時間。如果需要更高的控制精度,
則我們的模糊控制將不適應,需修改程序。
11
3.3 方案的改進
在不改變加熱器容量的情況下,為減小調節時間,可以實行在加熱快達到設定溫度
時開啟風扇來減小熱慣性對溫度的影響的措施。在控制精度上可採用先進的數字 PID
控制演算法,對加熱時間進行控制,提高控制精度。
可以改進控制系統使能同 PC 聯機通信,以利用 PC 的圖形處理功能列印顯示溫度曲
線。AT89S52 串列口為 TTL 電平,PC 串列口為 RS232 電平,使用一片 MAX232 作為電
平轉換驅動。
參考 文獻
[1] 李廣弟 單片機基礎 北京:北京航空航天大學出版社,2001
[2] 王福瑞 單片微機測控系統設計大全 北京:北京航空航天大學出版社,1997
[3] 趙茂泰 智能儀器原理及應用(第 2 版) 北京:電子工業出版社,2004
[4] 賴壽濤 微型計算機控制技術 北京:機械工業出版社,2000
[5] 沙占友 模擬與數字萬用表檢測及應用技術 北京:電子工業出版社 1999
12
附 錄
附錄[1]使用說明書
按 鍵功能說明
數字鍵:按 SET 鍵後,按相應的數字鍵(0~9)可對溫度進行設置,所設置的溫
度將實時顯示在 LED 顯示器上;
SET 鍵:按 SET 鍵可對溫度的十位、個位以及小數部分進行設置;
YES 鍵:設置好溫度後按 YES 鍵,系統將據你所設置的溫度(須大於當前實際
溫度)對水進行加熱;
NO 鍵:若誤按了 SET 鍵,或對輸入有誤,可按 NO 鍵進行取消;
RST 鍵:對系統進行復位。
指示 燈及報警器說明
紅 燈:加熱狀態標志;
綠 燈:溫度感測器正常工作標志;
藍 燈:保溫狀態標志;
報警器:功能①當水溫達到預設值時報警提醒;
功能②當水溫達到或超越上、下限時報警提示。
13
附錄[2]設計總電路
14
附錄[3]程序清單
TEMPER_L EQU 29H ;用於 保存讀出溫度的低 8 位
TEMPER_H EQU 28H ;用於 保存讀出溫度的高 8 位
FLAG EQU 38H ;是否 檢測到 DS 18B20 標志位
DAYU EQU 44H ;設溫 >實溫
XIYU EQU 45H ;設溫 <實溫
DEYU EQU 46H ;設溫 =實溫
GAOLE EQU 47H ;水溫 高於最高溫度
DILE EQU 48H ;水溫 低於最低溫度
A_bit EQU 79h ;數碼 管個位數存放內存位置
B_bit EQU 7Ah ;數碼 管十位數存放內存位置
C_BIT EQU 78H ;數碼 管小數存放內存位置
ORG 0000H
AJMP START
ORG 0003H
AJMP PITO
ORG 0030H
START: CLR P1.7
CLR P1.3
CLR P1.5
SETB P1.6
MOV R4, #00H
MOV SP, #60H ;確立堆棧區
MOV PSW, #00H ;
MOV R0, #20H ;RAM 區首地址
MOV R7, #60H ;RAM 區單元個數
ML: MOV @R0, #00H
INC R0
DJNZ R7, ML
CLR IT0
MAIN:LCALL GET_TEMPER ;調用讀溫度子程序 進行溫度顯示,這里我們考
;慮用網站提供的兩位數碼管來顯示溫度
;顯示範圍 00 到 99 度,顯示精度為 1 度
;因為 12 位轉化時每一位的精度為 0.0625 度,
;我們不要求顯示小數所以可以拋棄 29H 的低 4
;位將 28H 中的低 4 位移入 29H 中的高 4 位,這
;樣獲得一個新位元組,這個位元組就是實際測量獲
;得的溫度
LCALL DISPLAY ;調用數碼管顯示 子程序
JNB 00H, MAIN
CLR 00H
15
MOV A, 38H
CJNE A, #00H, SS
AJMP MAIN
SS: LCALL GET_TEMPER
LCALL DISPLAY;調用 數碼管顯示子程序
LCALL BIJIAO
LCALL XIAOYU
LCALL JIXIAN
JNB DEYU ,LOOP
CLR P1.3 ;關加熱器
SETB P1.6 ;關 藍燈
SETB P0.7 ;關風扇
CLR DEYU
LCALL GET_TEMPER
LCALL DISPLAY
AJMP TT2
LOOP:JNB DAYU ,TT
CLR DAYU
SETB P1.3
SETB P1.6
SETB P0.7
CLR P1.7
LCALL GET_TEMPER
LCALL DISPLAY
AJMP TT2
TT:JNB XIYU, TT2
CLR XIYU
CLR P0.7
CLR P1.6
CLR P1.3
CLR P1.7
LCALL GET_TEMPER
LCALL DISPLAY
TT2:MOV A, 29H
CLR C
CJNE A, 50H, JX
MOV A , 30H
CLR C
CJNE A, 51H, JIA1
AJMP YS2
JIA1:JC JX
MOV A, 51H
MOV 52H, A
ADD A, #2
16
MOV 52H, A
CLR C
MOV A, 30H
CJNE A, 52H, JIA2
JIA2:JNC JX
YS2:SETB P1.7
CLR P1.6
MOV R5, #20H
YS:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS
CLR P1.7
SETB P1.6
MOV R5, #20H
YS1:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS1
YS3:SETB P1.7
CLR P1.6
MOV R5, #20H
YS0:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS0
CLR P1.7
SETB P1.6
MOV R5, #20H
YS01:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS01
YS4:SETB P1.7
CLR P1.6
MOV R5, #20H
YS02:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS02
CLR P1.7
SETB P1.6
MOV R5, #20H
YS03:LCALL GET_TEMPER
LCALL DISPLAY
DJNZ R5, YS03
JX: MOV A, 29H
CJNE A, 31H, JX00
JX01:SETB P1.7
17
CLR C
AJMP LAST
JX00:JC JX01
CLR P1.7
CJNE A,
JX02:SETB P1.7
CLR C
AJMP LAST
JX03:JNC JX02
32H,
JX03
CLR P1.7
LAST:LCALL GET_TEMPER
LCALL DISPLAY
AJMP SS
;***************************常數表格區**** ******************************************
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8 H,80H ;0-8
DB 90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH ,0CH ;9,A,B,C,D,E,F,滅,p.
TAB1:DB40H,79H,24H,30H,19H,12H,02H,78H,00H ,10H, ;0.--9.
TAB2:DB 0, 0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, ;小數點
;*************************1ms 延時程序*************** *********************
;************************* ****中斷服務程序* *********************************
; 完成按鍵識別,鍵值求取,按鍵實時顯示 等功能;
;************************* **************** **********************************
PITO: PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
SET B 00H
MAIN1: MOV R7 , #03H ;顯示位數為 2 位
MOV R0, #7AH
MOV 78H, #00H
MOV 79H, #00H
MOV 7AH, #00H
KK: LCALL DIR
LCALL KEY1
LOOP1:CJNE A, #11, LOOP2
AJMP LAST0
LOOP2:CJNE A, #12, LOOP3
LJMP LAST3
LOOP3: CJNE A, #10, L4
MOV A, #00H
L4: MOV @R0, A
LCALL DIR
DEC R0
DJNZ R7, KK
18
SETB 01H
LAST0:JNB 01H, KK
LOOP4:LCALL KEY1
CJNE A, #12, LOOP5
AJMP LAST3
LOOP5:CJNE A, #11, LOOP4
LAST1:LCALL DIR
LCALL MUN
LCALL JD
LCALL BIJIAO
LAST3:POP PSW
POP ACC
RETI
;******************精度控制 子程序********** ******
JD: PUSH ACC
PUSH PSW
CLR C
MOV A, 38H
MOV 50H, A
MOV A, 39H
MOV 51H, A
CJNE A, 29H, L001
L001:JC LAST02 ;設溫<實溫,則跳出
MOV A, 29H
MOV 41H, A
MOV A, 38H
CJNE A, #25, L002
L003:CLR C ;0 <T<25
SUBB A, 41H
CJNE A, #3, L004
L005:MOV A, 30H
ADD A, #5 ;0<T<25, 差值小於 3 度
DA A
JNB ACC.4, L0051
ANL A, #0FH
SETB C
L0051:MOV 39H, A
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
LAST02: AJMP LAST2
L004:JC L005
MOV A, 39H
19
SUBB A, #0
DA A
MOV 39H, A
JNC L0041
DEC 38H
L0041:MOV A, 38H
SUBB A, #2 ;0<T<25, 差值大 於 3 度
MOV 38H, A
AJMP LAST2
L002:JC L003
CJNE A, #50, L006
L007:CLR C ;25<T<5 0
SUBB A, 41H
CJNE A, #3, L008
L009:MOV A, 30H
ADD A, #1
DA A
JNB ACC.4, L0091
ANL A, #0FH
SETB C
L0091:MOV 39H, A
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
L008:JC L009
MOV A, 39H
SUBB A, #0
MOV 39H, A
MOV A, 38H
SUBB A, #2
MOV 38H, A
AJMP LAST2
L006:JC L007
CJNE A, #65, L010
L011:CLR C
SUBB A, 41H
CJNE A, #3, L012
L013:MOV A, 30H
ADD A, #2
JNB ACC.4, L00131
ANL A, #0FH
SETB C
L00131:MOV 39H, A
20
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
L012:JC L013
MOV A, 39H
SUBB A, #0
MOV 39H, A
MOV A, 38H
SUBB A, #2
MOV 38H, A
AJMP LAST2
L010:JC L011
CJNE A, #90, L016
L017:CLR C
SUBB A, 41H
CJNE A, #2, L014
L015:MOV A, 30H
ADD A, #0
JNB ACC.4, L00151
ANL A, #0FH
SETB C
L00151:MOV 39H, A
MOV A, 29H
ADDC A, #1
MOV 38H, A
AJMP LAST2
L014:JC L015
CLR C
MOV A, 38H
SUBB A, #1
MOV 38H, A
AJMP LAST2
L016:JC L017
LAST2:POP PSW
POP ACC
RET
;*******************************鍵掃描** ************************************
KEY1:LCALL KS1 ;鍵 掃描
JNZ LK1
LCALL DIR
AJMP KEY1
LK1:LCALL DIR
LCALL DIR
21
LCALL KS1
JNZ LK2
LCALL DIR
AJMP KEY1
LK2:MOV R2, #0FEH ;確定鍵值
MOV R4, #01H
MOV A, R2
LK4:MOV P0, A
NOP
MOV A, P0
JB ACC.3, LONE
MOV A, #00H
AJMP LKP
LONE:JB ACC.4 , LTWO
MOV A, #03H
AJMP LKP
LTWO:JB ACC.5, LTHR
MOV A, #06H
AJMP LKP
LTHR:JB ACC.6, NEXT5
MOV A, #09H
AJMP LKP
NEXT5:INC R4
MOV A, R2
JNB ACC.2 ,KND
RL A
MOV R2, A
AJMP LK4
KND:AJMP KEY1
LKP: ADD A, R4
PUSH ACC
LK3:LCALL DIR
LCALL KS1
JNZ LK3
POP ACC
RET
KS1: PUSH PSW
MOV P0, #78H
NOP
MOV A, P0 ;判斷有無鍵按下
CPL A
ANL A, #78H
POP PSW
22
RET
;*************求設置溫度的二 進制代碼,值保存在 38H 單元**************
MUN: PUSH PSW
MOV R0, #7AH ;求鍵值
MOV A, @R0
SWAP A
DEC R0
ADD A, @R0
MOV R1, A
ANL A, #0F0 H
SWAP A
MOV B, #10
MUL AB
MOV R2, A
MOV A, R1
ANL A, #0FH
ADD A, R2
MOV 38H, A
MOV R0, #78H
MOV 39H, @R0
POP PSW
RET
;*************比較實際溫度和設置溫度的大小 並設置相應的標志位***********
BIJIAO:MOV A, 29 H ;實際溫度
MOV 40H, A
㈤ 單片機控制與PLC控制的區別
一、功能特性不同
單片機控制器基於單片機的晶元及其他電子元器件與控制外部電路的集成PCB板組合在一起的控制器叫單片機控制板,通常它是應用於一些簡單的工業控制當中。應用C語言或者其他的控制語言來編寫控制動作流程以達到工業控制的最終目的,相比而言較為經濟實惠。
PLC控制系統是在傳統的順序控制器的基礎上引入了微電子技術、計算機技術、自動控制技術和通訊技術而形成的一代新型工業控制裝置,目的是用來取代繼電器、執行邏輯、記時、計數等順序控制功能,建立柔性的遠程式控制制系統。
二、核心原理不同
單片機控制器是CPU的神經中樞,它包括定時控制邏輯電路、指令寄存器、解碼器、地址指針DPTR及程序計數器PC、堆棧指針SP等。這里程序計數器PC是由16位(8+8)寄存器構成的計數器。要單片機執行一個程序,就必須把該程序按順序預先裝入存儲器ROM的某個區域。
PLC內部工作方式一般是採用循環掃描工作方式,在一些大、中型的PLC中增加了中斷工作方式。當用戶將用戶程序調試完成後,通過編程器將其程序寫入PLC存儲器中。具有通用性強、使用方便、適應面廣、可靠性高、抗干擾能力強、編程簡單等特點。
(5)單片機控制系統的標准擴展閱讀:
PLC 硬體構成:
1、電源組件
電源組件用於提供PLC運行所需的電源,可將外部電源轉換為供PLC內部與案件適用的電源。
2、微處理器CPU及存儲器組件
微處理器CPU是PLC的核心器件,CPU因生產廠商各有不同,有採用市場銷售的標准晶元,也有採用可編程序控制器專用晶元。存儲器組件有兩種:ROM和RAM。
3、輸入及輸出組件
輸入和輸出組件是PLC與工業生產現場交換數據的界面,與普通計算機不同,PLC的工作環境比較差,需要較強抗干擾能力,輸入和輸出組件既是為此設計。
㈥ C51單片機閉環控制系統的設計
控制系統以MCS-51兼容單片機AT89C51微處理器為核心,顯示模塊、定時控制模塊、電源模塊等電路組成.
AT89C51微處理器
AT89C51是一款採用ATMEL高密度非易失存儲器製造技術製造,與工業標準的MCS-51指令集和輸出管腳相兼容的單片機,其主要性能特點有:
(1)高性能、低功耗的8Byte微控制器,RISC精簡指令集機構,指令功能強大,且多數為單周期指令,具有低功耗的閑置和掉電控制模式、5個中斷源、兩個16位定時器/計數器等功能。
(2)片內集成4KB可編程閃爍存儲器,可進行1000次以上寫/擦循環操作,數據保留時間可達10年,支持三級程序存儲器鎖定。
(3)豐富強大的外部介面性能:32可編程I/O線,可編程串列通道,片內振盪器和時鍾電路。
軟體系統設計
系統利用偉福6000編寫源代碼,MEP500燒寫AT89C51晶元實現智能時鍾控制功能。由於系統軟體主要完成時鍾顯示、鬧鈴、時間設置等功能。源程序主要包括主程序、中斷子程序、顯示子程序、定時子程序、延時子程序等。
實現程序如下:
……
;**************************; 以下為主程序 (檢測各鍵是否按下)
;***************************MainLoop:
jb AlarmSetKey,CheckMinuteKey
call Delay
jb AlarmSetKey,CheckMinuteKey
setb ClockMode
call AlarmSet
CheckMinuteKey:
jb MinuteKey,CheckHourKey
mov a,Minute
add a,#1
mov Minute,a
cjne a,#3ch,NotOver1
mov Minute,#0
NotOver1:
jnb MinuteKey,$
CheckHourKey:
jb HourKey,CheckAlarmA
mov a,Hour
add a,#1
mov Hour,a
cjne a,#18h,NotOver2
mov Hour,#0
NotOver2:
jnb HourKey,$
CheckAlarmA:
jnb AlarmTimeOnA,CheckAlarmP
call StartPc; call AlarmProcess
ajmp ToReturn
CheckAlarmP:
jnb AlarmTimeOnP,ToReturn
call ShutPc
ToReturn:
ajmp MainLoop
;**************************; 定時器Timer0中斷服務程序(此程序每8ms執行一次)
;***************************
TimeInt:
mov th0,#0E0h
mov tl0,#0bfh
push acc
push psw
setb rs0
clr rs1
d jnz OneSecondCounter,NotoneSecond
mov OneSecondCounter,#125
call Clock
call ConvertoBuffer
NotoneSecond:
call ScanDisplay
pop psw
pop acc
reti
; ***************************
; 掃描顯示子程序
;***************************
ScanDisplay:
mov r1,#DisplayBuffer
mov R4,#11111011b
play:
mov a,R4
mov P2,A
mov A,@R1
mov DPTR,#TAB
movc A,@A+DPTR
mov P0,A
lcall Delay
inc R1
mov A,R4
jnb ACC.7,ENDOUT
rl A
mov R4,A
ajmp PLAY
endout: SETB P2.7
mov P0,#0FFH ret
TAB:DB 0C0H,0F9H,0A4H,0B0H,
99H,92H,82H,0F8H,80H,90H,7FH,
0B7H,0FFH
;***************************
; 時鍾內容加1秒的子程序
;***************************
Clock:
mov a,Second
add a,#1
mov Second,a
cjne a,#3cH,NotOverFlow
mov Second,#0
mov a,Minute
add a,#1
mov Minute,a
cjne a,#3cH,NotOverFlow
mov Minute,#0
mov a,Hour
add a,#1
mov Hour,a
cjne a,#18H,NotOverFlow
mov Hour,#0
NotOverFlow:
mov a,Second
jnz NotAlarm
jnb AlarmAOnOff,PAlarm
mov a,Minute
cjne a,AlarmAMinute,PAlarm
mov a,Hour
cjne a,AlarmPHour,PAlarm
ajmp alarming
PAlarm:
jnb AlarmPOnOff,NotAlarm
mov a,Minute
cjne a,AlarmPMinute,NotAlarm
mov a,Hour
cjne a,AlarmPHour,NotAlarm
ajmp Alarming1
Alarming:
setb AlarmTimeOnA
ajmp NotAlarm
Alarming1:
setb AlarmTimeOnP;
NotAlarm:
ret
;***************************
; 將時鍾內容或鬧時設置值轉換到顯示緩沖區子程序
;***************************
ConvertoBuffer:
mov r1,#DisplayBuffer
jb ClockMode,DispAlarmSet
mov a,Second
mov DispSecond,a
mov a,Minute
mov Dispminute,a
mov a,Hour
mov DispHour,a
ajmp Convert
DispAlarmSet:
jb AlarmAOnOff,AlarmAOn
mov DispSecond,#00h
jb AlarmPOnOff,AlarmPOn
mov DispSecond,#00h
ajmp Convert
AlarmAOn:
mov DispSecond,#11
NextA:
mov a,AlarmAMinute
mov Dispminute,a
mov a,AlarmAHour
mov DispHour,a
ajmp Convert
AlarmPOn:
mov DispSecond,#11
NextP:
mov a,AlarmPMinute
mov Dispminute,a
mov a,AlarmPHour
mov DispHour,a
Convert:
mov a,DispSecond
mov b,#10
div ab
mov @r1,b
inc r1
mov @r1,a
inc r1
mov a,DispMinute
mov b,#10
div ab
mov @r1,b
inc r1
mov @r1,a
inc r1
mov a,DispHour
mov b,#10
div ab
mov @r1,b
inc r1
mov @r1,a
ret
控制系統,以AT89C51微處理器為核心,具有集成度高、性能穩定、抗干擾能力強、性價比高的優點。經軟體模擬和實際功能驗證,證明設計可靠、設計方案可行,在實際應用中有較大的實 用價值。
㈦ 怎麼用單片機實現電梯控制系統
隨著社會經濟建設的發展,人們生活水平的提高,電梯產品需求的數量化、個性化和多樣化也提到議事日程上來了。電梯是現代建築物的組成部分,在現代化的生活和工作當中人們已經離不開電梯了,而且對電梯的需求量也在不斷的增長,我國已經成為全球最大的電梯市場。為了掌握好現在電梯的發展方向,了解電梯技術的發展,也為了讓所學專業知識得到綜合應用,筆者經過多方查閱資料,制定了一套自己的電梯控制模型系統設計方案。