单片机课程设计-基于mcs-51单片机的数据采集系统大学论文.doc
《单片机课程设计-基于mcs-51单片机的数据采集系统大学论文.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-基于mcs-51单片机的数据采集系统大学论文.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微型计算机技术专业方向课程设计任务书题目名称:基于MCS-51单片机的数据采集系统专业 自动化 班级 111班姓名 消消乐 学号20112823333 学校:青岛理工大学自动化学院 指导教师:史贺男 2013年12月9日课程设计任务书课程名称:微型计算机技术设计题目:基于MCS-51单片机的温度采集系统系统硬件要求:1、 配置单片机的外部程序ROM空间,容量为外扩ROM,RAM各32 KB(其大小由设计者自己设计),系统时钟电路、复位电路等构成的最小系统。2、 配置0809芯片作为数据采集通道(也可以选择其他芯片),对外部1路温度传感器输入信号采集。3、 显示部分为LED动态显示设计和键盘设计
2、。4、 要求每1s采样一次,使用中断完成,其温度测量范围为-20-70度,精度要求1度。5、接口电路的设计:设计者扩展一个并行接口8155或8255,键盘设计由设计者根据需要设计键盘的数量,显示采用LED显示,显示电路也根据显示的内容设计;6、有开机显示状态(如显示88.);软件设计: 1)主程序设计(包括初始化芯片,定时器,中断以及SP指针等); 2)各功能子程序设计,温度采集计算子程序、键盘子程序显示子程序设计,定时,中断程序等;)选做要求:1、 2路信号采集。2、 可使用按键选择输入通道。3、 具有自动通道轮换采样功能。其他要求:1、 每位同学独立完成本设计。2、依据题目要求,提出系统设
3、计方案。3、设计系统电路原理图。4、 调试系统硬件电路、功能程序。5、 编制课程设计报告书并装订成册,报告书内容(按顺序)(1)报告书封面(2)课程设计任务书(3)系统设计方案的提出、分析(4)系统中典型电路的分析(5)系统软件结构框图(6)系统电路原理图(7)源程序(8)课设字数不少于2000字成绩评语摘要 本文是以MCS-51单片机系统为基础的,通过热电阻PT100的阻值随温度的变化的特性,通过采集得到的模拟信号,并通过A/D转换器ADC0809对模拟信号进行模数转换,把转换得到的数字信号按照顺序分别送入单片机,通过单片机进行均值滤波,并通过查表得到温度值。LED数码管显示。本系统设计简单
4、,性能稳定,能够通过单片机灵活编程进行各种功能的设定和修改。并且为以后温度控制系统的扩展提供了方便,提供了键盘可以进行温度设定和模式选择。并且提供了利用Visual Stdio 2010编写的温度调节上位机进行温度监控和调试。为以后的系统扩展调试提供了方便。关键词:A/D转换器;热电阻;MCS-51,上位机第一章 前言1第二章 系统总体设计 12.1系统概述 12.2系统工作原理分析1第三章 硬件部分23.1单片机最小系统及键盘模块 33.2 数据采集通道模块53.3串行口模块53.4并行I/O芯片及显示模块 63.5 温度传感器模块63.6外部储存器模块7第四章 软件部分84.1 主程序的设
5、计84.2 定时器中断程序的设计94.3 数据采样程序的设计94.4 A/D转换程序的设计114.5 LED显示程序设计.12第五章 辅助调试工具16总结17参考文献17附录1硬件原理图及PCB图17附录2分程序代码18第一章 前言 温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、烘烤、煅烧、蒸馏、结晶、空气流动以及温度漂移等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量以及生活安全等一系列问题。因此对温度的检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产
6、能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。并且温度控制是一个大惯性控制,控制难度比较大。温度采集任务在温度控制中是比较重要的一个环节,因此本文来研究温度采集系统,意义重大。 第二章 系统总体设计2.1系统概述根据课程设计要求的性能指标,本系统要满足一定精度的温度采集的基本功能,同时系统还具有动态显示当前的测量温度值的功能和键盘操作的功能。 2.2系统原理分析 本文以MCS-51单片机系统为基础,通过温度传感器PT100随温度的变化而得到的模拟信号进行采集,连接ADC0
7、809实现单路路模拟信号的采集,并通过A/D转换器对模拟信号进行数模转换,把转换得到的数字信号送入单片机,通过LED显示。本系统设计简单,性能稳定,能够通过单片机灵活编程进行各种功能的设定和修改。根据本课题的设计目标以及硬件的特点,本系统的总体设计框图如图所示。 图一 系统框图第三章 硬件部分3.1 单片机最小系统及键盘模块 单片机选用AT89C51,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方
8、案。 本系统包括晶振电路,复位电路,地址锁存器电路,3-8译码器,键盘电路等。图如下,其中译码器输为P2.7,P2.6,P2.5,译码产生8个片选信号,分别来选通8155,外部RAM,ADC0809等芯片工作。保证了地址的扩展和单片机的基本运行。 图二 单片机最小系统原理图3.2数据采集通道模块 ADC0809是八通道的八位逐次逼近式A/D转换器。由单一的5V电源供电,片内带有锁存功能的8选1的模拟开关。由C、B、A的编码来决定所选的模拟通道。转换时间为100us。转换误差为1/2LSB。它的引脚的排列及其功能,其引脚图见下图三 ADC0809的引脚图IN7IN0 :八个通道的模拟输入量。AD
9、DA、ADDB、ADDC:模拟通道地址线。当CBA=000时,IN0输入,当CBA=111时,IN7输入。ALE:地址锁存信号。START:转换启动信号,高电平有效。D7D0:数据输出线。三态输出,D7是最高位,D0是最低位。OE:输出允许信号,高电平有效。CLK:时钟信号,最高频率为 640KHZ。EOC:转换结束状态信号。上升沿后高电平有效。VCC:+5V电源。VREF:参考电压。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。本次设计配置0809芯片作为数据采集通道。连接如图图四 数据采集通道原理图3.3串行口的选择该串行口选用了标
10、准RS-232C接口,它是电平与TTL电平转换驱动电路。常用的芯片是MAX232,MAX232的优点是:(1)一片芯片可以完成发送转换和接收转换的双重功能。(2)单一电源+5V供电(3)它的电路设计与连接比较简单而且功能齐全。电路图如下图五 串行口原理图3.4 并行I/O芯片及显示模块8155芯片内包含有256字节RAM,2个8位、1个6位的可编程并行I/O口,和1个14位定时器/计数器。由于8155既具有RAM又具有I/O口,因而是单片机系统中最常用的外围接口芯片之一。LED数码显示管是一种由LED发光二极管组合显示字符的显示器件。它使用了8个LED显示管,其中7个用于显示字符,1个用来显示
11、小数点,故通常称之为八段发光二极管数码显示器。对LED数码显示器的控制可以采用按时间向它提供具有一定驱动能力的位选和段选信号。原理图如下图六 并行I/O芯片及显示模块3.5 温度传感器模块题目要求,采集温度范围为-20-70。经过比较我们选择PT100作为温度传感器,pt100是铂热电阻,它的阻值跟温度的变化成正比,铂电阻的特点是精度高,稳定性好,性能可靠。铂在氧化性气氛中,甚至在高温下的物理、化学性质都非常稳定。因此铂被公认为是目前制造热电阻的最好材料。铂电阻主要作为标准电阻温度计使用,也常被用在工业测量中。PT100的阻值与温度变化关系为:当PT100温度为0时它的阻值为100欧姆,在10
12、0时它的阻值约为138.5欧姆。它的工业原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成匀速增长的。 图七 PT100桥式电路图根据电桥的运算关系得出桥式电路输出压差为 查PT100分度表得出,-20-70对应的电阻为92.16-127.08,为了提高采集的精度,我们把-20-70对应的电压变化利用惠斯通电桥和运放,变换到MCS-51可以最大程度识别和测量的范围,所以当-20的时候,对应输出电压为0V。因此,,把R3=510,R1=200,RPT=92.16,带入上式得出R9=1106.8;所以应该调节滑动变阻器R9=1106.8接入电路。当测量温度为70时,
13、对应的RPT=127.08,R3=510,R1=200,R9=1106.8,带入式得到U=0.366V。为了输入单片机MCS-51的电压为0-5V,应该设计运算放大器的放大倍数为,为了留有一定的余量和现有电阻大小,选择运算放大器的倍数为12倍。采集电压范围为0V-4.392V。最终我们,我们为了防止AD输入阻抗不够大,而对采集电路的电压造成影响,从而对电压采集造成误差。所以采用两级运放。第一级为查分比例运算电路,放大倍数为4被。后面一级为比例运算放大电路,放大倍数为3倍。最终放大倍数为12倍。运算放大电路的电路电阻匹配为我们取,R4=R5=20K,R6=R7=80K;我们取,R8=12K,R1
14、1=24K;且为匹配电阻,R12=8K;原理图如下图八 主电路原理图3.6 外部储存器模块 本系统扩展32K ROM, RAM,分别用了四片2764和6264,其P2.7,P2.6,P2.5通过3-8译码器,编译成Y0-Y7,作为片选信号。其余地址线作为连接8K的13根地址线。 Eg. U8:0x0000-0x1fff U9:0x2000-0x3fff U10:0x4000-0x5fff U11:0x6000-0x7fff原理图如下 图九 外部储存器的连接原理图第四章 软件部分4.1主程序的设计设计思路: 主程序主要执行LCD显示和键盘的扫描,AD的采集在外部中断中执行,采样数据处理以及LCD
15、显示数据的更新均在定时器中断中完成。主程序开始时首先定义相关的指针,并对定时器T0,外部中断INT0,ADC0809进行初始化设置。ADC0809转换完成时,单片机将收到低电平,所以将INT0设为下降沿触发。题目要求每隔1s更新一次显示温度,这里选用定时方式1,方式1的最大定时时间为:=1us=65.536ms这里每次溢出时设为50ms,每溢出20次进行一次数据更新。重装值的计算公式为:TC=-50ms/1us=15536=3CB0H51单片机的中断优先级默认为,INT0高于T0,当在定时器中断执行数据处理程序时应避免外部中断的打断,因此设为TO中断为高优先级。 循环,等待中断。流程图: 图十
16、 主程序流程图4.2 定时器中断程序的设计设计思路: 定时中断函数主要进行采样数据的处理以及温度的转换。为了减小误差,取最近十次的采样值相加求取平均值,然后转换为相应的温度。求平均值时,16位的除法操作比较困难,对于高八位可以看做是n个255,用高八位乘以25.5,即除以10之后的值,在与低八位除以10之后的数据相加,就是最后的平均值。对于ADC0809来说,它的采集电压范围为0-5V,电路设计时留有余量,参考值为4.09V,因此采集的最大值为208。进行温度转换时,-20对应0,70对应208,按照对应关系可以用查表进行。查出相应温度后转为十位、个位BCD码,为后面的LCD显示做准备。 图十
17、一 定时器流程图求平均值时的代码: DATA_Explose: PUSH ACC PUSH DPL PUSH DPH /*把寄存器切换到1区*/ CLR RS1 SETB RS0 CLR A MOV R4,#00H MOV R5,#00H MOV R3,#10 CLR C MOV R1,#32H LOOP_ADD: ADDC A,R1 JC ADD_High_8 SJMP ADD_Continue ADD_High_8: INC R4 CLR C ADD_Continue: INC R1 DJNZ R3,LOOP_ADD MOV R5,A AD_AVE: MOV A,R4 MOV B,#25
18、MUL AB MOV R2,A MOV A,R4 MOV B,#2 DIV AB ADD A,R2 MOV R4,A MOV A,R5 MOV B,#10 DIV AB ADD A,R4 MOV 2AH,A/把最终的数据送入2AH中温度转换代码: AD_DATA_USing: MOV DPTR,#TEM_DATAB; /温度转换表格地址 MOVC A,A+DPTR; /查表得相应温度 MOV B,#0AH; /被除数10给B DIV AB MOV 2FH,B MOV 30H,A CJNE A,#57,TREAT1; /将采样数值与57比较,若不相等则TREAT1 MOV 31H,#0AH; /
19、若相等,幅值FUHAOWEI,57,即正数 LJMP DOWN_ADTREAT1: JC TREAT2; /若Cy=1,则TREAT2 MOV 31H,#0AH; LJMP DOWN_AD TREAT2: MOV 31H,#0BH; /因Cy为0,为负温度 LJMP DOWN_AD DOWN_AD: POP DPH POP DPL POP ACC RET4.3 A/D转换和数据采样程序的设计设计思路:本设计程序中,由ADC0809转换完成信号触发外部中断进行数据的采集,并预留十个地址暂存采样数据,末位地址存入数据之后重新从首地址开始存入,进行数据处理时便可以取最近十次的值进行计算,提高精度。流
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 基于 mcs 51 数据 采集 系统 大学 论文
限制150内