版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的八路數(shù)據(jù)采集系統(tǒng)(一)摘要:單片機(jī)數(shù)據(jù)采集系統(tǒng)是計算機(jī)在工業(yè)控制中最為普遍的應(yīng)用系統(tǒng)它的任務(wù)是采集生產(chǎn)過程中的各種工況參數(shù)經(jīng)過處理后送入內(nèi)存儲器,cpu再對這些參數(shù)數(shù)據(jù)進(jìn)行分析,運算和處理。本系統(tǒng)設(shè)計一個單片機(jī)系統(tǒng),負(fù)責(zé)數(shù)據(jù)的采集和顯示,設(shè)計一個多路數(shù)據(jù)輸入輸出系統(tǒng),實現(xiàn)8路輸入和輸出。采用89c51系列單片機(jī)、adc0809、led數(shù)碼管等芯片實現(xiàn)硬件仿真,采用匯編語言。最后硬件電路在proteaus下仿真實現(xiàn)。關(guān)鍵詞:數(shù)據(jù)采集;8路輸入輸出;led顯示。0.前言隨著科學(xué)技術(shù)的進(jìn)步,人們越來越多地用計算機(jī)來實現(xiàn)控制系統(tǒng),因此,充分理解計算機(jī)控制系統(tǒng)是十分重要的。計算機(jī)控制系統(tǒng)的工
2、作原理可歸納為以下三個步驟:1.實時數(shù)據(jù)采集:對來自測量變送裝置已的被控量的瞬時值進(jìn)行檢測和輸入。 2.實時控制決策:對采集到的被控量進(jìn)行分析和處理,并按已定的控制規(guī)律,決定將要采取的控制行為。3.實時控制輸出:根據(jù)控制決策,適時地對執(zhí)行機(jī)構(gòu)發(fā)出控制信號,完成控制任務(wù)。工業(yè)控制機(jī)包括硬件和軟件兩部分:硬件包括主機(jī)板、內(nèi)部總線和外部總線、人-機(jī)接口、系統(tǒng)支持板、磁盤系統(tǒng)、通信接口、輸入輸出通道。軟件包括系統(tǒng)軟件、支持軟件和應(yīng)用軟件。本系統(tǒng)設(shè)計一個單片機(jī)系統(tǒng),負(fù)責(zé)數(shù)據(jù)的采集和顯示,設(shè)計一個多路數(shù)據(jù)輸入輸出系統(tǒng),實現(xiàn)8路輸入和輸出。采用89c51系列單片機(jī)、adc0809、led數(shù)碼管等芯片實現(xiàn)硬件
3、仿真,采用匯編語言。最后硬件電路在proteaus下仿真實現(xiàn)。1.基單片機(jī)的八路數(shù)據(jù)采集的基本理論基于單片機(jī)的八路數(shù)據(jù)采集電路的主要原理是:通過電位計控制輸入信號(電壓值)的幅值,經(jīng)單片機(jī)對八路信號進(jìn)行實時同步采樣,并用鍵盤選擇通道控制led顯示八路數(shù)據(jù)采集結(jié)果。 本課題只要掌握單片機(jī)與adc0809,led數(shù)碼管的接口方式,adc0809的工作原理,led數(shù)碼管的驅(qū)動原理,就能實現(xiàn)proteus仿真。2.方案設(shè)計數(shù)據(jù)采集電路的原理框圖1所示?,F(xiàn)場信號1數(shù)據(jù)采集器1主控系統(tǒng)數(shù)據(jù)存儲現(xiàn)場信號2數(shù)據(jù)采集器2現(xiàn)場信號8數(shù)據(jù)采集器8數(shù)據(jù)顯示圖1 數(shù)據(jù)采集電路的原理框圖根據(jù)設(shè)計要求,采用的方案如下:硬件
4、部分實現(xiàn)對8路數(shù)據(jù)采集和顯示的功能,包括mcs-51單片機(jī)、adc0809、led數(shù)碼管;軟件部分實現(xiàn)單片機(jī)對8路輸入數(shù)據(jù)的采集以及對led的顯示操作。主要設(shè)計思想:單片機(jī)p1口與adc0809相連,p3.0、p3.1口與74ls164連接,四個74ls164連接分別與四個led數(shù)碼管連接。模擬信號通過in0in7輸入到adc0809中轉(zhuǎn)換為數(shù)字信號,p1獲得此值后,經(jīng)過處理得到每位的數(shù)據(jù)后,通過四個74ls164送到led顯示屏上。3.系統(tǒng)硬件的工作原理3.1 mcs51單片機(jī)mcs-51單片機(jī)的內(nèi)部資源主要有并行i/o接口、定時器/計數(shù)器、串行接口以及中斷系統(tǒng)。其外部引腳如圖2所示。圖2
5、mcs-51單片機(jī)3.1.1 i/o接口51系列單片機(jī)有4個8位并行的i/o端口:p0、p1、p2、p3口。這4個口既可以并行輸入或輸出8位數(shù)據(jù),又可以按位方式使用,即每一位均能獨立作為輸入或輸出接口用。3.1.2 定時器/計數(shù)器電路1.mcs-51單片機(jī)有兩個16位的可編程定時/計數(shù)器:定時/計數(shù)器t0和定時/計數(shù)器t1。2.每個定時/計數(shù)器既可以對系統(tǒng)時鐘計數(shù)實現(xiàn)定時,也可以對外部信號計數(shù)實現(xiàn)計數(shù)功能,這些功能都是通過編程設(shè)定來實現(xiàn)的。3.每個定時/計數(shù)器有多種工作方式,其中t0有四種工作方式;t1有三種工作方式,t2有三種工作方式。通過編程可設(shè)定工作于某種方式。4.每一個定時/計數(shù)器定時
6、計數(shù)時間到時產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查詢或中斷方式來處理。 3.1.3 串行接口mcs-51單片機(jī)具有一個全雙工的串行異步通信接口,可以同時發(fā)送、接收數(shù)據(jù)。發(fā)送、接收數(shù)據(jù)可通過查詢或中斷的方式來處理。它有四種工作方式: 0.方式0,稱為同步移位寄存器方式,一般用于外接移位寄存器芯片擴(kuò)展i/o接口。 1.方式1,稱為8位的異步通信方式,通常用于雙機(jī)通信。 2.方式2和方式3,稱為9位的異步通信方式,通常用于多機(jī)通信。 3.1.4 中斷系統(tǒng)mcs-51單片機(jī)提供5個(52子系列提供6個)硬件中斷源:兩個外部中斷源int0(p3.2)和int1(p3.3),兩個定時/計數(shù)器t0和t1
7、的溢出中斷tf0和tf1;1個串行口發(fā)送t1和接收r1中斷。以下為本系統(tǒng)用到的串口中斷部分指令:ea:中斷允許總控位。ea=0,屏蔽所有的中斷請求;ea=1,開放中斷。ea的作用是使中斷允許形成兩級控制。es:串行口中斷允許位。es=1允許串行口中斷。ren為允許接收控制位。ren=1,則允許接收。ti位發(fā)送中斷標(biāo)志位。ri為接收中斷標(biāo)志位。3.2 數(shù)據(jù)采集轉(zhuǎn)換模塊這一模塊主要有adc0809轉(zhuǎn)化器完成。adc0809是cmos單片型逐次逼近式a/d轉(zhuǎn)換器,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型a/d轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時電路組成。其外部引腳如圖3所示。圖3
8、adc08093.2.1 輸入輸出端 1. in0in7:8路模擬量輸入端。 2. 2-12-8:8位數(shù)字量輸出端。 3.2.2 傳輸通道選擇端 adda、addb、addc:3位地址輸入線,用于選通8路模擬輸入中的一路。 3.2.3 使能端1.ale:地址鎖存允許信號,輸入,高電平有效。 2.start: a/d轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動a/d轉(zhuǎn)換)。 3.eoc: a/d轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)a/d轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 4.oe:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)a/d轉(zhuǎn)換結(jié)束
9、時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 5.clk:時鐘脈沖輸入端。要求時鐘頻率不高于640khz。 6.ref(+)、ref(-):基準(zhǔn)電壓。 7.vcc:電源,單一+5v。 8.gnd:地。3.3 顯示模塊顯示模塊選用 led數(shù)碼管。1602型lcd顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點。1602型lcd可以顯示2行16個字符,有8位數(shù)據(jù)總線d0-d7和rs,r/w,en三個控制端口,工作電壓為5v,并且具有字符對比度調(diào)節(jié)和背光功能。其外部引腳如圖3所示。圖4 led數(shù)碼管3.3.1 各引腳功能 1.vss:電源地。 2.vdd:電源正極。 3.vee:液晶顯示偏
10、壓信號。 4.rs:數(shù)據(jù)/命令選擇端。 5.r/w:讀寫選擇端。 6.e:使能信號。 7.d0-d7:數(shù)據(jù)輸入/輸出口。 4.軟件編程設(shè)計思想:adc0809的使能控制端連接在單片機(jī)p3口,操作時由程序控制。當(dāng)a/d轉(zhuǎn)換結(jié)束后由單片機(jī)將p1口a/d轉(zhuǎn)換后的數(shù)據(jù)附給p0口,進(jìn)而由連接在p0口的lcd顯示。主程序功能:void main()/主函數(shù)實現(xiàn)8路數(shù)據(jù)的采集與控制輸出數(shù)據(jù)。子程序功能:void init()/初始化函數(shù) 對lcd進(jìn)行初始化設(shè)置。 void delay(uint z)/延時函數(shù) 當(dāng)z=1時,延時約為1ms。 void write_command(uchar com)/寫命令
11、lcd寫命令操作 void write_data(uchar date)/寫數(shù)據(jù) lcd寫數(shù)據(jù)操作 void start() /開始ad轉(zhuǎn)換 開啟ad轉(zhuǎn)換 void xianshi() /ad轉(zhuǎn)化結(jié)果顯示 顯示ad轉(zhuǎn)化的結(jié)果 中斷程序功能:void timer0() interrupt 1 a2=0時,lcd第一屏顯示前四位數(shù)據(jù)。 a2=1時,lcd第二屏顯示后四位數(shù)據(jù)。程序流程圖:基于開關(guān)量的數(shù)據(jù)采集系統(tǒng)的程序流程圖如圖5所示。開始 鍵盤掃描電壓數(shù)據(jù)采集 數(shù)據(jù)處理 led顯示 結(jié)束 圖5 程序流程圖5. 系統(tǒng)調(diào)試和結(jié)果分析根據(jù)方案設(shè)計結(jié)果,進(jìn)行了硬件電路在proteaus下的仿真。當(dāng)通過電位
12、器調(diào)節(jié)ad轉(zhuǎn)換器輸入端的電壓時,模擬電壓值經(jīng)過ad轉(zhuǎn)換后,經(jīng)由單片機(jī)將轉(zhuǎn)換后的電壓值發(fā)送至p0口,供lcd進(jìn)行顯示。仿真過程描述:通過keil軟件對所編程序進(jìn)行編譯,生成.hex文件,在proteaus軟件中,用mcs51單片機(jī)調(diào)用.hex,即可進(jìn)行硬件的仿真。該仿真包括兩部分:1. 對8路電壓進(jìn)行采集,經(jīng)由ad轉(zhuǎn)換器進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化后的16進(jìn)制數(shù)存于單片機(jī)的內(nèi)部存儲器中。2. 對轉(zhuǎn)換后的電壓進(jìn)行顯示。將內(nèi)部存儲器中存儲的轉(zhuǎn)化后的電壓對應(yīng)的16進(jìn)制數(shù)付給p0口,由lcd進(jìn)行顯示。調(diào)節(jié)電位器lcd的顯示數(shù)據(jù)也會發(fā)生變化。調(diào)試中遇到的問題:將程序下載至開發(fā)板上的單片機(jī)進(jìn)行硬件調(diào)試時主要遇到以下兩個問
13、題。1. lcd不顯示數(shù)據(jù),led出現(xiàn)亂閃。解決方法:將led的段選和位選端關(guān)閉后再進(jìn)行硬件調(diào)試,問題得到解決。2. 調(diào)節(jié)電位器后,ad轉(zhuǎn)換的數(shù)據(jù)不變化只顯示5v。解決方法:ad轉(zhuǎn)換程序出現(xiàn)錯誤,更改程序后問題得到解決。6. 結(jié)論及進(jìn)一步設(shè)想本系統(tǒng)設(shè)計一個單片機(jī)系統(tǒng),實現(xiàn)8路數(shù)據(jù)的采集和顯示,它的任務(wù)是采集生產(chǎn)過程中的各種工況參數(shù)經(jīng)過處理后送入內(nèi)存儲器,cpu再對這些參數(shù)數(shù)據(jù)進(jìn)行分析,運算和處理。采用89c51系列單片機(jī)、ad轉(zhuǎn)換器、lcd1602等器件,并采用c語言編程,在proteaus下實現(xiàn)了硬件仿真,得到了一個8路數(shù)據(jù)輸入輸出系統(tǒng)。根據(jù)實驗結(jié)果,本設(shè)計已經(jīng)完成了設(shè)計任務(wù),達(dá)到要求。但是
14、由于仿真與實際應(yīng)用是有很大差別的,該單片機(jī)的8路數(shù)據(jù)采集系統(tǒng)還存在著實際的應(yīng)用方面的缺陷,可以通過把c語言編程、單片機(jī)、真實的硬件電路等更精密的器件綜合到一起,控制在工廠生產(chǎn)過程中需要采集和控制的數(shù)據(jù),從而進(jìn)一步改善該系統(tǒng),使其能夠應(yīng)用到實際的生產(chǎn)過程中。參考文獻(xiàn)1 謝維成,楊加國.單片機(jī)原理與應(yīng)用及c51程序設(shè)計. 北京:清華大學(xué)出版社,20092 于海生等.微型計算機(jī)控制技術(shù).北京;清華大學(xué)出版社,20083 劉復(fù)華. 單片機(jī)及其應(yīng)用系統(tǒng). 北京:清華大學(xué)出版社,19924 李斌,董慧穎. 可重組機(jī)器人研究和發(fā)展現(xiàn)狀. 沈陽工業(yè)學(xué)院學(xué)報,2000,19(4):5 于海生等. 微型計算機(jī)控制
15、技術(shù). 北京:清華大學(xué)出版社,19996 單片機(jī)原理與應(yīng)用及c51程序設(shè)計. 北京:清華大學(xué)出版社,2009課設(shè)體會做了兩周的課程設(shè)計,對于單片機(jī)的實際應(yīng)用方面讓我感受頗深。對于本專業(yè)的學(xué)生,我深知不進(jìn)行自主的實踐,永遠(yuǎn)也學(xué)不到真東西。在課設(shè)剛開始拿到題目覺得挺簡單,書上也有類似的程序,有點散漫。但當(dāng)我真正的去思考開始著手做程序時才發(fā)現(xiàn)自己還有好多要去學(xué)習(xí)。proteus仿真軟件對我來說還是比較陌生的,有很多硬件都找不到,查閱了proteus相關(guān)的入門書籍后才能自如的運用軟件。之后便是程序的編寫,根據(jù)課設(shè)任務(wù)的要求,寫出了程序的一個大概流程,按著程序流程圖一步一步的得到了能實現(xiàn)數(shù)據(jù)輸入輸出的程
16、序,期間經(jīng)過了多次調(diào)試,修改。最終得到完整的程序,心里還是小有成就感的。問題隨之又來,當(dāng)我將寫好的程序進(jìn)行實物仿真時,和我想的結(jié)果完全不同,寫入程序的開發(fā)板并沒有像軟件仿真時那樣得出期望的結(jié)果,最后經(jīng)過查閱資料將程序、proteus仿真、硬件的端口一一對應(yīng),才得出了爭確的結(jié)果。最后,感謝學(xué)校和老師給我們安排了這次課程設(shè)計,讓我真正感受到的是合作的重要,許多時候老師的指導(dǎo)中的一句半句啟發(fā)了我,就出現(xiàn)的讓人欣喜的結(jié)果;理論知識同樣很重要,有些問題都是由于基礎(chǔ)知識掌握不好才出現(xiàn)的。總之,要想做好一個硬件,理論知識基礎(chǔ),動手能力也必須過關(guān),二者缺一不可,我會繼續(xù)努力學(xué)習(xí)這方面的知識,通過類似課設(shè)這種方
17、式鍛煉自己,達(dá)到學(xué)以致用。附錄1 電路原理圖附錄2 程序清單 #include#include#define uchar unsigned char#define uint unsigned intsbit adoe=p37; /oe接3.7sbit eoc=p33; /eoc接3.1sbit adstart=p36;/start接3.2sbit a0=p30; /a 3.3sbit a1=p31; /b 3.4sbit a2=p32; /c 3.5sbit lcdrs=p35; /lcd rs 3.6sbit lcden=p34; /lcd en 3.7sbit dula=p26;sbit
18、wela=p27;long int temp,b1,b2,b3,b4,b5;uchar tt;uchar code table=0123456789.v; /顯示電壓void delay(uint z) /延時 uint x,y; for(x=z;x0;x-) for(y=100;y0;y-);void write_command(uchar com)/寫命令 dula=0; wela=0; lcdrs=0; /輸入指令p1=com;delay(5);lcden=1; /讀數(shù)據(jù)delay(5);lcden=0; /寫指令或者數(shù)據(jù)void write_data(uchar date)/寫數(shù)據(jù) l
19、cdrs=1; /輸入數(shù)據(jù)p1=date; /顯示delay(5);lcden=1; /讀數(shù)據(jù)delay(5);lcden=0;/寫指令或數(shù)據(jù)void init()/初始化lcden=0;write_command(0x38);/不可變,顯示模式設(shè)置:16*2顯示,5*7點陣,8位數(shù)據(jù)接口write_command(0x0c);/屏幕開啟和光標(biāo)閃爍write_command(0x06);/顯示開關(guān)及光標(biāo)設(shè)置write_command(0x01);/清屏void start() /開始ad轉(zhuǎn)換adoe=0; adstart=0; _nop_();adstart=1;adstart=0; void
20、 xianshi() /ad轉(zhuǎn)化結(jié)果顯示 write_data(tableb1); /最高位delay(1); write_data(table10); /小數(shù)點delay(1); write_data(tableb2); /第二位delay(1); write_data(tableb3); /第三位delay(1); write_data(table11); /電壓vdelay(1); void first_mark() /0-4路通道的標(biāo)號write_command(0x01);write_command(0x80);write_data(a);delay(1);write_command
21、(0x80+0x01);write_data(=);delay(1);write_command(0x80+0x09);write_data(b);delay(1);write_command(0x80+0x0a);write_data(=);delay(1);write_command(0x80+0x40);write_data(c);delay(1);write_command(0x80+0x41);write_data(=);delay(1);delay(1);write_command(0x80+0x49);write_data(d);delay(1);write_command(0x
22、80+0x4a);write_data(=);delay(1);void second_mark() /5-7路通道的標(biāo)號write_command(0x01);write_command(0x80);write_data(e);delay(1);write_command(0x80+0x01);write_data(=);delay(1);write_command(0x80+0x09);write_data(f);delay(1);write_command(0x80+0x0a);write_data(=);delay(1);write_command(0x80+0x40);write_d
23、ata(g);delay(1);write_command(0x80+0x41);write_data(=);delay(1);delay(1);write_command(0x80+0x49);write_data(h);delay(1);write_command(0x80+0x4a);write_data(=);delay(1);void main()a2=0;init();/調(diào)用lcd初始化子程序tmod=0x01;ea=1;/開總中斷th0=(65535-1000)/256;tl0=(65535-1000)%256; et0=1;/開定時器0中斷tr0=1;/定時器0置位first_mark();while(1) a0=0; /0路或4路通道的ad轉(zhuǎn)化a1=0;start();while(!eoc); adoe=1; temp=p0;delay(3);adoe=0; b1=(temp*500/255)/100; /最高位b2=(temp*500/255)%100/10; /第二位b3=(temp*500/255)%10; /第三位write_comman
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專用鋼結(jié)構(gòu)施工2024分包協(xié)議樣本版B版
- 2025年旅游紀(jì)念品設(shè)計與生產(chǎn)委托合同模板4篇
- 2025年度智慧社區(qū)建設(shè)合同范本4篇
- 二零二五年度財務(wù)數(shù)據(jù)分析與報告合同3篇
- 2025年高標(biāo)準(zhǔn)廠房修建合同書(綠色建筑認(rèn)證)4篇
- 2025年度茶葉標(biāo)準(zhǔn)化種植茶園承包經(jīng)營合同4篇
- 二零二五年度綠色建筑材料產(chǎn)銷合作框架協(xié)議書3篇
- 專項舊房翻新改造授權(quán)合同2024版一
- 專項消防工程:2024年中央空調(diào)安全系統(tǒng)協(xié)議版B版
- 2025年度時尚秀場場地租賃拍攝合同4篇
- GB/T 8005.2-2011鋁及鋁合金術(shù)語第2部分:化學(xué)分析
- GB/T 37234-2018文件鑒定通用規(guī)范
- GB/T 31888-2015中小學(xué)生校服
- 質(zhì)量檢查考核辦法
- 不動產(chǎn)登記實務(wù)培訓(xùn)教程課件
- 云南省普通初中學(xué)生成長記錄-基本素質(zhì)發(fā)展初一-初三
- 2023年系統(tǒng)性硬化病診斷及診療指南
- 外科醫(yī)師手術(shù)技能評分標(biāo)準(zhǔn)
- 《英語教師職業(yè)技能訓(xùn)練簡明教程》全冊配套優(yōu)質(zhì)教學(xué)課件
- 采購控制程序
- 六年級上冊數(shù)學(xué)簡便計算題200題專項練習(xí)
評論
0/150
提交評論