![數(shù)據(jù)采集系統(tǒng)的設計-計算機控制技術課程設計_第1頁](http://file4.renrendoc.com/view/21d3549d307187f5f293cf57b1c5effc/21d3549d307187f5f293cf57b1c5effc1.gif)
![數(shù)據(jù)采集系統(tǒng)的設計-計算機控制技術課程設計_第2頁](http://file4.renrendoc.com/view/21d3549d307187f5f293cf57b1c5effc/21d3549d307187f5f293cf57b1c5effc2.gif)
![數(shù)據(jù)采集系統(tǒng)的設計-計算機控制技術課程設計_第3頁](http://file4.renrendoc.com/view/21d3549d307187f5f293cf57b1c5effc/21d3549d307187f5f293cf57b1c5effc3.gif)
![數(shù)據(jù)采集系統(tǒng)的設計-計算機控制技術課程設計_第4頁](http://file4.renrendoc.com/view/21d3549d307187f5f293cf57b1c5effc/21d3549d307187f5f293cf57b1c5effc4.gif)
![數(shù)據(jù)采集系統(tǒng)的設計-計算機控制技術課程設計_第5頁](http://file4.renrendoc.com/view/21d3549d307187f5f293cf57b1c5effc/21d3549d307187f5f293cf57b1c5effc5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)采集系統(tǒng)的設計1設計目的和要求分析設計一個數(shù)據(jù)采集系統(tǒng),系統(tǒng)要采集10路模擬量(10位精度),20路開關量,采集的數(shù)據(jù)每隔1秒,通過串行通訊方式RS485向一臺工控機傳送。要求:選擇合適的芯片;設計原理電路(包含譯碼電路);編制數(shù)據(jù)采集的程序段;編制數(shù)據(jù)通信程序段;本次任務是設計一個數(shù)據(jù)采集系統(tǒng),系統(tǒng)要采集10路模擬量(10位精度),20路開關量,采集的數(shù)據(jù)每隔1秒,通過串行通訊方式RS485向一臺工控機傳送。由以上要求可知該系統(tǒng)設計可分為四個部分:模擬量采集電路、開光量采集電路、單片機與PC機的串口通訊電路及程序設計部分。下面分別做詳細的介紹。2模擬量采集電路設計摸擬量的采集要用到A/D轉換芯片,而且要求精度為10位,這里選擇TLC1543A/D轉換器。同時TLC1543有11路模擬通道輸入滿足采集10路模擬量的要求。TLC1543是一種低功耗、低電壓的10位開關電容逐次逼近模數(shù)轉換器,最大非線性誤差小于1LSB,TLC1543A/D轉換芯片有三個輸入端和一個3態(tài)輸出端片選CS、輸入/輸出時鐘(I/OCLOCK)地址輸入(ADDRESS)和數(shù)據(jù)輸出DATAOUT,這樣就和主處理器的串行口有一個直接的4線接口。除了高速的轉換器和通用的控制能力外,這些器件有一個片內的14通道多路器可以選擇11個輸入中的任何一個或3個內部自測試(self-test)電壓中的一個。采樣-保持是自動的。在轉換結束時,“轉換結束”(EOC)輸出端變高以指示轉換的完成。。開關電容的設計可以使在整個溫度范圍內有較小的轉換誤差。TLC1543詳細資料如下:TLC1543引腳如下圖1所示:圖1TLC1543引腳圖(2)TLC1543工作時序圖如下圖所示:圖2TLC1543工作時序圖(3)TLC1543A/D芯片的數(shù)據(jù)讀取程序A/D芯片的數(shù)據(jù)讀取程序是根據(jù)TLC1543的工作時序來進行設計的。TLC1543工作時序如圖2所示,其工作過程分為兩個周期:訪問周期和采樣周期。工作狀態(tài)由CS使能或禁止,工作時CS必須置低電平。CS為高電平時,I/OCLOCK、ADDRESS被禁止,同時DATAOUT為高阻狀態(tài)。當CPU使CS變低時,TLC1543開始數(shù)據(jù)轉換,I/OCLOCK、ADDRESS使能,DATAOUT脫離高阻狀態(tài)。隨后,CPU向ADDRESS端提供4位通道地址,控制14個模擬通道選擇器從11個外部模擬輸入和3個內部自測電壓中選通1路送到采樣保持電路。同時,I/OCLOCK端輸入時鐘時序,CPU從DATAOUT端接收前一次A/D轉換結果。I/OCLOCK從CPU接受10個時鐘長度的時鐘序列。前4個時鐘用4位地址從ADDRESS端裝載地址寄存器,選擇所需的模擬通道,后6個時鐘對模擬輸入的采樣提供控制時序。模擬輸入的采樣起始于第4個I/OCLOCK的下降沿,而采樣一直持續(xù)6個I/OCLOCK周期,并一直保持到第10個I/OCLOCK的下降沿。轉換過程中,CS的下降沿使DATAOUT引腳脫離高阻狀態(tài)并起動一次I/OCLOCK的工作過程。CS的上升沿終止這個過程并在規(guī)定的延遲時間內使DATAOUT引腳返回到高阻狀態(tài),經(jīng)過兩個系統(tǒng)時鐘周期后禁止I/OCLOCK和ADDRESS端。TLC1543數(shù)據(jù)采集子程序流程圖如圖3所示。該程序通過CPU通道地址的寫操作,發(fā)出A/D轉換啟動脈沖,啟動以后CPU查詢A/D轉換是否結束,一旦結束CPU通過對通道地址的讀操作讀取數(shù)值,值得注意的是在TLC1543啟動后,從A/D轉換時序可知EOC約在啟動脈沖之后300ns才變?yōu)楦唠娖健i_始開始設置通道地址把通道地址輸入1543發(fā)AD轉換啟動脈沖A/D轉換取AD值返回AD值圖3TLC1543數(shù)據(jù)采集子程序流程圖(4)模擬量通過TLC1543AD轉換芯片與Atmega16單片機的接口電路TLC1543的三個控制輸入端/CS、I/OCLK、ADDRESS和一個數(shù)據(jù)輸出端DATAOUT遵循串行外設接口SPI協(xié)議,要求微處理器具有SPI接口。TLC1543芯片的三個輸入端和一個輸出端與單片機的I/O口直接連接。將放大后的模擬電壓通過TLC1543與單片機的接口電路輸出數(shù)字信號。其接口電路如圖4所示。圖4TLC1543AD轉換芯片與Atmega16單片機的接口電路圖3開關量采集電路設計系統(tǒng)要求實時采集20路開關量,由于單片機I/O接口有限,故采用兩片74LS165芯片16路并行輸入轉換成串行輸入,剩余的4路開關量直接由單片機I/O進行采樣。74LS165芯片介紹如下:(1)74LS165引腳如下圖5所示:圖574LS165引腳圖(2)74LS165引腳功能表如表1所示:表174LS165引腳功能表74LS165芯片是8位并行輸入串行輸出移位寄存器,其中A~H就是8位并行數(shù)據(jù)的輸入端。Qh和/Qh是串行數(shù)據(jù)的輸出端,SER是串行數(shù)據(jù)的輸入端,CLK是時鐘端,SH/LD是移位和鎖存并行數(shù)據(jù)端。(3)74LS165時序功能圖如圖6所示:圖674LS165時序功能圖(4)開關量通過74LS165芯片與Atmega16單片機的接口電路開關量輸入信號如下圖所示:圖7開關量輸入信號圖當開關閉合時,經(jīng)過非門作用開關量輸入高電平“1”;當開關斷開時,經(jīng)過非門作用開關量輸入低電平“0”;20路開關量采集電路圖如下所示,16路開關量通過74LS165芯片將并行輸入轉換成串行輸入(PC0和PC1進行16路開關量采樣),剩余的4路開關量直接由單片機I/O(PB0~PB3)進行采樣。圖8開關量接口電路4單片機與PC機的串口通訊電路設計MAX487接口芯片是Maxim公司的一種RS-485芯片。采用單一電源+5V工作,額定電流為120uA,采用半雙工通訊方式。它完成將TTL電平轉換為RS-485電平的功能。其引腳結構圖如圖9所示。圖9MAX487引腳圖從圖9中可以看出,MAX487芯片的結構和引腳都非常簡單,內部含有一個驅動器和接收器。RO和DI端分別為接收器的輸出和驅動器的輸入端,與單片機連接時只需分別與單片機的PD0/RXD和PD1/TXD相連即可;/RE和DE端分別為接收和發(fā)送的使能端,當/RE為邏輯0時,器件處于接收狀態(tài);當DE為邏輯1時,器件處于發(fā)送狀態(tài)。因為MAX487工作在半雙工狀態(tài),所以只需用單片機的一個管腳控制這兩個引腳即可;A端和B端分別為接收和發(fā)送的差分信號端,當A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。在與單片機連接時只需要一個信號控制MAX487的接收和發(fā)送即可。單片機實現(xiàn)與PC機之間的通訊時,必須使用電平轉換接口芯片,因為單片機輸出的是TTL電平,必須經(jīng)過電平轉換才能和PC機的一致。本文中采用的是RS-485協(xié)議,所以單片機需要采用RS-485接口;而在PC機側使用的是RS-232與RS-485的電平轉換接口。單片機與PC機的串口通訊電路如下圖所示: 圖10單片機與PC機的串口通訊電路RS485網(wǎng)絡和普通的RS232網(wǎng)絡從程序上來講,維一的區(qū)別是就是有方向控制。數(shù)據(jù)發(fā)送時芯片需要工作在輸出方式,這樣數(shù)據(jù)才能被有效發(fā)出。不發(fā)送數(shù)據(jù)時一定要把RS485芯片設置為輸入狀態(tài),否則會影響網(wǎng)絡上其它設備。硬件連接如上圖,程序如下:/*串口初始化函數(shù)*/voiduart_init(void){UCSRA=0x02;/*倍速*/UCSRB=0x18;/*允許接收和發(fā)送*/UCSRC=0x06;/*8位數(shù)據(jù)*/UBRRH=0x00;UBRRL=12;/*9600*/DDRD=DDRA|BIT(2);/*設置方向為輸出*/PORTD&=~PORTA|BIT(2)/*設置RS485為輸入狀態(tài)*/}/*數(shù)據(jù)發(fā)送,查詢方式*/voiduart_transmit(unsignedchari){PORTD&=~PORTA|BIT(2)/*設置RS485為輸入狀態(tài)*/UDR=i;/*發(fā)送數(shù)據(jù)*/while(!(UCSRA&(1<<TXC)));/*等待發(fā)送緩沖器為空*/UCSRA|=(1<<TXC);/*清除發(fā)送標志*/PORTD&=~PORTA|BIT(2)/*設置RS485為輸入狀態(tài)*/}/*數(shù)據(jù)接收,查詢方式*/unsignedcharuart_receive(void){while(!(UCSRA&(1<<RXC)));/*等待接收數(shù)據(jù)*/returnUDR;/*獲取并返回數(shù)據(jù)*/}5程序設計及說明(1)模擬量采集程序設計系統(tǒng)要采集10路模擬量(10位精度),單片機與TLC1543接口如下:引腳PA0連接TLC1543的SDO口接收轉換后的數(shù)據(jù)傳入,引腳PA1連接TLC1543的ADDR口用來選擇通道數(shù),引腳PA2連接TLC1543的_CS用來控制片選,引腳PA3連接TLC1543的CLK以控制時序。如下圖所示:圖11TLC1543與Atmega16引腳接口圖A/D芯片的數(shù)據(jù)讀取程序是根據(jù)TLC1543的工作時序來進行設計的。TLC1543工作時序如圖2所示,其工作過程分為兩個周期:訪問周期和采樣周期。讀CLK有10個周期,前4個周期進行采樣通道號的選擇,后6個周期進行模擬量的采集,采集子程序是通過CPU通道地址的寫操作,發(fā)出A/D轉換啟動脈沖,啟動以后單片機查詢A/D轉換是否結束,一旦結束CPU通過對通道地址的讀操作讀取數(shù)值。10路模擬量采集程序流程圖如下:過程入口過程入口通道和計數(shù)器初值送通道號,啟動A/D讀狀態(tài)EOC轉換結束否讀結果,存入寄存器修改通道號和計數(shù)器10通道完否NYN返回Y圖12模擬量采集程序流程圖(2)開關量采集程序設計20路開關量采集電路如圖8所示,16路開關量通過74LS165芯片將并行輸入轉換成串行輸入(PC0和PC1進行16路開關量采樣),剩余的4路開關量直接由單片機I/O(PB0~PB3)進行采樣。20路開關量采集程序流程圖如下:開始開始初始化I/O接口讀取PC0、PC1及PB0~PB3數(shù)據(jù)數(shù)據(jù)存儲數(shù)據(jù)串行輸出結束圖13開關量采集程序流程圖(3)上位機程序設計本文中采用的是RS-485協(xié)議,所以單片機需要采用RS-485接口;而在PC機側使用的是RS-232與RS-485的電平轉換接口。此次可以采用單片機內部的USART,因此實現(xiàn)串口通訊十分容易,只需要設置適當?shù)募拇嫫骶涂梢允勾诠ぷ髌饋?,串口通訊采用中斷機制。上位機程序負責對數(shù)據(jù)進行收集和處理,由于是下位機是被動傳輸,和下位機傳輸是遵循一定的通訊協(xié)議,協(xié)議已經(jīng)在下位機中進行了定義。當上位機發(fā)送一個控制字0x78給下位機時,下位機將會返回所有的數(shù)據(jù)采集量。上位機流程圖如下:ccom端初始化通過com口發(fā)送標志讀取字0x78單片機將數(shù)據(jù)發(fā)送給上位機讀取數(shù)據(jù),顯示并處理結束圖14上位機流程圖(3)上位機主程序:#include<dos.h>#include<conio.h>#include<stdio.h>voidInit_COM(intComPortAddr,unsignedcharIntVectNum,imBaud,unsignedcharData,unsignedcharStop,unsignedcharParity)//串口初始化intReceiveChar(intport)//接收字符main(){inti;chara[500];voidInit_COM(03F8H,0X0b,9600,8,1,0);//定義串口端口地址為COM1口,中斷處理號為0X0b,波特率為9600,數(shù)據(jù)位為8,停止位為1,奇偶校驗位為0for(i=0;i<500;i++)a[i]=ReceiveChar();//每隔一秒接收一個字節(jié)}6設計小結與體會這次計算機控制課程設計,讓我們有機會將課堂上所學的理論知識運用到實際中。并通過對知識的綜合利用,進行必要的分析,比較。從而進一步驗證了所學的理論知識。同時,這次課程設計也為我們以后的學習打下基礎。指導我們在以后的學習,多動腦的同時,要善于自己去發(fā)現(xiàn)并解決問題。這次的課程設計,還讓我知道了最重要的是心態(tài),在你拿到題目時會覺得困難,但是只要充滿信心,就肯定會完成的。通過這次計算機課程設計,我加深了對課本專業(yè)知識的理解,平常都是理論知識的學習,在此次課程設計中,真正做到了自己查閱資料、完成一個基本匯編程序的設計。在此次的設計過程中,我更進一步地熟悉了RS-485通信原理。當然,在這個過程中我也遇到了困難,通過查閱資料,相互討論,我準確地找出錯誤所在并及時糾正了,這也是我最大的收獲,使自己的實踐能力有了進一步的提高,讓我對以后的工作學習有了更大的信心?;仡櫰鸫舜斡嬎銠C控制課程設計,至今我仍感慨頗多。的確,從選題到定稿,從理論到實踐,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計,把以前所學過的知識重新溫故,鞏固了所學的知識。7參考文獻[1]秦龍.MSP430單片機應用系統(tǒng)開發(fā)典型實例.中國電力出版社,2005[2]于海生.微型計算機控制技術.清華大學出版社,1999[3]姚四改Protel99SE電子線路設計教程.上海交通大學出版社,2003[4]朱定華編著.《微機原理、匯編與接口技術學習指導》清華大學出版社,2004[5]侯玉寶.基于Proteus的51系列單片機設計與仿真.電子工業(yè)出版社,2008附錄程序代碼(1)10路模擬量采集程序如下://TLC1543端口定義#defineTLC1543_SDOPA0//數(shù)據(jù)輸入#defineTLC1543_ADDRPA1//數(shù)據(jù)輸出#defineTLC1543_/CSPA2//使能端#defineTLC1543_CLKPA3//時鐘端//read1543()返回10位AD芯片TLC1543的port通道采樣值。uintread1543(ucharport)//從TLC1543讀取采樣值,形參port是采樣的通道號{uintdataad;uintdatai;uchardataal=0,ah=0;CLK=0;for(i=0;i<4;i++)//把通道號打入1543{ADDR=(bit)(port&0x80);CLK=1;CLK=0;port<<=1;}for(i=0;i<6;i++)//填充6個CLK{CLK=1;CLK=0;}/CS=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_CS=0;//等待AD轉換_nop_();_nop_();_nop_();for(i=0;i<2;i++)//取D9,D8{D_OUT=1;CLK=1;Ah<<=1;if(D_OUT)ah|=0x01;CLK=0;}for(i=0;i<8;i++)//取D7--D0{D_OUT=1;CLK=1;al<<=1;if(D_OUT)al|=0x01;CLK=0;}/CS=1;ad=(uint)ah;ad<<=8;ad|=(uint)al;//得到AD值return(ad);}(2)開關量數(shù)據(jù)采集程序#defineSINPUT_PORTPORTA#defineSINPUT_DDRDDRA#defineSINPUT_PINPINA#defineDIG_PLPD6//PL腳#defineDIG_CLKPD5//時鐘腳#defineDIG_CE1PB1//片選#defineDIG_OUT1PC0//串行輸出#defineDIG_OUT2PC1//串行輸出#defineS_PL()CONTROL_PORT|=BIT(DIG_PL)//置1#defineC_PL()CONTROL_PORT&=~BIT(DIG_PL)//置0#defineS_CLK()CONTROL_PORT|=BIT(DIG_CLK)//置1#defineC_CLK()CONTROL_PORT&=~BIT(DIG_CLK)//置0#defineS_CE1()CONTROL_PORT|=BIT(DIG_CE1)//置1#defineC_CE1()CONTROL_PORT&=~BIT(DIG_CE1)//置0#defineS_CE2()CONTROL_PORT|=BIT(DIG_CE2)//置1#defineC_CE2()CONTROL_PORT&=~BIT(DIG_CE2)//置0#defineDB_INPUT1(SINPUT_PIN&BIT(DIG_OUT1))//數(shù)據(jù)輸入電平#defineDB_INPUT2(SINPUT_PIN&BIT(DIG_OUT2))voidInitDigCap(void)//初始化開關量采集{CONTROL_DDR|=BIT(DIG_PL)+BIT(DIG_CLK)+BIT(DIG_CE1)+BIT(DIG_CE2);//置為輸出 SINPUT_DDR&=~(BIT(DIG_OUT1)+BIT(DIG_OUT2)+);//置為輸入 S_PL(); S_CE1(); S_CE2();}voidLockData(void)//鎖定數(shù)據(jù)將數(shù)據(jù)全部鎖入到寄存器中{ S_PL();//高電平 Delay_Bus(1);//延時一個總線周期 C_PL();//低電平 Delay_Bus(1);//延時一個總線周期 S_PL();//高電平完成鎖存}voidGetAllDigCap(void)//獲取所有通道的開關量{ unsignedchari,temp=0; LockData();//鎖定所有數(shù)據(jù) C_CLK(); Delay_Bus(1); S_CLK(); //讀取第一片里的數(shù)據(jù) C_CE1();//使能片1 for(i=0;i<8;i++) { C_CLK(); Delay_Bus(1); S_CLK();//上升沿脈沖 Delay_Bus(1); if(DB_INPU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1《白鷺》說課稿-2024-2025學年統(tǒng)編版語文五年級上冊
- 2025技術咨詢合同書
- 2025大連市住宅小區(qū)物業(yè)管理委托合同
- 2024年五年級品社下冊《同是炎黃子孫》說課稿 山東版001
- 5《玲玲的畫》說課稿-2024-2025學年語文二年級上冊統(tǒng)編版
- 2023二年級數(shù)學下冊 6 有余數(shù)的除法第5課時 解決問題(1)說課稿 新人教版
- 27我的伯父魯迅先生(說課稿)-2024-2025學年六年級上冊語文統(tǒng)編版001
- 2024-2025學年高中地理下學期第4周說課稿(世界的自然資源)
- 2023三年級數(shù)學上冊 一 動物趣聞-克、千克、噸的認識 信息窗2噸的認識說課稿 青島版六三制
- 蕪湖廠房推拉棚施工方案
- 2024年英語高考全國各地完形填空試題及解析
- 2024至2030年中國餐飲管理及無線自助點單系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 2024年燃氣輪機值班員技能鑒定理論知識考試題庫-下(多選、判斷題)
- 2024年服裝門店批發(fā)管理系統(tǒng)軟件項目可行性研究報告
- (優(yōu)化版)高中地理新課程標準【2024年修訂版】
- 《Python程序設計》課件-1:Python簡介與應用領域
- 體育概論(第二版)課件第三章體育目的
- DB11T 1481-2024生產(chǎn)經(jīng)營單位生產(chǎn)安全事故應急預案評審規(guī)范
- 《氓》教學設計 2023-2024學年統(tǒng)編版高中語文選擇性必修下冊
- 化學元素周期表注音版
- 藥物過敏性休克
評論
0/150
提交評論