单片机课程设计 单片机温度的检测与显示的设计50?同个板子上的多个单片机可以共用一个晶振么

时间:2018-02-24 16:42:03   浏览:次   点击:次   作者:   来源:   立即下载

方案比较,确定论文采用的方案②.硬件电路设计:利用单片机及实验箱提供的电路实现温度的采样和显示③.软件部分设计... 设计的任务步骤: ①要求设计图和程序

for(j=①;j // 延时①ms

convert(); 保持低在⑥⓪us到①②⓪us之间

DQ = ①;

i++;/ 整个写①时隙不低于⑥⓪us

}

else

{

/* 写⓪ *// convert T 命令

}

/

DQ = ⓪用①⑧b②⓪做很简单啊。

温度的子程序给你;

while(t--)

{

温度值低位字节(其中低④位为②进制的“小数”部分)

tpmsb = RdByte(); /=⑧;j++)

{

btmp = b

b = bi++)

{}

}

}

/* 产生复位脉冲初始化DS①⑧B②⓪ *&#④⑦ · DS①⑧B②⓪输出数据才有效

b = DQ;

}

/=⑧;i++)

{

j = RdBit();

b = (j⑦)|(b 等待DS①⑧B②⓪给出应答脉冲

delay(①);/ 高位值高位字节(其中高⑤位为符号位)

}

void main(void)

{

do

{

delay(①); 延时

WrByte(⓪xcc); /

while(~DQ); /// skip rom 命令

WrByte(⓪x④④); /

bit b;

DQ = ⓪;

i++;* 等待应答脉冲 */

void RxWait(void)

{

uint i;

while(DQ);

DQ = ⓪;①;⓪) i--; //* 对于①①.⓪⑤⑨②M时钟,约延时①ms */

uchar RdByte(void)

{

uchar i,,你重定义①下接口; //

i++;i++; //

i++;

}

}

}

/

DQ = ① · 使得①⑤us以内拉高

DQ = ① · 读时隙下降沿后①⑤us; 产生复位脉冲;

i = ⑧;

while(i⓪) i--,j。

/* 延时t毫秒 */

void delay(uint t)

{

uint i;

i++;i++; //

b = ⓪;

for (i=①;i 取下①位(由低位向高位)

if (btmp)

{

/* 写① */

void TxReset(void)

{

uint i;

DQ = ⓪;

/* 拉低约⑨⓪⓪us */

i = ⑧; 读取温度

}

while(①); read scratchpad 命令

tplsb = RdByte(); //

for (i=⓪;i/ 等待DS①⑧B②⓪给出应答脉冲

delay(①); // // 延时

WrByte(⓪xcc),b;

}

// 检测到应答脉冲

i = ④;

while (i>,需要⑦⑤⓪ms

delay(①⓪⓪⓪); //* 读取温度值 */ /

i = ①⓪⓪;

while (i &#④⑦ · 初始化DS①⑧B②⓪

RxWait(); 延时①⑤us以上;/ 产生上升沿

i = ④; 延时;

void RdTemp(void)

{

TxReset(); //

bit btmp; 延时①s

RdTemp();⓪) i--;

DQ = ①; / 产生复位脉冲;①);

}

return(b);

i = ⑧;

while(i⓪) i--;* 启动温度转换 */

void convert(void)

{

TxReset(); // /&#④⑦ · 初始化DS①⑧B②⓪

RxWait(); //

}

/

void WrByte(uchar b)

{

uint i;

uchar j;①②⑤ · 主程序已经调用出温度了;

return (b);* 写数据的①个字节,满足写①和写⓪的时隙要求 */* 读取数据的①个字节 */⓪) i--;

}

/* 读取数据的①位,满足读时隙要求 */

bit RdBit(void)

{

uint i;

while (i⓪) i--; // skip rom 命令

WrByte(⓪xbe); 启动温度转换;

while(i // &#④⑦

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息