云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 电子工程设计2:小型温度控制系统结题报告

电子工程设计2:小型温度控制系统结题报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 20:43:37

if(tp<4&&sign==1) (但不是满载) {

C3=75; break; }

if(sign==1) (满载)

{

C3=0; break; }

if(sign==0) (满载)

{

C3=255; break; }

break;

} }

if(DataTO<96&&DataTO>70); {

while(1) {

if(tp<1) {

C3=0x80; break; }

if(tp<4&&sign==0) (但不是满载) {

C3=255; break; }

if(tp<4&&sign==1) (但不是满载) {

//如果差值小于4且为负数,令驱动器冷却

//如果差值大于4且为负数,令驱动器冷却

//如果差值大于4且为正数,令驱动器加热

//第三段

//如果差值为0,则令驱动器空载(0V)

//如果差值小于4且为正数,令驱动器加热

//如果差值小于4且为负数,令驱动器冷却

C3=100; break; }

if(sign==1) (满载)

{

C3=0; break; }

if(sign==0) 载)

{

C3=255; break; }

break;

} }

Display(DataTI,DataTO); return; }

//如果差值大于4且为负数,令驱动器冷却

/如果差值大于4且为正数,令驱动器加热(满

//更新数码管显示

七、出现的问题分析及解决方法

问题一:我们在用老师的调试程序调试LED数码管时,发现无论怎么弄LED都显示乱码。

解决方法:后来问老师,我得知老师的程序是按照Q1~Q7依次对应数码管的a~g,

同时将程序再按照四个数码管不同的对应线路译出四个独立的表。

问题二:一开始调试闭环程序时我们用的是P调节,显示值确实很接近设定值,但是不能

稳定在某一数值,而是不停地变换,比如85、84来回跳。

解决方法:我们改进了程序,将P调节改进成PID调节,虽然在某些温度依然会

来回跳,但是比改进算法前要稳定了很多。

问题三:将系统移植到实验模板上时,我们发现最终显示值偏离设定值较大,最大偏差甚

至达到6~7度。

解决方法:我将0℃对应变送器输出0V,100℃对应5V。然而当我用万用表测了

100℃时变送器输出端的电压值,发现超过5V很多。于是我们重新整定,调节变送器模块的两个电位器,使系统在模板上0℃时输出0V,100℃时输出5V。再次进行闭环调试,问题解决。

八、创新性

创新点一:按键除抖,我们将程序设定为在扫描完一次按下的键后,间隔一定时间再次扫

描按下的键,如果两次扫描到的值相等,则确定其按下,否则将其作为误触。 创新点二:我们将键盘K11键作为设定允许键,每次要输入设定值前要先按下K11(即设定

允许键)方可进行输入。这样可以防止键盘被误触。

创新点三:真实条件测试,我们在调试台测试完整个系统后,将我们所有的模块移植到实

验室模板上,调试。使其成为能够调节真实温度的具有实际作用的系统。

创新点四:程序模块化编写,我们将一些有可能需要经常改动的参数写为头文件形式,如

报告后边的附录Ⅰ。这样可以大大减少程序调试时的工作量,比如在调试LED时,如果发现对应的码位不对,只需要在头文件里修改相应的值,代替修改主程序的所有相关参数。同时使程序更精简,运行速度更快。

九、体会与建议

经历了这次长达一年的电子工程设计。我们确实学到了很多很多,从一开始的不知从何下手,到最终的能够在真实模板上测试成功。这一年里,我们碰到过各种问题,比如电源保险烧断,芯片烧裂,程序出现问题无法进行,但是我们运用我们的能力最终将其解决,不管是问老师,问同学,上图书馆、网络查资料。这次大实验使我了解了一个真正具有实用意义的专业系统到底由哪些模块组成,他们之间又是怎么联系起来共同为系统服务的。其次就是锻炼了我们的耐心,一个从下午一点半上到晚上九点的实验,而且要在这期间不停地学知识,动手焊电路,编程。现在课设结束了,我要谢谢老师一年来不光传授我们知识,更锻炼了我们很多优良的特性,让我们提前适应了工作时的那种高效的要求。

除此之外,我也有一些建议。大家在查芯片的时候不要排斥英文的数据手册,因为本来很多芯片就是外国产的,他们更了解这个芯片的特性,而且在查PDF的过程中还能巩固很多专业词汇。其次,大家要敢于动手,不要因为爆了一个电容,被烙铁烫了一下手就对课设胆战心惊,其实现在多经历些总强于以后因此出大错。

【附录Ⅰ】

:

#define C11 XBYTE[0xE000]

#define C12 XBYTE[0xE100] #define C13 XBYTE[0xE200] #define C14 XBYTE[0xE300] #define C3 XBYTE[0xBF00] #define C2 XBYTE[0xDF00] #define C40 XBYTE[0x7F00] #define C41 XBYTE[0x7000]

//第一个数码管

//第二个数码管 //第三个数码管 //第四个数码管 //D/A转换器 //A/D转换器 //键盘

//键盘第一行 #define C42 XBYTE[0x7100] #define C43 XBYTE[0x7200]

#define C44 XBYTE[0x7300] :

#define #define #define #define #define #define #define #define #define #define #define #define

:

#define D10 #define D11 #define D12 #define D13 #define D14 #define D15 #define D16 #define D17 #define D18 #define D19

#define D20 #define D21 #define D22 #define D23 #define D24 #define D25 #define D26

K1 0x1E K2 0x1D K3 0x1B K4 0x17 K5 0x0F K6 0x5E K7 0x5D K8 0x5B K9 0x57 K10 0x4F K11 0x9E K12 0x9D

0x50 0xF9 0x4A 0x49 0xE1 0x45 0x44 0xD9 0x40 0x41 0x0C 0xAF 0xC8 0x8A 0x2B 0x1A 0x18

//键盘第二行 //键盘第三行

//键盘第四行

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

if(tp<4&&sign==1) (但不是满载) { C3=75; break; } if(sign==1) (满载) { C3=0; break; } if(sign==0) (满载) { C3=255; break; } break; } } if(DataTO70); { while(1) { if(tp<1) { C3=0x8

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com