




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1、总体设计11.1 课设任务11.2 小组成员及分工11.2.1 小组成员组成11.2.2 组员分工11.3 总体设计方案12、硬件设计22.1 热敏电阻温度传感器22.2 A/D转换器22.2.1 AD0809简介22.2.2 基于AD0809的数模转换电路32.2.3 模数转换单元电路的设计32.3 LED数码管显示原理42.4 AT89S52单片机53 软件设计83.1 模数转换83.2数码显示94、仿真及计算104.1 实验步骤104.2利用MATLAB对实验数据进行处理104.3 仿真公式124.4 结果分析125、心得体会136、参考文献14附录151、总体设计1.1 课设任务1了解热敏电阻的工作原理;2掌握热敏电阻调理电路和AD转换;3了解非线性特性和其校正方式; 4使用单片机读取转换值并显示。本课程设计使用热敏电阻为传感器,结合后端处理电路和AD转换器,并用AT89C51单片机获取数据,测得温度数码管显示出来。1.2 小组成员及分工1.2.1 小组成员组成组长:黄波组员:华林峰、黄奔涛、柯良1.2.2 组员分工当我们拿到这个课题“热敏电阻及温度测试系统”后,首先全组人员开了一个小的讨论会,大家都提出了自己的想法,然后根据课程设计的任务要求进行了明确的分工:组长黄波负责系统的总体的设计和程序的编写;黄奔涛主要负责上网查找相关热敏电阻传感器和AD0809数模转换器的工作原理;华林峰负责对设计过程中实验数据的记录并利用MATLAB软件对实验数据进行处理;柯良则负责文字的处理,撰写课程设计报告;然后,大家一起对热敏电阻调理电路和AD转换进行学习研究,并进行软件的调试;最终实现了课程设计的任务要求,达到了胥老师所预期的结果及“热敏电阻传感器将采集到的电压信号经过AD0809模数转换器将模拟信号转换为数字信号并在单片机上显示当前的温度值。1.3 总体设计方案图1-1 设计方案图首先通过热敏电阻进行温度采集,然后利用AD0809芯片进行A/D模数转换,再经过AT89C51芯片进行处理,最后通过LED数码管显示温度。2、硬件设计2.1 热敏电阻温度传感器晶体二极管或三极管的PN结电压是随温度变化的。如硅管的PN结的结电压在温度每升高1时,下降约2.2mV,利用这种特性可做成各种各样的PN结温度传感器。它具有线性好、时间常数小(0.22秒)。灵敏度高等特点,测温范围为-50+150。所需器件及模块:+5V直流固定电源、0-2V数显电压表、9号温度传感器特性实验模块、PN结温度传感器2.2 A/D转换器2.2.1 AD0809简介A/D转换的好与坏直接关系到整个系统的精确度。由于本系统测量的是温度信号,响应时间长,滞后大,不要求快速转换,因此选用8位串型A/D转换器ADC0809。 能达到设计的基本要求。为进一步提高精度,可以直接采用12位A/D转换器,也可以采用过采样和求均值技术来提高测量分辨率。本系统采用了求平均值来提高分辨率。因为8位ADC0809其性价比更高,更重要的是我对ADC0809更加了解(课本上学的就是ADC0809),所以本次设计我选用了ADC0809作为模数转换器。AD0809芯片图如图2-1所示:图2-1 AD0809芯片2.2.2 基于AD0809的数模转换电路本设计中试验箱内部基于AD0809的模数转换电路图,本电路能将采集到的模拟信号(电压信号)转换为数字信号,如图2-2所示图2-2 模数转换电路图2.2.3 模数转换单元电路的设计图2-3 A/D转换电路接线原理图由图2-3可以看出A、B、C都接地(都为0),故信号输入口选IN0,其空间地址为7FF8H。实验只有IN0端口,输出端口地址取决于片选A/D_CS所接片选端得段地址,片选将于第四章讲述。ADC0809是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。2.3 LED数码管显示原理本课程设计中采用的是动态显示驱动的方法实现热敏电阻测温显示系统。LED数码管位选地址为0X002H,本课程设计中采用的片选为CS1,因此,LED数码管位选地址为09002H。而关于数码管的八段二进制编码存放在0X004H中,即09004H。本课程设中不使用按键部分。下面是数码管显示电路图图2-4显示电路图经过单片机P0输出的八位二进制码,变换成BCD码,在数码管上显示。经过段选信号和位选信号的控制,最后在相应数码管上显示出相应的温度值。2.4 AT89S52单片机本实验采用AT89S52单片机,其管脚图如下: 图2-5 AT89S52管脚图 其管脚功能如下:VCC:AT89S52电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为Program Store Enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0(P0.0P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0A7,再配合端口2所送出的A8A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3 软件设计3.1 模数转换图3-1 模数转换流程图(1)AD0809 内部带有输出锁存器,可以与AT89C51 单片机直接相连。(2)初始化时,使ST 和OE信号全为低电平。(3)送要转换的哪一通道的地址到A,B,C 端口上。(4)在ST 端给出一个至少有100ns 宽的正脉冲信号。(5)是否转换完毕,我们根据EOC 信号来判断。(6)当EOC变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。3.2数码显示图3-2 数码显示流程图LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。 透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。4、仿真及计算4.1 实验步骤a.9号模块接入15V、+5V电源(接到9号模块的+6V插孔),将PN结温度传感器接入对应接口。b.PN结传感器输出端接至数显表的输入端。打开实验台电源开关,打开加热源电源开关,将PN结传感器的探头放入热源箱内,加热过程中记录电压值,填入下表。表4-1 温度变化与电压的关系表T()40455055606570758085V(mV)10569007906905805384904103503004.2利用MATLAB对实验数据进行处理我们把下面这组数据输入MATLAB中,按下回车键得到,图4-1温度变化与电压的关系曲线。x=40455055606570758085;y=1056900790690580538490410350300;plot(x,y)图4-1 温度变化与电压的关系曲线再在MATLAB中输入以下程序: xmean=mean(x);ymean=mean(y);sumx2=(x-xmean)*(x-xmean);sumxy=(y-ymean)*(x-xmean);a=sumxy/sumx2; %解出直线斜率ab=ymean-a*xmean;%解出直线截距bm=(a*(x(1,10)+b-(y(1,10)/(y(1,10);%“10”是自变量的个数,z为非线性误差(即线性度)figure %用红色绘制拟合出的直线px=linspace(0,85,150);%(linspace语法(从横坐标负轴起点0画到横坐标正轴终点5,150等分精度)py=a*px+b;plot(px,py,r); hold on plot(x,y,b*) %hold on %plot(x,y,k-)title(热敏电阻及测温系统数据分析)xlabel(温度T());ylabel(电压U(V));图4-2通过MATLAB修正后温度与电压的关系曲线4.3 仿真公式我们将测量的数据输入MATLAB软件中,得到了温度变化与电压之间的函数关系,通过这个函数,我们可以看出温度变化与电压之间存在着一定的线性关系。 U=-0.8125*T+338.69 (4-3)4.4 结果分析本课程设计“热敏电阻及测温系统”,通过实验调试,我们得到了如下图4-3所示的实验结果。智能温度控制仪设置的温度是60度,通过热敏电阻传感器将温度信号转换为电压信号,电压信号通过AD0809模数转换器转换为数字信号,并通过单片机程序在数码管上显示当前的温度值65度,不过存在一定的误差。图 4-3 实验结果5、心得体会通过这次对热敏电阻测温显示系统的设计,将所学的单片机,汇编语言,电路,数字电子技术,电路设计,传感器等学科的理论知识与实践相结合,而且更加深刻的体会到了实际中电路设计及软件设计与理想情况下的差别,为了让自己的设计更加完善,更加符合工程标准,并得到更好的仿真结果,我们去网上查找各种相关的电路设计书,在电路尽量美观的基础上,不断的增强其实用性。虽然我们用的是实验箱,但也和理论上有很大的差别。一切都要有据可依.有理可寻。而且通过本次实训,结果并不像理论上推出的那样,存在各种各样的不理想。只有对程序进行更加深入的把握和对具体问题进行具体分析,才能理解试验中与软件中的联系与差别。虽然不是第一次做这方面的事情,但在整个课程设计的过程中仍遇到了一些问题。也看到了自己的不足之处。如理论知识不够扎实,分析提升程序的能力不足等。有时候虽然感觉理论上已经掌握,但在运用到实践的过程中还会遇到一些意想不到的困惑,通过上网查询资料,分析计算等将问题解决。通过这次设计我懂得了理论联系实践的重要性,发现了懂得了理论,并不代表精通运用。在整个设计中,由于水平有限,接触实践不够多难免会有错误,通过老师的批评指正,我们更好的了解到自己的不足,予以弥补。6、参考文献1 宋彩利,单片机原理与C51编程,西安交通大学出版社2 梁森等,自动检测技术与应用,机械工业出版社3 网昌明,传感与测试技术,北京航空航天大学出版社4 周杏鹏,传感器与检测技术,清华大学出版社5 沙占友,智能化集成温度传感器原理及应用,机械工业出版社附录#include#include#include#define uchar unsigned char#define com8155 XBYTE0xff20/*8155控制字*/#define pa8155 XBYTE0xff21/*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同范例之广州二手房购房合同
- 二零二五版双方出轨感情破裂离婚协议书
- 全新技术转让合同范例二零二五年
- 二零二五版全新土地分户协议书
- 汽车个人车辆抵押借款合同
- 眼科用药知识培训课件
- 二零二五版电影赞助合同范例
- 2024年食品安全员考试防坑指南:试题及答案
- 2024园艺师考试工程技术试题及答案
- 买羊合同样本
- 合同管理知识培训课件
- 2025年-浙江建筑安全员A证考试题库附答案
- 2025届山西省高三一模地理试题(原卷版+解析版)
- 八下历史第三单元大单元教学设计
- 2024年电信销售员工年终总结
- 2025年度执业药师职务聘用协议模板
- Unit3 Weather Part A(说课稿)-2023-2024学年人教PEP版英语四年级下册
- 《明清家居家具设计》课件
- 2-山东工业技师学院申报国家级高技能人才培训基地项目申报书
- GA/T 2144-2024法庭科学涉火案件常见助燃剂及其残留物检验技术导则
- 常用消毒剂的分类、配制及使用课件演示幻灯片
评论
0/150
提交评论