




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理(单片机)课程设计报告2015-2016学年第一学期微机原理(单片机)课程设计总结报告项目名称:热敏电阻温度计A 班级: 姓名: 学号:微机原理(单片机)课程设计任务书项目名称:热敏电阻温度计A内容与要求: 上位机:完成界面设计与通讯程序(1)能够显示测得的温度值,当测得的温度值超出报警阈值,相应值后有提示文字ERR,能够显示AD转换的16进制数值。(2)能够设定报警温度阈值。(3)绘制变化曲线,时间轴单位2秒,温度精度0.5秒。(4)可以对串口进行设置。下位机:完成电路设计与控制程序(1)采用热敏电阻采集,通过AD转换为温度值,至少可测得0至50摄氏度。(2)通过串口与上位机通讯。(
2、3)当超出报警温度阈值时,蜂鸣器长音报警。(4)将当前测得温度值从左往右滚动显示在实验板自带LED数码管上,当超出报警阈值时,温度值后有提示文字ERR。项目组任务分担评价表姓名分担任务组内评价王昌浩下位机程序的编写,电路搭建与焊接,下位机串口通讯程序,LED显示模块设计与编程6姜云岱上位机温度显示及设定程序,串口通讯程序,文件保存程序,阈值设定程序4课程设计报告评分表内容总体方案硬件设计软件设计结果分析明细清单问题分析心得体会参考文献程序代码格式规范总分王昌浩姜云岱 24目录一、总体方案4二、硬件设计41.下位机42A/D转换芯片TLC154963.测温电路7三、软件设计81.上位机设计82.
3、下位机设计9四、结果分析或项目所实现的功能、指标9五、明细清单10六、设计调试中遇到的疑难问题及解决方法107、 心得体会与建议11参考文献12附录12一、总体方案整个系统分为上位机和下位机两个较为独立的子系统。关于下位机,我们采用林洋电子公司的51单片机底板搭载STC89C52芯片,外接热敏电阻搭建的电路,测温电路连接TLC1549 A/D转换芯片输出数字信号,实现通讯,并用芯片板上的LED数码管进行数据输出。关于上位机,我们采用Labview进行采集后数据的显示、图像的绘制和报警温度阈值的设置,通过串口与下位机通讯。热敏电阻测温TLC1549 10位模数转换器STC89C52RCRcA/D
4、转换值时钟信号LED数码管温度显示信息USB转串口芯片(上位机)Labview温度数据温度数据阈值设置阈值设置 图1-1 系统结构图二、硬件设计1、下位机(1)单片机示意图 图2-1 STC89C52RC单片机结构示意图1、STC89C52简介STC89C52芯片同属8051架构,也是应用最为广泛的一类微控制器,市场价格为5元一片。STC89C52芯片具有完整的系统的功能能够满足基本的嵌入式系统控制器要求。具有较高的性价比同时也是一款轻松上手容易学习的芯片。对于课程设计中要求的任务使用STC89C52芯片能够完全满足。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具
5、有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软
6、件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。2、 特性8K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;可直接使用串口下载;AT89S52单片机:8K字节程序存储空间;256字节数据存储空间;带有2KB的eeprom空间。有两个中断IO口有两个定时器2、A/D转换芯片TLC1549 图2-2 TLC1549的管脚示意图1、 芯片基本描述10 位分辨率的 A/D 转换器;内部取
7、样保持功能;总共不可调最大误差为±1LSB;片内系统时钟;引脚兼容 TLC549 和 TLV1549;COMS 工艺;TLC1549C、TLC1549I 和 TLC1549M 是一个 10 位开关电容器,逐次逼近型的 AD 转换器。这个芯片有 2 个数字输入端,1 个三态输出口(CS),1 个 I/O CLOCK 端口和 1 个数字输出端(DATA OUT),可以实现一个三总线接口到总控制器的串行口的数据传输。内部具有自动采样保持、 可按比例量程校准转换范围、 抗噪声干扰功能, 而且开关电容设计使在满刻度时总误差最大仅为±1 LSB ( 4.8 mV) , 因此可广泛应用于
8、模拟量和数字量的转换电路。3、引脚功能:ANALOG IN:模拟信号输入。电源阻抗应该小于 1K 欧。外部电源到该引脚的电流应大于10mA。CS:片选。CS 从高电平到低电平跳变可以复位内部计数器并在一个最大的启动时间加上两个内部时钟的下降沿时间内控制和使能 DATA OUT、I/O CLOCK。在一个启动时间加上两个内部时钟的下降沿时间内CS从低电平到高电平可以禁止I/OCLOCK。DATA OUT :当 CS 为高时 AD 转换结果为高阻抗,当 CS 为低时 AD 转换结果有效。在有效 CS信号下,该引脚输出值为上次转换结果的最高有效位(MSB)的数字量。在下一个时钟下降沿输出次高位数字量
9、,以此顺序输出直到第 9 个下降沿输出最低有效位(LSB),在第 10 个时钟下降沿,该引脚被拉低以确保串行数据口传输超过 10个时钟周期。GND :该引脚和内部电路的地相连,除非有特殊要求,所有的地都和该引脚相连。I/O CLOCK:输入/输出时钟口。该引脚作为串行时钟的输入口有以下三个功能:(1) 在第三个时钟下降沿时,模拟输入电压开始给阵列电容充电一直到第10 个时钟下降沿。(2) 之前转换结果的 9 个剩余位随着该引脚在 DATA OUT 引脚上逐位输出。(3) 在第 10 个时钟下降沿,该引脚可以控制转换结果传输到内部控制器。REF+ :正参考电压的值(通常接 VCC)接到 REF+
10、引脚上。最大输入电压的范围是 REF+电压和 REF-电压的差值。REF- - :负参考电压的值(通常接地)接到 REF-引脚上。VCC :正电源电压。根据上述信息与管脚图与程序设计,将TLC1549的5、6、7管脚分别连到单片机的P22、P21、P20。3、测温电路 将1个10千欧的电阻与热敏电阻串联分压,再将热敏电阻的电压值连接至TLC1549的ANALOG IN端,将模拟量转化为数字量,再由DATA OUT输出至单片机。三、软件设计1、上位机设计使用Labview按下图搭建实现功能。2、下位机设计 将热敏电阻与一个10K的电阻串联分压,再将热敏电阻的电压作为模拟输入给A/D转换器TLC1
11、549,把其输出连接到单片机。外部连线基本就这样,剩下的功能都由程序来实现。先将A/D转换后的电压值进行读取,通过设置两个显示函数来分别显示温度超过阈值时与未超过阈值时的示数,再通过数码管真值表并将ERR.也转换为16进制,设置4种与8种情况,分别为4位温度值(实际上温度精度为0.5度,3位数值与一位小数点)与4位显示ERR.,通过串口与上位机通讯,设置串口中断,上位机发送阈值给下位机,设置定时器中断,读取温度值,下位机将采集的数据送入上位机。STC80C52集成了串口通信模块。这里我们定义上位机与下位机之间的通信协议为:波特率9600bps,8位数据位,1位停止位,无奇偶校验。四、结果分析或
12、项目所实现的功能、指标根据任务书的要求,上位机能够实现温度的测定及温度曲线的绘制,能显示A/D转换的16进制数,能够设定温度阈值,如果测得温度超过阈值会显示ERR.在测得的温度值之后。根据任务书的要求,下位机的LED数码管能够从左往右滚动显示测得的温度值,如果温度超过阈值,温度后能显示ERR,并且蜂鸣器可以发出警报。五、明细清单物品型号数量价格热敏电阻B39501个0.19元电阻10K1个0.1元A/D转换器TLC15491块2元学习板一块30元六、设计调试中遇到的疑难问题及解决方法在调试运行过程中,我们发现Labview绘制温度曲线的时候,波形会发生突然消失的情况,刚开始以为是电路短路使得输
13、出值突变造成的,后经姚老师提醒,发现是电路板有一处虚焊造成的。另外,实验过程中,无论温度是多少,我们的蜂鸣器一直都会发出警报。经多次查找,并和同学交流后发现是中断部分有问题,后修改后实现正常功能。王昌浩同学:1、 在姜云岱同学焊接之后,发现有虚焊的地方,最后用吸锡器及电烙铁将其修正。2、 发现在最初编写的程序中,把蜂鸣器工作方式弄错了,其实是控制的是频率输入端,原先的程序中却误认为是高电平控制。姜云岱同学:1、 同时发现程序的问题,并一起改正。2、Labview即使内有Visa模板,但是也必须安装Visa驱动才能正常使用,不安装该驱动串口永远无法读取。8、 心得体会与建议 王昌浩同学:为期一个
14、星期的微机原理课程设计结束了,在此期间,在此课程中我们学到了很多。在大三上就接触了微机原理课程的硬件实验,这次课程设计的难度远比上次大,需要实现的功能更多,而且最主要的变化时需要自己去焊接电路,没有了实验箱,更加锻炼了我们的实际操作能力。虽说在大三的电子实习中锻炼过电焊技巧,但是在这次实验中,在焊接上还是出了点问题,最后有一处虚焊了,是在TLC1549接地线的位置,导致最后有很小的几率会出现采集的波形出现断层,数码管上显示的温度数值会很高。最后是经过老师的帮助,排查后我们发现了这个问题。造成这个问题的主要原因,我个人认为是电烙铁的尖会有黑色的氧化层,十分影响焊接,事实上把氧化层小心刮掉即可。在
15、实际操作中,我们的动手操作能力又提升了一步,同时也会在硬件方面寻找问题,排查问题。在下位机程序中,我们也出了个小问题。在我们我们发现蜂鸣器都可以从学习板上掉下来时,去老师那换了蜂鸣器,但是之后在调试中仍然会一直发出响声,我们排查了程序,经过同学的帮助,发现了,然后将其改正后达到了任务书上的个要求。 经过这次非常完整的一次微机原理课程设计,我对硬件跟计算机(微机)的连接有了很深刻的认识,让我知道如何去做,有个大概的方向,而不是需要按照实验步骤一步一步照着来那样。以往的实验是通过实验箱,早已与计算机连接调试好了的,这次几乎是自己从0完成的一次实验,除了学习板是现成以外,剩下的均是自己完成的。我个人
16、认为这点就非常符合课程设计的初衷了,比较考验我们自己动手的能力与设计能力,虽说所用到的芯片老师会直接给我们,却也锻炼了我们的实操能力。在原先学过微机原理这门课程的基础上,把枯燥抽象的理论知识转换为更加生动的实际结果,升华了这门课程中我们所学到的知识。在这次实验中,我们抽到的题目在硬件连线方面虽说比较简单,但是在编程过程中还是比较难一点的。所以,由此我又得出了每次课程设计中都会体会到的那句话实践出真理。同时,这次从课程设计让我对实验中的细节更加在意了,不仅是编程中,实际中也要注意,例如说虚焊等等小问题。 在建议方面,希望老师能对每个学习板的各个功能进行测试,判断其功能是否可用,比如说这次试验中我
17、们的蜂鸣器就出现了问题,蜂鸣器都没有固定在学习板上,很容易掉下来,再经过老师才换掉了蜂鸣器。而且应该对题目进行难度划分,有些同学的题目确实是比较难的,有些同学的题目又比较简单,所以应当分别对待。 我们在本次课程设计中收获颇多,受益匪浅。姜云岱同学:这次单片机课程设计让我收获很多,首先是团队合作方面。其实我们小组两个人关于这方面并不是很擅长,但是在一周的实验过程中,我们一起努力回忆、学习这方面的知识,经过不断讨论、反复调试,还有对其他同学的请教,最后成功地实现了任务书上要求的功能,感觉无论是从理论知识方面还是动手操作方面都进步很大。 这次实验我们也遇到了几处不小的问题。首先是程序的问题,在调试过
18、程中,我们的蜂鸣器一直发出响声,刚开始我们认为是连线错误或者是仪器问题,但检查后都一一排除了,最后请教了其他同学后发现是程序有问题,修改后蜂鸣器作用达到要求。在发现问题解决问题的过程中,我们不是像前几个学期刚开始做实验那样不知所措,而是考虑可能发生错误的地方逐个排查,这样效率也更高了。其次还有硬件的问题,在最后验收的时候我们出现了之前调试过程中没出现的问题,就是绘制的波形出现断层,经老师提醒后发现是虚焊造成的,因为电烙铁表面有氧化层,所以会影响焊接效果,有了这次经历,我们的实操能力也有所提升。 关于这个项目的展望,我个人觉得对于一个温度计,这些功能已经非常全面了,没有什么可以大改的地方。而且两
19、位老师在这一周的课程设计过程中,工作十分认真,同学有问题时能提供一些很有效的建议指导,给予了我们很大帮助。参考文献:单片机原理及应用(清华大学出版社)附录:#include"ad.h"/A/D转换部分u8 e;void read()/读取TLC1549转换过来的温度值 clock=1;ctrl=1;t=0;ctrl=0;for(e=0;e<10;e+)clock=0;t*=2;if(here) t+;/delayms(1);clock=1;ctrl=1; #ifndef _AD_H_#define _AD_H_#include<reg52.h>#inclu
20、de<stdio.h>#include"led.h"/extern u16 t;sbit ctrl=P22;/TLC1549的三个控制位sbit here=P21;sbit clock=P20;void read(); #endif#ifndef _LED_H_#define _LED_H_#include<reg52.h>#define u8 unsigned char#define u16 unsigned intextern u16 t;extern u8 s;extern u8 ss;void display(u8 h);void displ
21、ay_s(u8 s); void display_w(u8 h);void delayms(u8 ms); #endif#include"led.h"#include<reg52.h>sbit point=P07;u8 ms=3;u8 mms=3;u8 code num= /数码管真值表0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;u8 code err=0xff,0x86,0x88,0x88;void delayms(u8 s) /延时函数u8 i
22、,j;for(i=s;i>0;i-)for(j=80;j>0;j-);void display(u8 h)/未超过阈值时,LED显示函数,数码管共4位,从左往右滚动显示,4位均为温度值switch(s)case 0:P1=0xFE;P0=err0;delayms(mms);P1=0xFD;P0=numh0;delayms(mms);P1=0xFB;P0=numh1;point=0;delayms(mms);P1=0xF7;P0=numh2;delayms(mms);break;case 1:P1=0xFE;P0=numh2;delayms(mms);P1=0xFD;P0=err0;
23、delayms(mms);P1=0xFB;P0=numh0;delayms(mms);P1=0xF7;P0=numh1;point=0;delayms(mms);break;case 2:P1=0xFE;P0=numh1;point=0;delayms(mms);P1=0xFD;P0=numh2;delayms(mms);P1=0xFB;P0=err0;delayms(mms);P1=0xF7;P0=numh0;delayms(mms);break;case 3:P1=0xFE;P0=numh0;delayms(mms);P1=0xFD;P0=numh1;point=0;delayms(mms
24、);P1=0xFB;P0=numh2;delayms(mms);P1=0xF7;P0=err0;delayms(mms);break;default:break;void display_w(u8 h)/超过阈值时,LED显示函数,数码管共4位,从左往右滚动显示,前4位为温度值,后4位为ERR.switch(ss)case 0:P1=0xFE;P0=err0;delayms(ms);P1=0xFD;P0=numh0;delayms(ms);P1=0xFB;P0=numh1;point=0;delayms(ms);P1=0xF7;P0=numh2;delayms(ms);break;case 1
25、:P1=0xFE;P0=err3;delayms(ms);P1=0xFD;P0=err0;delayms(ms);P1=0xFB;P0=numh0;delayms(ms);P1=0xF7;P0=numh1;point=0;delayms(ms);break;case 2:P1=0xFE;P0=err2;delayms(ms);P1=0xFD;P0=err3;delayms(ms);P1=0xFB;P0=err0;delayms(ms);P1=0xF7;P0=numh0;delayms(ms);break;case 3:P1=0xFE;P0=err1;delayms(ms);P1=0xFD;P0
26、=err2;delayms(ms);P1=0xFB;P0=err3;delayms(ms);P1=0xF7;P0=err0;delayms(ms);break;case 4:P1=0xFE;P0=err0;delayms(ms);P1=0xFD;P0=err1;delayms(ms);P1=0xFB;P0=err2;delayms(ms);P1=0xF7;P0=err3;delayms(ms);break;case 5:P1=0xFE;P0=numh2;delayms(ms);P1=0xFD;P0=err0;delayms(ms);P1=0xFB;P0=err1;delayms(ms);P1=
27、0xF7;P0=err2;delayms(ms);break;case 6:P1=0xFE;P0=numh1;point=0;delayms(ms);P1=0xFD;P0=numh2;delayms(ms);P1=0xFB;P0=err0;delayms(ms);P1=0xF7;P0=err1;delayms(ms); break;case 7:P1=0xFE;P0=numh0;delayms(ms);P1=0xFD;P0=numh1;point=0;delayms(ms);P1=0xFB;P0=numh2;delayms(ms);P1=0xF7;P0=err0;delayms(ms);bre
28、ak;default:break;void display_s(u8 s)P1=0xF7;P0=s;delayms(20);#include<reg52.h>#include"led.h"#include"uart.h"#include"timer.h"#include"ad.h"u16 YZ;u16 x;u16 y;u8 z;u8 i;u8 f;u8 f_f;u16 t;u8 s;u8 ss;u16 t_now;u16 t_now_g;u8 t_cnt;u8 ff;double t_s;sbit be
29、ep=P15;u8 dat2;u8 ber4;u8 ber_s4;u8 ber_w4;u8 code str="shan"void fengming()/控制蜂鸣器蜂鸣函数 int i,j; for(i=0;i<5;i+) beep=beep; for(j=0;j<10;j+) ; void main()ff=0;/初始化f_f=0;t=0;s=0;ss=0;t_cnt=0;YZ=3500;uartInit();timerInit();EA=1;while(1)/程序主体,不断采集数据并显示出来/beep=0;/display(ber);if(f_f=1)/上位
30、机设置阈值ES=0;YZ=x*100+y*10+z;YZ*=10;f_f=0;ES=1;if(t_now>YZ)/如果超过阈值,就发出警报fengming();display_w(ber_w);elsedisplay(ber_s);return;void T0_time() interrupt 1/定时器中断,读取温度值TH0=(65536-45872)/256;TL0=(65536-45872)%256;t_cnt+;if(t_cnt%5=0)ss+;if(ss=8)ss=0;switch(ss)case 4:ber_w0=ber0;ber_w1=ber1;ber_w2=ber2;br
31、eak;case 5:ber_w2=ber2;break;case 6:ber_w2=ber2;ber_w1=ber1;break;case 7:ber_w0=ber0;ber_w1=ber1;ber_w2=ber2;break;default:break;if(t_cnt%10=0)s+;if(s=4)s=0;switch(s)case 0:ber_s0=ber0;ber_s1=ber1;ber_s2=ber2;break;case 1:ber_s2=ber2;break;case 2:ber_s2=ber2;ber_s1=ber1;break;case 3:ber_s0=ber0;ber_s1=ber1;ber_s2=ber2;break;default:break;if(t_cnt=4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火场创伤急救知识培训课件
- 高端水生产品(鱼、虾)品质评价标准研究-洞察及研究
- 知识型员工培训论文课件
- 知识在于积累培训内容课件
- 景观格局水文响应机制-洞察及研究
- 知识付费教育培训新规课件
- 知识付费培训讲师工资课件
- 2025年法律职业资格考试主观题试题及解答参考
- 铁总梁场试验培训课件
- 2025年安徽阜阳颍东区本区内农村学校选调教师考试笔试试题(附答案)
- 2025年6月黑吉辽蒙高考地理真题完全解读
- 2025年连云港市中考英语试卷真题(含答案解析)
- 《备课专业化》读书心得
- 口腔健康与全身系统性疾病关联机制
- 消防部队改革转隶课件
- 2025年安徽合肥包河区演艺集团有限责任公司招聘笔试参考题库含答案解析
- CJ/T 120-2016给水涂塑复合钢管
- T/CNIDA 010-2023核电厂建(构)筑物变形监测系统技术规程
- T/CECS 10214-2022钢面镁质复合风管
- 既有供暖蒸汽管网及设施改造项目建议书(参考范文)
- 公交从业人员考试试题及答案
评论
0/150
提交评论