电子温度计设计与调试实验报告.docx

上传人:b****5 文档编号:6793950 上传时间:2023-01-10 格式:DOCX 页数:9 大小:65.02KB
下载 相关 举报
电子温度计设计与调试实验报告.docx_第1页
第1页 / 共9页
电子温度计设计与调试实验报告.docx_第2页
第2页 / 共9页
电子温度计设计与调试实验报告.docx_第3页
第3页 / 共9页
电子温度计设计与调试实验报告.docx_第4页
第4页 / 共9页
电子温度计设计与调试实验报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

电子温度计设计与调试实验报告.docx

《电子温度计设计与调试实验报告.docx》由会员分享,可在线阅读,更多相关《电子温度计设计与调试实验报告.docx(9页珍藏版)》请在冰豆网上搜索。

电子温度计设计与调试实验报告.docx

电子温度计设计与调试实验报告

黄淮学院综合实验报告

单片机课程设计

学生姓名:

学号:

所在院(系):

电子科学与工程系

班级:

电子科学与技术1201B班

专业:

电子科学与技术指导老师:

实验题目:

电子温度计设计与调试实验

、实验要求与目的

1、设计要求

1、了解一线总线技术在单片机系统中的应用。

2、熟悉数字温度传感器DS18B2(扩展接口和编程方法。

3、掌握单片机应用系统开发步骤和方法。

2、实验目的

(1)每隔1s,读取温度传感器数据,并转换结果从串口送到虚拟终端显示。

(2)设计一温度报警电路,当温度W20C或》28r时,有声、光、文字提示。

要求上限报警和下限报警具有明显的区别。

报警器件选择建议:

声-蜂鸣器;光-LED;文字-LED显示器或LCD显示器。

二、实验原理

实验电路原理图:

AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS位微处理

器,俗称单片机;8重达林顿反相驱动器ULN2803包含8个NPM±林顿管,是

种大功率驱动芯片,多用于智能仪器、PLG步进电机控制,具有工作电压高,

电路增益高,可以提供大功率负载的特点,适应于各种功率驱动电路;数码管显示模块能显示电机的转速和电机的运动趋势,方便直观。

软件主要模块流程图:

*

SKI檢骑Tr

、确Y

秽J輙丄uK琴

 

本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20乍为检测元件,测温范围为-55〜125C,最高分辨率可达0.0625C。

DS18B2(可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。

单片机89C52是本设计中的控制核心,是一个40管脚的集成芯片构成。

弓I脚部分:

单片机引脚基本电路部分与普通设计无异,40脚接VCC+5V,20脚接地。

XI,X2两脚接12MHZ勺晶振,可得单片机机器周期为1微秒。

RST脚外延一个RST复位键,一端通过10K电阻接Vcc,—端通过10K电阻接地。

AT89S52是一种低功耗、高性能的8位CMO微控制器,具有8K的可编程Flash存储器。

DS18B2(的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750msDS18B20测温

原理:

低温度系数晶振的振荡频率受温度影响很小。

四、实验内容

1、打开ISIS7Professional,参照按照实验要求设计仿真电路原理图。

2、编写程序实现:

DS18B20勺读写系统控制。

五、实验数据记录

开始时

调到10时

调到30时

调到60时

 

编写的程序如下:

#inelude

#ineludevintrins.h>

#defineucharunsignedchar#defineuintunsignedintsbitDQ=P2A7;

ucharT;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,0x7f,0x6f};

voiddelay1(uintz)

{

uintx,y;for(x=z;x>0;x--)

for(y=110;y>0;y--);

voiddelay(uintN)//廷迟时间为(24+N*16)us{

inti;

for(i=0;i

/**************************************************

voidinit()

{

bitflag=1;

while(flag)

{

while(flag)

{

DQ=1;

_nop_();

DQ=0;delay(50);

DQ=1;delay(3);

flag=DQ;

}

delay(10);flag=~DQ;

}

DQ=1;

}

/***********************************************

两个初始换都可以

/********************************************/voidinit()

{

DQ=1;

delay(0);

DQ=0;

delay(50);

//廷迟24+50*16=824us

DQ=1;

delay(3);

//48us

delay(10);

//184us

DQ=1;

voidwrite(uchardate){

uinti;

for(i=0;i<8;i++){

0001)

DQ=0;

DQ=date&0x01;

=00000001

//最低位移出最低位先写入//i=0:

DQ=(01010101&0000

低位1

delay

(2);

写入,i=1:

DQ=1;

date>>=1;

将0写入

//56us

即将最

//右移一位

 

ucharread()

{

uinti,value=0;

DQ=1;

_nop_();

for(i=0;i<8;i++)

{

value=value>>1;//15us之内必须读完一位DQ=0;

_nop_();

_nop_();

DQ=1;

_nop_();

_nop_();

if(DQ)value|=0x80;delay

(2);

DQ=1;

}return(value);

}

voiddisplay(ucharnum)

{

uchara,b;

a=num/10;

b=num%10;

//一个机器周期:

(1/11.0952(即晶振频率))*12=1.085us

//设i=0:

value=01010101>>1得到:

00101010

//读到的DQ=1,00101010I10000000=10101010//i=1:

value=01010101

//读到的DQ=0,value=01010101

//i=2:

value=00101010

//先读最低位

//56us

P0=table[a];

P2=0xfe;

delay1(5);

P2=0xff;

delay1(5);

P0=table[b];

P2=0xfd;delay1(5);

P2=0xff;

delay1(5);

}

ucharread_wen_du(){

 

}

voidmain()

{

while

(1)

{

ucharHB,LB,temp;

init();

//复位

write(0xcc);

//

跳过ROM即不必读64位序列号的

ROM

write(0x44);

//

启动温度转换

init();

write(0xcc);

//

跳过ROM即不必读64位序列号的1

write(0xbe);

//

读命令

LB=read();

//

低八位10111010

HB=read();

//

高八位11111010

HB=HB<<4;

//1011000

HB+=(LB&0XF0)>>4;

//

(LB&0xF0)=10110000>>4:

0000

1011

temp=HB;

returntemp;

//

返回温度值

1011

ROM

+HB:

1010

T=read_wen_du();display(T);

}

}

六、实验总结

通过本次试验我进一步了解了一线总线技术在单片机系统中的应用,

并熟悉了数字温度传感器DS18B2(扩展接口和编程方法。

同时掌握了

单片机应用系统开发步骤和方法。

然后利用其操作方法进行并完成了

电子温度计设计与调试实验。

七、实验心得

通过本次试验课,我们进一步熟悉了运用Proteus软件进行仿真调

试,使我对这个软件应用更加熟悉准确,使我掌握了在嵌入式试验中

仿真和调试的办法,以及最终实现实验的过程,并让我对Proteus这

个软件有了更深入的了解。

八、指导教师评语和成绩评定:

实验报告成绩:

指导教师签字:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1