-
顶楼主
-
进来瞧瞧,刚接触,学习一下。
-
我一直好奇,上层的LED是怎么焊的?咋就没有短路啊?
-
代码,求代码。
-
没玩过。正在学51,然后现在做个竞赛。要用这个单片机。正学习着呢。
-
那程序部分呢?有什么不同的呢?
-
不过还是蛮期待的,至少会让一些电子产品更美化。
-
咋看不到啊?
-
不知道耐用不?感觉容量不会太大哎
-
while(1)
{
if(time_1ms>2) //数码管显示,
{
time_1ms=0;
dis_one();
}
TR0=0;
temper=getTmpValue(); //读取温度指令
sendChangeCmd(); //温度转换指令
TR0=1;
这样吗?好像还是没效果啊
-
那其他时间呢?都在转换温度吗?那除了这些时间之外的时间就可以做其他事情了?
-
可是,我试过了。确实跟原来没啥区别。真蛋疼,,,大神有没有18B20工作时的具体时序啊?比如复位,温度转换,读取温度等过程都需要多少时间啊?感觉用不了1s啊。新手求助!!!
-
我把温度模块调在中断内执行,然后把显示放在主函数里,就能工作了,虽然能实现目的,但如果还要进行其他工作,就不好用了。所以,,,还是不太会用
-
//向DS18B20写入一字节数据
void writeByte(unsigned char dat)
{
unsigned int i;
unsigned char j;
bit b;
TR0=0;
for(j = 0; j < 8; j++)
{
b = dat & 0x01;
dat >>= 1;
//写"1", 将DQ拉低15us后, 在15us~60us内将DQ拉高, 即完成写1
if(b)
{
ds = 0;
i++; i++; //拉低约16us, 符号要求15~60us内
ds = 1;
i = 8; while(i>0) i--; //延时约64us, 符合写时隙不低于60us要求
}
else //写"0", 将DQ拉低60us~120us
ds = 0;
i = 8; while(i>0) i--; //拉低约64us, 符号要求
ds = 1;
i++; i++; //整个写0时隙过程已经超过60us, 这里就不用像写1那样, 再延时64us了
}
TR0=1;
}
//读取一字节数据, 通过调用readBit()来实现
unsigned char readByte()
{
unsigned int i;
unsigned char j, dat;
dat = 0;
TR0=0;
for(i=0; i 1);
}
TR0=1;
return dat;
}是这样吗?在驱动里的读写函数里面关中断吗?好像不行啊
-
资料看过了,。。。为什么没有源程序?有个hex文件有用吗?只想说留图不留种,*****啊
-
好奇害死猫。不过我还是想知道它是怎么读取的。买了
-
单片机课真是好东西啊
-
太励志了
-
感谢楼主的无私奉献。
-
嗯,版主说得对。一定会努力的!