单片机课程设计

  • 格式:doc
  • 大小:797.50 KB
  • 文档页数:24

1鲁东大学LUDONG UNIVERSITY单片机课程设计报告题目热敏电阻温度控制系统设计院系信息与电气工程学院专业电子信息工程 2 班姓名王月香 20122212893王炎炎 20122213016刘远山 20122213041 指导教师常新华日期 2015-6-19目录第一部分:设计背景 (3)第二部分:系统主要功能 (5)第三部分:电路设计与参数选择 (5)第四部分:系统软件设计 (11)第五部分:系统调试与仪器使用 (21)第六部分:测试数据与结果分析 (23)第七部分:使用说明书 (23)第八部分:总结 (24)热敏电阻温度采集系统设计摘要温度在人类的生活中扮演着极其重要的角色,在冶金、钢铁、石化、水泥、玻璃、医药等行业温度的测量及为重要。

本次课程设计采用单片机了STC12C5A60S2和50K NTC热敏电阻为核心器件来设计热敏电阻测温系统。

通过NTC热敏电阻对外界温度信号进行采集,由于热敏电阻的阻值随外界温度变化而变化,再通过测量电路把阻值的变化转换为电压的变化,利用STC12C5A60S2单片机的集成AD把采集到的模拟电压信号转换为数字信号,利用单片机对数字信号进行处理后就可以得到相应的温度值,从而完成了对温度的测量。

该系统采用了STC12C5A60S2单片机、NTC热敏电阻、共阴极数码管显示、电容、排阻、晶振、电阻等元器件。

关键字:STC12C5A60S2单片机、热敏电阻、测温系统第一部分设计背景在人类的生活环境中,温度扮演着极其重要的角色。

无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。

自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。

在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。

温度对于工业如此重要,由此推进了温度传感器的发展。

进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。

在工农业生产中,温度检测及其控制占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。

要达到较高的测量精度需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差等问题,使温度检测复杂化。

模拟信号在长距离传输过程中,抗电磁干扰时令设计者伤脑筋的问题,对于多点温度检测的场合,各被检测点到监测装置之间引线距离往往不同,此外,各敏感元件参数的不一致,这些都是造成误差的原因,并且难以完全清除。

单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。

采用单片机对温度采集进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控数据的技术指标,从而能够大大提高产品的质量和数量。

第二部分系统主要功能本系统测量的温度范围为0-99摄氏度,可以通过数码管直观地显示出当前温度值。

第三部分电路设计与参数选择1、设计原理图1如图1所示,当外界温度变化时,热敏电阻的阻值随着发生变化,热敏电阻上分得的电压发生变化,通过单片机的IO口和集成AD可以获得热敏电阻的电压值为V,通过计算得出热敏电阻的阻值变化规律R=V*R1/(5-V)。

由于热敏电阻的阻值与温度有表1的对应关系,将各对应值用数组形式写入程序,通过查表便可以得到此时外界的温度值。

2.实验原理Matlab仿真与建模由已经给出的温度与电阻的数据写成两个矩阵,然后把这两个矩阵写入到Matlab中,然后使用matlab2013中的拟合工具进行曲线的拟合和图形的绘制下表为温度与电阻的关系:T R T R T R T R T R0 162.8960 41 25.5413 82 5.7732 123 1.6911 164 0.60061 154.8355 42 24.5379 83 5.5875 124 1.6455 165 0.58682 147.2203 43 23.5789 84 5.4086 125 1.6013 166 0.57333 140.0233 44 22.6622 85 5.2361 126 1.5585 167 0.56024 133.2193 45 21.7857 86 5.0700 127 1.5170 168 0.54755 126.7846 46 20.9473 87 4.9098 128 1.4767 169 0.53516 120.6973 47 20.1454 88 4.7554 129 1.4377 170 0.52317 114.9366 48 19.3781 89 4.6065 130 1.3999 171 0.51138 109.4834 49 18.6438 90 4.4629 131 1.3632 172 0.49989 104.3195 50 17.9409 91 4.3244 132 1.3276 173 0.488710 99.4280 51 17.2679 92 4.1908 133 1.2931 174 0.477811 94.7931 52 16.6234 93 4.0619 134 1.2597 175 0.467312 90.4000 53 16.0061 94 3.9376 135 1.2272 176 0.456913 86.2348 54 15.4147 95 3.8175 136 1.1956 177 0.446914 82.2845 55 14.8480 96 3.7017 137 1.1651 178 0.437115 78.5368 56 14.3048 97 3.5898 138 1.1354 179 0.427616 74.9803 57 13.7840 98 3.4818 139 1.1065 180 0.418317 71.6042 58 13.2847 99 3.3775 140 1.0786 181 0.409218 68.3985 59 12.8059 100 3.2768 141 1.0514 182 0.400419 65.3537 60 12.3466 101 3.1795 142 1.0250 183 0.391820 62.4608 61 11.9059 102 3.0854 143 0.9994 184 0.383421 59.7115 62 11.4830 103 2.9946 144 0.9745 185 0.375222 51.0980 63 11.0771 104 2.9068 145 0.9504 186 0.367223 54.6128 64 10.6875 105 2.8220 146 0.9269 187 0.359424 52.2490 65 10.3133 106 2.7400 147 0.9041 188 0.351825 50.0000 66 9.9540 107 2.6607 148 0.8819 189 0.344426 47.8597 67 9.6089 108 2.5840 149 0.8604 190 0.337227 45.8223 68 9.2774 109 2.5099 150 0.8395 191 0.330128 43.8823 69 8.9588 110 2.4381 151 0.8191 192 0.323229 42.0346 70 8.6526 111 2.3688 152 0.7994 193 0.316530 40.2743 71 8.3582 112 2.3017 153 0.7801 194 0.310031 38.5968 72 8.0753 113 2.2367 154 0.7615 195 0.303632 36.9979 73 7.8032 114 2.1739 155 0.7433 196 0.297433 35.4735 74 7.5414 115 2.1131 156 0.7256 197 0.291334 34.0197 75 7.2897 116 2.0542 157 0.7084 198 0.285335 32.6330 76 7.0475 117 1.9972 158 0.6917 199 0.279536 31.3098 77 6.8144 118 1.9420 159 0.6755 200 0.273937 30.0471 78 6.5901 119 1.8886 160 0.659738 28.8416 79 6.3741 120 1.8368 161 0.644339 27.6906 80 6.1662 121 1.7867 162 0.629340 26.5914 81 5.9660 122 1.7381 163 0.6147表1由上述表格绘制的温度与电阻的特性曲线:求解出的方程为:f(x) = a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)Coefficients (with 95% confidence bounds):a1 = 1.499e+16 (-9.221e+18, 9.251e+18)b1 = -575.3 (-1.121e+04, 1.006e+04)c1 = 99.88 (-820.5, 1020)a2 = 164.8 (-139.2, 468.9)b2 = -161.1 (-339.6, 17.35)c2 = 153.9 (98.01, 209.8)下一步使用VC6.0进行数学建模,并且对算法的正确性进行验证:程序代码为:# include <stdio.h># include <math.h>double R2TConvert(double dianZu){double wenDu;wenDu = 1.499e+16 * exp(- pow((dianZu+575.3)/99.88, 2)) + 164.8 * exp(- pow((dianZu + 161.1)/153.9, 2)) ;return wenDu;}double ADC_RES_2_VIN(double res){double Vin;Vin = (res / 256) * 5;return Vin;}double Vin_2_DianZu(double Vin){double dianZu;dianZu = ((5 * 24) - 24 * Vin) / Vin;return dianZu;}int main (void){unsigned char a = 128;double b = 1.499e+16;double c = (double)a;printf("%f\n", b);printf("当电阻为50的时候温度为:%f\n", R2TConvert(50));printf("当结果寄存器为128时Vo为:%f\n", ADC_RES_2_VIN(128));printf("当Vo为2.5V时电阻的值为:%f\n", Vin_2_DianZu(2.5));printf("当结果寄存器为128时温度值为:%d\n", (unsignedchar)R2TConvert( Vin_2_DianZu ( ADC_RES_2_VIN( c))));return 0;}仿真结果为:2、硬件电路3、元器件选用及连接表2系统所用的元器件及说明如表2所示。