




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 51 单片机的多路温度采集控 制系统设计 言:随着现代信息技术的飞速发展, 温度测量控制系统在工业、农业及人 们的日常生活中扮演着一个越来越 重要的角色,它对人们的生活具有很 大的影响,所以温度采集控制系统的 设计和研究有十分重要的意义。本次设计的目的在于学习基于 51 单片机的多路温度采集控制系统 设计的基本流程。本设计采用单片机 作为数据处理和控制单元,为了进行 数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温 度传感器传递到单片机上。单片机数 据处理之后,发出控制信息改变报警 和控制执行模块的状态,同时将当前 温度信息发送到 LED进行显示。本系 统可以实现多路温度
2、信号采集和显 示,可以使用按键来设置温度限定 值,通过进行温度数据的运算处理, 发出控制信号达到控制蜂鸣器和继 电器的目的。我所采用的控制芯片为 AT89c51 ,此芯片功能较为强大,能 够满足设计要求。通过对电路的设 计,对芯片的外围扩展,来达到对某- 2 -一车间温度的控制和调节功能。关键词: 温度 多路温度采集 驱 动电路 正文 :1、温度控制器电路设计本电路由 89C51 单片机温度传感 器、模数转换器 ADC080、9 窜入并出 移位寄存器 74LS164、数码管、和 LED 显示电路等组成。由热敏电阻温度传 感器测量环境温度,将其电压值送入 ADC0809的 IN0 通道进行模数转
3、换, 转换所得的数字量由数据端 D7-D0输 出到 89C51 的 P0 口,经软件处理后 将测量的温度值经单片机的 RXD端窜行输出到 74LS164,经 74LS164 窜并 转换后,输出到数码管的 7 个显示段, 用数字形式显示出当前的温度值。89C51的 P2.0 、P2.1、P2.2 分别接入 ADC0809通道地址选择端 A、B、C, 因此 ADC0809的 IN0 通道的地址为 F0FFH。输出驱动控制信号由 p1.0 输 出,4 个 LED为状态指示, 其中,LED1 为输出驱动指示, LED2为温度正常指 示,LED3为高于上限温度指示, LED4 为低于下限温度指示。当温度
4、高于上 限温度值时,有 p1.0 输出驱动信号, 驱动外设电路工作,同时 LED1 亮、 LED2灭、 LED3亮、 LED4灭。外设电 路工作后,温度下降,当温度降到正常温度后, LED1 亮、 LED2 亮、 LED3 灭、LED4灭。温度继续下降,当温度 降到下限温度值时, p1.0 信号停止输 出,外设电路停止工作,同时 LED1 灭、 LED2灭、 LED3灭、 LED4亮。当 外设电路停止工作后,温度开始上 升,接着进行下一工作周期。2、温度控制器程序设计 本软件系统有 1 个主程序, 6 个 子程序组成。 6 个子程序为定时 / 计数 器 0 中断服务程序、温度采集及模数 转换子
5、程序 ADCO、N温度计算子程序 CALCU、驱动控制子程序 DRVCO、N十 进制转换子程序 METRICCO及N数码管 显示子程序 DISP。(1)主程序 主程序进行系统初始化操作,主 要是进行定时 / 计数器的初始化。(2)定时/ 计数器 0中断服务程序 使用定时计数器 0 中断的目的是 进行定时采样,消除数码管温度显示 的闪烁现象,用户可以根据实际环境 温度变化率进行采样时间调整。每当 定时时间到,调用温度采集机模数转 换子程序 ADCON ,得到一个温度样 本,并将其转换为数字量,传送给 89C51 单片机,然后在调用温度计算 子程序 CALCU ,驱动控制子程序DRVCON , 十
6、 进 制 转 换 子 程 序MERTRICCON ,温度数码显示子程- 6 -序 DISP 。(3)温度采集及模数转换子程序 ADCON 该子程序进行温度采样并将其转换为 8 位数字量传送给 89C51的 P0 口。采样得到的温度数据存放在片内 RAM 的 20H 单元中。(4)温度计算子程序 CALCU 根据热敏电阻的分度值和电路 参数计算出出一张温度表,存放在 DATATAB 数据表中, 由于篇幅关系, 本程序只给出 0-49的温度数据。一 个温度有两个字节组成,前一字节为 温度值,后一字节为该温度所对应的 热敏电阻上的电压的数字量。根据采样值,通过查表及比较的方法计算出 当前的温度值,并
7、将其存入片内 RAM 的 21H 单元。采用查表法计算温度值 时为了克服热敏电阻的阻值温 度特性曲线的非线性,提高测量精 度。(5)驱动控制子程序 DRVCON 该子程序调节温度,当温度高于 上限温度时(本程序设为 30),P1.0 输出驱动控制信号,驱动外设工作降 温;当温度下降到下限温度时(本程 序设为 25),P1.0 停止输出,温度 上升,周而复始;工作状态有LED1-LED4 指示。(6)十 进 制 转 换 子 程 序- 8 -METRICCON将存放于内部 RAM21H 单元的当前温度值得二进制数形式转换为 十进制数( BCD 码)形式,以便输出 显示,转换结果存放在片内 RAM
8、的 32H 单元(百位)、31H(十位)、30H 单元(个位)。(7)数码显示子程序 DISP 该子程序利用 89C51串口的方式0 串行移位寄存器工作方式,将片内 RAM 的 30H、31H、32H 单元的 BCD 码查表转换为七段码后由 RXD 端串 行发出去,然后经 74LS164 串并转换, 将七段值传送给数码管,以十进制形 式显示出当前温度值。根据以上分析画出的部分程序设计 流程图如图 1-0 至图 1-4 所示。图 1-0 部分程序设计流程图的设计框架- 10 - 11 -图 1-1 主程序流程图T0 中断- 12 -服务程序流程图图 1-3 温度采样及模数转换 子程序流程图- 1
9、3 -将该温度值存于21H 单元返回图 1-4 温度计算子- 14 -程序流程图3、具体内容(1)温度控制器电器原理图设计 按以上分析及相关知识设计出 的温度控制器电路原理图如图 1-5 所 示。- 15 -+5VR5200 R3输出控制1234R1 LED1R2 200绿 LED2红 LED3200R4 黄 LED4200151431291011P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTT1T0EA/VpPSENRXDTXD2LAT81IC1AT89C511LAT6MHzC2C330pF30pFcomP0.0D0P0.1D1P0.2D2P0.3D3P0.4D4P0.5D5
10、P0.6D6P0.7D7P2.0AP2.1IC3A74LS0291226774LS02IC3B4106138143715368351834193320322121252224232339 17P2.4P2.5P2.6P2.725262728RD1716WRINT012P2.2P2.3INT113ALE30IC2VR(+)VR(-)IN0OEIN1ALEIN2SCIN3IN4EOCIN5IN6CLKIN7ADC0809BCdp g f e d c b a1216262728R720k2345dp g f e d c b a3comdp g f e d c b a2470 x2110LRCIC55
11、3474LS164gf e d cb a01IC674LS164AB2C0 10 20 30405060 7074LS164AB12IC774LS16412IC8图 1-5 温度控制电路原理图(2)温度数据表- 16 -在图 1-5 所示的电路中,热敏电阻的 连接如图 1-6 所示。17141581819202125D0D1D2D3D4D5D6D7IC212VccVR(+)VR-)16R720k2423ADC080922710OEALESCEOCCLKIN0IN1IN2IN3 IN4 IN5 IN6 IN7IN0IN1IN2IN3IN4IN5IN6IN7262728RTR9R9R8100k图
12、1-6 热敏电阻的连接 本设计所使用的热敏电阻的分 度表及 ADC0809 转换后的电压数字- 17 -量见附表 1-1 所示 转换后的电压数字量的计算方法为:热敏电阻和 R8 并并联后的总电 阻:R=(Rt*R8)/(Rt+R8) R 和 R7 串联电路中 R 的分压值(即 输入 ADC0809 的模拟量): V=5R/ (R+R7) 5V 被分成 256 等分( 8 位量化),则 每份的电压值: =5/256 输入的模拟量电压经 8 位量化后的数 字量: D=V/ 例如,热敏电阻在温度为 20时的阻 值为 62.254 千欧,则根据上述方法计 算出的电压数字量为 169,注意在计 算中 R
13、7 用实测值 19.6 千欧代入进入- 18 -计算。在实际做该电路时,可根据自己 所选择的热敏电阻的分度表计相关 电路参数,按上述方法计算出 ADC0809 转换后的各温度对应的电 压数字量。程序中的温度数据表构成: 1 个 温度数据占 2 个字节,前一字为温度 值,后一个字节为该温度下热敏电阻 上的模拟电压转换成德 8 位数字量。 如在 20时,热敏电阻对应的电压数 字量为 169,则 20,169 组成一个温 度为 20的温度数据。 按这样方法组 成的 0-49的温度数据表如下:DATATAB :DB 0,194,1 ,193 ,- 19 -2 ,192,3, 191,4,190DB 5
14、,189,6, 188, 7187,8,186,9,185DB10,184,11,182,12,181,13,180,14,178DB 15,177,16,175,17,174,18,173,19,171DB 20,169,21,168,22,166,23,165,24,163DB 25,161,26,159,27,158,28,156,29,154DB 30,152,31,150,32,149,33,147,34,145DB 35,143,36,141,37,139,38,147,39,135- 20 -DB40,133,41,131,42,129,43,127,44,125DB45,123
15、,46,121,47,118,48,116,49,114在温度采样机模数转换子程序 中,采样得到的当前温度下热敏电阻 上的数字电压存于 20H 单元,在温度 计算子程序中通过查表的方法从表 中的第一个温度( 0)下热敏电阻 上的数字电压开始,依次取出各温度 下热敏电阻上的十字电压,和和存于20H 单元的当前温度下热敏电阻上的 的数字电压比较,如小于当前温度的 数字电压,则在取出下一温度的数字电压和当前温度的数字电压比较;直 到大于或等于当前的温度数字电压, 比较结束。如大于则取出前一温度作 为当前温度存于 21H 单元,如等于则 将该温度作为但前温度存于 20H 单 元。这种温度计算方法,避免
16、了温度 特性曲线的非线性对温度计算精确 性的影响,计算出的温度非常精确。(3)温度控制程序设计 在本设计中,晶体振荡器频率为 6MHz ,T0 定时时间为 100ms,T0 工 作于方式 1,则 T0 的初值为: X=(最大计数值 M 定时时间 t/及其 周 期 Tm ) =216 -100ms/2us=15536=3CB0H 按以上任务分析设计出的源程序如- 22 -下:ORG 0000H;跳转到主程序LJMP MAIN;ORG 000BH;LJMP T0INT; 跳转到 T0 中断服务程 序;主程序ORG 0100H;MAIN:MOV R1,#10;100 马上定时溢出计数寄存器 初值 1
17、0T0R1 赋MOV P1,#0FFH; 示灯灭所有指MOV SP,#60H; 针赋初值 60H堆栈指MOV TMOD,#01H;T0 定- 23 -时、方式 1、软启动MOV TL0,#0B0H;T0 赋初值MOV TH0,#3CH;MOV IE,#82H;开放T0 中断SETB TR0;启动 T0SJMP $;定时 /计数器 0 中断服务程序ORG 0200H;T0INT:DJNZ R1,NEXT;T0 溢出 10 次,即 1s 进一次采样处理LCALL ADCON;调用温度采样及模数转换子程序LCALL CALCU;调用温度计算子程序- 24 -调用LCALL DRVCON; 驱动控制子
18、程序LCALL METRICCON; 调用 十进制转换子程序LCALL DISP;调用数码管显示子程序MOV R1,#10; R1 重赋值 10NEXT:MOV TL0,#0B0H;T0 重装初值MOV TH0,#3CH;RETI; 温度采样及模数转换子程序ORG 0300H;ADCON:MOV DPTR,#0F0FFH ; 选通 ADC0809 通道 0- 25 -MOV A,#00H;MOVX DPTR,A; 启动 A/D 转换HERE:JNB P3.3,HERE;判断数据转换是否结束,没结束则等待 MOVX A,DPTR;读取转换后的数据MOV 20H,A; 将从 ADC0809 中读取
19、的当前温度下热敏 电阻上的电压值存于 20H 单元 RET ;温度计算子程序ORG 0400H;CALCU:MOV R2,#01H; R2 为 数据表的索引值寄存器- 26 -MOV DPTR,#DATATAB; 温度 数据表首地址送 DPTR NEXT1:MOV A,R2;索引值送AMOVC A,A+DPTR;查表取出某一温度的数字电压值CJNE A,20H,K1;和当前温度的数字电压值比较DEC R2;等于当前温度的数字电压值,则查表取出该 温度值作为当前温度值MOV A,R2;MOVC A,A+DPTR;LJMP K3;大于当前温K1:JNC K2;度的数字电压值,则继续取出下一温度的数
20、字电压进行比较DEC R2; 小于当前温 度的数字电压值,则查表取出前一个 温度值作为当前温度值DEC R2DEC R2MOV A,R2;MOVC A,A+DPTR;LJMP K3;K2:INC R2;INC R2;LJMP NEXT1;K3:MOV 21H,A; 当前温度值存于 21H 单元RET;DATATAB;DB0,194,1,193,2,192,3,191,4,190;温度数据表- 28 -DB5,189,6,188,7,187,8,186,9,185DB10,184,11,182,12,181,13,180,14,178DB15,177,16,175,17,174,18,173,1
21、9,171DB20,169,21,168,22,166,23,165,24,163DB25,161,26,159,27,158,28,156,29,154DB30,152,31,150,32,149,33,147,34,145DB35,143,36,141,37,139,38,137,39,135DB40,133,41,131,42,129,43,127,44,125DB45,123,46,121,47,118,48,116,49,114驱动控制子程序ORG 0500H;DRVCON:MOV A,21H; 取出当- 29 -前温度值CJNE A,#30,J1; 和上限 温度值( 30)比较LJ
22、MP GO;J1:JNC DRV1; 若高于 上限温度,则输出驱动信号,同时高 于上限温度指示灯点亮CJNE A,#25,J2; 和显现 温度( 25)比较LJMP GO;J2:JC DRV2; 弱低于 下限温度,则驱动信号停止输出,同 时点亮低于下限温度的指示灯LJMP GO;DRV1:CLR P1.0;SETB P1.1;- 30 -CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0SETB P1.1;CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0;SETB P1.1;SETB P1.1;SETB P1.2;CLR
23、 P1.3;LJMP OVER;GO:CLR P1.1; 在下线温 度(25)至上限温度 (30)之间, 则驱动信号保持前面状态,同时温度正常指示灯点亮SETB P1.2;SETB P1.3;- 31 -OVER:RET; ;十进制转换子程序 ORG 0600H;METRICCON:MOV R3,#00H; 将存于 21H 单元中的当前温度转换为BCD 码MOV R4,#00H; 百位存于 32H 单元,十位存于 31H 单 元,个位存于 30H 单元MOV A,21H;CLR C;W1:SUBB A,#100;JC W2;INC R4;AJMP W1;W2:ADD A,#100;CLR C;
24、W3:SUBB A,#10;JC W4;- 32 -INC R3;AJMP W3;W4:ADD A,#10;MOV 30H,A;MOV 31H,R3;MOV 32H,R4;RET; ;数码管显示子程序ORG 0700H;DISP:MOV R5,#03H; 将存于32H 单元、 31H 单元、 30H 单元中的 温度 BCD 码查表转换为七段码MOV R0,#30H; 通过串 行通信方式 0 输出驱动 3 个数码管, 显示当前温度MOV DPTR,#TAB;LOOP:MOV A,R0; MOVC A,A+DPTR;- 33 -MOV SBUF,A;WAIT:JNB T1,WAIT;CLR T1;
25、INC R0;DJNZ R5,LOOP;RET;TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;七段码数据 表附表: 1-1热敏电阻分度表及经 ADC0809 转换后的电压数字量温度热敏电阻阻转换后的电压)值(千欧)数字量0161.6081941153.63081932146.0833192- 34 -3138.94351914132.019011905125.80251896119.76081887114.0461878108.63971869103.52431851098.68331841194.10061821289.76131811385.65111801481.75641781578.064617716
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年细菌冻存液项目市场调查研究报告
- 2025年油压气动六角打孔枪项目市场调查研究报告
- 企业数字化转型的五大生存法则
- 基于数字孪生的制造业智能化升级策略探讨
- 微咸水灌溉:滨海盐碱土水盐调控与金银花生长的协同效应探究
- 干旱区典型内陆河流域径流过程模拟与不确定性分析:以具体流域为例
- 小组合作学习:开启大学生自主学习能力培养的新路径
- 小学低年级英语口语作业设计的现状、问题与突破路径研究
- 实习经历对大学毕业生初次就业质量的影响:基于多维度视角的剖析
- 多维协同视角下兰州大学研究生创新能力培养模式的探索与实践
- 茶籽油批发协议书
- 福建省2025届七年级数学第二学期期末质量检测试题含解析
- 2025年室内环境与设施设计专业毕业考试试题及答案
- 合伙经营门店协议书
- 医疗压疮护理
- 2025届柳州市重点中学八年级物理第二学期期末考试模拟试题含解析
- 线路改造合同协议书
- 《髋关节镜手术患者》课件
- GB/T 36066-2025洁净室及相关受控环境检测技术要求与应用
- 人教版PEP版2025年三年级下册英语期末试卷(含答案含听力原文无听力音频)
- Unit8Wonderland(Weletotheunit)课件-译林版(2024)七年级英语下册
评论
0/150
提交评论