




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于單片機(at89c51)的溫度采集控制系 統(tǒng) 摘 要 目前國內(nèi)噴油泵試驗臺的量油系統(tǒng)仍采用傳統(tǒng)的量筒式計量法該測量系 統(tǒng)存在量筒的制造誤差、刻度誤差和測量人員的視覺誤差等,使測量系統(tǒng)的系 統(tǒng)誤差較大、自動化程度低、測量過程緩慢,已不能滿足現(xiàn)代噴油泵對其測量 精度的要求。將微機引入噴油泵試驗臺,對實現(xiàn)檢測自動化提高檢測精度和效 率,增加檢測功能有一定的實際意義和經(jīng)濟效益。結(jié)合實際情況,對原有電子 控制噴油泵試驗臺進行改造、設計、開發(fā),將單片機和計算機引入噴油泵試驗 臺,設計一套監(jiān)控系統(tǒng),用單片機作為下位機控制試驗臺,用計算機作上位機, 在基于 windows 的操作界面下用預先編制好的監(jiān)控軟
2、件控制單片機,既操作簡 單,對實現(xiàn)檢測自動化、提高檢測精度和效率、增加檢測功能又有重要的現(xiàn)實 意義 本文提出的溫度采集控制系統(tǒng)以單片機(at89c51)為核心,由控制部分、 顯示部分和溫度測量(ad590)部分組成。該系統(tǒng)大部分功能通過硬件來實現(xiàn), 電路簡單明了,系統(tǒng)穩(wěn)定性很高。 這套溫度控制系統(tǒng)可以方便地實現(xiàn)溫度測量、溫度顯示等功能,并通過與 單片機連接的鍵盤可以實時設定測控溫度的下限,還可以連接相應的外圍電路, 在收到單片機發(fā)出的指令后對環(huán)境進行檢測 本文首先描述系統(tǒng)硬件工作原理,并附以系統(tǒng)結(jié)構(gòu)框圖加以說明,著重介 紹了本系統(tǒng)所應用的各硬件模塊的功能和它的工作過程;其次,詳細闡述了程 序的
3、各個模塊及其實現(xiàn)過程。本系統(tǒng)的主要設計思想是以硬件為基礎,軟件和 硬件相結(jié)合,最終實現(xiàn)各個模塊的功能。 關(guān)鍵詞關(guān)鍵詞:at89c51、 溫度采集、 ad590 abstract the amount of domestic oil pump test-bed system is still uses the traditional liangtong type measurement. the measurement system of existing manufacturing error liangtong, calibration error and surveyors visual
4、error, etc., so that the system error measuring system of bigger, the low automatic degree, measurement process slow, already cannot satisfy the measurement accuracy of modern fuel the requirements. will the microcomputer introducing to the realization of pump test-bed, improves the detection inspec
5、ting automation accuracy and efficiency, increase the detection function has certain practical significance and economic benefits. combined with the actual situation, the original electronic control pump test-bed for reform, the design, the development, will introduce single-chip microcomputer and c
6、omputer pump test-bed, design a set of monitoring system, with single chip microcomputer as lower level computer control test rig, with the computer for pc, in windows based user interface with programmed monitoring software control microcontroller, both simple operation, to realize detection automa
7、tion, improving precision and efficiency, increase the detection function and have important practical significance in this paper, temperature gathering control system takes microcontroller (at89c51) as the core, from controlling part, display section and temperature measurements (ad590) parts. the
8、system hardware to realize most function through, circuit straightforward, stability of the system is very high. the temperature control system can easily achieve temperature measurement, temperature display, etc., and through the keyboard can connect with single-chip microcomputer temperature measu
9、rement and control the lower limit of real-time settings, also can connect to the corresponding peripheral circuit, when receiving a command for scm environment after testing this paper firstly describes the system hardware work principle, each accompanied by a diagram to illustrate the system struc
10、ture, introduces this system that the application of the hardware modules of the system and its working process; secondly, this paper expounds the program modules and realize process. the systems main design ideas based on the hardware, software and hardware combined, finally realizes the function o
11、f each module. keywords: at89c51 temperature collection ad590 目 錄 摘 要 .i abstract .ii 目 錄 .iii 第一章 設計背景及設計意義 .1 1.1 引言.1 1.2 設計背景及意義.2 第二章 系統(tǒng)方案設計 .3 2.1 功能設計要求.3 2.2 系統(tǒng)方案確定.3 2.2.1 方案論證.3 2.2.2 方案確定.5 第三章 油溫控制系統(tǒng)硬件電路設計 .6 3.1 硬件部分的簡介.6 3.1.1at89c51 的簡介.6 3.1.2 元器件的選擇.7 3.2 硬件電路設計.10 3.2.1 各模塊接口電路.10
12、3.2.2 溫控系統(tǒng)硬件電路設計.12 第四章 油溫控制系統(tǒng)軟件設計 .15 4.1 單片機編程語言.15 4.1.1 單片機編程語言分類及特點.15 4.1.2 匯編語言的指令格式.15 4.1.3 匯編語言的步驟及方法.16 4.2 程序結(jié)構(gòu)設計.17 4.3 主要程序模塊清單.20 第五章 硬件軟件系統(tǒng)制作調(diào)試 .23 5.1 硬件電路的制作.23 5.2 硬軟件的調(diào)試.23 致 謝 .25 參考文獻 .26 附錄 1 元器件清單.27 第一章 設計背景及設計意義 1.1 引言 在國民經(jīng)濟各部門,如電力、化工、機械、冶金、農(nóng)業(yè)、醫(yī)學以及人們的 日常生活中,溫度檢測是十分重要的。在許多模擬
13、量控制和監(jiān)視應用中,溫度 測控通常是基于 -40125溫度范圍內(nèi)的應用,如環(huán)境監(jiān)測、蔬菜大棚、糧 庫、熱電偶冷端溫度補償、設備運行的可靠性等應用。實時采集溫度信息,及 時發(fā)現(xiàn)潛在故障,并采取相應的處理措施,對確保設備良好運行具有重要意義。 本文介紹了一個基于單片機的溫度控制系統(tǒng),該系統(tǒng)可以方便地實現(xiàn)溫度采 集、溫度顯示等功能。本系統(tǒng)的溫度控制部分采用單片機完成。單片機有著體 積小、功耗低、功能強、性能價格比高、使用電子元件較少、內(nèi)部配線少、制 造調(diào)試方便等顯著優(yōu)點,將其用于溫度檢測和控制系統(tǒng)中可大大地提高控制質(zhì) 量和自動化水平,具有良好的經(jīng)濟效益和推廣價值。利用單片機對溫度進行測 控的技術(shù),日
14、益得到廣泛應用。 在眾多的溫度控制系統(tǒng)中,測溫元件常常選用熱敏電阻、半導體測溫二極 管、三極管、集成溫度傳感器等。相比而言,集成溫度傳感器具有線性好、穩(wěn) 定度高、互換性強、易處理等突出優(yōu)點,故在許多場所得到了廣泛應用。本系 統(tǒng)中單片機作為下位機,完成測溫任務,并通過與單片機連接的鍵盤可以實時 設定測控溫度的下限。本系統(tǒng)還可以連接相應的外圍加熱電路,當環(huán)境溫度低 于設定下限溫度時,單片機發(fā)出的指令,加熱器起動對環(huán)境進行加熱,當溫度 回升到下限溫度時加熱器停止加熱。為了便于操作,還設計一個簡單的操作面 板,它主要由鍵盤與按鈕開關(guān)組成,通過操作面板可以進行系統(tǒng)的開停、 reset、設置溫度下限告警值
15、等。鍵盤輸入部分采用了鍵盤專用 ic 74c922,簡化 了軟件編程,用起來非常方便。 系統(tǒng)軟件主要由初始化程序、主程序、監(jiān)控顯示程序等組成。其中初始化 程序是對單片機的接口工作方式,a/d 轉(zhuǎn)換方式等進行設置;顯示程序包括對顯 示模塊的初始化、顯示方式設定及輸出顯示;主程序則完成對采集數(shù)據(jù)進行處 理。 該系統(tǒng)應用范圍相當廣泛,同時采用單片機技術(shù), 由于單片機自身功能強 大,因而系統(tǒng)設計簡單,工作可靠,抗干擾能力強,也可在此基礎上加入通信 接口電路,實現(xiàn)與上位機之間的通信。 1.2 設計背景及意義 噴油泵是柴油機燃料供給系統(tǒng)中最精密的部件,被稱為柴油機的“心臟” , 是柴油機各項技術(shù)性能的控制
16、機構(gòu)。它根據(jù)柴油機的轉(zhuǎn)速均勻分配再汽缸的進 油量。噴油泵由泵油機構(gòu)、供油量調(diào)節(jié)機構(gòu)、驅(qū)動機構(gòu)、噴油泵體組成。 噴油泵又稱為高壓油泵,它根據(jù)柴油機不同的運轉(zhuǎn)情況,將燃油輸送泵送 來的低壓油提升壓力,在預定的時間內(nèi)將相應的油量按一定規(guī)律壓送到噴油器。 噴油泵試驗臺作為測試、調(diào)整噴油泵泵油參數(shù)的專用設備,在噴油泵的制造與 維修中發(fā)揮著重要的作用。噴油泵試驗臺的主要用途是檢測和調(diào)整噴油泵在各 種工況時的噴油量及各缸噴油間隔角。衡量噴油泵試驗臺性能和質(zhì)量的一個重 要指標就是噴油量測量的精確性。 目前國內(nèi)噴油泵試驗臺的量油系統(tǒng)仍采用傳統(tǒng)的量筒式計量法該測量系 統(tǒng)存在量筒的制造誤差、刻度誤差和測量人員的視覺
17、誤差等,使測量系統(tǒng)的系 統(tǒng)誤差較大、自動化程度低、測量過程緩慢,已不能滿足現(xiàn)代噴油泵對其測量 精度的要求。將微機引入噴油泵試驗臺,對實現(xiàn)檢測自動化提高檢測精度和效 率,增加檢測功能有一定的實際意義和經(jīng)濟效益。結(jié)合實際情況,對原有電子 控制噴油泵試驗臺進行改造、設計、開發(fā),將單片機和計算機引入噴油泵試驗 臺,設計一套監(jiān)控系統(tǒng),用單片機作為下位機控制試驗臺,用計算機作上位機, 在基于 windows 的操作界面下用預先編制好的監(jiān)控軟件控制單片機,既操作簡 單,對實現(xiàn)檢測自動化、提高檢測精度和效率、增加檢測功能又有重要的現(xiàn)實 意義。因此,本文就油溫一個問題進行研究,利用單片機下位機程序的設 計控制,
18、實現(xiàn)對油泵油溫的控制使得油泵更好的工作。 第二章 系統(tǒng)方案設計 2.1 功能設計要求 這套溫度采集、控制系統(tǒng)可以方便地實現(xiàn)溫度測量、溫度顯示等功能,并 通過與單片機連接的鍵盤可以隨時設定測控溫度的下限,還可以連接相應的外 圍電路,在收到單片機發(fā)出的指令后對環(huán)境進行監(jiān)測,當溫度回升到下限溫度 時加熱器停止監(jiān)測。 1、采集溫度并顯示溫度值。對溫度控制器而言,最基本的功能是測溫功能 即能時時采集被測環(huán)境的溫度并通過顯示部分顯示出來。 2、設定測控溫度下限。溫度采集一般都具有設定限定溫度功能,即預設一 個溫度值,一旦溫度低于這個溫度值,控制器就會發(fā)出提示,連接相應的外圍 電路就可以對環(huán)境進行檢測。 3
19、、采用專用直流供電電源。與其它的溫度控制器相比,本系統(tǒng)的溫度采集 器輸出模擬電流,易受干擾。因而必須以專用直流電源供電,分別為模擬部分 和數(shù)字部分提供專用電壓。 4、利用單片機制作一個油溫控制器,要求如下: 溫度設定范圍 38-42,最小區(qū)分度 1,標定誤差1。 用十進制數(shù)碼顯示水的實際溫度。 環(huán)境溫度降低時,溫度控制的靜態(tài)誤差1。 2.2 系統(tǒng)方案確定 2.2.1 方案論證 方案一 采用美國 dallas 半導體公司繼 ds1820 之后推出的一種該進型智能溫度傳 感器 ds18b20 作為檢測元件,檢測范圍55125,最大分辨率可達 0 0625。ds18b20 可以直接讀出被測溫度值,而
20、且采用三線制與單片機相連,減 少了外部的硬件電路,具有低成本和易使用的特點, ds18b20 at89c51 主控制器 顯示電路 掃描驅(qū)動 圖 2-1 基于 ds18b20 的溫控電路 本電路由 3 個模塊組成;主控制器,測溫電路及顯示電路,主控制電路; 單片機 at89c51 具有低電壓供電和小體積等特點。 4.7k vcc ds18b20ds18b20ds18b20vcc 單單單 圖 2-2 ds18b20 與單片機的接口電路 顯示電路:采用 4 位共陽 led 數(shù)碼管,從 p1 口輸出段碼,到掃描用 p3.0- p3.1 口來實現(xiàn),列驅(qū)動用 9012 三極管。 ds18b20 與單片機的
21、接口電路,如圖 2-2: ds18b20 可以采用兩種方式供電,一種是采用電源供電方法,如圖此時 ds18b20 的 1 腳接地,2 腳作為信號線,3 腳接電源,另一種是寄生電源供電方 式,單片機接口接單線總線,為保證有效的 ds18b20 時鐘周期內(nèi)提供足夠的電 源,可用一個 mosfet 管來完成總線的上位。 當 ds18b20 處于寫存儲器操作和溫度 ad 轉(zhuǎn)換操作時,總線上必須有強 的上位,上位開啟時最大為 10 ua。采用寄生電源供電方式時 vdd 和 gnd 端 軍接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。 方案二 由 ad590 配以 adc0809。adc0809
22、是最常用的 8 位模數(shù)轉(zhuǎn)換器,屬于逐 次逼近型。adc0809 采用單一的+5v 供電,片內(nèi)有帶鎖存功能的 8 路模擬開關(guān), 可對 05v,8 路模擬信號分時進行轉(zhuǎn)換,完成一次轉(zhuǎn)換的的時間是 100us,數(shù) 字輸出信號具有 ttl 三態(tài)鎖存器,可以直接與 at89c51 相連。 通過對比,方案一中使用 ds18b20 采集溫度,結(jié)構(gòu)較復雜,價格也稍顯昂 貴,適合較大規(guī)模的工業(yè)農(nóng)業(yè)使用。成本較高故從以上兩種方案,很容易看出 采用方案二,電路不僅比較簡單,軟件設計也比較簡單,故采用了方案二 圖 2-3 系統(tǒng)組成方框圖 2.2.2 方案確定 由設計要求可知,該油溫控制器應包括主控制器單片機、溫度檢測
23、模塊、 加熱控制模塊、鍵盤設定模塊及數(shù)據(jù)顯示模塊。溫度檢測模塊由溫度傳感器 ad590、信號放大器及a/d轉(zhuǎn)換器adc0809組成。由ad590將溫度轉(zhuǎn)換成電流信 號再經(jīng)信號放大器得到對應的模擬電壓,再經(jīng)adc0809轉(zhuǎn)換后接入單片機。 鍵盤掃描由11個按鍵及3位led共陽極顯示器組成。通過p1、p2口直接驅(qū)動 鍵盤,為了簡化顯示接口,這里采用了串行口擴展led顯示器 第三章 油溫控制系統(tǒng)硬件電路設計 3.1 硬件部分的簡介 3.1.1at89c51 的簡介 at89c51 單片機是最常用的單片機,是一種低損耗、高性能、cmos 八位微 處理器。at89c51 與 mcs-51 系列的單片機在
24、指令系統(tǒng)和引腳上完全兼容,而 且能使系統(tǒng)具有許多 mcs-51 系列產(chǎn)品沒有的功能,功能強、靈活性高且價格 低。at89c51 可構(gòu)成真正的單片機最小應用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的 可靠性,降低了系統(tǒng)成本。 at89c51 提供以下標準功能: 32 個 i/o 口線 2 個 16 位定時/計數(shù)器 4k 字節(jié) flash 閃速存儲器 128 字節(jié)內(nèi)部 ram 一個 5 向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電 路。同時,at89c51 降至 0hz 的靜態(tài)邏輯操作,并支持兩種可選的節(jié)電工作模 式??臻e方式體制 cpu 的工作,但允許 ram,定時/計數(shù)器,串行通信口及中 斷
25、系統(tǒng)繼續(xù)工作。掉電方式保存 ram 中的內(nèi)容,但振蕩器體制工作并禁止其他 所有不見工作直到下一個硬件復位。 引腳功能說明 89c51 共 40 個引腳,大致可分為四類: 圖 3-1 89c51 引腳圖 p1.1 xtal2 t1/p3.5 txd/p3.1 p1.2 rxd/p3.0 reset p1.7 p1.6 p1.5 p1.4 p1.3 p0.0 p0.1 vcc vss xtal1 p0.2 p0.7 p0.6 p0.5 p0.4 p0.3 p2.7 p2.6 p2.5 p2.4 p2.3 p2.2 p2.1 p2.0 /p3.2int0 /p3.3int1 t0/p3.4 /p3.
26、6wr /p3.7rd pp/eav psen prog/ale 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40p1.0 89c51 /ad0 /ad1 /ad2 /ad3 /ad4 /ad5 /ad6 /ad7 /a15 /a14 /a13 /a12 /a11 /a10 /a9 a8/ (1)電源引腳 vcc:電源端,+5v。 vss:接地端(gnd) 。 (2)時鐘電路引腳 xtal1:外接晶振輸入端。 xtal2:外接
27、晶振輸出端。 (3)i/o 引腳 p0.0p0.7/ad0ad7:一組 8 位漏極開路型雙向 i/o 口,也是地址/數(shù)據(jù)總 線復用口。作輸入/輸出口用時,必須外接上拉電阻,它可驅(qū)動 8 個 ttl 門電路。 當訪問片外存儲器時,用作地址/數(shù)據(jù)分時復用口線。 p1.0p1.7:一組內(nèi)部帶上拉電阻的 8 位準雙向 i/o 口,可驅(qū)動 4 個 ttl 門 電路。 p2.0p2.7/a8a15:一組內(nèi)部帶上拉電阻的 8 位準雙向 i/o 口,可驅(qū)動 4 個 ttl 門電路。當訪問片外存儲器時,用作高 8 位地址總線。 p3.0p3.7:一組內(nèi)部帶上拉電阻的 8 位準雙向 i/o 口。出于芯片引腳數(shù)的
28、限制,p3 端口每個引腳具有第二功能。 (4)控制線引腳 reset/vpd:復位端/備用電源輸入端。當 reset 端出現(xiàn)持續(xù)兩個機器周 期以上的高電平時,可實現(xiàn)復位操作。vpd 端可外接備用電源,以便在 vcc 掉 電時向 ram 供電。 ea/vpp :片外程序存儲器選擇端/ flash 存儲器編程電源。若要訪問外部程 序存儲器則 ea 端必須保持低電平。vpp 端用于 flash 存儲器編程時的編程允許 電源+12v 輸入端。 ale/prog :地址鎖存允許端/編程脈沖輸入端。當訪問外部程序存儲器或 數(shù)據(jù)存儲器時,ale 輸出脈沖用于鎖存 p0 口分時送出的低 8 位地址(下降沿有
29、效) 。不訪問外部存儲器時,該端以時鐘頻率的 1/6 輸出固定的正脈沖信號,可 用作外部時鐘。對內(nèi)部 flash 存儲器編程期間,該引腳用于輸入編程脈沖。 psen :讀片外程序存儲器選通信號輸出端。當 89c51 從外部程序存儲器 取指令時,該腳有效(上升沿) 。每個機器周期 psen 均產(chǎn)生兩次有效輸出信號。 3.1.2 元器件的選擇 (1)ad590 的性能特點與工作原理 圖 3-2 ad590 管腳封裝圖 圖 3-3 ad590 的基本電路圖 ad590 的內(nèi)部電路如電路圖 3-3 所示。傳感器 ad590 的輸出電流會隨著溫 度的變化而變化,變化量為 1ua/k,ad590 與 10
30、k 電阻連接,把電流轉(zhuǎn)化為電壓, 取出電壓后經(jīng)過一個電壓跟隨器。接穩(wěn)壓管的那一路則是要使 50k 變阻器的輸 出電壓為 2.732v,與跟隨器的輸出在經(jīng)過一個差動放大器,求得溫度變化值所對 應的電壓變化值,送到 a/d 轉(zhuǎn)換器中去。 (因為 0 度時,ad590 的輸出電流是 273.2ua,取出的電壓為 273.2*10k=2.732v,及后溫度變化取出的電壓也跟著變化, 經(jīng)過差動放大就可以把電壓變化值取出送到 a/d 轉(zhuǎn)換器中) (2)模數(shù)轉(zhuǎn)換-adc0809 芯片 adc0809 采用逐次逼近式 a/d 轉(zhuǎn)換原理,可實現(xiàn) 8 路模擬信號的分時采集, 片內(nèi)有 8 路模擬選通開關(guān),以及相應的
31、通道地址鎖存與譯碼電路,轉(zhuǎn)換時間為 100us 左右。adc0809 內(nèi)部中多路開關(guān)可選通 8 個模擬通道,允許 8 路模擬量 分時輸入,共用一個 a/d 轉(zhuǎn)換芯片進行轉(zhuǎn)換。地址鎖存與譯碼電路完成對 a、b、c 3 個地址位進行鎖存與譯碼,其譯碼輸出用于通道選擇。8 位 a/d 轉(zhuǎn) 換器是逐次逼近式,由控制與時序電路、逐次逼近寄存器、樹狀開關(guān)以及 256 歐姆電阻階梯網(wǎng)絡組成。輸出鎖存器用于存放和輸出轉(zhuǎn)換得到的數(shù)字量。 adc0809 芯片為 28 引腳雙列直插式封裝。 adc0809 芯片引腳的功能: in7-in0:模擬量輸入通道。adc0809(圖 2-3)對輸入模擬量的要求主要 有:信
32、號單極性,電壓范圍為 0-5v。 a、b、c:地址線,模擬通道的選擇信號。a 為地位地址,c 為高位地址。 ale:地址鎖存允許信號。 start:轉(zhuǎn)換啟動信號。start 上跳沿時,所有內(nèi)部寄存器清 0;start 下跳沿時,開始進行 a/d 轉(zhuǎn)換;在 a/d 轉(zhuǎn)換期間,start 應保持低電平。 d7-d0:數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以與單片機直接相連。d0 為最低位,d7 為最高位。 oe:輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù) 據(jù)。oe=0,輸出數(shù)據(jù)線呈高電阻;oe=1 輸出轉(zhuǎn)換得到的數(shù)據(jù)。 clk:外部時鐘信號引入端。adc0809 的內(nèi)部沒有時鐘電路,
33、所需時鐘信 號由外界提供。 eoc:轉(zhuǎn)換結(jié)束信號。eoc=0,正在進行轉(zhuǎn)換;eoc=1,轉(zhuǎn)換結(jié)束。使用 中該狀態(tài)信號即可以作為查詢的狀態(tài)標志,又可以作為中斷請求信號使用。 vcc:+5v 電源。 vref:參考電源。其典型值為+5v。 圖 3-4adc0809 引腳圖 3.2 硬件電路設計 根據(jù)已經(jīng)確定的方案,我們大致可以確定基于單片機的油溫控制系統(tǒng)工作 原理圖,如下圖所示: 下位機 (at89c51) 上位機(pc) 下位機 (at89c51) 傳感器模塊 顯示模塊 控制模塊 傳感器模塊 顯示模塊 控制模塊 上位機(pc) 下位機 (at89c51) 傳感器模塊 顯示模塊 控制模塊 傳感器模
34、塊 顯示模塊 控制模塊 圖 3-5 單片機控制系統(tǒng)原理圖 3.2.1 各模塊接口電路 (1)鍵盤模塊 當按鍵數(shù)量較多時,可將這些按鍵按行列構(gòu)成矩陣,在每個行列的交點上 連接一個按鍵,因此又稱矩陣式鍵盤或行列式鍵盤。本文采用 4*4 矩陣鍵盤, 如下圖所示: 圖 3-6 鍵盤接口電路 p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 89c51 & int0 +5v 0123 4567 891011 12131415 y0 y1 y2 y3 x0 x1 x2 x3 (2)顯示模塊 led 數(shù)碼顯示器(圖 3-7)是由若 干段發(fā)光二極管構(gòu)成的,當某些段的發(fā) 光二極管導
35、通時, 顯示對應的字符。 led 顯示器控制簡單,使用方便,在 單片機中應用非常普遍。由于每一位 led 顯示器分別由一個 8 位輸出口控 制字形碼,顯示器能穩(wěn)定且獨立顯示 圖 3-7 數(shù)碼顯示器 字符,這種方式編程簡單,但占用的 i/o 口多,適合于顯示器位數(shù)少的場合。 因此利用 74ls164 寄存器 led 顯示器構(gòu)成顯示模塊,如下圖: 圖 3-8 74ls164 構(gòu)成的顯示電路 (3)89c51 單片機最小系統(tǒng) 在單片機實際應用系統(tǒng)中,由于應用條件及控制要求的不同,其外圍電路 的組成各不相同。單片機的最小系統(tǒng)就是指在盡可能少的外部電路條件下,能 使單片機獨立工作的系統(tǒng)。 由于 89c5
36、1 內(nèi)部已經(jīng)有 4kb 的 flash e2prom 及 128b 的 ram,因此只需 要接上時鐘電路和復位電路就可以構(gòu)成單片機的最小系統(tǒng),如圖 3-9 所示: 1235 10 986 ed comdp g f comb 4 7 c a txd rxd led0 led1led2 p1.3 74ls16474ls16474ls164 +5v & p1.4 a b ckclr q0q7 a b c d e fg dpa b c d e fg dpa b c d e fg dp a b ck clr q0q7 a b ck clr q0q7 89c51 圖 3-9 單片機最小系統(tǒng) 3.2.2 溫
37、控系統(tǒng)硬件電路設計 根據(jù)對各個模塊的分析,其硬件接線圖如下,包括主控制器單片機、溫度 檢測模塊、加熱控制模塊、鍵盤設定模塊及數(shù)據(jù)顯示模塊。 ad0 ad1 clk ad2 ad3 ad4 ad5 ad6 ad7 ea/vp x1 x2 reset rd wr int0 ale/p txd rxd 89c51 led0 led1led2 0 123 4 567 8 9set +5v +5v p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 p2.7 20pf 20pf 12 mhz 1k
38、 22f 74ls16474ls16474ls164 +5v & vcc +5v 1 1 1 1 1 start ale oe eoc 12v 1.2k 10k 50k6v 10k 10k 10k 49k 49k 12v in0 adda addb addc vcc ref(+) ref(-) gnd p2.0 p2.1 p2.2 +5v +5v 1 ac ssr +5v 220v 270 a加熱絲 1 ac ssr +5v 270 c加熱絲 1 ac ssr +5v 270 b加熱絲 adc0809 ea/vp 31 xtal1 19 xtal2 18 rst 9 rd 17 wr 16 i
39、nt0 12 int1 13 t0 14 t1 15 1 2 3 4 5 6 7 8 psen ale/p txd rxd 89c51 +5v +5v 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 29 30 11 10 p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 p2.0 p2.1 p2.2 p2.3 p2.4 p2.5 p2.6 p2.7 30pf 30pf 12 mhz 10k 10f 圖 3-10 基于 at89c51 溫
40、控系統(tǒng)原理圖 利用 protel99 我們繪制出 pcb 布線圖,原理圖的設計步驟: (1)新建原理圖設計文件 為了方便電路設計文件的管理,在新建原理圖設計之前,應當新創(chuàng)建一個 設計數(shù)據(jù)庫文件,然后再在該設計數(shù)據(jù)庫文件下新建原理圖設計文件。 (2)設置圖紙區(qū)域工作參數(shù) 圖紙區(qū)域工作參數(shù)的設置指的是圖紙大小、電氣柵格、可視柵格和捕捉柵 格等參數(shù)的設置,它們構(gòu)成了原理圖設計的工作環(huán)境。 (3)載入原理圖庫 在原理圖設計過程中,放置的元器件全部來源于載入到原理圖編輯器中的 原理圖庫。如果原理圖庫沒有載入到原理圖編輯器,那么在繪制原理圖時就找 不到所需的元器件。因此,在繪制原理圖之前,應當根據(jù)原理圖設
41、計的需要將 所需的原理圖庫載入到原理圖編輯器即可。 (4)放置元器件 放置元器件指的是從原理圖庫中選擇所需的各種元器件,并將其逐一放置 到原理圖設計中,調(diào)整元器件的位置,同時完成對元件器的編號,添加封裝形 式和定義元器件的顯示狀態(tài)等操作。 (5)原理圖布線 原理圖布線,指的是在放置完元器件后,用具有電氣意義的導線、網(wǎng)絡標 號、電源和接地符號、以及端口等圖件將元器件連接起來,使各元器件之間具 有特定的電氣連接關(guān)系,能夠?qū)崿F(xiàn)一某項電氣功能的過程。 (6)補充完善 在原理圖設計基本完成之后,可以在原理圖上作一些相應的說明,標注和 修飾,以增強原理圖的可讀性和整齊美觀性。 根據(jù)以上步驟我們畫出圖 3-
42、11 如下所示: 圖 3-11 單片機溫控原理圖 第四章 油溫控制系統(tǒng)軟件設計 4.1 單片機編程語言 4.1.1 單片機編程語言分類及特點 單片機的編程語言有機器語言、匯編語言與高級語言三種。機器語言 (machine language)是指直接用機器碼編寫程序、能夠為計算機直接執(zhí)行的機 器級語言。機器碼是一串由二進制代碼“0”和“1”組成的二進制數(shù)據(jù),執(zhí)行速度快。 但對于使用者來說,用機器語言編寫程序非常繁瑣,不易看懂和記憶,容易出 錯。機器語言一般只在簡單的開發(fā)裝置中使用。匯編語言(assembly language)是指用指令助記符代替機器碼的編程語言。程序結(jié)構(gòu)簡單,執(zhí)行速 度快,程序
43、易優(yōu)化,編譯后占用存儲空間小,能充分發(fā)揮單片機的硬件功能, 是單片機應用系統(tǒng)開發(fā)中最常用的程序設計語言。高級語言(high-level language)是在匯編語言的基礎上用高級語言來編寫程序,例如 franklin c51、mbasic 51 等,程序可讀性強,通用性好,適用于不熟悉單片機指令系 統(tǒng)的用戶。大中型單片機系統(tǒng)的軟件開發(fā)采用 c 語言的開發(fā)周期通常要比采用 匯編語言短得多。高級語言編寫程序的缺點是實時性不高,結(jié)構(gòu)不緊湊,編譯 后占用存儲空間比較大,這一點在存儲器有限的單片機應用系統(tǒng)中沒有優(yōu)勢。 由上述三種編程語言的各自特點可以看出,如果應用系統(tǒng)的存儲空間比較 小,且對實時性的要
44、求很高,則應選用匯編語言。如果系統(tǒng)的存儲空間比較大, 且對實時性的要求不是很高,則應選用高級語言。不論是匯編語言還是高級語 言都要轉(zhuǎn)化為機器語言才能為計算機所用。因此,機器語言程序又稱為目標程 序,而用匯編語言和高級語言編寫的程序稱為源程序 4.1.2 匯編語言的指令格式 指令是指揮計算機工作的命令,是計算機軟件的基本組成單元。指令有機 器指令和匯編語言指令兩種。機器指令是用二進制數(shù)表示的能直接被計算機識 別并執(zhí)行的指令,由于二進制書寫起來較長,通常用十六進制數(shù)表示。顯然這 種指令不便記憶和理解,書寫時也容易出錯。為了便于記憶和使用,常以指令 的英文名稱或縮寫形式作為助記符來表示指令的 功能(
45、如用“mov”表示傳送,用“add”表示加法) ,這樣的指令稱為匯編語 言指令。 指令的表示形式稱為指令格式。用 mcs-5l 匯編語言表示的指令格式如下: 標號: 操作碼助記符操作數(shù) 1,操作數(shù) 2, 操作數(shù) 3 ;注釋 例如:loop: add a , #50h ; 執(zhí)行加法 在指令格式中,方括號中的內(nèi)容為可選項,不一定都有。各字段的意義如 下: 標號:表示該指令所在的地址。并不是每條指令都必須有標號,通常在程 序分支、轉(zhuǎn)移所需要的地方才加上一個標號。標號是以字母開始的,由 18 個 字符(字母或數(shù)字)組成,標號不能使用匯編語言中已經(jīng)定義過的符號名,如 指令助記符、寄存器名、偽指令等。標號
46、以“:”結(jié)尾。特別應注意的是,在一個 程序中不允許重復定義標號,即同一程序內(nèi)不能在兩處及兩處以上使用同一標 號。 操作碼:表示該語句要執(zhí)行的操作內(nèi)容,是每條指令必有的部分。操作碼 用指令助記符表示。操作碼后面至少留一個空格,使其與后面的操作數(shù)分隔。 操作數(shù):表示操作碼的操作對象,常用符號(如寄存器、標號) 、常量(如 立即數(shù)、地址值等)來表示。操作碼和操作數(shù)之間用若干空格分隔,而各操作 數(shù)之間用逗號“, ”分隔。指令的操作數(shù)可以有 3 個、2 個、1 個或沒有(如空操作 指令 nop) 。操作數(shù)的個數(shù)因指令功能而異。 例如:mova,#30h;傳送指令,兩個操作數(shù),第 1 個為目的操作 數(shù),第
47、 2 個為源操作數(shù) inc a ;累加器加 1 指令,只有一個操作數(shù) reti ;中斷返回指令,沒有操作數(shù) 注釋:該字段可有可無,是用戶為閱讀程序方便而加的解釋說明。注釋段 以“;”開始,不影響程序的執(zhí)行。 4.1.3 匯編語言的步驟及方法 用匯編語言編寫程序,一般要經(jīng)過如下步驟: (1) 分析問題,明確任務 這一步就是要明確設計任務,功能要求及技術(shù)指標,對系統(tǒng)的硬件資源和 工作環(huán)境進行分析。這是單片機應用系統(tǒng)程序設計的基礎和條件。 (2)確定算法 確定算法就是在全面準確分析程序設計任務之后,具體地選定解決問題的算法。 對同一個問題,可以有多種不同的算法,設計者要分析各種不同的算法,從中 選
48、擇一種最佳算法。 (3)程序流程圖設計,是將算法轉(zhuǎn)化為具體程序的一個準備過程。所謂流 程圖,就是用箭頭線將些規(guī)定的圖形符號,如半圓弧形框、矩形框、菱形框 等,有機地連接起來的圖形。這些半圓弧形框、矩形柜和菱形框與文字符號相 配合用來表示實現(xiàn)某一特定功能或求解某一問題的步驟。利用流程圖可以將復 雜的工作條理化、抽象的思路形象化。如下圖所示為流程圖中常用的圖形符號。 端點框:表示程序的開始或結(jié)束。 處理框:表示一段程序的功能或處理過程。 判斷框:表示條件判斷,以決定程序的流向。 換頁符:當流程圖在一頁畫不下需要分頁時,使用換頁符表示相關(guān)流程圖 之間的連接。 流程線:表示程序執(zhí)行的流向。 (4) 編
49、寫源程序 用匯編語言把流程圖表明的步驟或過程描述出來。在編寫源程序之前,應 合理地選擇和分配內(nèi)存單元和工作寄存器。 (5) 匯編和調(diào)試 匯編就是將編寫好的源程序翻譯為計算機所能識別執(zhí)行的機器語言程序, 即目標程序。實際應用中這一步都是采用機器匯編。在匯編過程中,可以發(fā)現(xiàn) 源程序中在指令格式及使用上出現(xiàn)的問題或錯誤。 調(diào)試是輸入給定的數(shù)據(jù),讓程序運行起來,檢查程序運行是否正常、結(jié)果 是否正確。調(diào)試工作可一個一個模塊程序運行和修改,然后將各模塊程序連起 來運行和修改,這樣查找問題和錯誤的范圍小、容易、快捷。只有通過上機調(diào) 試并得出正確結(jié)果的程序才能認為是正確的程序。 4.2 程序結(jié)構(gòu)設計 (1)主
50、程序 用于進行初始化處理,包括各端口的初始化,定時/計數(shù)器的設定、中斷允 許的設定等。同時進行鍵盤的掃描輸入。 端點框 處理框 判斷框 流程線 換頁符 開始 打開顯示器 串行口初始化 定時器初始化 中斷初始化 調(diào)用鍵盤掃描子程序 等待定時中斷 圖 4-1 為主程序流程圖 (2)定時中斷服務程序 通過單片機內(nèi)部的定時器 t0 進行 50ms 定時,再通過寄存器 r6 進行計數(shù), 以實現(xiàn) 1s 定時中斷的要求。進入中斷服務程序后,可進行當前溫度的檢測及顯 示,根據(jù)所測值與設定值比較進行溫度控制等。 定時中斷程序開始 1s定時時間到? 調(diào)用標度轉(zhuǎn)換子程序 關(guān)定時、關(guān)中斷 調(diào)用溫度檢測子程序 顯示實測
51、溫度 調(diào)用溫度控制子程序 中斷返回 y 開定時、開中斷 n 圖 4-2 為中斷服務程序流程圖 (3)溫度檢測程序 溫度檢測采用每 1s 定時采樣的方式,為了實現(xiàn)溫度的準確檢測,采用了平 均值濾波法抗干擾。即連續(xù) 4 次啟動 adc0809 進行 a/d 轉(zhuǎn)換,求取轉(zhuǎn)換結(jié)果的 平均值,存入指定單元,以得到檢測溫度值。 圖 4-3 為溫度檢測程序流程圖 (4)溫度控制程序 通過比較鍵盤設定值與溫度檢測值的差別,按照一定的控制規(guī)律,控制輸 出口線的狀態(tài),實現(xiàn)三組加熱絲的控制。 溫度檢測開始 轉(zhuǎn)換結(jié)束否? 將結(jié)果單元清0 轉(zhuǎn)換次數(shù)送r7 啟動a/d轉(zhuǎn)換 累加轉(zhuǎn)換結(jié)果 存結(jié)果 4次轉(zhuǎn)換結(jié)束否? 返回 y
52、 n y n 求平均值 溫度控制開始 取實測值 實測值設定值 溫差0? 溫差10? 溫差5? 返回 關(guān)a、b、c加熱 開a、b、c加熱 開a、b加熱 開a加熱 n y y y n n 圖 4-4 為溫度控制程序流程圖 (5)溫度顯示程序 在每次溫度檢測后,進行一次溫度顯示刷新;在進行溫度設定時,顯示設 定溫度值。 4.3 主要程序模塊清單 主程序主程序: org 0000h ajmp main org 000bh ajmp t0int org 0030h main: mov sp,#60h mov p1,#0ffh;開顯示 mov scon,#00h;設置串行口工作方式 0,發(fā)送 mov tm
53、od,#01h;定時器初始化 mov th0,#3ch;50ms 定時初值 mov tl0,#0b0h mov r6,#14h;1s 定時用(50ms20 次) mov 5dh,#00h;顯示緩沖區(qū)清零 mov 5eh,#00h mov 5fh,#00h acall disp setb et0 setb ea setb tr0 lm0 : acall keyscan;調(diào)用鍵盤掃描子程序 ajmp lm0 定時中斷服務程序定時中斷服務程序: t0int: mov th0,#3ch mov tl0,#0b0h djnz r6,t0end;1s 未到,中斷返回 clr tr0 clr ea mov
54、r6,#14h ;恢復 r6 初值 acall tadc;調(diào)用溫度檢測子程序 acall xscl;調(diào)用標度轉(zhuǎn)換子程序 acall disp;調(diào)用顯示子程序 acall tcont;調(diào)用溫度控制子程序 setb tr0 setb ea t0end: reti 溫度檢測子程序溫度檢測子程序: tadc: mov 50h,#00h ; 清存檢測值單元 mov b,#00h mov r7,#04h;設置轉(zhuǎn)換次數(shù) mov dptr,#7fffh ; 送 adc0809 地址 tt0: movx dptr,a; 啟動 a/d 轉(zhuǎn)換 jb p3.2,$; 等待轉(zhuǎn)換結(jié)束 movx a, dptr ;讀 a/
55、d 轉(zhuǎn)換數(shù)據(jù) add a,50h mov 50h,a jnc tt1 ;是否超出 8 位二進制范圍 inc b tt1: djnz r7,tt0 ; 4 次轉(zhuǎn)換是否完成 clr c ;求 4 次 a/d 轉(zhuǎn)換的平均值 xch a,b rrc a xch a,b rrc a clr c xch a,b rrc a xch a,b rrc a mov 50h,a ;平均值存 50h ret 溫度控制子程序溫度控制子程序: tcont: mov a,51h clr c subb a,50h ;設定值實測值 mov r0,a jnc ccpr ;小于設定溫度,接通相應加熱 器 mov p0,#0ffh
56、 ;否則,關(guān)閉加熱器 ajmp conend ccpr: mov a,r0 subb a,#19h jc ccpr1 mov p0,#0f8h;開三組加熱器 ajmp conend ccpr1: mov a,r0 subb a,#0ch jc ccpr2 mov p0,#0fch;開兩組加熱器 ajmp conend ccpr2: mov p0,#0feh;開一組加熱器 conend: ret 顯示子程序顯示子程序如下: disp: mov r2,#03h ;顯示數(shù)據(jù)的個數(shù) mov r1,#5dh ;顯示緩沖區(qū)首址 setb p1.3 dl0: mov a,r1;取要顯示的數(shù) mov dptr,#tab movc a,a+dptr;查字型碼 mov sbuf,a;送出數(shù)據(jù) dl1: jnb ti,dl1 ;是否輸完一個字節(jié) clr ti;清發(fā)送完標志 inc r1 djnz r2,dl0;三個數(shù)是否都顯示完? ret tab: db 0c0h,0f9h,0a4h,0b0h,99h db 92h,82h,0f8h,80h,90h
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省信豐縣2025屆初三第二學期學分認定考試化學試題含解析
- 陜西省榆林市米脂縣重點中學2025年初三第二次模擬考試試卷英語試題含答案
- 來鳳縣2025年數(shù)學三下期末經(jīng)典模擬試題含解析
- 江西工業(yè)職業(yè)技術(shù)學院《全球化與企業(yè)文化》2023-2024學年第一學期期末試卷
- 江蘇省鹽城市大岡初中市級名校2024-2025學年初三質(zhì)量檢測試題(三)英語試題含答案
- 江蘇省蘇州市太倉達標名校2025年初三5月月考(一輪檢測試題)語文試題含解析
- 互聯(lián)網(wǎng)時代的親子教育
- DB32/T+5096-2025+汽車充(換)電站雷電防護裝置檢測技術(shù)規(guī)范
- 邯鄲市高三下學期第一次模擬考試理綜生物試題
- 銷售年終述職與總結(jié)報告(素材15篇)
- CPS產(chǎn)品推廣合作協(xié)議書標準合同
- 第一、二單元綜合檢測卷-必修中外歷史綱要下(附答案)
- JSBXC1-850時間繼電器
- 煤礦節(jié)電降耗管理措施
- 《英語委婉語與忌語》PPT課件.ppt
- 地域文化教學大綱(修訂本)
- 通用航空產(chǎn)業(yè)園項目商業(yè)計劃書范文參考
- 中國書法演變史
- 工商企業(yè)管理畢業(yè)論文范文
- 井下電纜著火應急演練預案
- APP開發(fā)合作協(xié)議通用版
評論
0/150
提交評論