單片機(jī)數(shù)據(jù)采集課程設(shè)計(jì)_第1頁
單片機(jī)數(shù)據(jù)采集課程設(shè)計(jì)_第2頁
單片機(jī)數(shù)據(jù)采集課程設(shè)計(jì)_第3頁
單片機(jī)數(shù)據(jù)采集課程設(shè)計(jì)_第4頁
單片機(jī)數(shù)據(jù)采集課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、0.前言11課程設(shè)計(jì)的目的和要求2課程設(shè)計(jì)的目的2課程設(shè)計(jì)要求22.總體設(shè)計(jì)3系統(tǒng)框圖3設(shè)計(jì)原理43.硬件設(shè)計(jì)5芯片介紹5相應(yīng)的命令控制字格式9硬件連接圖104.軟件設(shè)計(jì)10程序框圖10程序清單145.實(shí)驗(yàn)數(shù)據(jù)140通道數(shù)據(jù)分析表14程序運(yùn)行圖146結(jié)束語147.參考文獻(xiàn)15附錄一:硬件圖連接16附錄二:程序清單17附錄三:程序運(yùn)行圖22單片機(jī)數(shù)據(jù)采集控制系統(tǒng)單片機(jī)的應(yīng)用簡介單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換

2、器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備

3、的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個(gè)范疇: (1).在智能儀器儀表上的應(yīng)用 單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測量設(shè)備(功率計(jì),示波器,各種分析儀)。 (2).在工業(yè)控制中的應(yīng)用 用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級

4、控制系統(tǒng)等。 (3).在家用電器中的應(yīng)用 可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。 (4).在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機(jī)等。 (5).單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用 單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛

5、,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。 (6).在各種大型電器中的模塊化應(yīng)用 某些專用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機(jī),看似簡單的功能,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計(jì)算機(jī)的原理。如:音樂信號以數(shù)字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(類似于聲卡)。 在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、錯(cuò)誤率,也方便于更換。 (7).單片機(jī)在汽車設(shè)備領(lǐng)域中的應(yīng)用 單片機(jī)在汽車電子中的應(yīng)用非常廣泛,例如汽車

6、中的發(fā)動機(jī)控制器,基于CAN總線的汽車發(fā)動機(jī)智能電子控制器,GPS導(dǎo)航系統(tǒng),abs防抱死系統(tǒng),制動系統(tǒng)等等。 此外,單片機(jī)在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。1課程設(shè)計(jì)的目的和要求1.1課程設(shè)計(jì)的目的運(yùn)用單片機(jī)原理及其應(yīng)用等課程知識,根據(jù)題目要求進(jìn)行軟硬件系統(tǒng)的設(shè)計(jì)和調(diào)試,從而加深對本課程知識的理解, 把學(xué)過的比較零碎的知識系統(tǒng)化,比較系統(tǒng)的學(xué)習(xí)開發(fā)單片機(jī)應(yīng)用系統(tǒng)的基本步驟和基本方法,使學(xué)生應(yīng)用知識能力、設(shè)計(jì)能力、調(diào)試能力以及報(bào)告撰寫能力等有一定的提高。1.2課程設(shè)計(jì)要求用8051單片機(jī)設(shè)計(jì)數(shù)據(jù)采集控制系統(tǒng),基本要求如下:1、 可實(shí)現(xiàn)8路數(shù)據(jù)的采集,假設(shè)路信號均為

7、0-5V的電壓信號;2、3、 可通過鍵盤設(shè)置采集方式;(單點(diǎn)采集、多路巡測、采集時(shí)間間隔*)4、 具有異常數(shù)據(jù)聲音報(bào)警功能:對第一路數(shù)據(jù)可設(shè)置正常數(shù)據(jù)的上限值和下限值,當(dāng)采集的數(shù)據(jù)出現(xiàn)異常,發(fā)出報(bào)警信號。5、 可輸出8路順序控制信號,設(shè)每路順序控制信號為一位,順序控制的流程為:6、 可輸出頻率為1kHZ的方波,三角波,正弦波*。選做功能:1、 異常數(shù)據(jù)音樂報(bào)警2、 輸出方波,三角波,正弦波頻率可調(diào)系統(tǒng)框圖設(shè)計(jì)原理數(shù)據(jù)采集系統(tǒng),從嚴(yán)格的意義上來說,應(yīng)該是用計(jì)算機(jī)控制的多路數(shù)據(jù)自動檢測或巡回檢測,并且能夠?qū)?shù)據(jù)實(shí)行存儲、處理、分析計(jì)算以及從檢測的數(shù)據(jù)中提取可用的信息,供顯示、記錄、打印或描繪的系統(tǒng)

8、。數(shù)據(jù)采集形同一般有數(shù)據(jù)輸入通道,數(shù)據(jù)存儲與管理,數(shù)據(jù)處理,數(shù)據(jù)輸出及顯示這五個(gè)部分組成。輸入通道要實(shí)現(xiàn)對被測對象的檢測,采樣和信號轉(zhuǎn)換工作。數(shù)據(jù)存儲與管理要用數(shù)據(jù)存儲器把采集到的數(shù)據(jù)存儲起來,建立相應(yīng)的數(shù)據(jù)庫,并進(jìn)行管理和調(diào)用。數(shù)據(jù)處理就是從采集到原始數(shù)據(jù)中,刪除有關(guān)干擾噪聲,無關(guān)信息和必要的信息,提取出反應(yīng)被測對象特征的重要信息。另外,就是對數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,以便于檢索;或者吧數(shù)據(jù)恢復(fù)成原來物理量的形式,以可輸出的形態(tài)在輸出設(shè)備上輸出,例如打印,顯示,繪圖等。數(shù)據(jù)輸出及顯示就是把數(shù)據(jù)以適當(dāng)?shù)男问竭M(jìn)行輸出和顯示。本課程設(shè)計(jì)以單片機(jī)AT89C51芯片為控制核心和數(shù)據(jù)采集電路、LED數(shù)碼管顯示電

9、路以及供電系統(tǒng)四大部分構(gòu)成數(shù)據(jù)采集和功能顯示。當(dāng)有模擬信號輸入時(shí),單片機(jī)控制A/D轉(zhuǎn)換器,把要輸入的模擬信號轉(zhuǎn)換成相應(yīng)的數(shù)字信號存入到單片機(jī)的內(nèi)存中,再控制LCD顯示驅(qū)動器把內(nèi)存中的數(shù)字信號顯示出來。通過鍵盤來改變LCD中顯示的數(shù)據(jù),把改變的數(shù)據(jù)通過控制D/A轉(zhuǎn)換器輸出成相應(yīng)的模擬信號。芯片介紹(1)ADC0809芯片介紹ADC0809是采樣頻率為8位的、以逐次逼近原理進(jìn)行模數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。主要特性:1)8路8位AD轉(zhuǎn)換器,即分辨率8位。 2)具有轉(zhuǎn)換起??刂贫?。 3)轉(zhuǎn)換時(shí)間為100s4

10、)單個(gè)5V電源供電 5)模擬輸入電壓范圍05V,不需零點(diǎn)和滿刻度校準(zhǔn)。 6)工作溫度范圍為-4085攝氏度 7)低功耗,約15mW。 內(nèi)部結(jié)構(gòu) : ADC0809是CMOS單片型逐次逼近式AD轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖1322所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換、外部特性(引腳功能) :ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖1323所示。下面說明各引腳功能。 IN0IN7:8路模擬量輸入端。2-12-8:8位數(shù)字量輸出端。ADDA ADDB ADDC:3位地址輸入線,用于選通8路模擬輸入的一路ALE:地址鎖存允許信號,輸入,高電平有效。 STAR

11、T: AD轉(zhuǎn)換啟動信號,輸入,高電平有效。 EOC: AD轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。 REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:電源,單一5V。 GND:地。 ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 AD轉(zhuǎn)換,之后EOC輸出信號變

12、低,指示轉(zhuǎn)換正在進(jìn)行。直到AD轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示AD轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號可用作中斷申請。當(dāng)OE輸入高電平是,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上(2)MCS-51MCS-51系列單片機(jī)是美國Intel公司開發(fā)的8位單片機(jī),又可以分為多個(gè)子系列。MCS-51系列單片機(jī)共有40條引腳,包括32條I/O接口引腳、4條控制引腳、2條電源引腳、2條時(shí)鐘引腳。 引腳說明: P0.0P0.7:P0口8位口線,第一功能作為通用I/O接口,第二功能作為存儲器擴(kuò)展時(shí)的地址/數(shù)據(jù)復(fù)用口。 P1.0P1.7:P1口8位口線,通用I/O接口無第二功能。 P2.0P2.7:P

13、2口8位口線,第一功能作為通用I/O接口,第二功能作為存儲器擴(kuò)展時(shí)傳送高8位地址。 P3.0P3.7:P3口8位口線,第一功能作為通用I/O接口,第二功能作為為單片機(jī)的控制信號。ALE/ PROG:地址鎖存允許/編程脈沖輸入信號線(輸出信號)PSEN:片外程序存儲器開發(fā)信號引腳(輸出信號)EA/Vpp:片外程序存儲器使用信號引腳/編程電源輸入引腳RST/VPD:復(fù)位/備用電源引腳(3)DAC0832芯片介紹:DAC0832是美國數(shù)據(jù)公司的8位D/A轉(zhuǎn)化器,片內(nèi)帶數(shù)據(jù)鎖存器,電流輸出,輸出電流穩(wěn)定時(shí)間為1m,功耗為20mW,其引腳說明如下: D0D7:數(shù)據(jù)輸入線,TTL電平 ILE:數(shù)據(jù)鎖存允許

14、控制信號線 CS:片選信號線,低電平有效 WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖有效 XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效 WR2:DAC寄存器寫選通輸入線,低電平有效 IOUT1:電流輸出線,當(dāng)DAC寄存器為全1時(shí)電流最大 IOUT2:電流輸出線,其值與IOUT1之和為一常數(shù)Rfb:反饋信號輸入線,調(diào)整Rfb端外接電阻值可以調(diào)整轉(zhuǎn)換滿量程精度Vcc:電源電壓線,為5V15范圍VREF:基準(zhǔn)電壓輸入線,范圍為:10V10VAGND:模擬地DGND:數(shù)字地(4)74LS13874LS138是一個(gè)3-8譯碼器,共16個(gè)引腳,其引腳說明如下: A、B、C:選擇端即信號輸入端 E1、E2、E3

15、:使能端,其中E1、E2低電平有效,E3高電平有效 Y0Y7:譯碼輸出信號,始終只有一個(gè)為低電平 Vcc:電源端,5V GND:線路地(5)74LS273管腳功能:74LS73中文資料:是帶有清除端的8D觸發(fā)器,只有在清除端保持高電平時(shí),才具有鎖存功能,鎖存控制端為11腳CLK,采用上升沿鎖存。 CPU 的ALE信號必須經(jīng)過反相器反相之后才能與74LS273的控制端CLK 端相連。1).1腳是復(fù)位CLR,低電平有效,當(dāng)1腳是低電平時(shí),輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部輸出0,即全部復(fù)位;(2).當(dāng)1腳為高電平時(shí),11

16、(CLK)腳是鎖存控制端,并且是上升沿觸發(fā)鎖存,當(dāng)11腳有一個(gè)上升沿,立即鎖存輸入腳3、4、7、8、13、14、17、18的電平狀態(tài),并且立即呈現(xiàn)在在輸出腳2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.第一腳WR:主清除端,低電平觸發(fā),即當(dāng)為低電平時(shí),芯片被清除,輸出全為0(低電平);CP(CLK):觸發(fā)端,上升沿觸發(fā),即當(dāng)CP從低到高電平時(shí),D0D7的數(shù)據(jù)通過芯片,為0時(shí)將數(shù)據(jù)鎖存,D0D7的數(shù)據(jù)不變(6)74LS24574LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備,用法很簡單如上圖,這里簡單的給出一些資料,他是8路同

17、相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動器。當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號由 B 向 A 傳輸;(接收)DIR=“1”,信號由 A 向 B 傳輸;(發(fā)送)當(dāng)/CE為高電平時(shí),A、B均為高阻態(tài)。(7)8255芯片說明:8255A是Intel公司生產(chǎn)的可編程輸入輸出接口芯片,它具有3個(gè)8位的并行I/O口,具有三種工作方式,可通過程序改變其功能,因而使用靈活,通用性強(qiáng),可作為單片機(jī)與多種外圍設(shè)備連接時(shí)的中間接口電路。8255有三種

18、基本工作方式,PC口被分為兩個(gè)部分,上半部分隨PA口稱為A組,下半部分隨PPA口可工作與方式0、1和2,而PB口只能工作在方式0和1。8255共有40個(gè)引腳,采用雙列直插式封裝,各引腳功能如下:D0-D7:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接,用來傳送數(shù)據(jù)信息。CS:片選信號線,低電平有效,表示芯片被選中。RD:讀出信號線,低電平有效,控制數(shù)據(jù)的讀出。WR:寫入信號線,低電平有效,控制數(shù)據(jù)的寫入。Vcc:+5V電源。PA0-PA7:A口輸入/輸出線。PB0-PB7:B口輸入/輸出線。PC0-PC7:C口輸入/輸出線。RESET:復(fù)位信號線。A1、A0:地址線,用來選擇8255內(nèi)部端口。GND:

19、地線。相應(yīng)的命令控制字格式其中定時(shí)/計(jì)數(shù)器工作方式控制字TMOD格式如下:TMOD 字節(jié)地址:89HD7 D6 D5 D4 D3 D2 D1 D0GATEC/TM1M0GATEC/TM1M0 T1方式字 T0方式字其中,M1、M0為方式選擇,C/T為定時(shí)/計(jì)數(shù)選擇,GATE為定時(shí)器/計(jì)數(shù)器工作方式選擇中斷允許寄存器IE格式如下:IE 字節(jié)地址:A8HD7 D6 D5 D4 D3 D2 D1 D0EAESET1EX1ET0EX01FH ACHABH AAH A9H A8HEA為開中斷標(biāo)志 ES串口中斷允許標(biāo)志ET0/ET1:定時(shí)器/計(jì)數(shù)器T0/T1中斷允許標(biāo)志位EX0/EX1:INT0/INT1

20、中斷允許位3.3硬件連接圖(詳見附錄一)程序框圖子程序流程圖圖4 顯示子程序流程圖.4.2程序清單(詳見附錄二)5.10通道數(shù)據(jù)分析表顯示值測量值絕對誤差相對誤差0.50 0.50 0.00 0.00%1.00 0.92 0.08 8.00%1.50 1.42 0.08 5.33%2.00 1.88 0.12 6.00%2.50 2.35 0.15 6.00%3.00 2.80 0.20 6.67%3.50 3.28 0.22 6.29%4.00 3.72 0.28 7.00%4.50 4.21 0.29 6.44%5.00 4.68 0.32 6.40% 表 1 十進(jìn)制轉(zhuǎn)換誤差分析表由表中數(shù)

21、據(jù)可以得出,顯示值與實(shí)際值的誤差還比較大,通過采用查表法來轉(zhuǎn)換十進(jìn)制數(shù)將可以減小此次轉(zhuǎn)換的誤差。5.2程序運(yùn)行圖(詳見附件三)6結(jié)束語通過本次實(shí)驗(yàn),基本上等于對我們做了一次系統(tǒng)的集中式培訓(xùn),加深了我們對單片機(jī)知識的了解。在這次實(shí)驗(yàn)的軟件編程上,我們運(yùn)用到了ADC0809的A/D轉(zhuǎn)換程序、DAC0832的D/A轉(zhuǎn)換程序、鍵盤掃描的程序、十六進(jìn)制與十進(jìn)制轉(zhuǎn)換的程序、中斷程序及報(bào)警的相應(yīng)程序設(shè)計(jì),在原有的基礎(chǔ)上鞏固了我們編寫類似程序的能力。在硬件上運(yùn)用到了MCS-51單片機(jī)、ADCA0809 A/D轉(zhuǎn)換器、DAC0832 D/A轉(zhuǎn)換器,8255定時(shí)器,LED數(shù)碼管,LS138譯碼器等芯片,加深了我們

22、對硬件電路的了解。雖然此次編寫完成的程序精度不夠高,誤差偏大,但是我們已經(jīng)掌握了改進(jìn)的方法,比如用查表法來十進(jìn)制轉(zhuǎn)換就能大大提高精度,這里由于時(shí)間關(guān)系沒能來的及改正,相信在以后的實(shí)習(xí)過程中,我們將能更好的運(yùn)用各類方法來完成任務(wù)。1 徐愛卿,孫涵芳,盛煥鳴 單片機(jī)微型計(jì)算機(jī)應(yīng)用和開發(fā)系統(tǒng) 背景航空航天大學(xué)出版社 1992年2 張毅剛,彭喜元,孟升衛(wèi),劉兆慶 MCS-51 單片機(jī)使用子程序設(shè)計(jì)(第二版) 哈爾濱工業(yè)大學(xué)出版社 2003年3 陳建鐸 單片機(jī)應(yīng)用技術(shù)(第一版) 陜西科學(xué)技術(shù)出版社 1991年4 陳建鐸 0809單片機(jī)原理及應(yīng)用技術(shù)(第一版)電子工業(yè)出版社 1995年5 胡漢才 單片機(jī)原

23、理及接口技術(shù)(第二版)清華大學(xué)出版社 2004年附錄一:硬件圖連接附錄二:程序清單ORG 0000HJMP STARTORG 000BHLJMP INTO ORG 05A0HSTART: SETB EASETB TR0SETB ET0MOV TMOD,#01HMOV TL0,#0F0HMOV TH0,#0D8H ;中斷初始化SE11: MOV SP,#53H ;定義指針地址 MOV 7EH,#0CH MOV 7DH,#00H MOV 7CH,#00H MOV 7BH,#15H MOV 7AH,#10H MOV 79H,#10H ;顯示緩沖區(qū)初值(放六個(gè)數(shù)碼管的數(shù)據(jù)緩沖區(qū)) MOV 7FH,#0

24、0H MOV R5,#00H OUTBIT equ 0ffddh ;位控制口/鍵掃口 OUTSEG equ 0ffdch ;段控制口 IN equ 0ffdeh ;鍵盤讀入口 LedBuf equ 60h ;顯示緩沖LO18: CALL DIS ;顯示 CALL SCANKEY ;鍵盤掃描 MOV DPTR,#0FFE0H ;0809地址為0FFE0H,選擇輸入控制口為Y0 CJNE A,#20H,LO20 ;判斷鍵盤是否有按鍵按下,沒有則保存數(shù)據(jù)顯示,有則跳至LO20LO19: MOV R5,7CH ;將通道號保存到R5 CALL DIS ;顯示 MOV 7CH,R5 ;將通道號得值返回給緩

25、存區(qū)7CH MOV A,R5 ;通道號得值給A MOVX DPTR,A ;0809的通道采樣 MOVX A,DPTR ;取出采樣值 CALL ALERM ;判斷是否超出特定范圍進(jìn)行報(bào)警 MOV R0,#7AH ;定義R0的地址為#7AH,存放電壓值 CALL PTDS ;采樣值送顯示緩沖區(qū) SJMP LO18 ;循環(huán) ;-鍵盤有按鍵按下時(shí)的顯示LO20: MOV 71H,A SUBB A,#07H ;判斷按鍵值是否大于07,是則選擇多路巡測,不是則單點(diǎn)采集 JC LO21JMP LO22LO21: MOV A,71H ;進(jìn)行單點(diǎn)采集 MOV 7CH,A ;將通道號的值存到7CH緩存區(qū) MOVX

26、 DPTR,A ;0809的通道采樣 CALL DIS ;顯示 MOVX A,DPTR ;取出采樣值 MOV R0,#7AH ;定義R0的地址為#7AH,存放電壓值 CALL PTDS ;采樣值送顯示緩沖區(qū) SJMP LO18 ;循環(huán)LO22: CALL DIS ;顯示 MOV A,7FH ;R7內(nèi)存放通道號 MOV DPTR,#0FFE0H ;選擇Y0輸入控制 MOVX DPTR,A ;0809的0通道采樣LO23:CALL DIS ;顯示 MOVX A,DPTR ;取出采樣值 CALL ALERM MOV R0,#7AH MOV 7CH,7FH ;通道號值存入7CH緩存區(qū) MOV R6,7

27、FH CALL PTDS ;采樣值送顯示緩沖區(qū) CJNE R6,#07H,LO22 MOV 7FH,#00H MOV 7CH,7FH SJMP LO18 ;循環(huán);-中斷程序INTO: PUSH PSW PUSH ACC MOV TL0,#0F0H MOV TH0,#0D8H INC R6 CJNE R6,#64H,L01 ;延時(shí)1s MOV R7,7FH INC R7 ;R7+1,即通道號自動加1 CJNE R7,#08H,L0 ;判斷8路通道是否循環(huán)完成,完成則從0通道重新開始 MOV 7FH,#00H MOV R7,7FHL0: MOV 7FH,R7L01: POP ACC POP PSW

28、 RETI;-PTDS: MOV B,#51 ;A/255=x/5 DIV AB MOV R0,A ;將原十六進(jìn)制數(shù)除以51,得到的商即為轉(zhuǎn)換后十進(jìn)制電壓的整數(shù)位的值 DEC R0 ;地址減1,即到存放電壓小數(shù)位地址 CLR A MOV R6,B MOV A,R6 MOV B,#5 DIV AB MOV R0,A ;將余數(shù)除以5得到電壓小數(shù)位的值 SUBB A,#0AH JNZ L1 ;判斷小數(shù)位是否溢出,沒有則子程序結(jié)束 INC R0 MOV R5,7AH MOV A,R5 INC A MOV R0,A ;溢出后返回整數(shù)位給整數(shù)值加1 DEC R0 MOV 79H,#00H ;小數(shù)位清零 M

29、OV A,79HL1: RETDIS: PUSH DPH PUSH DPL ;壓棧 SETB RS1 ;Rs0,Rs1表示R0R7分為四個(gè)區(qū),默認(rèn)為0007H的0區(qū)(00),2區(qū)為080F,3區(qū)為1017H,4區(qū)為181F(這里表示用10的三區(qū)) MOV R0,#7EH ;顯示緩沖區(qū) MOV R2,#20H ;從左邊開始顯示 MOV R3,#00H MOV DPTR,#LS0 ;八段管顯示碼首地址LS2: CJNE R2,#02H,LS4 ; 判斷是否到了第五個(gè)數(shù)碼管顯示位 MOV DPTR,#LS3 ;是則送點(diǎn)亮了小數(shù)點(diǎn)的八段管顯示碼首地址 SJMP LS5LS4: CJNE R2,#01H

30、,LS5 ;不是則繼續(xù)判斷是否到了最后一個(gè)數(shù)碼管顯示位 MOV DPTR,#LS0 ;是則將八段管顯示碼首地址改為LS0LS5: MOV A,R0 ;R0內(nèi)數(shù)據(jù)表示在所查表中的第幾位 MOVC A,A+DPTR ;讀取表中對應(yīng)的數(shù)值 MOV R1,#0DCH ;段選,字形口地址 MOVX R1,A ;將A/D轉(zhuǎn)換結(jié)果存于R1寄存器內(nèi) MOV A,R2 ;位選(哪個(gè)數(shù)碼管點(diǎn)亮) INC R1 ;字形口地址+1 MOVX R1,A ;位選值送到字形口LS1: DJNZ R3,LS1 ;延時(shí) CLR C RRC A ;A右移一位,到下一位數(shù)碼管顯示 MOV R2,A ;位選地址存于R2 DEC R0 ;顯示緩沖區(qū)地址減1 JNZ LS2 ;判斷6位數(shù)據(jù)是否顯示完,沒有則跳到LS2繼續(xù)循環(huán) MOVX R0,A ;將位選地址存在R0內(nèi) DEC R0 ;R0-1 CPL A ;A按位取反 MOVX R0,A ;A的值存到R0內(nèi) CLR RS1 ;清空RS1 POP DPL POP DPH ;出棧 RETALERM: MOV 70H,A JC ALERM1 ;大于報(bào)警,A<08H時(shí)跳到ALERM1 CLR P3.0 ;亮燈報(bào)警ALERM1: JC ALERM2 ;再次判斷電壓值是否大于2.5V,大于則繼續(xù)報(bào)警,小于則關(guān)閉報(bào)警燈 JMP ALARM3ALARM3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論