八路数据采集系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的八路数据采集系统(二)
摘要:单片机数据采集系统是计算机在工业控制中最为普遍的应用系统¸它的任务是采集生产过程中的各种工况参数经过处理后送入内存储器,CPU 再对这些参数数据进行分析,运算和处理。本系统设计一个单片机系统,负责数据的采集和显示,设计一个多路数据输入输出系统,实现8路输入和输出。采用89C51系列单片机、ADC0809、LCD1602等芯片实现硬件仿真,采用C 语言编程。最后硬件电路在Proteaus 下仿真实现。 关键词:数据采集;8路输入输出;LCD 。
0.前言
随着科学技术的进步,人们越来越多地用计算机来实现控制系统,因此,充分理解计算机控制系统是十分重要的。
计算机控制系统的工作原理可归纳为以下三个步骤:
1.实时数据采集:对来自测量变送装置已的被控量的瞬时值进行检测和输入。
2.实时控制决策:对采集到的被控量进行分析和处理,并按已定的控制规律,决定将要采取的控制行为。
3.实时控制输出:根据控制决策,适时地对执行机构发出控制信号,完成控制任务。 工业控制机包括硬件和软件两部分:
硬件包括主机板、内部总线和外部总线、人-机接口、系统支持板、磁盘系统、通信接口、输入输出通道。软件包括系统软件、支持软件和应用软件。
本系统设计一个单片机系统,负责数据的采集和显示,设计一个多路数据输入输出系统,实现8路输入和输出。采用89C51系列单片机、ADC0809、LCD1602等芯片实现硬件仿真,采用C 语言编程。最后硬件电路在Proteaus 下仿真实现。
1.方案设计
数据采集电路的原理框图1所示。
图1 数据采集电路的原理框图
模拟输入通道1 模拟输入通道2
模拟输入通道8
ADC0809
MCS-51 单片机
LCD1602
根据设计要求,采用的方案如下:硬件部分实现对8路数据采集和显示的功能,包括MCS-51单片机、ADC0809、LCD1602;软件部分实现单片机对8路输入数据的采集以及对LCD的显示操作。
主要设计思想:单片机P1与ADC0809相连,P0与LCD连接。模拟信号通过IN0——IN7输入到ADC0809中转换为数字信号,P1获得此值后,经过处理得到每位的数据后,通过P2口写数据到LCD屏上。
2.硬件电路设计
2.1 MCS51单片机
MCS-51单片机的内部资源主要有并行I/O接口、定时器/计数器、串行接口以及中断系统。其外部引脚如图2所示。
图2 MCS-51单片机
2.1.1 I/O接口
51系列单片机有4个8位并行的I/O端口:P0、P1、P2、P3口。这4个口既可以并行输入或输出8位数据,又可以按位方式使用,即每一位均能独立作为输入或输出接口用。
2.1.2 定时器/计数器电路
1.MCS-51单片机有两个16位的可编程定时/计数器:定时/计数器T0和定时/计数器T1。
2.每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,这些功能都是通过编程设定来实现的。
3.每个定时/计数器有多种工作方式,其中T0有四种工作方式;T1有三种工作方式,T2有三种工作方式。通过编程可设定工作于某种方式。
4.每一个定时/计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通
过查询或中断方式来处理。
2.1.3 串行接口
MCS-51单片机具有一个全双工的串行异步通信接口,可以同时发送、接收数据。发送、接收数据可通过查询或中断的方式来处理。它有四种工作方式:
0.方式0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展I/O接口。
1.方式1,称为8位的异步通信方式,通常用于双机通信。
2.方式2和方式3,称为9位的异步通信方式,通常用于多机通信。
2.1.4 中断系统
MCS-51单片机提供5个(52子系列提供6个)硬件中断源:两个外部中断源INT0(P3.2)和INT1(P3.3),两个定时/计数器T0和T1的溢出中断TF0和TF1;1个串行口发送T1和接收R1中断。
以下为本系统用到的串口中断部分指令:
EA:中断允许总控位。EA=0,屏蔽所有的中断请求;EA=1,开放中断。EA的作用是使中断允许形成两级控制。
ES:串行口中断允许位。ES=1允许串行口中断。
REN为允许接收控制位。REN=1,则允许接收。
TI位发送中断标志位。
RI为接收中断标志位。
2.2 数据采集、模数转换模块
这一模块主要有ADC0808转化器和电位器组成成。ADC0808是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。该部分构成如图3所示。
图3 模数转换模块
2.2.1 输入输出端
1. IN0~IN7:8路模拟量输入端。
2. OUT1~OUT8:8位数字量输出端。
2.2.2 传输通道选择端
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。
2.2.3 使能端
1.ALE:地址锁存允许信号,输入,高电平有效。
2.START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
3.EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
4.OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
5.CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。
6.REF(+)、REF(-):基准电压。
2.3 显示模块
显示模块选用1602 型LCD显示模块。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。其外部引脚如图4所示。
图4 LCD1602