波形发生器课程设计模板.docx
《波形发生器课程设计模板.docx》由会员分享,可在线阅读,更多相关《波形发生器课程设计模板.docx(22页珍藏版)》请在冰豆网上搜索。
波形发生器课程设计模板
题目
波形发生器——题目一
内容及要求
进度安排:
1.布置任务、查阅资料、选择方案并仿真,领仪器设备:
5天;
2.领元器件、制作、焊接:
3天
3.调试+验收:
2天
4.提交报告:
2014-2015学年第一学期4~6周
学生姓名:
指导时间:
第1~4周
指导地点:
八大楼楼117室
任务下达
2014年9月1日
任务完成
2014年9月26日
考核方式
1.评阅□ 2.答辩□3.实际操作□ 4.其它□
指导教师
杨焱
系(部)主任
注:
1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要
温度的控制与采集在工业、农业、国防等各行业都有着广泛的应用,例如:
用于热处理的加热炉、温室、发酵缸等。
特别是单片机技术的温度控制与采集系统,不仅具有控制方便、简单灵活等特点,而且还可以大幅度提高被控温度的技术指标,从而大大提高产品的质量。
因而,单片机技术的温度控制与采集,正被广泛的应用。
本设计主要采用单片机技术并用小规模集成电路设计实现温度实时采集与控制。
根据模块化设计思想,本电路主要分为四大部分:
其一是测量放大电路模块,它主要由电桥和三运放差分放大电路实现;其二是A/D转换电路模块,主要使用ADC0804,A/D中速8位转换器实现模拟温度数字化;其三是51单片机控制模块,由STC单片机编程控制A/D转换、报警及温度显示;其四是报警电路模块,由PNP、继电器控制LED报警实现。
本设计最终实现了温度实时控制和采集,温度每变化一度,显示数据更新一次,温度的测量范围是0至255℃,并且当温度超过200℃时,LED灯亮,实现报警。
本次设计的是一个经济实用的温度控制与采集系统,为研发更精确,功能更强大的温度控制采集系统奠定了基础。
关键词:
单片机、控制与采集、报警、测量放大
(正文小四字体,图号表号按章编号,五号字体,模板如下)
目录
第一章绪论................................................1
1.1课题背景和研究意义...........................................1
1.2国内外发展状况...............................................1
1.3本设计主要研究内容...........................................2
第二章系统方案的选择与整体设计框架.....................3
2.1方案的拟定与选择.............................................3
2.2系统设计目标及要求...........................................8
2.3系统设计原理及整体框图.......................................8
第三章系统硬件电路设计...................................9
3.1测量放大电路设计.............................................9
3.2A/D转换电路设计.............................................10
3.3报警电路设计.................................................13
3.4单片机控制电路设计...........................................13
第四章系统软件设计.........................................16
4.1软件总体介绍.................................................16
4.2主要模块子程序...............................................17
第五章制作、调试及结果分析..............................19
5.1制作部分.....................................................19
5.2软件调试.....................................................19
5.3硬件调试.....................................................20
5.4整体调试.....................................................20
第六章总结...................................................22
6.1总结.........................................................22
6.2致谢.........................................................23
参考文献.......................................................24
附录一整体电路原理图.....................................28
附录三实物图...............................................29
附录四元器件清单..........................................30
第一章绪论
1.1课题背景和研究意义
二十一世纪是科技高速发展的信息时代,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量。
因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制和采集也成为了生活生产中频繁使用的词语,同时它们在各行各业中也发挥着重要的作用。
如在日趋发达的工业之中,利用测量与控制温度来保证生产的正常运行。
在农业中,用于保证蔬菜大棚的恒温保产等。
温度的控制与采集是工农业生产过程中一个很重要而普遍的参数。
温度的控制与采集对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。
因此,温度的控制与采集系统的设计和研究具有十分重要的意义。
1.2国内外发展状况
在温度的控制方面,国外对温度的控制技术研究较早,始于20世纪70年代。
先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。
80年代末出现了分布式控制系统。
目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。
我国对温度的控制技术研究较晚始于20世纪80年代。
我国工程技术人员在吸收发达国家温度控制技术的基础上,掌握了温度室内微机控制技术。
我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。
在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,还存在一定的差距。
在温度的采集方面,各国均取得了许多可喜的成果,其中前苏联的压石英频率温度计分辨能力可达0.0001摄氏度,而且在-40—230摄氏度范围内温度与频率的线性特性;我国生产的石英温度传感器分辨率达到0.0001摄氏度,误差在0.05摄氏度以内。
虽然温度的采集方法有很多种,例如:
热电偶温度采集系统、基于ARM核处理器的嵌入式网络温度传感器等,但在很多情况下,对于一些特殊条件的温度测量来讲,想要的到精确的结果并不容易,需要熟练掌握各种测量方法的原理及特点,同时结合设计要求才能完成。
与此同时,还需探究新的采集方
法,改进以前的技术,以满足不同条件下的温度采集需要。
1.3本设计主要研究内容
该课题研究的内容主要是单片机,单片机是微型计算机的一个重要分支,也是颇具生命力的机种。
目前单片机已广泛应用于各个领域,例如:
智能仪器、工业控制、家用电器、电子玩具等各。
这种将单片机嵌入到对象体系中的嵌入式系统已渗透到每个工厂、每个家庭和每个人的生活。
随着社会需求的不断增长,单片机的应用将会有着更广泛的和更稳定的市场。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
本设计主要采用单片机技术并用小规模集成电路设计实现温度的实时控制与采集。
根据模块化设计思想,本电路主要分为四大部分:
其一是测量放大电路模块,主要由电桥和三运放差分放大电路实现;其二是A/D转换模块,主要使用ADC0804,A/D中速8位转换器实现模拟温度数字化;其三是51单片机控制模块,由STC单片机编程控制AD转换及报警电路及温度显示;其四是报警电路模块,由PNP、继电器控制LED报警实现。
本设计最终实现了温度实时控制和采集,温度每变化一度,显示数据更新一次,温度的测量范围是0至255℃,并且当温度超过200℃时,LED灯亮,实现报警。
本次设计的是一个经济实用的温度控制与采集系统,为研发更精确,功能更强大的温度控制采集系统奠定了基础。
第2章系统方案的选择与整体设计框架
2.1方案的拟定与选择
(1)测量放大电路
方案一:
利用LM741组成两个反相放大器,第一个的放大倍数为20倍,第二个放大倍数为51倍,两个反相放大电路使得负向电压输出变成正向电压输出,其放大约为100倍,其具体的电路接法如图2.1。
图2.1反相放大与电压跟随器构成放大电路
方案二:
由三个运算放大器构成的测量放大电路。
放大器由二级串联,前级是两个同向放大器,对称结构,具有高抑制共模干扰和高输入阻抗。
后级是差分放大电路,将双端输入方式变换成单端输出方式,以适应对地负载的要求,如图2.2。
图2.2三运放差分放大电路
第三章系统硬件电路设计
3.1测量放大电路设计
本设计所采用的放大电路是三运放差分放大电路,由三个运算放大器构成的测量放大电路。
放大器由二级串联,前级是两个同向放大器,对称结构,具有高抑制共模干扰的能力和高输入阻抗。
后级是差分放大电路,切断共模干扰的传输,将双端输入方式变换成单端输出方式,以适应对地负载的要求,如图3.1所示。
图3.1测量放大电路
第四章系统软件设计
软件在硬件平台上构筑,完成各部分硬件的控制和协调。
系统功能是由硬件和软件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。
因此,软件是本系统的灵魂。
软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。
4.1软件总体介绍
本设计编程是用C语言更简便明了,主要包括延时、数码管显示、控制ADC0804读写子程序,控制模拟信转换成数字信号并由数码管显示。
程序流程图如图4.1所示。
第五章制作、调试及结果分析
5.1制作部分
理论设计部分完成后,先借助Proteus仿真软件来验证方案的正确性。
理论上设计要求能够完全实现,并将方案给指导老师检查确认无误后,整理出元件清单,按照设计思路分模块焊接各个部分电路。
利用开发板的单片机和数码管可以减少工作量,剩余各模块电路相对简单,且在实践中,用200Ω电位器代替PT100温度传感器,焊接实物图如图5.1所示。
图5.1焊接实物图
5.2软件调试
(1)、第一步是将编写的程序运行,纠正最基础的汇编语法错误
(2)、第二步进行分步运行,检查每条语句寄存器中内容的变化、程序是否按照所设计的流程跳转及跳转时的地址指针的变化。
(3)、将调试好的程序下载到51芯片中进行软件仿真,也照样按程序逐句仿真,观察51芯片各I/O口、8255PA、PB、PC口等引脚电平变化规律,按照理论现象逐句修改程序,现象偏离严重时,适当修改仿真的硬件电路。
5.3硬件调试
先调试测量放大电路,给模块板接上+5V电源后,先进行调零,将电桥部分的2个200Ω的电位器都调至将近100Ω,测得差分信号基本为零,保持RV2电阻不变,测得输出电压Uo为1.28V,改变另一个电位器至最大阻值,并且调节电位器RV1,Uo电压始终为1.28V。
检查焊接电路并未出现问题,测试TL084芯片没有烧坏。
通过查阅相关资料及分析,设计要求Uo输出0至5V电压,明显给芯片供电5V电压不足,而且TL084可以达到—18V~+18V。
所以改变部分电路,给TL084提供—12V~+12V双电源后,再调试电路,测得差分信号在2mV至48.9mV之间,调整RV1,使得输出电压最大达到5V,此时RV1阻值约为86Ω,理论值为95Ω,存在一定的误差,但是测量结果基本满足设计要求,说明测量电路完全能够作为模块使用。
接下来是调试报警电路,先检查电路是否存在焊接错误,确认无误后,给电路提供+5V电源,将Q5的b极悬空,电路不能导通,二极管灭,提供大约0.7至1V左右电压,二极管亮,证明报警电路功能实现。
A/D转换电路很简单,只要焊接RC电路提供时钟即可。
焊接时,选R为10KΩ,C为200pF。
最后按照仿真原理图所示,将各模块连接好进行整体测试。
5.4整体调试
先用万用表检查各芯片电源、地的连接,继续按仿真原理图检查各芯片引脚连接。
然后接通电源,看LED灯以及数码显示部分是否实时显示。
在整体调试的过程中,结果并不是一开始就出现。
出现了以下问题:
(1)、数码显示管显示的是乱码。
在调试过程中,首先检查了放大电路和A/D转换电路,发现模拟量输出Uo在正常值范围内,测试AD0804各个管脚电平,皆正常工作。
后来发现是没有事先弄清楚最小系统板数码显示管是共阴还是共阳。
后来将之前程序代码部分共阴的字形码改成共阳的字形码以后,数码管不再显示乱码。
(2)、在转动电位器改变模拟温度值的时候,发现显示的数字不是连续单调变化的。
而是无规律的变化。
刚开始想到的是电位器可能出现了问题,但后来换了一个电位器还是一样的结果。
再后来又检查了一遍硬件电路,发现是数码管的地址片选端口aa,bb,cc,和P1.0,P1.1,P1.2接反了。
导致高低位显示出了问题,温度值不是连续变化的,而是跳跃变化的。
(3)在报警电路部分,由于继电器室第一次使用,在焊继电器的时候,第一次引脚接错了,一上来就短路了。
后来重新用万用表测试引脚,又重新接了一遍,才没有出现问题。
第六章总结
6.1总结
通过对大量相关文献的解读,整体系统的分析,研究和设计,以及实验的实践操作参与,最终基本完成了开题报告中所确定的任务。
通过这次课程设计,不仅得到了一次用专业知识、专业技能分析和解决问题的全面系统的锻炼。
还加强了在薄弱专业知识方面的学习,起到一个查漏补缺的效果。
从这次课程设计中,在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步。
另外,还掌握了硬件调试与软件调试相结合的思想理念。
由于自身能力有限,在课程设计中碰到了很多的问题,但通过查阅相关书籍、资料以及和周围同学交流,不仅解决了调试中出现的问题,还学到了许多新的知识,接触到了一些之前不太熟悉的芯片。
由于是使用是单片机作为核心的控制元件,使得系统的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。
但是这次的课程设计完成的设计要求较为简单,实现的功能不是很复杂,可是充分利用单片机的资源,完成功能稍微复杂的功能。
例如:
加入键盘控制,使可以输入温度阈值来实现报警。
还有可以不仅实现简单的LED灯和继电器的报警,可以采用前面方案选择里面的555实现声光报警功能,这样能广泛应用于家用电气和其他设备中。
这些改进措施使得该系统更具有实用性和社会价值。
在整个课程设计的过程中,从给定电路图的分析到实际电路元件的识别、焊接,再到后期的程序设计以及系统调试,初步掌握了运用单片机系统设计特定功能的设计步骤,也对单片机有了更深的体会。
了解和掌握了一些简单的编程思想,对单片机各管脚的功能,I/O口的使用条件都有了更深的理解。
这次的课程设计把单片机的理论知识运用的实践中,实现了理论与实践的相结合,从中更懂得了理论是实践的基础,实践更能检验理论的真实性,受益匪浅。
当然,通过这次课程设计,也发现了自身的很多不足之处,在以后的学习中,会不断的完善自我,不断进取,实事求是地学习和实践,在该方面争取有更大的提高。
6.2致谢
本次课程设计,从选题到完成,每一步都是在指导老师杨焱老师的悉心指导下完成的,倾注了杨老师大量的心血。
杨老师不仅在硬件的需求上及时给予,而且杨老师学识渊博,治学严谨,在软件调试中给予很大的帮助,辅导时循循善诱,认真耐心,深刻地体会到真正的为人师表的风范。
在这次课程设计中,学习和进步与杨老师是分不开的,再次要真诚地感谢杨老师!
参考文献
[1]何立民.单片机应用技术大全.北京:
北京航空航天大学出版社,1994.
[2]张鑫.单片机原理及应用.北京:
电子工业出版社,2005.
[3]杨居义.单片机课程设计指导.北京:
清华大学出版社,2009.
[4]万福君.MCS-51单片机原理、系统设计与应用.北京:
清华大学出版社,2008.
[5]朱清慧.Proteus教程——电子线路仿真.北京:
清华大学出版社,2008.
[6]阎石.数字电子技术基础.北京:
清华大学出版社,1998.
[7]谭浩强.C程序设计[M].北京:
清华大学出版社,2005.
[8]张永瑞.电子测量技术基础.西安:
电子科技大学出版社,2004.
附录1源程序清单
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitcs=P3^4;
sbitwr=P3^6;
sbitaa=P1^0;
sbitrd=P3^7;
sbitbb=P1^1;
sbitcc=P1^2;
sbitdd=P1^3;
sbitbj=P1^4;
uchar
codetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
voidinit();
voidad_start();
ucharad_read();
voiddisplay(ucharbai,ucharshi,ucharge);
voiddelay(uintt)
{ uinti;
for(;t>0;t--)
for(i=110;i>0;i--);
}
voidmain()
{
ucharadout,a1,a2,a3;
init();
while
(1)
{ad_start();
delay(10);
adout=ad_read();
if(adout>=200)
bj=0;
elsebj=1;
a1=adout/100;
a2=adout%100/10;
a3=adout%100%10;
display(a1,a2,a3);
}
}
voidinit()
{P1=0xff;P2=0xff;P3=0xff;
}
voidad_start()
{cs=0;_nop_();wr=0;_nop_();wr=1;_nop_();cs=1;
}
ucharad_read()
{uchartemp;
P2=0xff;
cs=0;_nop_();rd=0;_nop_();
temp=P2;_nop_();
rd=1;_nop_();cs=1;wr=0;
return(temp);
}
voiddisplay(ucharbai,ucharshi,ucharge)
{ aa=0;bb=1;cc=1;dd=1;
P0=table[bai];
delay(5);
aa=1;bb=0;cc=1;dd=1;
P0=table[shi];
delay(5);
aa=1;bb=1;cc=0;dd=1;
P0=table[ge];
delay(5);
}
附录2整体电路原理图
附录3实物图
附录4元器件清单
注:
一套单片机开发板