課程設計數字溫度計方案設計
❶ 課程設計 單片機做數字溫度計
給你個C51編寫的DS18B20程序,自己去看,很簡單的,上下限報警,就加個判斷就OK了,還是自己去做一部分,如果有人全幫你做了,他就沒安好心,恰恰是在害你,害中國的青年!
代碼如下:
/*DS18B20數字溫度感測器*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
extern void _nop_(void);
#define nop1 _nop_()
#define nop nop1;nop1;
sbit DQ=P3^2;
uchar code table[]={
0x09,0x7d,0x07,0x15,0x71,
0x91,0x81,0x3d,0x01,0x11,
0x21,0xc1,0x8b,0x45,0x83,0xa3,0xff};
uchar dis[]={0,0,0,0};
void delay(uchar z)
{
uchar x,y,j;
for(x=0;x<z;x++)
{for(y=200;y>0;y--)
{for(j=0;j<10;j++);
}
}
}
void delay_us(del)
{
while(del>0)
{ del--;
}
}
void init_DS18B20()
{
DQ = 1; //DQ復位
delay_us(3); //稍做延時
DQ=0; //復位脈沖
delay_us(40); //延時約480us
DQ=1;
//延時約25us
while(DQ); //檢測存在脈沖
delay_us(13);
}
void write_onechar(uchar t)
{
uchar i;
DQ=1;
for(i=0;i<8;i++)
{
DQ=0;
//delay_us(2);
nop;//基本不延時都可以的
DQ=(bit)(t&0x01);
delay_us(2);//延時15us~60us,讓匯流排去采樣輸入位,低電平為0
DQ=1;//寫下一位
nop;
t=t>>1;
}
}
uchar read_onechar()
{
uchar i,value;
EA =0;
value=0;
DQ=1;
for(i=0;i<8;i++)
{
DQ=0;
nop;
value=value>>1;
DQ = 1 ;//產生讀時間隔
nop;
if(DQ)
{ value=value|0x80;
}
delay_us(1);
}
EA =1;
return value;
}
uint temperature_con()
{
uchar a;
int b;
float tt;
a=0;
b=0;
init_DS18B20();
write_onechar(0xcc);
write_onechar(0x44);
// WriteOneChar(0xcc);
// WriteOneChar(0x44);
delay(30);//204MS延時
init_DS18B20();
write_onechar(0xcc);
write_onechar(0xbe);
//WriteOneChar(0xcc);
//WriteOneChar(0xbe);
a=read_onechar();
b=read_onechar();
b=b<<8; //用來移動的B要是16位的,否則移位就沒有意義了
b=b|a;
tt=b*0.0625;//為了計算精度t要為浮點型
tt= tt*10+0.5; //放大10倍輸出並四捨五入
return(tt);
}
void display(int aa)
{
uchar i;
SCON=0;
dis[0]=16;
dis[1]=aa/100;
dis[2]=aa%100/10;
dis[3]=aa%100%10;
for(i=0;i<4;i++)
{
if(i==2)
SBUF=(table[dis[i]]-1);//小數點是查表值減一
else
SBUF=table[dis[i]];
while(TI==0);
TI=0;
}
}
main(
)
{
uint value=0;
value=temperature_con();
display(value);
}
❷ 課程設計:基於單片機的數字溫度計的設計
說實話,自己做復吧,制不難的,理工科的嘛,不多動手出來不好混的。
題目也有點問題,既然是數字溫度計,為什麼還要用AD?
採用8031晶元用與中斷程序
通過8155晶元用於8位LED動態顯示電路
這兩個很少用吧,我記得就在微機原理的試驗箱上見過...
你可以搜索DS18B20,大家在學校最常用的數字溫度計,51的程序也一大堆,搜索下就有了。
❸ 求單片機數字溫度計的課程設計
如果不限制方案,那麼18B20的比較合適,網上現成的方案很多大部分100元的開發板也都專帶;你就屬搜索 單片機+18B20 就能搜出一大堆
小於0.1是不可能的,現在國內作為標準的 「國家一等標准溫度計」 (500元一隻,一套大概5000元) 精度也只不過0.1;
18B20溫度探頭,在20-40度的區間內,測量誤差在0.2左右
❹ 急求!!!!數字溫度計課程設計
說實話,要完全一樣的現成答案在這里很難的,除非運氣好碰到一個做過類似實例的人就給你了。
這個問題用單片機可以做,用可編程器件和VHDL編程也可以做。這我都會,但是要我花那多時間做好瞭然後用protel99se畫好電路圖給你,這根本不可能,誰搞那麼累啊。
最好的辦法還是自己到網上去搜,下載來改改試試,這樣最快。 網上像數字溫度計,數字頻率計,數字秒錶,數字定時器都很多的。
❺ 單片機原理及應用課程設計課題為:數字溫度計的設計方案(DS18B20)
cgh