四位數數字溫度計

2021-04-16 10:17:29 字數 3379 閱讀 6763

1.

溫度感測器ad590基本知識

ad590

產生的電流與絕對溫度成正比,它可接收的工作電壓為4v-

30v,檢測的溫度範圍為-

55℃-+150℃,它有非常好的線性輸出效能,溫度每增加1℃,其電流增加1ua。

ad590

溫度與電流的關係如下表所示

攝氏溫度

ad590電流

經10kω電壓

0℃ 273.2ua

2.732v 10

℃ 283.2ua

2.832 v 20

℃ 293.2ua

2.932 v 30

℃ 303.2ua

3.032 v 40

℃ 313.2ua

3.132 v

50℃323.2ua

3.232 v 60

℃ 333.2ua

3.332 v

100℃

373.2ua

3.732 v

ad590

引腳圖

2.

實驗任務

利用ad590

溫度感測器完成溫度的測量,把轉換的溫度值的模擬量送入

adc0809

的其中乙個通道進行

a/d轉換,將轉換的結果進行溫度值變換之後送入數碼管顯示。

3.

電路原理圖

圖4.30.1

4.

系統板上硬體連線

(1).

把「微控制器系統」區域中的

p1.0

-p1.7

與「動態數碼顯示」區域中的

abcdefgh

埠用8芯排線連線。

(2).

把「微控制器系統」區域中的

p2.0

-p2.7

與「動態數碼顯示」區域中的

s1s2s3s4s5s6s7s8

埠用8芯排線連線。

(3).

把「微控制器系統」區域中的

p3.0

與「模數轉換模組」區域中的

st端子用導線相連線。

(4).

把「微控制器系統」區域中的

p3.1

與「模數轉換模組」區域中的

oe端子用導線相連線。

(5).

把「微控制器系統」區域中的

p3.2

與「模數轉換模組」區域中的

eoc端子用導線相連線。

(6).

把「微控制器系統」區域中的

p3.3

與「模數轉換模組」區域中的

clk端子用導線相連線。

(7).

把「模數轉換模組」區域中的

a2a1a0

端子用導線連線到「電源模組」區域中的

gnd端子上。

(8).

把「模數轉換模組」區域中的

in0端子用導線連線到自製的

ad590

電路上。

(9).

把「微控制器系統」區域中的

p0.0

-p0.7用8

芯排線連線到「模數轉換模組」區域中的

d0d1d2d3d4d5d6d7

端子上。

5.

程式設計內容

(1).

adc0809

的clk

訊號由微控制器的

p3.3

管腳提供

(2).

由於ad590

的溫度變化範圍在-55℃

-+150

℃之間,經過10kω之後取樣到的電壓變化在2.182v-4.232v之間,不超過5v電壓所表示的範圍,因此參考電壓取電源電壓vcc,(實測vcc=4.70v)。由此可計算出經過a/d轉換之後的攝氏溫度顯示的資料為:

如果(d*2350/128)<2732,則顯示的溫度值為-(2732-(d*2350/128))

如果(d*2350/128)≥2732,則顯示的溫度值為+((d*2350/128)-2732)

6.

彙編源程式

(略)7.c語言源程式

#include

#include

unsigned char code dispbitcode=;

unsigned char code dispcode=;

unsigned char dispbuf[8]=;

unsigned char dispcount;

unsigned char getdata;

unsigned long temp;

unsigned char i;

bit sflag;

sbit st=p3^0;

sbit oe=p3^1;

sbit eoc=p3^2;

sbit clk=p3^3;

sbit led1=p3^6;

sbit led2=p3^7;

sbit spk=p3^5;

void main(void)

} void t0(void) interrupt 1 using 0

void t1(void) interrupt 3 using 0

else

i=3;

dispbuf[0]=10;

dispbuf[1]=10;

dispbuf[2]=10;

if(sflag==1)

else

dispbuf[3]=0;

dispbuf[4]=0;

dispbuf[5]=0;

dispbuf[6]=0;

while(temp/10)

dispbuf[i]=temp;

st=1;

st=0;

}p1=dispcode[dispbuf[dispcount]];

p2=dispbitcode[dispcount];

dispcount++;

if(dispcount==8)

}

php四位數字驗證碼

autocode.php 隨機生成乙個4位數的數字驗證碼 num for i 0 i 4 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證頁面使用 session start session checknum num 建立,定義顏色值 heade...

34 特殊四位數

34 特殊四位數 問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方...

46 特殊四位數

問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方,且1156的千位...