AT89C51温度传感器设计_第1页
AT89C51温度传感器设计_第2页
AT89C51温度传感器设计_第3页
AT89C51温度传感器设计_第4页
AT89C51温度传感器设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、电子系统综合设计报告 姓名: 学号:专业:日期:2011-4-13南京理工大学紫金学院电光系摘要 本次课程设计目的是设计一个简易温度控制仪,可以在四联数码管上显示测得的温度。主要分四部份电路:OP07放大电路,AD转换电路,单片机部分电路,数码管显示电路。设计文氏电桥电路,得到温度与电压的关系,通过控制电阻值改变温度。利用单片机将现在温度与预设温度进行比较,将比较结果在LED数码管上显示,同时实现现在温度与预设温度之间的切换。关键词 放大电路 转换电路 控制电路 显示 电子系统综合设计报告字体 第 29 页 共 29 页目录 1 引言411 系统设计41.1.1 设计思路41.1.2 总体方案

2、设计42 单元模块设计52.1 各单元模块功能介绍及电路设计52.1.1 温度传感器电路的设计52.1.2 信号调理电路的设计52.1.3 A/D采集电路的设计52.1.4 单片机电路62.1.5 键盘及显示电路的设计62.1.6 输出控制电路的设计62.2元器件的选择62.3特殊器件的介绍72.3.1 OP07A72.3.2 ADC080972.3.3 ULN200392.3.4 四联数码管(共阴)92.4各单元模块的联接103.1开发工具及设计平台113.1.1 Proteus特点113.1.2 Keil特点113.1.3 部分按键124 系统测试165 小结和体会196 参考文献201

3、引言电子系统设计要求注重可行性、性能、可靠性、成本、功耗、使用方便和易维护性等。总体方案的设计与选择:由技术指标将系统功能分解为:若干子系统,形成若干单元功能模块。单元电路的设计与选择:尽量采用熟悉的电路,注重开发利用新电路、新器件。要求电路简单,工作可靠,经济实用。11 系统设计1.1.1 设计思路本次实验基于P89L51RD2FN的温控仪设计采用Pt100温度传感器。1.1.2 总体方案设计热敏电阻测温调理电路设定输入单片机LED显示控制输出双向可控硅继电器控制对象风扇信号调理电路A/D采集电路加热丝传感器设计要求1.采用Pt100温度传感器,测温范围 -20 -100;2.系统可设定温度

4、值;3.设定温度值与测量温度值可实时显示;4.控温精度:±0.5。2 单元模块设计 2.1 各单元模块功能介绍及电路设计2.1.1 温度传感器电路的设计实现温度T和电阻R的对应关系。电桥中R1=R2=R3=200=R,R4为温度传感器,温度变化,导致电桥的一个桥臂上的电阻也就是R4的阻值变化。2.1.2 信号调理电路的设计实现将温度T 和电阻R的对应关系转化为温度T 和电压V的对应关系。利用电桥的原理,R4的阻值变化使电桥两点的电位差改变,此两点作为运算放大器的两个输入。2.1.3 A/D采集电路的设计实现启动、等待、采集数据。信号调理电路的输出接0809的IN0。0809的ALE的

5、START连接,单片机的P2.7和WR或非后接0809的START,P2.7和RD或非后接0809的OE。START脉冲来,A/D转换开始,以EOC作为转换完成的标志使用的是等待方式,所以EOC未连接。2.1.4 单片机电路 最小系统。2.1.5 键盘及显示电路的设计实现键盘数据输入和温度显示。利用四联数码管显示三位的温度值和一个C代表显示的是温度。两个键盘按键调整预设温度的高低。2.1.6 输出控制电路的设计I/O驱动、继电器、指示灯、负载。测得的温度值高于预设温度,红灯亮,低于则绿灯亮:接两个发光二极管。2.2元器件的选择1. P89L51RD2FN2. AD08093. OP07A4.

6、MAX2325. 驱动器ULN20036. 四联数码管MT0546AR7. 继电器HRS2H-S-DC5V-N8. 发光二极管(红、绿色)9. 三极管 9012(PNP)、 9013(NPN)11. 面包板、连接线、插头座12. 周立功单片机实验箱13. 电阻200×3用于电桥,10k×2,20 k×2用于减法器2.3特殊器件的介绍2.3.1 OP07A OP07引脚图OP07A的特点: 超低偏移: 150V最大 。 低输入偏置电流: 1.8nA 。 低失调电压漂移: 0.5V/ 。 超稳定,时间: 2V/month最大 高电源电压范围: ±3V至

7、77;22V2.3.2 ADC08091主要特性1)8路8位AD 转换器,即分辨率8 位。2)具有转换起停控制端。3)转换时间为100s。4)单个5V 电源供。5)模拟输入电压范围05V,不需零点和满刻度校准。6)工作温度范围为-4085 摄氏度。7)低功耗,约15mW。2内部结构ADC0809 是CMOS 单片型逐次逼近式AD 转换器,内部结构如图1322 所示,它由8 路模拟开关、地址锁存与译码器、比较器、8位开关树型DA 转换器、逐次逼近,寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与

8、TTL 兼容。IN0IN7:8 路模拟电压输入端,用与输入被转换的模拟电压。D0D7:A/D 转换后的数据输出端,与单片机的P0 口相接。A、B、C:模拟通道地址选择端,A 为低位,C 为高位。3.A/D转换完成数据的输送A/D 转换后得到的是数字量的模拟量,这些数据应传诵给单片机进行处理。数据串的关键是如何确定A/D 转换完成。因为只有确定数据转换完成后,才进行传送。为此可采用以下三种方式:定时传送方式对于一种A时子程序。A/D 转换启动后,就调动这个子程序,延迟时间一到,转换肯定已经完成了。接着,就可以进行数据传送A/D 转换来说,转换时间作为一项技术指标是已知的和固定的。查询方式A/D

9、转换芯片表明有转换完成的状态信号,例如ADC0809 的E 端,因此可以通过查询方式用软件测试EOC的状态,即可知道转换是否完成,若完成,则接着进行数据传送。中断方式中断方式ADC0809与8031的中断方式接口电路只需将0809的EOC端经过一非门连接到8031的INTl 端即可。采用中断方式可大大节省CPU的时间,当转换结束时,EOC发出一个脉冲向单片机提出中断请求,单片机响应中断请求,由外部中断1 的中断服务程序读AD 结果,并启动0809的下一次转换,外部中断1 采用边沿触发方式。2.3.3 ULN2003ULN200A电路具有以下特点: 1电流增益高(大于1000);2带负载能力强(

10、输出电流大于500mA);3温度范围宽(-4085);4工作电压高(大于50V)。2.3.4 四联数码管(共阴) 四联数码管引脚图2.4各单元模块的联接2.4.1 模块连接键盘输入单片机四联数码管高于设定低于设定红灯亮绿灯亮集成运放OP07A/D0809共6个模块。模块1:信号调理电路:电桥+减法器模块2:A/D转换器ADC0809模块3:单片机89C51或P89L51RD2FN P0: AD数据采集;P1:数码管段选信号(a,b,c,d,e,f,g);P2.7: A/D的OE; P3.4 P3.5 :指示灯1,指示灯2 ; P2.0 P2.3 :数码管位选信号(1,2,3,4);INT0:

11、键+;INT1: 键-。模块4:键盘输入:连接单片机的两个外部中断。模块5:共阴四联数码管:位选P2.0 P2.3,段选P1。模块6:控制输出:接两个指示灯。3 软件设计3.1开发工具及设计平台3.1.1 Proteus特点1.Proteus软件提供数千种元器件和多达30多个元件库。2.在Proteus软件中,理论上同一种仪器可以在一个电路中随意的调用。 3.除了现实存在的仪器外,Proteus还可以以图形的方式实时地显示线路上变化的信号。4.虚拟仪器仪表具有理想的参数指标,可减少仪器对测量结果的影响。5.Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号

12、。3.1.2 Keil特点1.全功能的源代码编辑器;2.器件库用来配置开发工具设置;3.项目管理器用来创建和维护用户的项目;4.集成的MAKE工具可以汇编、编译和连接用户嵌入式应用;5.所有开发工具的设置都是对话框形式的;6.真正的源代码级的对CPU和外围器件的调试器;7.高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信。3.1.3 部分按键设定温度与实际温度间的切换 数据的显示 3.1.4 C代码编写#include<reg51.h>#include"absacc.h"bit flag;/采样标志unsigned cha

13、r countor;/定时器定时的循环标志unsigned char g,s,b,i;unsigned char Q=3,p=0;/设置预设温度unsigned char m,n;sbit P34=P34;sbit P35=P35;sbit P30=P30;/为蜂鸣器提供一定频率的方波void DisplaySecond(unsigned char s,b);/数码管显示函数的声明void delay(void);/延时函数的声明float a,result=0,result1=0,T;/*数码管动态显示*/unsigned char Tab= 0x3F, /"0" 0x0

14、6, /"1" 0x5B, /"2" 0x4F, /"3" 0x66, /"4" 0x6D, /"5" 0x7D, /"6" 0x07, /"7" 0x7F, /"8" 0x6F, /"9" 0x39, /"C" ; /*定时器T0定时*/void t0_ser() interrupt 1 using 1 TL0=0xF0; TH0=0xD8; P30=!P30;/蜂鸣器产生的方波 countor

15、+; if(countor=10) /循环10次达到定时0.1秒 countor=0;flag=1; /定时时间到,置采样标志为1,进行采样/*采样函数*/void samp() unsigned int c; XBYTE0x7FF8=0;/进行一个写操作,启动A/D转换 delay(); a=XBYTE0x7FF8;/将A/D转换的结果保存为变量a result=a*5/256;/将A/D 转换结果换算成十进制数 if(result>0.524&&result<1.940) T=10.3*result+9.35; else if(result>1.940&a

16、mp;&result<3.720) T=16.99*result-4.68; else if(result>3.720&&result<4.302) T=37.60*result-80.86;/把电压转换为温度 c=T; g=c/100;/显示温度的百位 s=c/10;/显示温度的十位 b=c%10;/温度的个位 m=Q*10+p;/预设温度 n=s*10+b;/实际温度 if(n>m) P35=1;P34=0; else P35=0;P34=1;/当实际温度大于预设温度时,红灯亮,反之绿灯亮/*外部中断0,预设温度加一*/void int0_s

17、er() interrupt 0 using 0 delay(); if(INT0=0) p+; if(p=10) Q+;p=0; for(i=0;i<50;i+) DisplaySecond(Q,p);/*外部中断1,预设温度减一*/void int1_ser() interrupt 2 using 2 delay(); if(INT1=0) p-; if(p=0) Q-;p=9; for(i=0;i<50;i+) DisplaySecond(Q,p);void main() TMOD=0x01;/定时器工作方式 TL0=0xF0; TH0=0xD8;/定时器初值 ET0=1;/

18、定时器中断开放 EA=1;/总允许 TR0=1;/启动定时器T0 EX1=1;/外部中断1开放 EX0=1;/外部中断0开放 PX0=1;/外部中断0优先级置高 PX1=1;/外部中断1优先级置高 IT0=1;/外部中断0为边沿触发方式 IT1=1;/外部中断1为边沿触发方式 while(1) if(flag) flag=0; samp();/采样标准为1时,调用采样函数进行采样 DisplaySecond(s,b); /延时函数 void delay(void) unsigned int j; for(j=0;j<100;j+); /数码管动态显示函数void DisplaySecon

19、d(unsigned char s,b) P2=0xf1;/数码管1亮 P1=Tab1g;/显示温度的百位 delay(); P2=0xf0; P2=0xf2;/数码管2亮 P1=Tab1s;/显示温度的十位 delay(); P2=0xf0; P2=0xf4;/数码管3亮 P1=Tab1b;/显示温度的十位 delay(); P2=0xf0; P2=0xf8;/数码管4亮 P1=0x39;/显示C delay(); P2=0xf0;4 系统测试4.1温度与电阻的关系:4.2温度与电压的关系:43温度分段与电压的拟合曲线:(11到24)44温度分段与电压的拟合曲线:(25到35)45温度分段与

20、电压的拟合曲线:(36到48)46温度分段与电压的拟合曲线:(49到64)47温度分段与电压的拟合曲线:(65到80)5 小结和体会+这次的电子系统综合设计在理论上不仅用到了单片机的知识,还用到了模电的知识。然而理论必须联系实际。在这次的元器件的选择上不仅考虑了其适用功能,还要考虑元件的适用环境。就像ULN2003APG是用来驱动四位共连数码管的位选与段选的:因为单片机出来的电流太小,就算能驱动数码管,但数码管的亮度会比较低。实践总是能帮助理论知识的学习。通过这次系统设计,我理解了一些以前在理论课上没有注意到的问题:1. A/D转换中XBYTE0x7ff8=0,这句程序是用来给单片机的WR口提

21、供信号,再通过或非门后将信号传给ADC0809的START端,用来启动A/D转换;2. 在单片机与A/D转换的连接方法上有了更多的了解。三种连接方式:中断方式、查询方式、延时等待。其中,中断方式为EOC接非门;查询方式为EOC接到单片机的任一接口,不断查询if(EOC=1);延时等待为EOC悬空,估计A/D转换的时间。3. 对一些管脚的认识更加深刻:OE=“1”时,读取信号;在平时OE为低电平;4. 继电器的连接与功能问题;通过这次系统设计,知道了许多设计系统的方法,熟悉了系统设计的一般步骤。在搭建电路后的原件选择上考虑的方面更加广了。设计程序时的思路也比以前更加宽了。在这次的设计中可以是预置

22、温度的显示更加人性化。在按键按一次后就显示预置温度,接着再按则开始加减预置温度;在调节预置温度时不要显示当前温度;等调节好后,再显示当前温度。6 参考文献1 胡宴如,耿苏燕. 模拟电子技术基础. 北京: 高等教育出版社, 2004. 213-216. 2 闫玉德,葛龙,俞虹. 单片机微型计算机原理与设计. 中国电力出版社,2010.112-154,197-199,. 3 朱蕴璞. 传感器原理与应用. 国防工业出版社. 4 黄锦安. 电路. 北京:机械工业出版社,2007. 附录:系统原理图:键盘输入单片机四联数码管高于设定低于设定红灯亮绿灯亮集成运放OP07A/D0809软件仿真图:信号调理电

23、路控制电路图 AD采集电路与单片机电路数码管显示图 系统连接图代码#include<reg51.h>#include"absacc.h"bit flag;/采样标志unsigned char countor;/定时器定时的循环标志unsigned char g,s,b,i;unsigned char Q=3,p=0;/设置预设温度unsigned char m,n;sbit P34=P34;sbit P35=P35;sbit P30=P30;/为蜂鸣器提供一定频率的方波void DisplaySecond(unsigned char s,b);/数码管显示函数的

24、声明void delay(void);/延时函数的声明float a,result=0,result1=0,T;/*数码管动态显示*/unsigned char Tab1= 0x3F, /"0" 0x06, /"1" 0x5B, /"2" 0x4F, /"3" 0x66, /"4" 0x6D, /"5" 0x7D, /"6" 0x07, /"7" 0x7F, /"8" 0x6F, /"9" 0x7

25、7, /"A" 0x7C, /"B" 0x39, /"C" 0x5E, /"D" 0x79, /"E" 0x71, /"F" ; /*定时器T0定时*/void t0_ser() interrupt 1 using 1 TL0=0xF0; TH0=0xD8; P30=!P30;/蜂鸣器产生的方波 countor+; if(countor=10) /循环10次达到定时0.1秒 countor=0;flag=1; /定时时间到,置采样标志为1,进行采样/*采样函数*/void s

26、amp() unsigned int c; XBYTE0x7FF8=0;/进行一个写操作,启动A/D转换 delay(); a=XBYTE0x7FF8;/将A/D转换的结果保存为变量a result=a*5/256;/将A/D 转换结果换算成十进制数 if(result>0.524&&result<1.940) T=10.3*result+9.35; else if(result>1.940&&result<3.720) T=16.99*result-4.68; else if(result>3.720&&result<4.302) T=37.60*result-80.86;/把电压转换为温度 c=T; g=c/100;/显示温度的百位 s=c/10;/显示温度的十位 b=c%10;/温度的个位 m=Q*10+p;/预设温度 n=s*10+b;/实际温度 if(n>m) P35=1;P34=0; els

温馨提示

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

评论

0/150

提交评论