怎样制作电子温度计

2025-10-03 18:48:35

1、安装好keil软件和PL2302驱动,打开设备管理器,确认PL2303安装正确。

怎样制作电子温度计

1、打开keil软件,点,选择project-new uvision project新建工程文件

怎样制作电子温度计

2、选择atmel下的at89c51单片机

怎样制作电子温度计

怎样制作电子温度计

3、点“是”确认添加启动文件

怎样制作电子温度计

4、双击打开”target1”,右键add new item添加新项目,选c语言

怎样制作电子温度计

怎样制作电子温度计

5、/*输入定义代码*/

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

sbit io=P3^7;

void delay(unsigned int i)

{

while(i--);

}

怎样制作电子温度计

6、/*编写初始化温度传感器的代码*/

void initcgq(void)

{

uchar x=0;

io=1;   

delay(8);  

io=0;   

delay(80); 

io=1;   

delay(14);

delay(20);

}

怎样制作电子温度计

7、/*编写读写温度传感器的代码*/

uchar read(void)

{

uchar i=0,dat=0;

for(i=8;i>0;i--)

{

io=0;

dat>>=1;

io=1;

if(io)dat|=0x80;

delay(4);

}

return(dat);

}

void write(uchar dat)

{

uchar i=0;

for(i=8;i>0;i--)

{

io=0;

io=dat&0x01;

delay(5);

io=1;

dat>>=1;

}

}

怎样制作电子温度计

8、/*编写转温度的代码*/

uint readt(void)

{

uchar x=0,y=0;

uint t=0;

float tt=0;

initcgq();

write(0xCC);

write(0x44);

initcgq();

write(0xCC); 

write(0xBE);

x=read();

y=read();

t=y;

t<<=8;

t=t|x;

tt=t*0.0625;        

t= tt*10+0.5;      

return(t);

}

怎样制作电子温度计

9、/*编写初始化串口的函数和主函数*/

void chuankou4800()

{

SCON=0X50;

TMOD=0X20;

PCON=0X80;

TH1=0XF3;

TL1=0XF3;

EA=1;

TR1=1;

}

void main()

{

chuankou4800();

while(1){

SBUF=readt();

while(!TI);

TI=0;

}

}

怎样制作电子温度计

1、点击target options按钮

怎样制作电子温度计

2、切换到output选项卡,勾选create hex file

怎样制作电子温度计

3、点击rebuild按钮全部编译

怎样制作电子温度计

4、编译完成后提示错误为0,警告为0,编译成功

怎样制作电子温度计

5、在工程文件的相同目录里会生成对应的hex文件

怎样制作电子温度计

1、准备好单片机,杜邦线和PL2303模块

怎样制作电子温度计

2、将pl2303的5.0V连接单片机最小系统的VCC;

将pl2303的txd连接单片机最小系统的rxd;

将pl2303的rxd连接单片机最小系统的txd;

将pl2303的gnd连接单片机最小系统的gnd;

怎样制作电子温度计

3、将pl2303插入电脑,打开stc-isp,找到单片机对应的型号,选择之前生成的hex文件

怎样制作电子温度计

4、点击下载-编程按钮,之后断开单片机最小系统上的vcc线,一秒之后再将vcc接回原处

怎样制作电子温度计

5、软件提示操作成功

1、拿出DS18B20,面对文字,引脚向下,从左向右分别接入单片机的GND,P3.7,VCC

怎样制作电子温度计

2、连接完成之后插入电脑

怎样制作电子温度计

3、打开串口调试助手,选择对应的串口,波特率调制4800,勾选hex显示,即可得到16进制的温度

怎样制作电子温度计

4、十六进制数转换为十进制,除以10,就得到了十进制的摄氏度(比如我的是fb,转10进是251,温度为25.1摄氏度)

5、如果测得温度过低,可能是数据溢出.只需要在原始数据加上FF(25.5)即可

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢