资源简介
ds18b20的protues仿真程序及代码,易学既会 单片机爱好者首选
代码片段和文件信息
#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0xc00xf90xa40xb00x99
0x920x820xf80x800x90};
sbit led0=P2^0;
sbit led1=P2^1;
sbit led2=P2^2;
sbit led3=P2^3;
sbit ds=P2^4;
uint temp;
uchar abc;
void delay(uint z)
{
uint ij;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void delay1(uint y)
{
while(--y);
}
void dsreset()
{
ds=1;
delay1(8);
ds=0;
delay1(90);
ds=1;
delay1(100);
}
uchar tempreadbyte()
{
uchar idat;
dat=0;
ds=1;
_nop_();
for(i=0;i<8;i++)
{
ds=0;
_nop_();
_nop_();
dat>>=1;
ds=1;
_nop_();
_nop_();
if(ds)
dat|=0x80;
delay1(30);
ds=1;
}
return dat;
}
void tempwritebyte(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
ds=0;
ds=dat&0x01;
delay1(5);
ds=1;
dat>>=1;
}
}
uint gettemp()
{
uchar xy;
dsreset();
tempwritebyte(0xcc);
tempwritebyte(0x44);
dsreset();
tempwritebyte(0xcc);
tempwritebyte(0xbe);
x=tempreadbyte();
y=tempreadbyte();
y<<=4;
y+=(x&0xf0)>>4;
return y;
}
void deal_temp(uint t)
{
a=t/100;
b=t%100/10;
c=t%10;
}
void display_temp()
{
led1=1;
P0=table[a];
delay(2);
led1=0;
led2=1;
P0=table[b];
delay(2);
led2=0;
led3=1;
P0=table[c];
delay(2);
led3=0;
}
void main()
{
P2=0;
while(1)
{
temp=gettemp();
deal_temp(temp);
display_temp();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7179 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20
文件 1412 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.c
文件 1302 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.hex
文件 47 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.lnp
文件 4209 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.LST
文件 10845 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.M51
文件 7453 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.OBJ
文件 1241 2012-07-11 23:28 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.Opt
文件 192 2012-07-11 23:28 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.plg
文件 2028 2012-01-20 23:10 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20.Uv2
文件 1241 2012-06-21 08:17 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20_Opt.Bak
文件 2028 2012-01-20 22:54 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\ds18b20_Uv2.Bak
文件 5115 2002-04-16 14:32 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\STARTUP.A51
文件 11679 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\STARTUP.LST
文件 749 2012-05-15 09:07 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)\STARTUP.OBJ
文件 124296 2012-05-15 09:07 DSB18B20-温度显示4LED\DSB18B20-温度显示4LED\4LED.DSN
文件 1054 2012-05-15 09:07 DSB18B20-温度显示4LED\DSB18B20-温度显示4LED\4LED.PWI
文件 124284 2012-02-07 09:46 DSB18B20-温度显示4LED\DSB18B20-温度显示4LED\Last Loaded 4LED.DBK
目录 0 2012-07-21 09:13 DSB18B20-温度显示4LED\DS18B20温度显示(精简版)
目录 0 2012-07-21 09:13 DSB18B20-温度显示4LED\DSB18B20-温度显示4LED
目录 0 2012-07-21 09:13 DSB18B20-温度显示4LED
----------- --------- ---------- ----- ----
306354 21
评论
共有 条评论