鉑金屬多路溫度巡回檢測儀東華大學單片機課程設計報告答案學號尾號為7_第1頁
鉑金屬多路溫度巡回檢測儀東華大學單片機課程設計報告答案學號尾號為7_第2頁
鉑金屬多路溫度巡回檢測儀東華大學單片機課程設計報告答案學號尾號為7_第3頁
鉑金屬多路溫度巡回檢測儀東華大學單片機課程設計報告答案學號尾號為7_第4頁
鉑金屬多路溫度巡回檢測儀東華大學單片機課程設計報告答案學號尾號為7_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 單片機課程設計 多路溫度檢測 單片機課程設計多路溫度巡回檢測儀的設計及單片機實驗 姓名:東京的櫻花 學號:10090# 設計題目:7、多路溫度巡回檢測儀 指導老師:潘#樓主造福東華學子啦,后面程序可以直接運行哦目錄1、 項目設計要求32、 方案可行性分析. . 33、 硬件電路設計. . 4(1)、鉑電阻測量單元. 4(2)、按鍵控制單元. 5(3)、AD轉(zhuǎn)換單元. 6(4)、LED數(shù)碼管顯示單元. 7(5)、數(shù)據(jù)傳輸上位機單元. 84、 整體硬件設計連接圖. 95、軟件設計. . 10(1)、軟件設計思想. 10(2)、程序流程圖. 11(3)、程序清單. 125、 電路pcb原理圖及pc

2、b圖設計. 136、 系統(tǒng)protues仿真及調(diào)試. 157、 結(jié)果與展望. . 169、參考文獻. . 1610、附錄:程序源代碼 + pcb 3d模擬圖.161、 項目設計要求題7 多路溫度巡回檢測儀的設計設計一個多路溫度檢測儀,共有8個測溫點,每個點連續(xù)檢測8次,以平均值代表該點溫度,并輪流在LED顯示器上顯示。測試檢測元件為鉑熱電阻Pt1000, 溫度測量范圍為100 +500,測量精度為±1。系統(tǒng)每隔10秒完成一個點的測量,測量值除在LED顯示器上顯示外,還必須通過串行口(RS485)發(fā)送到上位機。任何時刻,可以通過按鍵切換顯示通道。2、方案可行性分析在測溫系統(tǒng)中,用溫度敏

3、感元件通過電路的調(diào)整可以把溫度信號轉(zhuǎn)換為模擬電壓信號,在將模擬電壓信號遠距離傳輸并通過A/D轉(zhuǎn)換得到相應的數(shù)字信號,通過程序進行處理得到實時的溫度數(shù)值。鉑熱電阻測量范圍為200850,R0有10 、100和1000三種,分度號分別為Pt10、Pt100和Pt1000。鉑熱電阻的精度高,體積小,測溫范圍寬,穩(wěn)定性好,再現(xiàn)性好,但是價格較貴。其電阻與溫度的關系為:當T0時 R(T)= R0(1+AT+BT²) 當T< 0時 R(T)= R0 1+AT+BT²+CT³(T-100) 式中: RT為被測溫度T下的阻值,單位為 R0為0下的阻值 T為實際溫度值 A為常

4、數(shù)3.9083×10³/ B為常數(shù)-5.775×107/² C為常數(shù)-4.183×1012/4由于我們要測得溫度是100-500,所以,不用考慮小于0的情況了。所以公式為:R(T)= R0(1+AT+BT²)由數(shù)學知識可以直接解出T=(-A-sqrt(A2-4*B(1-R(t)/R0))/2B(1)因為A、B、R(0)已知,所以只要測到R(t)就能夠算出T。所以我們將測量電阻上的電壓來算出電阻的阻值,進而得出他現(xiàn)在的溫度。2、 硬件電路設計(1)、鉑電阻測量單元設計思想:鉑金屬的阻值會隨著溫度變化而變化,所以可以通過測量它的電阻來確定

5、溫度。我們可以通過串接另一個阻值已知的電阻通過電壓的變化而確定鉑金屬的阻值。由電路知識求得:RV9=3*u/(5-u).(2)式(2)、按鍵控制單元設計思想:由于有八路信號,所以可以用3*3的矩陣鍵盤,或者用8各獨立的鍵盤來控制八路信號。我這里由于簡化設計就用了8個獨立的鍵盤控制。低電平有效。(3)、AD轉(zhuǎn)換單元設計思想:由于精度要求+-1度,從100-500所以有400個檔位,所以要9位(512)或者9位以上的AD轉(zhuǎn)換器才能實現(xiàn)這個精度。我這里使用了TLC1543,這個ad芯片的精度很高,為10位串行逐步逼近型AD轉(zhuǎn)換器(1024)。所以能精確到0.4度。其工作過程分為兩個周期:訪問周期和采

6、樣周期。(4)、LED數(shù)碼管顯示單元設計思想:LED接收來自p0口的數(shù)據(jù)信號與地址信號,通過地址鎖存,分時復用來實現(xiàn)LED數(shù)碼管的動態(tài)顯示,我這里用74ls373來作為鎖存器,來鎖住數(shù)據(jù)與地址信息。(5)、數(shù)據(jù)傳輸上位機單元設計思想:由于rs232傳輸?shù)木嚯x有限,所以我們這里使用傳輸距離更遠的rs485。Max485位一款rs485。但是由于485電平和rs232電平不符,所以,當我們連接計算機的時候還是要接上max232用來轉(zhuǎn)換電平。4、整體硬件設計連接圖軟件設計(1)、軟件設計思想在本次設計中,mcu主要的工作是將ad采集來的數(shù)據(jù),通過一定的計算轉(zhuǎn)化成為溫度的值,并且將這個值通過p0口輸出

7、到led數(shù)碼管上。在循環(huán)掃描八個檢測點的時候,順便掃描按鍵部分,看有沒有按鍵被按下,按下則進入按鍵服務程序,執(zhí)行按鍵指定的測量。并通過串口傳輸?shù)缴衔粰C上。由于軟件源代碼過長,這里簡略的寫ad部分(詳細軟件部分見附錄)uint ADC(uchar chn1)uchar i;uchar addr8; uint ADresult; AD_eoc=1; AD_cs=0;_nop_();addr8=chn1;addr8<<=4;for(i=0;i<4;i+)/寫地址 AD_add=(bit)(addr8&0x80);AD_clk=1;AD_clk=0;addr8<<

8、=1; for(i=0;i<6;i+) /采樣AD_clk=1;AD_clk=0;AD_cs=1;while(!AD_eoc);/查詢_nop_();ADresult=0;AD_cs=0; /移位傳數(shù)據(jù)for(i=0;i<10;i+)AD_clk=1;ADresult<<=1;m=AD_dat;ADresult+=m;AD_clk=0;AD_cs=1;return(ADresult);(2)、程序流程圖(3)、程序清單void delay(uint z)延時z 毫秒void display(num)顯示子程序,顯示num和數(shù)據(jù)uint ADC(uchar chn1)AD

9、轉(zhuǎn)換子程序,負責轉(zhuǎn)化模擬信號位數(shù)字信號void Send(unsigned char dat)串口發(fā)送子程序,負責將收集到的數(shù)據(jù)發(fā)送到上位機上void jianpan(void)鍵盤檢測子程序,負責不斷地掃描鍵盤,看是否有鍵盤按下void main()主函數(shù)5、電路pcb原理圖及pcb圖設計用altium designer6.9設計并做出原理圖pcb圖設計畫好原理圖后電器檢查通過后編譯,并design-updatato pcb再布局布線覆銅。6、系統(tǒng)protues仿真及調(diào)試通過protues仿真,可以了解自己的電路到底能不跑起來,大部分的原件還是找得到的,就是不知道叫什么名字,所以在百度里查查

10、名字后再連線,之后就是通過keil來編譯生成的hex文件燒到mcu中去。8、 結(jié)果與展望通過本次課程設計,我更深刻理解了單片機,特別是51系列的單片機。當然,我也了解了一點avr的知識。Avr價格上面還是有點高,所以現(xiàn)在51單片機還是有很大的市場的。但是51的引腳比較少,所以還是主要用于簡單的控制上面。對于我們大自動化的學生,我們可不要認為會51就好了,至少得學個arm cortex-m3吧。對于有追求,有理想的學生,我們更應該好好學習arm9的內(nèi)容,以及l(fā)inux系統(tǒng)。要是更高級的話,x86芯片也可以去研究。可是學校給我們做實驗的機會太少了。就那幾臺設備,而且課內(nèi)充滿做一下,都不到在干什么。

11、對于實驗室,我只能說,粥少僧多啊。主要還是沒有實驗室地皮的問題。建議擴展地皮,要建一個自由實驗室,以用來給買不起試驗設備的學子一個做實驗的平臺。我們應該做的是揚長避短,發(fā)揮所長,為社會做貢獻。9、參考文獻郭天祥10天學會單片機視頻mcs-51單片機原理與應用張毅剛 劉杰 哈爾濱工業(yè)大學出版社郭天祥10天學會PCB教程視頻10、附錄:程序源代碼 + pcb 3d模擬圖(見附錄)附錄#include <reg52.h>#include<intrins.h>#include <math.h>#define uchar unsigned char#define ui

12、nt unsigned intuint num;float num1; int keyval;int o;int i;int q;int rt;int tr;double n2;uchar port,m;uchar ge,shi,bai,qian;sbit wela=P27; int sy;sbit dula=P26; uchar led10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit AD_eoc=P10;sbit AD_clk=P11;sbit AD_add=P12;sbit AD_dat=P13;sbit AD_cs=P1

13、4;sbit S1=P35; /將S1位定義為P1.4引腳sbit S2=P34; sbit S3=P20; sbit S4=P21; sbit S5=P22; sbit S6=P23; sbit S7=P24; sbit S8=P25; void delay(uint z)uint k; for(z;z>0;z-) for(k=1000;k>0;k-); void display(num) n2=num;n2=n2*5/1024; n2=(3*n2)/(5-n2)*1000;/r1=3k電壓求電阻 n2=3383.8-8.658*(sqrt(175850-23.1*n2); sy

14、=n2; bai=sy/100%10; shi=sy/10%10; ge=sy%10; P0=0xff; wela=1;wela=0;P0=ledbai; dula=1;dula=0; P0=0Xf7; wela=1;wela=0; delay(1); P0=0xff; wela=1;wela=0;P0=ledshi; dula=1;dula=0;P0=0xef; wela=1;wela=0;delay(1);P0=0xff; wela=1;wela=0; P0=ledge; dula=1;dula=0;P0=0xdf; wela=1;wela=0;delay(1);P0=0xff; wela

15、=1;wela=0;P0=o; dula=1;dula=0;P0=0xfe; /顯示哪一路標號 wela=1;wela=0;delay(1);uint ADC(uchar chn1)uchar i;uchar addr8; uint ADresult; AD_eoc=1; AD_cs=0;_nop_();addr8=chn1;addr8<<=4;for(i=0;i<4;i+)/寫地址 AD_add=(bit)(addr8&0x80);AD_clk=1;AD_clk=0;addr8<<=1; for(i=0;i<6;i+) /采樣AD_clk=1;AD

16、_clk=0;AD_cs=1;while(!AD_eoc);/查詢_nop_();ADresult=0;AD_cs=0; /移位傳數(shù)據(jù)for(i=0;i<10;i+)AD_clk=1;ADresult<<=1;m=AD_dat;ADresult+=m;AD_clk=0;AD_cs=1;return(ADresult);void Send(unsigned char dat) SBUF=dat; while(TI=0) ; TI=0; void delay5(void) unsigned char m,n; for(m=0;m<200;m+) for(n=0;n<2

17、50;n+) ; void jianpan(void) if(S1=0) /按鍵S1被按下 tr=0; for(rt=0;rt<10;rt+)port=0x0a; o=led1;num=ADC(port); tr=num+tr; num=tr/10; for(q=0;q<50;q+)display(num); Send(ledbai); Send(ledshi); Send(ledge); /發(fā)送數(shù)據(jù) tr=0; if(S2=0) keyval=2; tr=0; for(rt=0;rt<10;rt+) port=0x09; o=led2;num=ADC(port);tr=nu

18、m+tr;num=tr/10; for(q=0;q<50;q+)display(num); Send(ledbai); Send(ledshi); Send(ledge); tr=0; if(S3=0) keyval=3; tr=0; for(rt=0;rt<10;rt+) port=0x08; o=led3;num=ADC(port);tr=num+tr; num=tr/10;for(q=0;q<50;q+)display(num); Send(ledbai); Send(ledshi); Send(ledge); tr=0; if(S4=0) keyval=4; tr=0

19、; for(rt=0;rt<10;rt+) port=0x07;o=led4;num=ADC(port);tr=num+tr;num=tr/10;for(q=0;q<50;q+)display(num); Send(ledbai); Send(ledshi); Send(ledge); tr=0; if(S5=0) tr=0; for(rt=0;rt<10;rt+) port=0x06; o=led5;num=ADC(port);tr=num+tr; num=tr/10; for(rt=0;rt<50;rt+)display(num); Send(ledbai); Se

20、nd(ledshi); Send(ledge); tr=0; if(S6=0) tr=0; for(rt=0;rt<10;rt+) port=0x05; o=led6;num=ADC(port);tr=num+tr; num=tr/10;for(q=0;q<50;q+)display(num); Send(ledbai); Send(ledshi); Send(ledge); tr=0; if(S7=0) tr=0; for(rt=0;rt<10;rt+) port=0x04; o=led7;num=ADC(port);tr=num+tr; num=tr/10;for(q=0

21、;q<50;q+)display(num); Send(ledbai); Send(ledshi); Send(ledge); tr=0; if(S8=0) tr=0; for(rt=0;rt<10;rt+) port=0x03;o=led8;num=ADC(port);tr=num+tr; num=tr/10;for(q=0;q<50;q+)display(num); Send(ledbai); Send(ledshi); Send(ledge); o=led1; ; void main() TMOD=0x20; /TMOD=0010 0000B,定時器T1工作于方式2 S

22、CON=0x40; /SCON=0100 0000B,串口工作方式1 PCON=0x00; /PCON=0000 0000B,波特率9600 TH1=0xfd; /根據(jù)規(guī)定給定時器T1賦初值 TL1=0xfd; /根據(jù)規(guī)定給定時器T1賦初值 TR1=1; /啟動定時器T1 while(1) jianpan(); tr=0; for(rt=0;rt<10;rt+)port=0x0a; o=led1;num=ADC(port); tr=num+tr;jianpan(); num=tr/10; for(q=0;q<20;q+)display(num);jianpan(); Send(le

23、dbai); Send(ledshi); Send(ledge); tr=0; for(rt=0;rt<10;rt+) port=0x09;jianpan(); o=led2;num=ADC(port);tr=num+tr;num=tr/10; for(q=0;q<30;q+)jianpan();display(num); Send(ledbai); Send(ledshi); Send(ledge); tr=0; for(rt=0;rt<10;rt+) port=0x08; o=led3;jianpan();num=ADC(port);tr=num+tr; num=tr/10;for(q=0;q<30;q+)display(num); jianpan(); Send(ledbai); Send(ledshi); Send(ledge); tr=0; for(rt=0;rt<10;rt+) port=0x07; o=led4; jianpan();num=ADC(port);tr=num+tr;num=tr/10;for(q=0;q<30;q+)d

溫馨提示

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

評論

0/150

提交評論