《電子測(cè)量與系統(tǒng)》課程設(shè)計(jì)報(bào)告題 遠(yuǎn)程智能測(cè)溫控制系統(tǒng)_第1頁(yè)
《電子測(cè)量與系統(tǒng)》課程設(shè)計(jì)報(bào)告題 遠(yuǎn)程智能測(cè)溫控制系統(tǒng)_第2頁(yè)
《電子測(cè)量與系統(tǒng)》課程設(shè)計(jì)報(bào)告題 遠(yuǎn)程智能測(cè)溫控制系統(tǒng)_第3頁(yè)
《電子測(cè)量與系統(tǒng)》課程設(shè)計(jì)報(bào)告題 遠(yuǎn)程智能測(cè)溫控制系統(tǒng)_第4頁(yè)
《電子測(cè)量與系統(tǒng)》課程設(shè)計(jì)報(bào)告題 遠(yuǎn)程智能測(cè)溫控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成績(jī) 電子測(cè)量與系統(tǒng)課程設(shè)計(jì)報(bào)告題 目: 遠(yuǎn)程智能測(cè)溫控制系統(tǒng) 姓 名: 學(xué) 號(hào): 班 級(jí): 07電信 專 業(yè):電 子 信 息 科 學(xué) 與 技 術(shù)信電學(xué)院 2010年12月20日目錄一、實(shí)驗(yàn)內(nèi)容.21、設(shè)計(jì)內(nèi)容2、設(shè)計(jì)要求二、實(shí)驗(yàn)原理.3三、實(shí)驗(yàn)器材5四、實(shí)驗(yàn)框圖.6五、實(shí)驗(yàn)電路圖.11六、實(shí)驗(yàn)程序.12七、參考文獻(xiàn)21八、總結(jié).22一、實(shí)驗(yàn)內(nèi)容1、設(shè)計(jì)內(nèi)容 1)完成溫度的采集。 2)用單工方式傳送數(shù)據(jù)實(shí)現(xiàn)兩機(jī)通信。 3)完成雙機(jī)通信的設(shè)計(jì)制作及仿真。2、設(shè)計(jì)要求1)能本機(jī)顯示溫度采集的數(shù)值。2)能向?qū)Ψ綑C(jī)發(fā)送采集的溫度的值。3)能接收對(duì)方機(jī)發(fā)送的數(shù)并顯示。4)發(fā)送數(shù)及按鍵用查詢實(shí)現(xiàn)。5)用串

2、行口的單工方式通信。6)用按鍵控制上下限并通過(guò)lcd顯示。7)溫度超過(guò)額定范圍則自動(dòng)報(bào)警。二、實(shí)驗(yàn)原理計(jì)算機(jī)與外界的信息交換稱為通信,常用的通信方式有兩種:并行通信和串行通信。51單片機(jī)用4個(gè)接口與外界進(jìn)行數(shù)據(jù)輸入與數(shù)據(jù)輸出就是并行通信,并行通信的特點(diǎn)是傳輸信號(hào)的速度快,但所用的信號(hào)線較多,成本高,傳輸?shù)木嚯x較近。串行通信的特點(diǎn)是只用兩條信號(hào)線(一條信號(hào)線,再加一條地線作為信號(hào)回路)即可完成通信,成本低,傳輸?shù)木嚯x較遠(yuǎn)。串行數(shù)據(jù)通信要解決兩個(gè)關(guān)鍵問(wèn)題,一個(gè)是數(shù)據(jù)傳送,另一個(gè)是數(shù)據(jù)轉(zhuǎn)換。所謂數(shù)據(jù)傳送就是指數(shù)據(jù)以什么形式進(jìn)行傳送。所謂數(shù)據(jù)轉(zhuǎn)換就是指單片機(jī)在接收數(shù)據(jù)時(shí),如何把接收到的串行數(shù)據(jù)轉(zhuǎn)化為并

3、行數(shù)據(jù),單片機(jī)在發(fā)送數(shù)據(jù)時(shí),如何把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)進(jìn)行發(fā)送。單片機(jī)的串行通信使用的是異步串行通信,所謂異步就是指發(fā)送端和接收端使用的不是同一個(gè)時(shí)鐘。異步串行通信通常以字符(或者字節(jié))為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地傳送,接收端通過(guò)傳輸線一幀一幀地接收。51單片機(jī)的串行接口是一個(gè)全雙工的接口,它可以作為uart(通用異步接受和發(fā)送器)用,也可以作為同步移位寄存器用。51單片機(jī)串行接口的結(jié)構(gòu)如下:(1)數(shù)據(jù)緩沖器(sbuf)接受或發(fā)送的數(shù)據(jù)都要先送到sbuf緩存。有兩個(gè),一個(gè)緩存,另一個(gè)接受,用同一直接地址99h,發(fā)送時(shí)用指令將數(shù)據(jù)送到sbuf即可啟動(dòng)發(fā)送;接收時(shí)用指令將sbu

4、f中接收到的數(shù)據(jù)取出。(2)串行控制寄存器(pcon)scon用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:sm0sm1sm2rentb8rb8tirism0,sm1:串行接口工作方式選擇位,這兩位組合成00,01,10,11對(duì)應(yīng)于工作方式0、1、2、3。串行接口工作方式特點(diǎn)見(jiàn)下表sm0sm1工作方式功能波特率 0008位同步移位寄存器(用于i/o擴(kuò)展)forc/1201110位異步串行通信(uart)可變(t1溢出率*2smod/32)10211位異步串行通信(uart)forc/64或forc/3211311位異步串行通信(uart)可變(t1溢出率*2smod/32)sm2:

5、多機(jī)通信控制位。ren:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。tb8:方式2或3時(shí),tb8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。rb9:在方式2或3時(shí),rb8位接收到的第9位數(shù)據(jù),實(shí)際為主機(jī)發(fā)送的第9位數(shù)據(jù)tb8,使從機(jī)根據(jù)這一位來(lái)判斷主機(jī)發(fā)送的時(shí)呼叫地址還是要傳送的數(shù)據(jù)。ti:發(fā)送中斷標(biāo)志。發(fā)送完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)發(fā)送。ri:接收中斷標(biāo)志。接收完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)接收。(3)輸入移位寄存器接收的數(shù)據(jù)先串行進(jìn)入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收sbuf中。(4)波特率發(fā)

6、生器波特率發(fā)生器用來(lái)控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機(jī)用定時(shí)器t1作為波特率發(fā)生器,t1設(shè)置在定時(shí)方式。波特率時(shí)用來(lái)表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘傳送的數(shù)據(jù)位數(shù)。(5)電源控制寄存器pcon其最高位為smod。(6)波特率計(jì)算當(dāng)定時(shí)器t1工作在定時(shí)方式的時(shí)候,定時(shí)器t1溢出率=(t1計(jì)數(shù)率)/(產(chǎn)生溢出所需機(jī)器周期)。由于是定時(shí)方式,t1計(jì)數(shù)率= forc/12。產(chǎn)生溢出所需機(jī)器周期數(shù)=模m-計(jì)數(shù)初值x。18b20芯片的主要功能:1、基本功能(1)檢測(cè)兩點(diǎn)溫度(2)兩秒間隔循環(huán)顯示溫度2、主要技術(shù)參數(shù)測(cè)溫范圍:6到15 顯示精度:1顯示方法:lcd循環(huán)顯示ds18

7、b20有4個(gè)主要的數(shù)據(jù)部件: 64位激光rom。64位激光rom從高位到低位依次為8位crc、48位序列號(hào)和8位家族代碼(28h)組成。 溫度靈敏元件。 非易失性溫度報(bào)警觸發(fā)器th和tl。可通過(guò)軟件寫入用戶報(bào)警上下限值。三、實(shí)驗(yàn)器材1、41鍵盤2、2個(gè)at89c513、2個(gè)lcd4、串口連接線5、一個(gè)ds18b20溫度傳感器6、一個(gè)蜂鳴器,兩個(gè)三極管模仿加熱和報(bào)警顯示四、實(shí)驗(yàn)框圖 (1)發(fā)送端流程圖主程序開(kāi)始從機(jī)是否回答bbh?程序初始化主機(jī)發(fā)送aahn主機(jī)發(fā)送數(shù)據(jù),檢驗(yàn)和輸出完成?n清除標(biāo)志位(2)接收端流程圖主程序開(kāi)始檢驗(yàn)和相等?程序初始化接收數(shù)據(jù),計(jì)算檢驗(yàn)和n發(fā)送00h至主機(jī)接收完成?n

8、清除標(biāo)志位發(fā)送ffh,重新接收顯示(3)lcd初始化流程圖:開(kāi)始使用8位數(shù)據(jù),顯示兩行,使用5*7的字型清屏字符不動(dòng),光標(biāo)自動(dòng)右移一格(0x06)開(kāi)顯示,無(wú)光標(biāo)退出返回lcd初始化流程圖(4)讀取溫度程序:ds18b20初始化發(fā)跳過(guò)rom命令發(fā)溫度讀取命令清dq準(zhǔn)備發(fā)送延時(shí)1us以上讀一位數(shù)據(jù)延時(shí)15us釋放總線延時(shí)1545us2位是否讀完結(jié)束讀取ny開(kāi)始讀取溫度程序(5)溫度顯示程序:開(kāi)始取得18b20測(cè)得溫度數(shù)值將數(shù)值轉(zhuǎn)化為液字符型再將數(shù)值轉(zhuǎn)換為十進(jìn)制調(diào)用報(bào)警程序字符給lcd顯示溫度值判斷溫度范圍是否越限是否結(jié)束顯示 溫度顯示程序五、實(shí)驗(yàn)電路圖六、實(shí)驗(yàn)程序發(fā)送端:#include#defi

9、ne uchar unsigned char#define uint unsigned intsbit dq=p17;/ds18b20與單片機(jī)接口sbit rs=p24;sbit rw=p25;sbit en=p26; sbit beep = p36; /蜂鳴器 sbit beep1 = p37;/小燈報(bào)警 sbit beep2 = p10; /加熱 sbit key0=p20; sbit key1=p21; sbit key2=p22; sbit key3=p23;unsigned char code str1=tl: th: ;unsigned char code str2=temp: ;

10、 uchar data disdata5;uint tvalue,a1,b1;/溫度值uchar tflag;/溫度符號(hào)正負(fù)標(biāo)志static uchar key;uchar templ=6,temph=15; unsigned char tt19; unsigned char tt017=0x54,0x48,0x3a,0x2b,0x31,0x32,0x35,0x20,0x54,0x4c,0x3a,0x2b,0x31,0x32,0x34,0x43,0; void delay(uint n) /延時(shí)1us while (-n); void speak() / 蜂鳴器響一小聲 unsigned ch

11、ar i; for (i=0;i200;i+) /喇叭發(fā)聲的時(shí)間循環(huán),改變大小可以改變發(fā)聲時(shí)間長(zhǎng)短 delay(90); /數(shù)決定發(fā)聲的頻率,估算值 beep=!beep; /beep取反 beep=1; delay(400) ;/喇叭停止工作,間歇的時(shí)間的長(zhǎng)短,可改變 /*lcd1602程序*/ void delay1ms(unsigned int ms)/延時(shí)1毫秒(不夠精確的) unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) dq = 0; /給脈沖信號(hào) dat=1; dq = 1; /給脈沖信號(hào) if(dq) dat|=0x80; de

12、lay_18b20(10); return(dat); void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/ unsigned char i=0; for (i=8; i0; i-) dq = 0; dq = wdata&0x01; delay_18b20(10); dq = 1; wdata=1; read_temp()/*讀取溫度值并轉(zhuǎn)換*/ uchar a,b; ds1820rst(); ds1820wr(0xcc);/*跳過(guò)讀序列號(hào)*/ ds1820wr(0x44);/*啟動(dòng)溫度轉(zhuǎn)換*/ ds1820rst(); ds1820wr(0xcc);/*跳過(guò)讀序列號(hào)*/ ds1

13、820wr(0xbe);/*讀取溫度*/ a1=ds1820rd(); b1=ds1820rd(); tvalue=b1; tvalue=8; tvalue=tvalue|a1; if(tvaluetemph) speak(); beep1=0; beep2=1; else if(ztempl) speak(); beep1=0; beep2=0; else beep1=1; tt11=(temph%100)/10+0x30;/分離出十位 tt12=(temph%100)%10+0x30; /分離出個(gè)位 tt13=(templ%100)/10+0x30;/分離出十位 tt14=(templ%1

14、00)%10+0x30; /分離出個(gè)位 wr_com(0x85); wr_dat(flagdat);/顯示符號(hào)位 wr_com(0x86); wr_dat(disdata0);/顯示百位 wr_com(0x87); wr_dat(disdata1);/顯示十位 wr_com(0x88); wr_dat(disdata2);/顯示個(gè)位 wr_com(0x89); wr_dat(0x2e);/顯示小數(shù)點(diǎn) wr_com(0x8a); wr_dat(disdata3);/顯示小數(shù)位 wr_com(0xcb); wr_dat(tt11); wr_com(0xcc); wr_dat(tt12); wr_c

15、om(0xc3); wr_dat(tt13); wr_com(0xc4); wr_dat(tt14); key=tvalue; void send() /發(fā)送并接收 while(ti=0); ti=0; while(ri=0); ri=0; /*主程序*/ void main() tmod=0x20; th1=0xe6; /設(shè)定波特率 tl1=0xe6; tr1=1; scon=0x50; pcon=0x00; init_play();/初始化顯示 while(1) ea=0;ex0=0; if(p32=0) delay(255); if(p32=0) ea=1;ex0=1; read_tem

16、p();/讀取溫度 ds1820disp();/顯示 sbuf=key; send(); 接收端:#include/#include#define uchar unsigned char #define uint unsigned int uchar r; unsigned char code str1=disiner:zws;unsigned char code str2=temp: ;unsigned char bur; sbit dq=p17;/ds18b20與單片機(jī)接口sbit rs=p24;sbit rw=p25;sbit en=p26;uchar data disdata5; in

17、t i; uchar tflag;void receive() while(ri=0); r=sbuf; ri=0; sbuf=r;while(ti=0); ti=0; void delay(uint n) /延時(shí)1us while (-n); /*lcd1602程序*/ void delay1ms(unsigned int ms)/延時(shí)1毫秒(不夠精確的) unsigned int i,j; for(i=0;ims;i+) for(j=0;j100;j+); void wr_com(unsigned char com)/寫指令/ delay1ms(1); rs=0; rw=0; en=0;

18、p0=com; delay1ms(1); en=1; delay1ms(1); en=0; void wr_dat(unsigned char dat)/寫數(shù)據(jù)/ delay1ms(1); rs=1; rw=0; en=0; p0=dat; delay1ms(1); en=1; delay1ms(1); en=0; void display(unsigned char *p)/顯示/ while(*p!=0) wr_dat(*p); p+; delay1ms(1); void lcd_init()/初始化設(shè)置/delay1ms(15); wr_com(0x38);delay1ms(5); wr

19、_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5); init_play()/初始化顯示 lcd_init(); wr_com(0x80); display(str2); wr_com(0xc0); display(str1); void ds1820disp() uchar flagdat; if(r0x0fff) tflag=0; else r=r+1; tflag=1; disdata1=r%1000/100+0x30;/百位數(shù) disda

20、ta2=r%100/10+0x30;/個(gè)位數(shù) disdata3=r%10+0x30;/小數(shù)位 if(disdata1=0x30) disdata1=0x20;/如果百位為0,不顯示 if(tflag=0) flagdat=0x20;/正溫度不顯示符號(hào) else flagdat=0x2d;/負(fù)溫度顯示負(fù)號(hào):- wr_com(0x85); wr_dat(flagdat);/顯示符號(hào)位 wr_com(0x87); wr_dat(disdata1);/顯示十位 wr_com(0x88); wr_dat(disdata2);/顯示個(gè)位 wr_com(0x89); wr_dat(0x2e);/顯示小數(shù)點(diǎn)

21、wr_com(0x8a); wr_dat(disdata3);/顯示小數(shù)位 void main()tmod=0x20; th1=0xe6; tl1=0xe6; scon=0x50; pcon=0; tr1=1; init_play(); while(1) ea=0;ex0=0; receive(); delay(154);ds1820disp(); 七、參考文獻(xiàn):1左文香,dsl8b20在農(nóng)業(yè)大棚溫控系統(tǒng)中的應(yīng)用,20032胡漢才,單片機(jī)原理及其接口技術(shù)m,清華大學(xué)出版社,20043鄭惟暉,單片機(jī)智能溫度控制系統(tǒng)的設(shè)計(jì),20084 張靖,劉少?gòu)?qiáng)檢測(cè)技術(shù)與系統(tǒng)設(shè)計(jì)m中國(guó)電力出版社,20025 李

22、華mcs一51系列單片機(jī)實(shí)用接口技術(shù)m電子工業(yè)出版社,19996 何立民mcs5l系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)【m】北京:航空航天大學(xué)出版社,2000八、總結(jié)經(jīng)過(guò)三周的課程設(shè)計(jì),我們小組終于完成了設(shè)計(jì)任務(wù)。雖然在這段時(shí)間里有時(shí)很迷茫、沮喪,但是這一過(guò)程讓我們獲益良多。課程設(shè)計(jì)中,我們小組三個(gè)成員查閱了大量的資料,得到了老師的有力支持。我們掌握了基于單片機(jī)的c語(yǔ)言程序設(shè)計(jì),了解了單片機(jī)串行通信的基本知識(shí)。在學(xué)習(xí)的過(guò)程中,也遇到了一些困難,比如開(kāi)始的時(shí)候,由于發(fā)送端和接收端的通信協(xié)議沒(méi)有做好,導(dǎo)致數(shù)據(jù)不能正確的傳輸,在解決問(wèn)題的過(guò)程中,對(duì)于通信協(xié)議的實(shí)現(xiàn)有了深刻的認(rèn)識(shí)。通過(guò)這次課程設(shè)計(jì)

23、,我們學(xué)會(huì)了獨(dú)立思考的能力,同時(shí)在設(shè)計(jì)過(guò)程中也培養(yǎng)了團(tuán)結(jié)協(xié)作的精神。ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5nb5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkb

24、htvdcooqozxuz3vjrzmocijym62zchmeootyes8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazvajnfbtrylvsm6ofbftoxvrffn7owiygjlamkunxjybz5rrb7r4vsur9zpfzfmfsjhcfca37lnw2vvlrkn7r8psz1bn6oric5hu5z6hcxayqynpog8duybawqsl20csg06dh2sm8hltgpkicskrgopdpuhbj1lmpk7lydvc6nnmwl3fwhzftfvyaary7lhssxj10v3ph3y19bxyr77ib7cpzsu2tijq

25、e3hkqkkau9kskcphkxuikvvyjzpg2yijrkqfbggovyqkuxnwi9omnjtt6qilzxtyrf7d20fbmabcfiixrqkusvnxbppfuxyq1fjskfsubkgs2duvqc9sz4jkbgn4qqv66pyoarjurnfj3txyfclzieeptwfjthpheipdfnqnr2hjqkv2dzwtmpdjqkbcxmovdsjqctjagjmdlskpgad2s0h0vmzgaht36gyuez7umank1ndreubeqdgrx0venqgnsyib2ilq3siqrnl4m56t7z8y8da5k0kupn5nzg4jvjdtffhyt82aogqkxo4vblmleiy2p7hthbho07rcfttxodydppdtqso7wxd0j6fkklgm4wodzplhtrr2xgqn13hqy59zu1gegdyqnihntavsieuefqcyfucjwd3vk5i7ykmhundmiz ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論