單片機設計報告溫度傳感器_第1頁
單片機設計報告溫度傳感器_第2頁
單片機設計報告溫度傳感器_第3頁
單片機設計報告溫度傳感器_第4頁
單片機設計報告溫度傳感器_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機設計報告溫度傳感器...設計題目溫度傳感器設計背景溫度測量在物理實驗、醫(yī)療衛(wèi)生、食品生產等領域,尤其在熱學實驗(如:物體的比熱容、汽化熱、熱功當量、壓強溫度系數(shù)等教學實驗)中,有特別重要的意義。目前溫度計的發(fā)展很快,從原始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等。現(xiàn)在所使用的溫度計通常都是精度為1℃和0.1℃的水銀、煤油或酒精溫度計,這些溫度計的刻度間隔通常都很密,不容易準確分辨,讀數(shù)困難,而且他們的熱容量還比較大,達到熱平衡所需的時間較長,因此很難讀準,并且使用非常不方便。本文所介紹與傳統(tǒng)的溫度計相比,具有讀數(shù)方便、測溫圍廣、測溫準確等優(yōu)點,其輸出溫度采用數(shù)字顯示,主要供測溫要求準確的場所和科研實驗室使用。設計目的利用單片機及其外圍電路完成遠程溫度檢測系統(tǒng)設計。通過本課題設計,學生能夠掌握單片機硬件設計及其編程語言,掌握利用protel軟件繪制電路圖,提高根據實際情況進行單片機開發(fā)能力。在電氣工程及其自動化學科的培養(yǎng)方向上,提高針對具體問題的資料收集、自我學習、分析及處理能力。學習protel軟件,并繪制本課題的硬件電路圖;熟悉單片機編程語言,并能用單片機C語言進行本課題的編程;通過本課題的設計,學習根據實際情況進行合理設計的方法,并能選擇合適的器件實現(xiàn)系統(tǒng)功能。設計原理單片機設計報告溫度傳感器全文共15頁,當前為第1頁。本設計是以51單片機為核心的溫度傳感器設計,該系統(tǒng)以STC89C516RD單片機為中心控制單元,由數(shù)碼管顯示模塊,蜂鳴器警報模塊組成,并預設溫度報警上下限,系統(tǒng)啟動后可以實時采集環(huán)境中的溫度,并且當溫度超出上下限的值以后蜂鳴器報警.單片機設計報告溫度傳感器全文共15頁,當前為第1頁。五、設計要求與容1.用Protel等軟件繪制原理圖SCH的繪制;2.畫出電路原理圖,并對元件進行正確的封裝、合理布局、布線,完成PCB圖。3.小組成員掌握相關操作,完成各自的演示實驗;4.進行單片機仿真實驗,按照設計任務書的要求對基礎實驗進行創(chuàng)新,達到預期目的。六、主要過程1.由老師布置設計任務,并對相關知識進行了講述,并領取工具;2.在老師的指導下,安裝相關軟件,對軟件的常用操作進行學習;3小組成員按照分配的任務展開工作。主要是:搜集相關資料,繪制SCH和PCB圖,對程序進行修改完成相關創(chuàng)新;4.進行仿真實驗,對問題進行反饋,小組成員展開討論;5.遞交設計結果及設計報告。相關結果1、設計原理圖單片機設計報告溫度傳感器全文共15頁,當前為第2頁。單片機設計報告溫度傳感器全文共15頁,當前為第2頁。2、由protel繪制的SCH圖單片機設計報告溫度傳感器全文共15頁,當前為第3頁。單片機設計報告溫度傳感器全文共15頁,當前為第3頁。3、由protel繪制的PCB圖單片機設計報告溫度傳感器全文共15頁,當前為第4頁。單片機設計報告溫度傳感器全文共15頁,當前為第4頁。4、基礎設計仿真結果圖創(chuàng)新之后的仿真結果(1)、程序單片機設計報告溫度傳感器全文共15頁,當前為第5頁。見附錄1單片機設計報告溫度傳感器全文共15頁,當前為第5頁。(2)、結果設計總結這次課程設計的完成真的挺不容易的。有的知識不太清楚,網上找的不符合課程設計要求,我們幾個又跑到圖書館去找相關書籍,結果還是不太滿意,最后還是求教于老師,還好老師有足夠的耐心幫助我們完成課題設計。雖然這次課程設計的完成有點吃力,但我還是挺珍惜課程設計的機會,因為它可以暴漏我自身的問題,讓我更清楚的認識自己,同時,與組員之間討論的時間多了,與老師接觸的機會多了,鍛煉了自己各個方面的能力。而且,它是我們在校期間難得的實踐機會。在今后社會的發(fā)展和學習實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上,不斷收獲喜悅,得到社會及他人對你的認可!九、參考文獻電子CAD(Protel)教程中南大學附錄附錄1C++算法仿真程序(main.c)單片機設計報告溫度傳感器全文共15頁,當前為第6頁。/*******************************************************************************

*

*

普中科技

*

:

18B20溫度顯示試驗

*

實驗說明

:

LCD1602顯示溫度值。

*

連接方式

:

見連接圖

*

:

******************************************************************************/

#include<reg51.h>

#include"lcd.h"

#include"temp.h"

void

LcdDisplay(int);

void

delay(unsigned

int

i)

;//延遲

sbit

Beep

=

P1^5

;

//定義全局變量

unsigned

char

datas[]

=

{0,

0,

0,

0,

0};

//定義數(shù)組

/*******************************************************************************

*

函數(shù)名

:

main

*

函數(shù)功能

:

主函數(shù)

*

輸入

:

*

輸出

:

******************************************************************************/

void

main()

{

LcdInit();

//初始化LCD1602

LcdWriteCom(0x88);//寫地址

80表示初始地址

LcdWriteData('C');

while(1)

{

LcdDisplay(Ds18b20ReadTemp());

//Delay1ms(1000);//1s鐘刷一次

if(datas[1]==2&&datas[2]>=5||datas[1]>2)

{

Beep=

1;

delay(5);

Beep=

0;

delay(5);

}

}

}

/*******************************************************************************

*

函數(shù)名

:

delay()

*

函數(shù)功能

:

延遲程序

*

輸入

:

i

*

輸出

:

*******************************************************************************/

單片機設計報告溫度傳感器全文共15頁,當前為第7頁。

void

delay(unsigned

int

i)

{

char

j;

for(i;

i

>

0;

i--)

for(j

=

200;

j

>

0;

j--);

}

/*******************************************************************************

*

函數(shù)名

:

LcdDisplay()

*

函數(shù)功能

:

LCD顯示讀取到的溫度

*

輸入

:

v

*

輸出

:

*******************************************************************************/

void

LcdDisplay(int

temp)

//lcd顯示

{

float

tp;

if(temp<

0)//當溫度值為負數(shù)

{

LcdWriteCom(0x80);//寫地址

80表示初始地址

LcdWriteData('-');

//顯示負

//因為讀取的溫度是實際溫度的補碼,所以減1,再取反求出原碼

temp=temp-1;

temp=~temp;

tp=temp;

temp=tp*0.0625*100+0.5;

//留兩個小數(shù)點就*100,+0.5是四舍五入,因為C語言浮點數(shù)轉換為整型的時候把小數(shù)點

//后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就

//算由?.5,還是在小數(shù)點后面。

}

else

{

LcdWriteCom(0x80);//寫地址

80表示初始地址

LcdWriteData('+');

//顯示正

tp=temp;//因為數(shù)據處理有小數(shù)點所以將溫度賦給一個浮點型變量

//如果溫度是正的那么,那么正數(shù)的原碼就是補碼它本身

temp=tp*0.0625*100+0.5;

//留兩個小數(shù)點就*100,+0.5是四舍五入,因為C語言浮點數(shù)轉換為整型的時候把小數(shù)點

//后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就

//算加上0.5,還是在小數(shù)點后面。

}

datas[0]

=

temp

/

10000;

單片機設計報告溫度傳感器全文共15頁,當前為第8頁。datas[1]

=

temp

%

10000

/

1000;

datas[2]

=

temp

%

1000

/

100;

datas[3]

=

temp

%

100

/

10;

datas[4]

=

temp

%

10;

LcdWriteCom(0x82);

//寫地址

80表示初始地址

LcdWriteData('0'+datas[0]);

//百位

LcdWriteCom(0x83);

//寫地址

80表示初始地址

LcdWriteData('0'+datas[1]);

//十位

LcdWriteCom(0x84);//寫地址

80表示初始地址

LcdWriteData('0'+datas[2]);

//個位

LcdWriteCom(0x85);//寫地址

80表示初始地址

LcdWriteData('.');

//顯示

‘.’

LcdWriteCom(0x86);

//寫地址

80表示初始地址

LcdWriteData('0'+datas[3]);

//顯示小數(shù)點

LcdWriteCom(0x87);

//寫地址

80表示初始地址

LcdWriteData('0'+datas[4]);

//顯示小數(shù)點

}

附錄2C++算法仿真程序(lcd.c)單片機設計報告溫度傳感器全文共15頁,當前為第6頁。單片機設計報告溫度傳感器全文共15頁,當前為第7頁。單片機設計報告溫度傳感器全文共15頁,當前為第8頁。單片機設計報告溫度傳感器全文共15頁,當前為第9頁。/*******************************************************************************

*

普中科技

*

:

18B20溫度顯示試驗

*

實驗說明

:

LCD1602顯示溫度值。

*

連接方式

:

見連接圖

*

:

*******************************************************************************/

#include<reg51.h>

#include"lcd.h"

#include"temp.h"

void

LcdDisplay(int);

void

delay(unsigned

int

i)

;//延遲

sbit

Beep

=

P1^5

;

//定義全局變量

unsigned

char

datas[]

=

{0,

0,

0,

0,

0};

//定義數(shù)組

/*******************************************************************************

*

函數(shù)名

:

main

*

函數(shù)功能

:

主函數(shù)

*

輸入

:

*

輸出

:

*******************************************************************************/

void

main()

{

LcdInit();

//初始化LCD1602

LcdWriteCom(0x88);//寫地址

80表示初始地址

LcdWriteData('C');

while(1)

{

LcdDisplay(Ds18b20ReadTemp());

//Delay1ms(1000);//1s鐘刷一次

if(datas[1]==2&&datas[2]>=5||datas[1]>2)

{

Beep=

1;

delay(5);

Beep=

0;

delay(5);

}

}

}

/*******************************************************************************

*

函數(shù)名

:

delay()

*

函數(shù)功能

:延遲程序

*

輸入

:

i

*

輸出

:

*******************************************************************************/

void

delay(unsigned

int

i)

{

char

j;

for(i;

i

>

0;

i--)

for(j

=

200;

j

>

0;

j--);

}

/*******************************************************************************

*

函數(shù)名

:

LcdDisplay()

*

函數(shù)功能

:

LCD顯示讀取到的溫度

*

輸入

:

v

*

輸出

:

*******************************************************************************/

void

LcdDisplay(int

temp)

//lcd顯示

單片機設計報告溫度傳感器全文共15頁,當前為第10頁。{

float

tp;

if(temp<

0)//當溫度值為負數(shù)

{

LcdWriteCom(0x80);//寫地址

80表示初始地址

LcdWriteData('-');

//顯示負

//因為讀取的溫度是實際溫度的補碼,所以減1,再取反求出原碼

temp=temp-1;

temp=~temp;

tp=temp;

temp=tp*0.0625*100+0.5;

//留兩個小數(shù)點就*100,+0.5是四舍五入,因為C語言浮點數(shù)轉換為整型的時候把小數(shù)點

//后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就

//算由?.5,還是在小數(shù)點后面。

}

else

{

LcdWriteCom(0x80);//寫地址

80表示初始地址

LcdWriteData('+');

//顯示正

tp=temp;//因為數(shù)據處理有小數(shù)點所以將溫度賦給一個浮點型變量

//如果溫度是正的那么,那么正數(shù)的原碼就是補碼它本身

temp=tp*0.0625*100+0.5;

//留兩個小數(shù)點就*100,+0.5是四舍五入,因為C語言浮點數(shù)轉換為整型的時候把小數(shù)點

//后面的數(shù)自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就

//算加上0.5,還是在小數(shù)點后面。

}

datas[0]

=

temp

/

10000;

datas[1]

=

temp

%

10000

/

1000;

datas[2]

=

temp

%

1000

/

100;

datas[3]

=

temp

%

100

/

10;

datas[4]

=

temp

%

10;

LcdWriteCom(0x82);

//寫地址

80表示初始地址

LcdWriteData('0'+datas[0]);

//百位

LcdWriteCom(0x83);

//寫地址

80表示初始地址

LcdWriteData('0'+datas[1]);

//十位

LcdWriteCom(0x84);//寫地址

80表示初始地址

LcdWriteData('0'+datas[2]);

//個位

LcdWriteCom(0x85);//寫地址

80表示初始地址

LcdWriteData('.');

//顯示

‘.’

LcdWriteCom(0x86);

//寫地址

80表示初始地址

單片機設計報告溫度傳感器全文共15頁,當前為第11頁。LcdWriteData('0'+datas[3]);

//顯示小數(shù)點

LcdWriteCom(0x87);

//寫地址

80表示初始地址

LcdWriteData('0'+datas[4]);

//顯示小數(shù)點

}

單片機設計報告溫度傳感器全文共15頁,當前為第9頁。單片機設計報告溫度傳感器全文共15頁,當前為第10頁。單片機設計報告溫度傳感器全文共15頁,當前為第11頁。單片機設計報告溫度傳感器全文共15頁,當前為第12頁。單片機設計報告溫度傳感器全文共15頁,當前為第12頁。...目錄一、設計題目 1二、設計背景 1三、HYPERLINK\l"_T

溫馨提示

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

評論

0/150

提交評論