电子设计竞赛通信选拔题目XXXX_第1页
电子设计竞赛通信选拔题目XXXX_第2页
电子设计竞赛通信选拔题目XXXX_第3页
电子设计竞赛通信选拔题目XXXX_第4页
电子设计竞赛通信选拔题目XXXX_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子设计竞赛题目简易数字温度计设计一个简易数字温度计(不得使用专门的温度传感器,比如DS18B20,可以使用热敏电阻或热电偶),能够实时采集环境温度并通过数码管或LCD显示;温度测量误差≤0.5℃;能够通过按键设置一个温度范围,实际测量温度小于或大于该范围时有报警提示,报警方式自定。温度设置范围自定,但是所设置的温度范围必须能够演示;提高温度测量精度,测量误差≤0.1℃;报告。通过A/D转换吧电压转换成数字型号;在用软件计算出此时的温度数显温度计的设计与制作欧伟民低温的测量常采用具有玻璃外壳的酒精温度计和水银温度计,这类温度计具有价格低廉、性能稳定、直观性强的优点,但也具有易破碎且只能在现场观察的缺点,水银温度计还易造成污染而有害健康。目前,应用最为广泛的是温度敏感元件和二次仪表的组合,既可用于远程显示,也可进行调节控制,还可做到自动记录。常用的温度敏感元件有热电偶、热电阻、二极管、IC温度传感器等。本文介绍的数显温度计是以半导体二极管作为温度传感器的数字显示温度计,其测温范围为-50℃~+150℃,测温精度达0.1℃。一、测温探头工作原理在附图所示电路中,电阻R1~R3、二极管VD1~VD3、三极管V1构成温度传感器电路。其中,VD1、VD2串接作为测温探头;R1~R3、VD3、V1构成恒流源电路,给测温探头提供恒定的正向电流。大家知道,半导体二极管的正向压降决定于正向电流的大小和温度,当正向电流一定时,正向压降随温度的升高而下降。对于普通的硅二极管1N4148而言,具有约-2?1mV/℃的温度系数,当两个1N4148串接时,总的正向压降与温度的关系约为-4?2mV/℃。理论和实践都已证明,在-50℃~+150℃的范围内,二极管的测温精度可达±0?1℃,与其他温度传感器比较,二极管温度传感器具有灵敏度高、线性好、简便的特点,而且当二极管的正向电流和温度一定的情况下,其正向压降是非常稳定的。通过计算可以知道,恒流源提供给VD1、VD2的恒定电流约为0?5mA。二极管VD3起温度补偿作用,保证恒流源能提供稳定的电流。二、测量显示原理测量探头把待测温度转换为相应的电压后,因为要实现温度的数字显示,就必须有模拟/数字转换装置。在附图中,IC1、IC2、IC3及其周围元件构成A/D转换、数字显示电路,这一部分电路以美国Motorola公司生产的A/D转换器MC14433为核心。MC14433是单片CMOS3位双积分型A/D转换器,该A/D转换器转换精度高,达±0?05%±1字;转换速率为2~25次/秒;输入阻抗大于1000MΩ;外围元件少,电路结构简单;量程为1?999V和199?9mV两挡;输出8421BCD代码,经译码后实现LED动态扫描显示。MC14433的第2脚为外接基准电压Vref输入端;第3脚为被测电压Vin输入端;第1脚为模拟地,此端为高阻输入端,是被测电压和基准电压的地;第{15}脚为过量程输出标志端OR,平时OR为高电平,当|Vin|>Vref即超过量程时,OR为低电平。被测电压Vin与基准电压Vref成下列比例关系(当小数点定位于4个LED数码管的十位数时):输出读数=×199?9在附图中,IC2(译码器MC14511)把IC1(MC14433)输出的BCD码译成十进制数显示,因为MC14433以扫描方式输出数据,所以只需要用一个译码器就能驱动4只共阴极LED数码管,其中千位数的数码管(最左边一个LED数码管)只接b、c两段。4只LED数码管的公共阴极分别由IC3(MC1413)中的4个达林顿复合晶体管驱动。负号由千位数的LED数码管之“g段”来显示,显示负号的“g段”由MC14433的Q2控制,当输入负电压时(对应温度为0℃以下),Q2=“0”,显示负号的“g段”通过R15点亮;当输入正电压时(对应温度为0℃以上),Q2=“1”,使MC1413的另一个达林顿复合晶体管把流过R15的电流旁路到地,使显示负号的“g段”熄灭。小数点固定在十位数的LED数码管,通过R16给小数点“dp”提供电流,使小数点“dp”点亮。在附图中,设置电位器RP1和RP2,其中RP1用于调节沸点(100℃);RP2用于调节冰点(0℃)。整个电路的直流电源由IC4(LM7809)提供,直流电源电压为+9V。三、元器件选择IC1为MC14433,可直接代换的有TSC14433、TC14433、5G14433等。IC2为七段译码/驱动CMOS数字逻辑电路,可选用MC14511、HD14511、CD4511等。IC3为七路达林顿复合晶体管,可选用MC1413、5G1413、ULN2003等。其他元器件按图示进行选择即可。四、制作电路很简单,便于在业余条件下制作。因为MC14433和MC14511是CMOS集成电路,且最多只有24个引脚,所以宜使用IC插座。先焊接好IC插座和其他元器件后,再将MC14433、MC14511、MC1413插入到相应的IC插座上即可。五、调试方法焊接、安装好电路后,该数显温度计需要经过调试方可正常使用。调试前,先准备好0℃的冰水和100℃的沸水各1000ml。调试步骤如下:(1)将RP1调到最上端,使Vref为最高电压,把二极管测温探头置于0℃的冰水中,调节RP2,使四只LED数码管显示的读数为“00.0”。(2)将二极管测温探头置于100℃的沸水中,调节RP1,使得四只LED数码管显示的读数为“100.0”,且IC1(MC14433)的第{15}脚OR为高电平。经上述调试后,该数显温度计就可以正常工作了,其测温范围是-50~+150℃。该数显温度计的测温范围仅受二极管测温探头的限制,若改用其他的温度传感器,则无需变动附图所示电路的其他部分,就可获得不同测温范围的数显温度计。▲我五年前按照这图纸做的电路,但没有成功,显示的数字在不断的跳,不稳定在一个数值上,不知是什么原因,因为其中考虑更换MC14433,但我那的价格要30元贵啊,如果不是这个问题我就不知道怎么办了。首先电路安装正确,其余MC1413和MC14511已更换多次没用,请高手指教。1.DS18B20基本知识DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。1、DS18B20产品的特点(1)、只要求一个端口即可实现通信。(2)、在DS18B20中的每个器件上都有独一无二的序列号。(3)、实际应用中不需要外部任何元器件即可实现测温。(4)、测量温度范围在-55。C到+125。C之间。(5)、数字温度计的分辨率用户可以从9位到12位选择。(6)、内部有温度上、下限告警设置。2、DS18B20的引脚介绍TO-92封装的DS18B20的引脚排列见图1,其引脚功能描述见表1。(底视图)图1表1DS18B20详细引脚功能描述边序号句名称膀引脚袄功能榆描述扎1荒GN新D匙地信秆号秩2量DQ欧数据叶输入岔/劈输出列引脚粪。开冲漏单栏总线誓接口伞引脚酸。当寻被用析着在峡寄生任电源涛下,容也可左以向稀器件跟提供牢电源犁。央3兼VD院D值可选美择的成VD凳D富引脚精。当持工作浙于寄诸生电上源时罩,此告引脚暂必须固接地恭。3.DS18B20的使用方法由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。4.实验任务用一片DS18B20构成测温系统,测量的温度精度达到0.1度,测量的温度的范围在-20度到+100度之间,用8位数码管显示出来。5.电路原理图6.系统板上硬件连线(1).把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“动态数码显示”区域中的ABCDEFGH端子上。(2).把“单片机系统”区域中的P2.0-P2.7用8芯排线连接到“动态数码显示”区域中的S1S2S3S4S5S6S7S8端子上。(3).把DS18B20芯片插入“四路单总线”区域中的任一个插座中,注意电源与地信号不要接反。(4).把“四路单总线”区域中的对应的DQ端子连接到“单片机系统”区域中的P3.7/RD端子上。7.C语言源程序#include#includeunsignedcharcodedisplaybit[]={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};unsignedcharcodedisplaycode[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x00,0x40};unsignedcharcodedotcode[32]={0,3,6,9,12,16,19,22,

25,28,31,34,38,41,44,48,

50,53,56,59,63,66,69,72,

75,78,81,84,88,91,94,97};unsignedchardisplaycount;unsignedchardisplaybuf[8]={16,16,16,16,16,16,16,16};unsignedchartimecount;unsignedcharreaddata[8];sbitDQ=P3^7;bitsflag;bitresetpulse(void){

unsignedchari;

DQ=0;

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

DQ=1;

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

return(DQ);

for(i=200;i>0;i--);}voidwritecommandtods18b20(unsignedcharcommand){

unsignedchari;

unsignedcharj;

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

{

if((command&0x01)==0)

{

DQ=0;

for(j=35;j>0;j--);

DQ=1;

}

else

{

DQ=0;

for(j=2;j>0;j--);

DQ=1;

for(j=33;j>0;j--);

}

command=_cror_(command,1);

}}unsignedcharreaddatafromds18b20(void){

unsignedchari;

unsignedcharj;

unsignedchartemp;

temp=0;

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

{

temp=_cror_(temp,1);

DQ=0;

_nop_();

_nop_();

DQ=1;

for(j=10;j>0;j--);

if(DQ==1)

{

temp=temp|0x80;

}

else

{

temp=temp|0x00;

}

for(j=200;j>0;j--);

}

return(temp);}voidmain(void){

TMOD=0x01;

TH0=(65536-4000)/256;

TL0=(65536-4000)%6;

ET0=1;

EA=1;

while(resetpulse());

writecommandtods18b20(0xcc);

writecommandtods18b20(0x44);

TR0=1;

while(1)

{

;

}}voidt0(void)interrupt1using0{

unsignedcharx;

unsignedintresult;

TH0=(65536-4000)/256;

TL0=(65536-4000)%6;

if(displaycount==2)

{

P0=displaycode[displaybuf[displaycount]]|0x80;

}

else

{

P0=displaycode[displaybuf[displaycount]];

}

P2=displaybit[displaycount];

displaycount++;

if(displaycount==8)

{

displaycount=0;

}

timecount++;

if(timecount==150)

{

timecount=0;

while(resetpulse());

writecommandtods18b20(0xcc);

writecommandtods18b20(0xbe);

readdata[0]=readdatafromds18b20();

readdata[1]=readdatafromds18b20();

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

{

displaybuf[x]=16;

}

sflag=0;

if((readdata[1]&0xf8)!=0x00)

{

sflag=1;

readdata[1]=~readdata[1];

readdata[0]=~readdata[0];

result=readdata[0]+1;

readdata[0]=result;

if(result>255)

{

readdata[1]++;

}

}

readdata[1]=readdata[1]<<4;

readdata[1]=readdata[1]&0x70;

x=readdata[0];

x=x>>4;

x=x&0x0f;

readdata[1]=readdata[1]|x;

x=2;

result=readdata[1];

while(result/10)

{

displaybuf[x]=result;

result=result/10;

x++;

}

displaybuf[x]=result;

if(sflag==1)

{

displaybuf[x+1]=17;

}

x=readdata[0]&0x0f;

x=x<<1;

displaybuf[0]=(dotcode[x]);

displaybuf[1]=(dotcode[x])/10;

while(resetpulse());

writecommandtods18b20(0xcc);

writecommandtods18b20(0x44);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论