收藏 分享(赏)

毕业设计_51单片机的多路温度采集控制系统设计.doc

上传人:HR专家 文档编号:6265391 上传时间:2019-04-03 格式:DOC 页数:26 大小:622.50KB
下载 相关 举报
毕业设计_51单片机的多路温度采集控制系统设计.doc_第1页
第1页 / 共26页
毕业设计_51单片机的多路温度采集控制系统设计.doc_第2页
第2页 / 共26页
毕业设计_51单片机的多路温度采集控制系统设计.doc_第3页
第3页 / 共26页
毕业设计_51单片机的多路温度采集控制系统设计.doc_第4页
第4页 / 共26页
毕业设计_51单片机的多路温度采集控制系统设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、课程设计报告书课程名称: 单片机原理及应用 课题名称: 单片机数据采集系统 专 业: 班 级: 学 号: 姓 名: 成 绩:单片机温度采集控制系统设计前言:随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。本次设计的目的在于学习基于 51 单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执

2、行模块的状态,同时将当前温度信息发送到 LED 进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。我所采用的控制芯片为 AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度 多路温度采集 驱动电路 正文 :1、温度控制器电路设计本电路由 89C51 单片机温度传感器、模数转换器 ADC0809、窜入并出移位寄存器 74LS164、数码管、和 LED 显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值

3、送入 ADC0809 的IN0 通道进行模数转换,转换所得的数字量由数据端 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 为高于上限温度指示,LE

4、D4 为低于下限温度指示。当温度高于上限温度值时,有 p1.0 输出驱动信号,驱动外设电路工作,同时 LED1 亮、LED2 灭、LED3 亮、LED4 灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1 亮、LED2 亮、LED3灭、LED4 灭。温度继续下降,当温度降到下限温度值时,p1.0 信号停止输出,外设电路停止工作,同时 LED1 灭、LED2 灭、LED3 灭、LED4 亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。2、 温度控制器程序设计本软件系统有 1 个主程序,6 个子程序组成。6 个子程序为定时/计数器 0 中断服务程序、温度采集及模数转换子程序

5、 ADCON、温度计算子程序 CALCU、驱动控制子程序 DRVCON、十进制转换子程序METRICCON 及数码管显示子程序 DISP。(1) 主程序主程序进行系统初始化操作,主要是进行定时/计数器的初始化。(2) 定时/计数器 0 中断服务程序应用定时计数器 0 中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给 89C51单片机,然后在调用温度计算子程序 CALCU,驱动控制子程序DRVCON,十进制转换子程序 MERTRICCON,温

6、度数码显示子程序 DISP。(3) 温度采集及模数转换子程序 ADCON该子程序进行温度采样并将其转换为 8 位数字量传送给 89C51的 P0 口。采样得到的温度数据存放在片内 RAM 的 20H 单元中。(4) 温度计算子程序 CALCU根据热敏电阻的分度值和电路参数计算出出一张温度表,存放在 DATATAB 数据表中,由于篇幅关系,本程序只给出 0-49的温度数据。一个温度有两个字节组成,前一字节为温度值,后一字节为该温度所对应的热敏电阻上的电压的数字量。根据采样值,通过查表及比较的方法计算出当前的温度值,并将其存入片内 RAM 的21H 单元。采用查表法计算温度值时为了克服热敏电阻的阻

7、值温度特性曲线的非线性,提高测量精度。(5) 驱动控制子程序 DRVCON该子程序调节温度,当温度高于上限温度时(本程序设为 30), P1.0 输出驱动控制信号,驱动外设工作降温;当温度下降到下限温度时(本程序设为 25) ,P1.0 停止输出,温度上升,周而复始;工作状态有 LED1-LED4 指示。(6) 十进制转换子程序 METRICCON将存放于内部 RAM21H 单元的当前温度值得二进制数形式转换为十进制数(BCD 码)形式,以便输出显示,转换结果存放在片内RAM 的 32H 单元(百位) 、31H(十位) 、30H 单元(个位) 。(7) 数码显示子程序 DISP该子程序利用 8

8、9C51 串口的方式 0 串行移位寄存器工作方式,将片内 RAM 的 30H、31H、32H 单元的 BCD 码查表转换为七段码后由 RXD 端串行发出去,然后经 74LS164 串并转换,将七段值传送给数码管,以十进制形式显示出当前温度值。根据以上分析画出的部分程序设计流程图如图 1-0 至图 1-4 所示。开始在 0000H 处放置一条长跳转指令LJMP MAIN 跳转到主程序在 0000H 处放置一条长跳转指令LJMP T0INT 跳转到 T0 中断服务程序图 1-0 部分程序设计流程图的设计框架主程序计数寄存器 R1 赋初值 10TMOD 赋初值 01HT0 工作于定时方式 1 软启动

9、堆栈指针 SP 赋初值 60HSETB TR0启动 T0 工作P1 口赋初值 FFH,所有指示灯全灭TH0 赋初值 3CH,TL0 赋初值 B0H,T0 定时 100msIE 赋初值 82H,T0 允许中断动态停机图 1-1 主程序流程图T0 中断服务程序温度采样时间间隔到否T0 重装初值调用数码管显示子程序 DISP调用十进制转换子程序METRICCON调用驱动控制子程序DRVCON调用温度计算子程序CALCU调用温度采用及模数转换子程序 ADCON中断返回YN图 1-2 T0 中断服务程序流程图温度采样及模数转换子程序将 ADC0809启动 A/D 转换读取转换数据将转换数据存于片内RAM

10、20H 单元返回转换结束否图 1-3 温度采样及模数转换子程序流程图温度数据表索引值寄存器 R2 赋初值 01H温度数据表首地址送DPTR查表取出某一温度的电压数据取出表中前一温度值将该温度值存于21H 单元查表取出该温度值将该温度值存于21H 单元索引值加 2返回返回当前温度电压值与查表取得的某一温度电压值比较温度计算子程序相等小于大于图 1-4 温度计算子程序流程图3、具体内容(1)温度控制器电器原理图设计按以上分析及相关知识设计出的温度控制器电路原理图如图 1-5所示。P 0 . 0P 0 . 1P 0 . 2P 0 . 3P 0 . 4P 0 . 5P 0 . 6P 0 . 7P 2

11、. 0P 2 . 1P 2 . 2P 2 . 3P 2 . 4P 2 . 5P 2 . 6P 2 . 7R DW RI N T 0I N T 1A L EP 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7R S TT 1T 0E A / V ppP S E NR X DT X DI C 1A T 8 9 C 5 1123456781 51 43 12 91 01 1XTAL2XTAL1D 0D 1D 2D 3D 4D 5D 6D 7ABCO EA L ES CE O CC L KV R ( + )V R ( - )I N 0I N

12、1I N 2I N 3I N 4I N 5I N 6I N 7I C 2A D C 0 8 0 93 93 83 73 63 53 43 33 22 12 22 32 42 52 62 72 81 71 61 21 33 01 71 41 581 81 92 02 12 52 42 392 2671 02 62 72 8123451 21 6 1 1I C 3 A 7 4 L S 0 2 17 4 L S 0 24I C 3 B63521c o mdpgfedcbac o m5109 1 2 4 6 73456101112130001020304050607ABCLKCLR7 4 L S 1

13、6 483C 33 0 p FC 23 0 p F6 M H z1819R T R 81 0 0 kR 72 0 k+ 5 Vsc 11 0 u F+R 54 7 0R 61 0 k输出控制R 12 0 0R 22 0 0R 32 0 0R 42 0 0L E D 1绿 L E D 2红 L E D 3黄 L E D 4I C 5dpgfedcba7 4 L S 1 6 483I C 6ABCLKCLRdpgfedcba7 4 L S 1 6 483ABCLKCLRI C 7000102030405060700010203040506073456101112133456101112135109

14、 1 2 4 6 75109 1 2 4 6 74 7 0 x 2 11 21 21 2dpgfedcba7 4 L S 1 6 483I C 81 29图 1-5 温度控制电路原理图(2)温度数据表在图 1-5 所示的电路中,热敏电阻的连接如图 1-6 所示。D0D1 VR(+)D2D3D4D5 VR(-)D6D7IC2ABC ADC0809IN0OE IN1ALE IN2SC IN3IN4EOC IN5IN6CLK IN71714158181920212524239226710121626272812345VccR720kRT R9图 1-6 热敏电阻的连接本设计所使用的热敏电阻的分度表及

15、 ADC0809 转换后的电压数字量见附表 1-1 所示转换后的电压数字量的计算方法为:热敏电阻与 R8 并并联后的总电阻:R=(Rt*R8)/(Rt+R8)R 与 R7 串联电路中 R 的分压值(即输入 ADC0809 的模拟量):V=5R/(R+R7)R8100k5V 被分成 256 等分(8 位量化) ,则每份的电压值:=5/256输入的模拟量电压经 8 位量化后的数字量:D=V/例如,热敏电阻在温度为 20时的阻值为 62.254 千欧,则根据上述方法计算出的电压数字量为 169,注意在计算中 R7 用实测值 19.6千欧代入进入计算。在实际做该电路时,可根据自己所选择的热敏电阻的分度

16、表计相关电路参数,按上述方法计算出 ADC0809 转换后的各温度对应的电压数字量。程序中的温度数据表构成:1 个温度数据占 2 个字节,前一字为温度值,后一个字节为该温度下热敏电阻上的模拟电压转换成德8 位数字量。如在 20时,热敏电阻对应的电压数字量为 169,则20,169 组成一个温度为 20的温度数据。按这样方法组成的 0-49的温度数据表如下:DATATAB:DB 0,194,1 ,193 ,2 ,192, 3, 191,4,190DB 5,189,6, 188, 7 ,187, 8, 186,9,185DB10,184,11,182,12,181,13,180,14,178DB

17、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,135DB 40,133,41,131,42,129,43,127,44,125DB 45,123,46,121,47,118,48,116,49,114在温度采样机模数转换子程序中,采样得到的当前温度下热敏电阻上的数字电压存于 20H

18、单元,在温度计算子程序中通过查表的方法从表中的第一个温度(0)下热敏电阻上的数字电压开始,依次取出各温度下热敏电阻上的十字电压,与与存于 20H 单元的当前温度下热敏电阻上的的数字电压比较,如小于当前温度的数字电压,则在取出下一温度的数字电压与当前温度的数字电压比较;直到大于或等于当前的温度数字电压,比较结束。如大于则取出前一温度作为当前温度存于 21H 单元,如等于则将该温度作为但前温度存于20H 单元。这种温度计算方法,避免了温度特性曲线的非线性对温度计算精确性的影响,计算出的温度非常精确。(3)温度控制程序设计在本设计中,晶体振荡器频率为 6MHz,T0 定时时间为100ms,T0 工作

19、于方式 1,则 T0 的初值为:X=(最大计数值 M 定时时间 t/及其周期 Tm)=2 16 -100ms/2us=15536=3CB0H按以上任务分析设计出的源程序如下:ORG 0000H;跳转到主程序LJMP MAIN;ORG 000BH;LJMP T0INT;跳转到 T0 中断服务程序 ;主程序ORG 0100H;MAIN:MOV R1,#10; T0 100 马上定时溢出计数寄存器 R1 赋初值 10MOV P1,#0FFH; 所有指示灯灭MOV SP,#60H; 堆栈指针赋初值 60HMOV TMOD,#01H; T0 定时、方式 1、软启动MOV TL0,#0B0H; T0 赋初

20、值MOV TH0,#3CH;MOV IE,#82H; 开放 T0 中断SETB TR0; 启动 T0SJMP $;定时 /计数器 0 中断服务程序ORG 0200H;T0INT:DJNZ R1,NEXT; T0 溢出 10 次,即 1s 进一次采样处理LCALL ADCON; 调用温度采样及模数转换子程序LCALL CALCU; 调用温度计算子程序LCALL DRVCON; 调用驱动控制子程序LCALL METRICCON; 调用十进制转换子程序LCALL DISP; 调用数码管显示子程序MOV R1,#10; R1 重赋值 10NEXT:MOV TL0,#0B0H; T0 重装初值MOV T

21、H0,#3CH;RETI;温度采样及模数转换子程序ORG 0300H;ADCON:MOV DPTR,#0F0FFH; 选通 ADC0809 通道 0MOV A,#00H;MOVX DPTR,A; 启动 A/D 转换HERE:JNB P3.3,HERE; 判断数据转换是否结束,没结束则等待MOVX A,DPTR; 读取转换后的数据MOV 20H,A; 将从 ADC0809 中读取的当前温度下热敏电阻上的电压值存于 20H 单元RET ;温度计算子程序ORG 0400H;CALCU:MOV R2,#01H; R2 为数据表的索引值寄存器MOV DPTR,#DATATAB; 温度数据表首地址送 DP

22、TRNEXT1: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; 大于当前温度的数字电压值,则继续取出下一温度的数字电压进行比较DEC R2; 小于当前温度的数字电压值,则查表取出前一个温度值作为当前温度值DEC R2DEC R2MOV A,R2;MOVC A,A+DPTR;LJMP K3;K2:INC R2;INC R2;LJMP NEXT1

23、;K3:MOV 21H,A; 将当前温度值存于 21H 单元RET;DATATAB;DB 0,194,1,193,2,192,3,191,4,190; 温度数据表DB 5,189,6,188,7,187,8,186,9,185DB 10,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

24、 35,143,36,141,37,139,38,137,39,135DB 40,133,41,131,42,129,43,127,44,125DB 45,123,46,121,47,118,48,116,49,114驱动控制子程序ORG 0500H;DRVCON:MOV A,21H; 取出当前温度值CJNE A,#30,J1; 与上限温度值( 30 )比较LJMP GO;J1:JNC DRV1; 若高于上限温度,则输出驱动信号,同时高于上限温度指示灯点亮CJNE A,#25,J2; 与显现温度( 25 )比较LJMP GO;J2:JC DRV2; 弱低于下限温度,则驱动信号停止输出,同时点亮

25、低于下限温度的指示灯LJMP GO;DRV1:CLR P1.0;SETB P1.1;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 P1.3;LJMP OVER;GO:CLR P1.1; 在下线温度( 25 )至上限温度( 30 )之间,则驱动信号保持前面状态,同时温度正常指示灯点亮SETB P1.2;SETB P1.3;OVER:RET;;十进制转换子程序ORG 0600H;MET

26、RICCON: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;W3:SUBB A,#10;JC W4;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

27、 单元、 30H 单元中的温度 BCD 码查表转换为七段码MOV R0,#30H; 通过串行通信方式 0 输出驱动 3 个数码管,显示当前温度MOV DPTR,#TAB;LOOP:MOV A,R0;MOVC A,A+DPTR;MOV SBUF,A;WAIT:JNB T1,WAIT;CLR T1;INC R0;DJNZ R5,LOOP;RET;TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; 七段码数据表附表:1-1热敏电阻分度表及经 ADC0809 转换后的电压数字量温度()热敏电阻阻值(千欧) 转换后的电压数字量0 161.608 1941 15

28、3.6308 1932 146.0833 1923 138.9435 1914 132.01901 1905 125.8025 1896 119.7608 1887 114.046 1878 108.6397 1869 103.5243 18510 98.6833 18411 94.1006 18212 89.7613 18113 85.6511 18014 81.7564 17815 78.0646 17716 74.5637 17517 71.2425 17418 68.0903 17319 65.0972 17120 62.254 16921 59.5519 16822 56.9829

29、16623 54.5392 16524 52.2138 1625 50 16126 47.8916 15927 45.8829 15828 43.9683 15629 42.1428 15430 40.4017 15231 38.7405 15032 37.1552 14933 35.6418 14734 34.1967 14535 32.8164 14336 31.4979 14137 30.238 13938 29.0339 13739 27.883 13540 26.7828 13341 25.7308 13142 24.725 12943 23.763 12744 22.843 125

30、45 21.9629 12346 21.1211 12147 20.3158 11848 19.5453 11649 18.8082 11450 18.1028 11251 17.4241 11052 16.7787 10853 16.1643 10454 15.5788 10255 15.0199 10056 14.4861 9957 13.9754 9758 13.4866 9559 13.018 9360 12.5686 91心得体会随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往

31、往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。此外,计算机的发展对通信起了巨大的推动作用.计算机和通信紧密结合构成了灵活多样的通信控制系统

32、,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。数据通信是计算机广泛应用的必然产物。通过这次的课程设计的制作让我对单片机的理论有了更加深入的了解,同时通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际 理论与实际的结合!参考文献:1.贾好来主编.MCS-51 单片机原理及应用.北京:机械工业出版社,2006.2.江太辉,石秀芳主编. MCS-51 单片机原理及应用.广东:华南理工大学出版社,2004.3.曹龙汉,刘安才主编. MCS-51 单片机原理及应用.重庆:重庆出版社,2004.4.劳动和社会保障部教材办公室主编.单片机应用技术(汇编语言).北京:中国劳动社会保障出版社,2006.5.何立民主编. MCS-51 单片机应用系统设计.北京:北京航天航空大学出版社,1990.6.朱定华主编.单片机原理及接口技术实验.北京:北京大学出版社,2002.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报