您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 热敏电阻温度计A解读
微机原理(单片机)课程设计报告12015-2016学年第一学期微机原理(单片机)课程设计总结报告项目名称:热敏电阻温度计A班级:姓名:学号:微机原理(单片机)课程设计报告2微机原理(单片机)课程设计任务书项目名称:热敏电阻温度计A内容与要求:上位机:完成界面设计与通讯程序(1)能够显示测得的温度值,当测得的温度值超出报警阈值,相应值后有提示文字ERR,能够显示AD转换的16进制数值。(2)能够设定报警温度阈值。(3)绘制变化曲线,时间轴单位2秒,温度精度0.5秒。(4)可以对串口进行设置。下位机:完成电路设计与控制程序(1)采用热敏电阻采集,通过AD转换为温度值,至少可测得0至50摄氏度。(2)通过串口与上位机通讯。(3)当超出报警温度阈值时,蜂鸣器长音报警。(4)将当前测得温度值从左往右滚动显示在实验板自带LED数码管上,当超出报警阈值时,温度值后有提示文字ERR。项目组任务分担评价表课程设计报告评分表内容总体方案硬件设计软件设计结果分析明细清单问题分析心得体会参考文献程序代码格式规范总分王昌浩姜云岱姓名分担任务组内评价王昌浩下位机程序的编写,电路搭建与焊接,下位机串口通讯程序,LED显示模块设计与编程6姜云岱上位机温度显示及设定程序,串口通讯程序,文件保存程序,阈值设定程序4微机原理(单片机)课程设计报告3目录一、总体方案………………………………………………………………………………4二、硬件设计………………………………………………………………………………41.下位机…………………………………………………………………………………42.A/D转换芯片TLC1549…………………………………………………………………………63.测温电路………………………………………………………………………………7三、软件设计………………………………………………………………………………81.上位机设计……………………………………………………………………………82.下位机设计……………………………………………………………………………9四、结果分析或项目所实现的功能、指标………………………………………………9五、明细清单……………………………………………………………………………10六、设计调试中遇到的疑难问题及解决方法…………………………………………10七、心得体会与建议……………………………………………………………………11参考文献…………………………………………………………………………………12附录………………………………………………………………………………………12微机原理(单片机)课程设计报告4一、总体方案整个系统分为上位机和下位机两个较为独立的子系统。关于下位机,我们采用林洋电子公司的51单片机底板搭载STC89C52芯片,外接热敏电阻搭建的电路,测温电路连接TLC1549A/D转换芯片输出数字信号,实现通讯,并用芯片板上的LED数码管进行数据输出。关于上位机,我们采用Labview进行采集后数据的显示、图像的绘制和报警温度阈值的设置,通过串口与下位机通讯。图1-1系统结构图二、硬件设计1、下位机(1)单片机示意图热敏电阻测温TLC154910位模数转换器STC89C52RCRcA/D转换值时钟信号LED数码管温度显示信息USB转串口芯片(上位机)Labview温度数据温度数据阈值设置阈值设置微机原理(单片机)课程设计报告5图2-1STC89C52RC单片机结构示意图1、STC89C52简介STC89C52芯片同属8051架构,也是应用最为广泛的一类微控制器,市场价格为5元一片。STC89C52芯片具有完整的系统的功能能够满足基本的嵌入式系统控制器要求。具有较高的性价比同时也是一款轻松上手容易学习的芯片。对于课程设计中要求的任务使用STC89C52芯片能够完全满足。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。2、特性微机原理(单片机)课程设计报告68K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;可直接使用串口下载;AT89S52单片机:8K字节程序存储空间;256字节数据存储空间;带有2KB的eeprom空间。有两个中断IO口有两个定时器2、A/D转换芯片TLC1549图2-2TLC1549的管脚示意图1、芯片基本描述10位分辨率的A/D转换器;内部取样保持功能;总共不可调最大误差为±1LSB;片内系统时钟;引脚兼容TLC549和TLV1549;COMS工艺;TLC1549C、TLC1549I和TLC1549M是一个10位开关电容器,逐次逼近型的AD转换器。这个芯片有2个数字输入端,1个三态输出口(CS),1个I/OCLOCK端口和1个数字输出端(DATAOUT),可以实现一个三总线接口到总控制器的串行口的数据传输。内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能,而且开关电容设计使在满刻度时总误差最大仅为±1LSB(4.8mV),因此可广泛应用于模拟量和微机原理(单片机)课程设计报告7数字量的转换电路。3、引脚功能:ANALOGIN:模拟信号输入。电源阻抗应该小于1K欧。外部电源到该引脚的电流应大于10mA。CS:片选。CS从高电平到低电平跳变可以复位内部计数器并在一个最大的启动时间加上两个内部时钟的下降沿时间内控制和使能DATAOUT、I/OCLOCK。在一个启动时间加上两个内部时钟的下降沿时间内CS从低电平到高电平可以禁止I/OCLOCK。DATAOUT:当CS为高时AD转换结果为高阻抗,当CS为低时AD转换结果有效。在有效CS信号下,该引脚输出值为上次转换结果的最高有效位(MSB)的数字量。在下一个时钟下降沿输出次高位数字量,以此顺序输出直到第9个下降沿输出最低有效位(LSB),在第10个时钟下降沿,该引脚被拉低以确保串行数据口传输超过10个时钟周期。GND:该引脚和内部电路的地相连,除非有特殊要求,所有的地都和该引脚相连。I/OCLOCK:输入/输出时钟口。该引脚作为串行时钟的输入口有以下三个功能:(1)在第三个时钟下降沿时,模拟输入电压开始给阵列电容充电一直到第10个时钟下降沿。(2)之前转换结果的9个剩余位随着该引脚在DATAOUT引脚上逐位输出。(3)在第10个时钟下降沿,该引脚可以控制转换结果传输到内部控制器。REF+:正参考电压的值(通常接VCC)接到REF+引脚上。最大输入电压的范围是REF+电压和REF-电压的差值。REF--:负参考电压的值(通常接地)接到REF-引脚上。VCC:正电源电压。根据上述信息与管脚图与程序设计,将TLC1549的5、6、7管脚分别连到单片机的P2^2、P2^1、P2^0。3、测温电路将1个10千欧的电阻与热敏电阻串联分压,再将热敏电阻的电压值连接至TLC1549的ANALOGIN端,将模拟量转化为数字量,再由DATAOUT输出至单片机。微机原理(单片机)课程设计报告8三、软件设计1、上位机设计使用Labview按下图搭建实现功能。2、下位机设计将热敏电阻与一个10K的电阻串联分压,再将热敏电阻的电压作为模拟输入给A/D转换器TLC1549,把其输出连接到单片机。外部连线基本就这样,剩下的功能都由程序来实现。先将A/D转换后的电压值进行读取,通过设置两个显示函数来分别显示温度超过阈值时与未超过阈值时的示数,再通过数码管真值表并将ERR.也转换为16进制,设置4种与8微机原理(单片机)课程设计报告9种情况,分别为4位温度值(实际上温度精度为0.5度,3位数值与一位小数点)与4位显示ERR.,通过串口与上位机通讯,设置串口中断,上位机发送阈值给下位机,设置定时器中断,读取温度值,下位机将采集的数据送入上位机。STC80C52集成了串口通信模块。这里我们定义上位机与下位机之间的通信协议为:波特率9600bps,8位数据位,1位停止位,无奇偶校验。四、结果分析或项目所实现的功能、指标根据任务书的要求,上位机能够实现温度的测定及温度曲线的绘制,能显示A/D转换的16进制数,能够设定温度阈值,如果测得温度超过阈值会显示ERR.在测得的温度值之后。微机原理(单片机)课程设计报告10根据任务书的要求,下位机的LED数码管能够从左往右滚动显示测得的温度值,如果温度超过阈值,温度后能显示ERR,并且蜂鸣器可以发出警报。五、明细清单物品型号数量价格热敏电阻B39501个0.19元电阻10K1个0.1元A/D转换器TLC15491块2元学习板—一块30元六、设计调试中遇到的疑难问题及解决方法在调试运行过程中,我们发现Labview绘制温度曲线的时候,波形会发生突然消失的情况,刚开始以为是电路短路使得输出值突变造成的,后经姚老师提醒,发现是电路板有一处虚焊造成的。另外,实验过程中,无论温度是多少,我们的蜂鸣器一直都会发出警报。经多次查找,并和同学交流后发现是中断部分有问题,后修改后实现正常功能。王昌浩同学:1、在姜云岱同学焊接之后,发现有虚焊的地方,最后用吸锡器及电烙铁将其修正。2、发现在最初编写的程序中,把蜂鸣器工作方式弄错了,其实是控制的是频率输入端,原先的程序中却误认为是高电平控制。姜云岱同学:1、同时发现程序的问题,并一起改正。2、Labview即使内有Visa模板,但是也必须安装Visa驱动才能正常使用,不安装该驱动串口永远无法读取。微机原理(单片机)课程设计报告11八、心得体会与建议王昌浩同学:为期一个星期的微机原理课程设计结束了,在此期间,在此课程中我们学到了很多。在大三上就接触了微机原理课程的硬件实验,这次课程设计的难度远比上次大,需要实现的功能更多,而且最主要的变化时需要自己去焊接电路,没有了实验箱,更加锻炼了我们的实际操作能力。虽说在大三的电子实习中锻炼过电焊技巧,但是在这次实验中,在焊接上还是出了点问题,最后有一处虚焊了,是在TLC1549接地线的位置,导致最后有很小的几率会出现采集的波形出现断层,数码管上显示的温度数值会很高。最后是经过老师的帮助,排查后我们发现了这个问题。造成这个问题的主要原因,我个人认为是电烙铁的尖会有黑色的氧化层,十分影响焊接,事实上把氧化层小心刮掉即可。在实际操作中,我们的动手操作能力又提升了一步,同时也会在硬件方面寻找问题,排查问题。在下位机程序中,我们也出了个小问题。在我们我们发现蜂鸣器都可以从学习板上掉下来时,去老师那换了蜂鸣器,但是之后在调试中仍然会一直发出响声,我们排查了程序,经过同学的帮助,发现了,然后将其改正后达到了任务书上的个要求。经过这次非常完整的一次微机原理课程设计,我对硬件跟计算机(微机)的连接有了很深刻的认识,让我知道如何去做,有个大概的方向,而不是需要按照实验步骤一步一步照着来那样。以往的实验是通过实验箱,早已与计算机连接调试好了的,这次几乎是自己从0完成的一次实验,除了学习板是现成以外,剩下的均是自己完成的。我个人认为这点就非常符合课程设计的初衷了,比较考验我们自己动手的能力与设计能力,虽说所用到的芯片老师会直接给我们,却也锻炼了我们的实操能力。在原先学过微
本文标题:热敏电阻温度计A解读
链接地址:https://www.777doc.com/doc-7033699 .html