版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 創(chuàng)新性實驗研究報告</b></p><p> 課程名稱:單片機原理及應用</p><p> 實驗項目名稱 簡易測溫系統(tǒng) </p><p> 專 業(yè) 電氣工程及其自動化_ 班級 09-2_ _ </p><p> 指導教師及職稱 _ _
2、____ _ _</p><p> 開課學期 2011 至_2012 學年_第一 學期</p><p> 提交時間 2011 年 12 月 29 日</p><p><b> 一、實驗摘要</b></p><p><b>
3、 二、實驗目的</b></p><p> 三、實驗場地及儀器、設備和材料:</p><p><b> 四、實驗內容</b></p><p><b> 五、實驗結果與分析</b></p><p><b> 六、實驗結論</b></p><p
4、> 七、指導老師評語及得分:</p><p><b> 附件:源程序等。</b></p><p><b> 溫度檢測和發(fā)送模塊</b></p><p> #include <reg52.h></p><p> #define unint unsigned int</
5、p><p> #define unchar unsigned char</p><p> void init_ds18b20();</p><p> void delay(unint z);</p><p> void write_bite(unchar t);</p><p> unchar read_bite
6、();</p><p> void delay(unint z);</p><p> unchar i,j;</p><p> bit flag;// 定時檢測發(fā)送</p><p> sbit DQ=P1^3;</p><p> void main()</p><p><b>
7、; {</b></p><p> unchar table[2];//定義數(shù)組用于存儲18b20測得的數(shù)據(jù)</p><p> TMOD=0x21;</p><p><b> EA=1;</b></p><p><b> TH1=0xf4;</b></p><
8、;p><b> TL1=0xf4;</b></p><p> SCON=0x40;</p><p> PCON=0x80;</p><p><b> ET1=0;</b></p><p><b> TR1=1;</b></p><p>&
9、lt;b> ET0=1;</b></p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> TR0=1;</b></p><p><b> P0=0;</b></p&
10、gt;<p> P2=0xff; //數(shù)碼管滅碼</p><p><b> while(1)</b></p><p><b> {</b></p><p> unchar a,b;</p><p> init_ds18b20();</p><p>
11、; write_bite(0xcc);</p><p> write_bite(0x44);</p><p> delay(300);</p><p> init_ds18b20();</p><p> write_bite(0xcc);</p><p> write_bite(0xbe);</p&g
12、t;<p> a=read_bite();//最后四位表示小數(shù)</p><p> b=read_bite();</p><p> table[0]=(a&0x0f)*625/1000;//小數(shù)位</p><p> table[1]=(b<<4)+((a&0xf0)>>4);//將測得整數(shù)數(shù)據(jù)保存到t中&l
13、t;/p><p> /*******************************************</p><p> *********定時發(fā)送溫度數(shù)據(jù)**************</p><p> *****************************************/</p><p><b> if(f
14、lag)</b></p><p><b> {</b></p><p><b> flag=0;</b></p><p> for(i=0;i<2;i++)</p><p><b> {</b></p><p> SBUF=t
15、able[i]; </p><p> while(!TI) ;</p><p><b> TI=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b&
16、gt;</p><p><b> }</b></p><p> void init_ds18b20()</p><p><b> {</b></p><p><b> unchar n;</b></p><p><b> DQ=1;&
17、lt;/b></p><p><b> delay(8);</b></p><p><b> DQ=0;</b></p><p> delay(80);</p><p><b> DQ=1;</b></p><p><b> d
18、elay(8);</b></p><p><b> n=DQ;</b></p><p><b> delay(4);</b></p><p><b> }</b></p><p> void write_bite(unchar t)</p>&
19、lt;p><b> {</b></p><p><b> unchar i;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> DQ=0;</b></p&
20、gt;<p> DQ=t&0x01;</p><p><b> delay(4);</b></p><p><b> DQ=1;</b></p><p><b> t>>=1;</b></p><p><b> }</
21、b></p><p><b> delay(4);</b></p><p><b> }</b></p><p> unchar read_bite()</p><p><b> {</b></p><p> unchar i ,dat;
22、</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> DQ=0;</b></p><p><b> dat>>=1;</b></p><p><b>
23、DQ=1;</b></p><p><b> if(DQ)</b></p><p> dat|=0x80;</p><p><b> delay(4);</b></p><p><b> }</b></p><p> return
24、dat;</p><p><b> }</b></p><p> void delay(unint z)//延時函數(shù)</p><p><b> {</b></p><p> while(z--);</p><p><b> }</b><
25、;/p><p> void int_t0() interrupt 1 //定時器中斷</p><p><b> {</b></p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b>
26、; j++;</b></p><p> if(j==10) //間隔一段時間后就要對模擬信號輸入進行掃描,以便啟動下一次數(shù)據(jù)發(fā)送</p><p><b> {</b></p><p><b> j=0;</b></p><p><b> flag=1;</b&g
27、t;</p><p><b> }</b></p><p><b> }</b></p><p><b> 接收和顯示模塊</b></p><p> #include <reg52.h></p><p> #define unint
28、 unsigned int</p><p> #define unchar unsigned char</p><p> unchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};</p><p> void del
29、ay(unint z);</p><p> unchar table0[2];</p><p> unchar i=0,t;</p><p> void display(unchar a,unchar b);</p><p> void main()</p><p><b> {</b>
30、</p><p> TMOD=0x20;</p><p> SCON=0x50;</p><p> PCON=0x80;</p><p><b> TH1=0xf4;</b></p><p><b> TL1=0xf4;</b></p><p&g
31、t;<b> EA=1;</b></p><p><b> ET1=0;</b></p><p><b> ES=1;</b></p><p><b> TR1=1;</b></p><p><b> while(1)</b>
32、;</p><p><b> {</b></p><p> display(table0[0],table0[1]);</p><p><b> }</b></p><p><b> }</b></p><p> void int_s() in
33、terrupt 4</p><p><b> {</b></p><p> table0[i]=SBUF;</p><p><b> RI=0;</b></p><p><b> i++;</b></p><p><b> if(i=
34、=2)</b></p><p><b> i=0;</b></p><p><b> }</b></p><p> void display(unchar a,unchar b)</p><p><b> {</b></p><p>
35、 unchar num1,num2;</p><p> num1=b/10;</p><p> num2=b%10;</p><p> P0=1;//0001b</p><p> P1=table[num1];</p><p> delay(60);</p><p> P0=2
36、; //0010b
37、 </p><p> P1=table[num2]&0x7f;</p><p> delay(60);</p><p> P0=4; //0100b</p><p> P1=table[a];</p><p> delay(60);</p>&l
38、t;p> P0=8; //1000b</p><p><b> P1=0xc6;</b></p><p> delay(60);</p><p><b> }</b></p><p> void delay(unint z)</p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機簡易時鐘課程設計
- 單片機簡易秒表課程設計
- 單片機簡易電子琴單片機課程設計
- 單片機課程設計---簡易節(jié)日彩燈
- 單片機課程設計(簡易門鈴)
- 單片機課程設計--熱敏電阻測溫顯示系統(tǒng)
- 單片機課程設計---熱敏電阻測溫
- 簡易電子琴單片機課程設計
- 單片機簡易頻率計課程設計
- 單片機課程設計-簡易計算器
- 簡易電子琴單片機課程設計
- 單片機課程設計簡易計算器
- 簡易頻率計單片機課程設計
- 單片機課程設計--- 簡易數(shù)字鐘
- 簡易電子琴單片機課程設計
- 單片機課程設計--簡易計算器
- 單片機課程設計簡易電子琴
- 單片機課程設計簡易計算器
- 單片機課程設計簡易電子琴
- 單片機課程設計——簡易電子琴
評論
0/150
提交評論