51单片机数据采集系统

合集下载

51单片机数据采集系统

51单片机数据采集系统

课程设计报告书设计任务书一、设计任务1一秒钟采集一次。

2把INO口采集的电压值放入30H单元中。

3做出原理图。

4画出流程图并写出所要运行的程序。

二、设计方案及工作原理方案: 1. 采用8051和ADC0809构成一个8通道数据采集系统。

2. 能够顺序采集各个通道的信号。

3. 采集信号的动态范围:0~5V。

4. 每个通道的采样速率:100 SPS。

5.在面包板上完成电路,将采样数据送入单片机20h~27h存储单元。

6.编写相应的单片机采集程序,到达规定的性能。

工作原理:通过一个A/D转换器循环采样模拟电压,每隔一定时间去采样一次,一次按顺序采样信号。

A/D转换器芯片AD0809将采样到的模拟信号转换为数字信号,转换完成后,CPU读取数据转换结果,并将结果送入外设即CRT/LED显示,显示电压路数和数据值。

目录第一章系统设计要求和解决方案第二章硬件系统第三章软件系统第四章实现的功能第五章缺点及可能的解决方法第六章心得体会附录一参考文献附录二硬件原理图附录三程序流程图第一章系统设计要求和解决方案根据系统基本要求,将本系统划分为如下几个部分:●信号调理电路●8路模拟信号的产生与A/D转换器●发送端的数据采集与传输控制器●人机通道的接口电路●数据传输接口电路数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。

系统框图如图1-1所示1.1 信号采集分析被测电压为0~5V 直流电压,可通过电位器调节产生。

1.1.1 信号采集多路数据采集系统多采用共享数据采集通道的结构形式。

数据采集方式选择程序控制数据采集。

程序控制数据采集,由硬件和软件两部分组成。

,据不同的采集需要,在程序存储器中,存放若干种信号采集程序,选择相应的采集程序进行采集工作,还可通过编新的程序,以满足不同采样任务的要求。

如图1-3所示。

程序控制数据采集的采样通道地址可随意选择,控制多路传输门开启的通道地址码由存储器中读出的指令确定。

周国运版51单片机课后习题答案解析

周国运版51单片机课后习题答案解析

第1章习题答案1.什么是单片机?答:将中央处理器(Central Processing Unit,CPU)、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,就叫做单片微型计算机(Single Chip Micro Computer,SCMC),简称单片机。

由于单片机的指令功能是按照工业控制的要求设计,所以单片机又称为微控制器(Micro Controller Unit,MCU)。

2.单片机有哪些特点?答: (1)单片机的存储器ROM和RAM是严格区分的。

ROM称为程序存储器,只存放程序、固定常数及数据表格。

RAM则为数据存储器,用作工作区及存放用户数据。

(2)采用面向控制的指令系统。

(3)单片机的I/O引脚通常是多功能的。

(4)单片机的外部扩展能力强。

(5)单片机体积小,成本低,运用灵活,易于产品化。

(6)面向控制,能有针对性地解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。

(7)抗干扰能力强,适用温度范围宽。

(8)可以方便地实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。

3.单片机的应用有哪些?答: (1)工业控制。

单片机可以构成各种工业控制系统、数据采集系统等。

如数控机床、自动生产线控制、电机控制、测控系统等。

(2)仪器仪表。

如智能仪表、医疗器械、数字示波器等。

(3)计算机外部设备与智能接口。

如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。

(4)商用产品。

如自动售货机、电子收款机、电子秤等。

(5)家用电器。

如微波炉、电视机、空调、洗衣机、录像机、音响设备等。

(6)消费类电子产品。

(7)通讯设备和网络设备。

(8)儿童智能玩具。

(9)汽车、建筑机械、飞机等大型机械设备。

(10)智能楼宇设备。

(11)交通控制设备。

4.常见的单片机有哪些类型?答: 1.AVR单片机;2.Motorola单片机;3.MicroChip单片机;4.Scenix单片机;5.EPSON单片机;7.GMS90单片机;8.华邦单片机9.Zilog单片机;10.NS单片机;11.AX1001单片机第2章习题答案1.MCS-51单片机内部包含哪些主要逻辑功能部件?答:(1)1个8位的微处理器CPU。

STC15单片机内部ADC采集数据在LCD12864上显示的程序

STC15单片机内部ADC采集数据在LCD12864上显示的程序

敬告:没有51单片机基础的人请慎重下载高质量实用性51单片机STC15W系列程序(1),STC8A系列可参考STC15单片机内部ADC采集数据在LCD12864上显示的程序main主程序:#include "LCD12864.h"void ValToString(unsigned int tmp,unsigned char *buf);int main(){unsigned int tmp;unsigned char buf[4];P2M1 &= 0xE5;P2M0 &= 0xE5;// P1M1 &= 0x7F;P1M0 &= 0x7F;SPI_config();SPI_init();ADC_init();//delay(10);LCD12864_write1(0,0,5,"test:");LCD12864_write2(0,1,"hello!");while(1){tmp = ADC_getvalue();ValToString(tmp,buf);LCD12864_write1(0,2,sizeof(buf),buf);LCD12864_write2(0,3,buf);//delay(5000);}}void ValToString(unsigned int tmp,unsigned char *buf) {buf[0] = tmp/100 + '0';buf[1] =(tmp%100)/10 + '0';buf[2] = (tmp/10)%10 + '0';buf[3] = '\0';}/*******************************************************/LCD12864程序:#include"LCD12864.h"sbit SPI_cs = P2^4;void delay(unsigned int ms){unsigned int i;do{i = MAIN_Fosc / 13000;while(--i) ; //14T per loop}while(--ms);}//void delay(unsigned int t)//{// unsigned int i,j;// for(i=0; i<t; i++)// for(j=0; j<10; j++);//}void SPI_config(){SPCTL = 0x00;SPCTL |= 0xD0;SPSTAT |= 0xC0;IE2 &= 0xFD;AUXR1 &= 0xF7;AUXR1 |= 0x04;// AUXR1|=0X04; //½« SPI µ÷Õûµ½ P2.1 P2.2 P2.3 P2.4// AUXR1&=0XF7;// SPDAT = 0;// SPSTAT = 0x80|0x40; //Çå³ýSPI״̬λ// SPCTL = 0x40|0x10|0x80;}unsigned char SPI_write(unsigned char dat){SPDAT = dat;while(!(SPSTAT&0x80));SPSTAT = 0xC0;//SPSTAT = 0x80|0x40;return SPDAT;}void SPI_wcmd(unsigned char cmd){SPI_cs = 1;SPI_write(0xF8);SPI_write(cmd&0xF0);SPI_write((cmd&0x0F)<<4);//SPI_write((cmd<<4)&0xF0);delay(2);}void SPI_wdat(unsigned char dat){SPI_cs = 1;SPI_write(0xFA);SPI_write(dat&0xF0);SPI_write((dat&0x0F)<<4);//SPI_write((dat<<4)&0xF0);delay(2);}void LCD12864_write1(unsigned char x,unsigned char y,unsigned char len,unsigned char *buf){//SPI_wcmd(0x03);switch(y){case 0:x=x+0x80;break;case 1:x=x+0x90;break;case 2:x=x+0x88;break;case 3:x=x+0x98;break;default:break;}SPI_wcmd(x);while(len>0){SPI_wdat(*buf++);len--;}}void LCD12864_write2(unsigned char x,unsigned char y,unsigned char *buf){switch(y){case 0:x=x+0x80;break;case 1:x=x+0x90;break;case 2:x=x+0x88;break;case 3:x=x+0x98;break;default:break;}SPI_wcmd(x);while(*buf!='\0')//while(*buf>0){SPI_wdat(*buf++);//delay(50);}}void SPI_init(){//delay(100);SPI_wcmd(0x30);//delay(50);SPI_wcmd(0x0C);//delay(50);}//void display(unsigned char code *buf) //{// while(*buf>0)// {// SPI_wdat(*buf);// buf++;// delay(50);// }//}//void LCD12864_write2()//{// SPI_wcmd(0x03);// delay(50);//// SPI_wcmd(0x91);// display("ÎÒÊÇÈË");//}/*******************************************************/ADC程序:#include "LCD12864.h"unsigned int ADC_getvalue(){unsigned int val;ADC_CONTR |= 0xE7;//val = ADC_RES << 8;val = val | ADC_RESL;ADC_CONTR |= 0x08;//return val;}void ADC_init(){ADC_CONTR &= 0xEF; //0b 1 11 0 1 111;ADC_CONTR |= 0xE7;delay(10);P1ASF |= 0x80;CLK_DIV |= 0x20;EADC = 0;ADC_CONTR |= 0x08;}/*******************************************************/.h文件程序://1#ifndef _ADC_H#define _ADC_Hextern void ADC_init();extern unsigned int ADC_getvalue();#endif//2#ifndef _LCD12864_H#define _LCD12864_H#define MAIN_Fosc 11059200L#include "STC15.H"#include "intrins.h"#include "ADC.h"//sbit SPI_sid = P2^3;//sbit SPI_clk = P2^1;extern void SPI_config();extern void delay(unsigned int ms);extern void SPI_init();extern void LCD12864_write1(unsigned char x,unsigned chary,unsigned char len,unsigned char *buf);extern void LCD12864_write2(unsigned char x,unsigned char y,unsigned char *buf);//extern void LCD12864_write2();#endif。

基于ADC0809和51单片机的多路数据采集系统设计

基于ADC0809和51单片机的多路数据采集系统设计

基于ADC0809和51单片机的多路数据采集系统设计&ldquo;数据采集&rdquo;是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。

本文的主要任务是对0~5V的直流电压进行测量并送到远端的PC机上进行显示。

由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,可以直接将直流电压转换为计算机可以处理的数字量。

同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。

终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,提高系统的抗干扰能力。

软件设计方面则采用功能模块化的设计思想;键盘模数转换等采用中断方式来实现,从而大大提高了单片机的效率以及实时处理能力。

1 数据采集系统的硬件结构数据采集系统的硬件结构一般由信号调理电路、多路切换电路、采样保持电路、A/D转换器以及单片机等组成。

本文主要完成功能的系统硬件框图。

2 ADC0809模数转换器简介2.1 ADC0809的结构功能本数据采集系统采用计算机作为处理器。

电子计算机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要模/数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟量转换成数字量输出的接口电路,即A/D转换器就是现实信号转换的桥梁。

目前,世界上有多种类型的A/D转换器,如并行比较型、逐次逼近型、积分型等。

本文采用逐次逼近型A/D转换器,该类A/D转换器转换精度高,速度快,价格适中,是目前种类最多,应用最广的A/D转换器。

逐次逼近型A/D转换器一般由比较器、D/A转换器、寄存器、时钟发生器以及控制逻辑电路组成。

基于51单片机的仓储温度采集测控系统设计

基于51单片机的仓储温度采集测控系统设计
功能 。
[ 关键词 ] 片机 单
1引 言 .
温度采集测控 系统设 计
随着单 片机和传感技术 的迅速发展 , 自 检测 领域发生了巨大变 动 化 , 室环境 自动监测控制方面 的研究有 了明显 的进展 , 温 并且必将 以其 优异 的性能价格 比, 逐步取代传统 的温度控制措施 。防潮 、 防霉 、 防腐 、 防爆 是仓库 日 常工作 的重要 内容 , 是衡量仓库管理质量 的重要指标 。 它 直接影响到储备物资 的使用寿命 和工作可靠性 。为保证 日常工作的顺 利进行 , 问题是加强仓库 内温度与湿度的监测工作 。 首要 传统 的方法是 用 与湿度表 、 毛发湿度表 、 双金 属式测量计 和湿 度试纸等测试 器材 , 通 过 人工进行 检测 , 对不符合温度和湿度要求 的库 房进行通风 、 去湿和降 温等 工作 。这种人工测试方法费时费力 、 效率低 , 测试的温度及湿度 且 误差 大 , 随机性 大。因此我们需要一种造价 低廉 、 使用方便且测量准确
的温 湿 度 测 量 仪 。
近年来 ,利用智能化数字式温度传感器 以实现温度信息的在线检 测 已成为温度检测技术 的一种发展趋势。 其应用领域越来越广泛 , 对其 要求越来越 高, 需求越来越迫切 。 传感器技 术已成 为衡量一个 国家科学 技术发展水平 的重要标志之一 。 数字化技术推 动了信息化 的革命 , 在传 感器 的器件结构上采用数字化技术 , 使信息的采集更加方便 。
2 系统 分 析 与 硬 件 设 计 . 图 2主 程 序 流 程 图 4硬 件 设 计 .
数字温度 芯片 D 1B 0 S 8 2 测量 温度 , 出信号全 数字化 , 于单片 输 便 机处理和控 制, 省去传统测温方法 中的很多外 围电路 , 且该芯片的物理 化 学性 比较稳定 , 可用做工业测 温元件 , 0 10摄氏度范 围内 , 在 -0 最大 线形偏差小 于 1 氏度 。D 1B 0的最 大特点 之一是 采用了单总线的 摄 S8 2 数据 传输 , 由数字温度计 D 1B 0 S 8 2 和微控制器 A 8 S 1 T 9 5 构成的温度测 量装置, 它直接输 出温度的数字信号, 可直接 与计算 机连 接。这样 , 测温 系统 的结构就 比较简单 , 体积也小。 采用 5 单 片机控制 , l 软件编程的 自 由度大 , 可通过编程实现各种各样 的算术算 法和逻辑控制 , 硬件实现简 单, 安装方便 。 仓储 温度 采集测 控系统 原理 图如 图 2 示 ,控制器 使用单 片机 所 A 8 C 0 1 温度计传感器使用 D 1B 0 用液 晶实现温度显示 。本温 T 9 25 , S8 2 , 度计 大体分 三个工作过程 。 首先 , D 1 80温度传感器芯片测量 当前 由 S 82 的温度 , 并将结 果送 入单片机。然后 , 通过 8 C 0 I 片机 芯片对送来 9 25单 的测量温度读数进行计算和转换 ,并将此结果送人 液晶显示模块。最 后 ,M 10 A芯 片将送来的值显示于显示屏 上。 由图 1 S C 62 可看 到 , 本电 路 主要 由 D 1 2 S 8 0温度 传感 器芯 片 、M 1 2 8 S C6 A液 晶显 示模 块芯 片和 0 8C 0 1 片机 芯片组成 。其 中,S8 2 温度传感 器芯片采用 “ 9 25 单 D IB 0 一线 制” 与单 片机相连 , 它独立地完成温度测量 以及将温 度测量 结果送 到单

关于单片机模拟信号采集一些方法

关于单片机模拟信号采集一些方法

关于单⽚机模拟信号采集⼀些⽅法关于单⽚机模拟信号采集⼀些⽅法2010-10-15 22:51单⽚机系统采集的信号有模拟电压信号、模拟电流信号、PWM信号、数字逻辑信号等。

现在,绝⼤多数传感器输出的信号都是模拟信号量,电流和电压。

所以模拟信号的采集应⽤最为⼴泛,处理过程也相对复杂。

相⽐于模拟信号,PWM信号和数字逻辑信号的采集⽐较直接,单⽚机能够直接处理这类信号,⽆需额外的器件进⾏信号转换。

这⾥的模拟信号是指电压和电流信号,对模拟信号的处理技术主要包括模拟量的选通、模拟量的放⼤、信号滤波、电流电压的转换、V/F转换、A/D转换等。

1.模拟通道选通单⽚机测控系统有时需要进⾏多路和多参数的采集和控制,如果每⼀路都单独采⽤各⾃的输⼊回路,即每⼀路都采⽤放⼤、滤波、采样/保持,A/D等环节,不仅成本⽐单路成倍增加,⽽且会导致系统体积庞⼤,且由于模拟器件、阻容元件参数特性不⼀致,对系统的校准带来很⼤困难;并且对于多路巡检如128路信号采集情况,每路单独采⽤⼀个回路⼏乎是不可能的。

因此,除特殊情况下采⽤多路独⽴的放⼤、A/D外,通常采⽤公共的采样/保持及A/D转换电路(有时甚⾄可将某些放⼤电路共⽤),利⽤多路模拟开关,可以⽅便实现共⽤。

在选择多路模拟开关时,需要考虑以下⼏点:(1)通道数量通道数量对切换开关传输被测信号的精度和切换速度有直接的影响,因为通道数⽬越多,寄⽣电容和泄漏电流通常也越⼤。

平常使⽤的模拟开关,在选通其中⼀路时,其它各路并没有真正断开,只是处于⾼阻状态,仍存在漏电流,对导通的信号产⽣影响;通道越多,漏电流越⼤,通道间的⼲扰也越多。

(2)泄漏电流在设计电路时,泄漏电流越⼩越好。

采集过程中,信号本⾝就⾮常微弱,如果信号源内阻很⼤,泄漏电流对精度的影响会⾮常⼤。

(3)切换速度在选择模拟开关时,要综合考虑每路信号的采样速率、A/D的转换速率,因为它们决定了对模拟开关的切换速度的要求。

(4)开关电阻理想状态的多路开关其导通电阻为零,⽽断开电阻为⽆穷⼤,⽽实际的模拟开关⽆法到这个要求,因此需考虑其开关电阻,尤其当与开关串联的负载为低阻抗时,应选择导通电阻⾜够低的多路开关。

51单片机的介绍

51单片机的介绍
房、办公及住宅环境,适用于民用产品,例如家 电、玩具等。商业级产品价格低廉,品种齐全, 应用最为广泛。
单片机的使用环境及产品等级
• 工业级 早期的单片机产品大多为工业级,运行温度
范围为 -45℃~+85℃,介于商业级和军用级之间,适 宜在工业生产环境下使用。其特点是可靠性远高 于商业级,但价格远低于军用级。MCS-51系列 单片机的普通产品均属于工业级。
51系列单片机的典型引脚结构
51系列单片机的典型引脚结构
电源引脚 VCC(Pin40): 正电源引脚。正电 源接4.0~5.0V电压, 正常工作电压为 +5V。 GND(Pin20): 接地引脚。
51系列单片机的典型引脚结构
时钟引脚 XTAL1(Pin19):用作 片内振荡电路的输入端。 XTAL2(Pin18):用作 片内振荡电路的输出端或 者外部时钟源的输入引脚。
硬件资源介绍
• 单片机系统的硬件部分是包括CPU在内的 所有硬件电路,按照硬件电路的功能和配 置大致可以分为3类
硬件资源介绍
• 1) 基本功能类 基本功能类硬件包括:CPU(用于运算、控
制)、RAM(用于数据存储)、ROM(用于程序存储)、 I/O设备(实现串行、并行输入/输出接口)及时钟电 路(建立工作时序)。在微型计算机中,上述部件 被分成若干块芯片,安装在一块称之为主板的印 刷线路板上,在程序的指挥下完成计算机的基本 运算操作功能。但是在单片机中,除了时钟电路 之外,其余部分一般均被集成到一块半导体芯片 上,所以被称为单片机,即单芯片微型计算机。
D/A(数/模转换,通常采用PWM形式)等部件。这 类部件根据芯片的配置不同不一定集成在单片机 芯片上,需要用户根据使用要求选择。
单片机的使用环境及产品等级

基于PROTEUS的数据采集系统的设计与仿真

基于PROTEUS的数据采集系统的设计与仿真

基于PROTEUS的数据采集系统的设计与仿真渠丽岩【摘要】摘要:基于PROTEUS的数据采集系统,结合Keil C51软件,实现了对单片机系统进行硬件设计和软件仿真功能,不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

实验表明,使用PROTUES 对单片机的数据采集系统进行设计和仿真,结果正确可靠,而且可以有效提高开发效率。

【期刊名称】电子设计工程【年(卷),期】2014(022)004【总页数】3【关键词】数据采集系统;PROTEUS;AT89C51;Keil C51PROTEUS软件是LabCenter Electronics公司开发的EDA工具软件,它集成了高级原理图设计、混合模式SPICE电路仿真及PCB设计[1],最具特色的是它能够仿真基于单片机的电子系统。

PROTEUS不但支持MCS-51及其派生系列单片机的设计与仿真,还可以仿真基于AVR、ARM和PIC系列的嵌入式系统。

PROTEUS软件可提供各类元器库30多个,超过27 000多种元器件。

此外,对于元件库中没有的器件,用户可以依照需要自己创建。

在软件调试方面,其内部带有8051、AVR、PIC的汇编编译器,支持单片机汇编语言的编辑、编译和源代码级仿真,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源代码级仿真和调试。

PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化,这是实物演示难以达到的效果[2]。

在计算机广泛应用的今天,日益突显数据采集的重要性,它是计算机与外部世界连接的桥梁。

数据采集系统主要是将传感器采集来的模拟信号经A/D转换后形成数字信号,并通过接口电路送给处理器,然后再进行分析、传输、显示和存储等处理。

数据采集装置在工业现场和科学研究中应用广泛。

在生产过程中,应用这一装置可以对生产现场的各种参数进行采集、监控和记录,为提高产品质量、降低成本、增加生产效率提供信息和手段;在科学研究中,数据采集装置可获得大量的动态信息,是各种研究领域的有力工具,也是破解科学奥秘的重要手段之一[3]。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告书设计任务书一、设计任务1一秒钟采集一次。

2把INO口采集的电压值放入30H单元中。

3做出原理图。

4画出流程图并写出所要运行的程序。

二、设计方案及工作原理方案: 1. 采用8051和ADC0809构成一个8通道数据采集系统。

2. 能够顺序采集各个通道的信号。

3. 采集信号的动态范围:0~5V。

4. 每个通道的采样速率:100 SPS。

5.在面包板上完成电路,将采样数据送入单片机20h~27h存储单元。

6.编写相应的单片机采集程序,到达规定的性能。

工作原理:通过一个A/D转换器循环采样模拟电压,每隔一定时间去采样一次,一次按顺序采样信号。

A/D转换器芯片AD0809将采样到的模拟信号转换为数字信号,转换完成后,CPU读取数据转换结果,并将结果送入外设即CRT/LED显示,显示电压路数和数据值。

目录第一章系统设计要求和解决方案第二章硬件系统第三章软件系统第四章实现的功能第五章缺点及可能的解决方法第六章心得体会附录一参考文献附录二硬件原理图附录三程序流程图第一章系统设计要求和解决方案根据系统基本要求,将本系统划分为如下几个部分:●信号调理电路●8路模拟信号的产生与A/D转换器●发送端的数据采集与传输控制器●人机通道的接口电路●数据传输接口电路数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。

系统框图如图1-1所示1.1 信号采集分析被测电压为0~5V 直流电压,可通过电位器调节产生。

1.1.1 信号采集多路数据采集系统多采用共享数据采集通道的结构形式。

数据采集方式选择程序控制数据采集。

程序控制数据采集,由硬件和软件两部分组成。

,据不同的采集需要,在程序存储器中,存放若干种信号采集程序,选择相应的采集程序进行采集工作,还可通过编新的程序,以满足不同采样任务的要求。

如图1-3所示。

程序控制数据采集的采样通道地址可随意选择,控制多路传输门开启的通道地址码由存储器中读出的指令确定。

即改变存储器中的指令内容便可改变通道地址。

由于顺序控制数据采集方式缺乏通用性和灵活性,所以本设计中选用程序控制数据采集方式。

采集多路模拟信号时,一般用多路模拟开关巡回检测的方式,即一种数据采集的方式。

利用多路开关(MUX )让多个被测对象共用同一个采集通道,这就是多通道数据采集系统的实质。

当采集高速信号时,A/D 转换器前端还需加采样/保持(S/H)电路。

待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等环节的预处理。

被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给A/D 转换器,需对其进行必要的处理,即信号调理。

如对信号进行放大、衰减、滤波等。

通常希望输入到A/D 转换器的信号能接近A/D 转换器的满量程以保证转换精度,因此在直流电流电源输出端与A/D 转换器之间应接入放大器以满足要求。

本题要求中的被测量为0~5V 直流信号,由于输出电压比较大,满足A/D 转换输入的要求,故可省去放大器,而将电源输出直接连接至A/D 转换器输入端。

多路数据采集输入通道的结构图1-4所示。

图1-3 程序控制数据采集原理 图1-1 一般系统框图图1-4 多路数据采集输入通道结构ADC0809是TI公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。

用它可直接将8个单端模拟信号输入,分时进行A/D转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为A/D转换电路的核心。

1.2.1 单片机系统分析1.复位电路单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。

51的RST引脚是复位信号的输入端。

复位电平是高电平有效,持续时间要有24个时钟周期以上。

本系统中单片机时钟频率为6MHz则复位脉冲至少应为4us。

在MCS-51单片机系列芯片中,用8051或8751芯片可以构成最小系统。

因为8051和8751是片内有ROM/EPROM的单片机,用这种芯片构成的单片及最小系统简单、可靠。

8051构成的最小系统特点:●受集成度所限,只能用于小型控制单元。

●有可供用户使用的大量的I/O口线。

●仅有芯片内部的存储器,故存储器的容量有限。

●8051的应用软件要依靠半导体掩膜技术植入,适于在大批量生产的应用系统中使用。

第二章硬件系统2.1 信号调理电路信号调理的任务将被测对象的输出信号变换成计算机要求的输入信号。

对于多通道数据采集系统的输入通道,设置多路选择开关,可降低硬件开销。

如图2-1所示。

为避免小信号通过模拟开关造成较大的附加误差,在传感器输出信号过小时,每个通道应设前置放大环节(本文可不加以考虑)。

图2-1 信号调理过程2.2 数据采集电路把连续变化量变成离散量的过程称为量化,也可理解为信号的采样。

把以一定时间间隔T 逐点采集连续的模拟信号,并保持一个时间t ,使被采集的信号变成时间上离散、幅值等于采样时刻该信号瞬时值的一组方波序列信号,即采样信号。

2 ADC0809内部功能与引脚介绍分辨率和精度在第一章中已作了相应的计算和分析。

ADC0809八位逐次逼近式A /D 转换器是一种单片CMOS 器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。

8路转换开关能直接连通8个单端模拟信号中的任何一个。

其内部结构如图2-2所示。

1.ADC0809主要性能◆ 逐次比较型◆ CMOS 工艺制造◆ 单电源供电◆ 无需零点和满刻度调整◆ 具有三态锁存输出缓冲器,输出与TTL 兼容◆ 易与各种微控制器接口◆ 具有锁存控制的8路模拟开关◆ 分辨率:8位◆ 功耗:15mW◆ 最大不可调误差小于±1LSB (最低有效位)◆ 转换时间(500CLK f KHz =)128us◆ 转换精度:0.4%±◆ ADC0809没有内部时钟,必须由外部提供,其范围为10~1280kHz 。

典型时钟频率为640kHz2.引脚排列及各引脚的功能,引脚排列如图2-3所示。

图2-2 ADC0809内部结构各引脚的功能如下:IN0~IN7:8D0~D7:8位转三态输出,D7是最高位,D0是最低位。

A、B、C:通道CBA=000时,CBA=111时,ALE:地址锁存信号在上升沿处把A、B、C 的状态锁存到内部的多路开关的地址锁存器中,从而选通8路模拟信号中的某一路。

START:启动转换信号输入端。

从START端输入一个正脉冲,其下降沿启动ADC0809开始转换。

脉冲宽度应不小于100~200ns。

EOC:转换结束信号输出端。

启动A/D转换时它自动变为低电平。

OE:输出允许端。

CLK:时钟输入端。

ADC0809的典型时钟频率为640kHz,转换时间约为100μs。

REF(-)、REF(+):参考电压输入端。

ADC0809的参考电压为+5V。

VCC、GND:供电电源端。

ADC0809使用+5V单一电源供电。

当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。

在START上升沿时,所有的内部寄存器清零,在下降沿时,开始进行A/D转换,此期间START应保持低电平。

在START下降沿后10us左右,转换结束信号变为低电平,EOC为低电平时,表示正在转换,为高电平时,表示转换结束。

OE为低电平时,D0~D7为高阻状态,OE为高电平时,允许转换结果输出。

2.2.3 ADC0809与MCS-51系列单片机的接口方法ADC0809与8051单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本题中选用中断接口方式。

由于ADC0809无片内时钟,时钟信号可由单片机的ALE信号经D触发器二分频后获得。

ALE引脚得脉冲频率是8051时钟频率的1/6。

该题目中单片机时钟频率采用6MHz,则ALE输出的频率是1MHz,二分频后为500Hz,符合ADC0809对频率的要求。

由于ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的A、B、C相连。

通道基本地址为0000H~0007H。

其对应关系如表2-1所示。

表2-1 0809输入通道地址1 0 1 IN51 1 0 IN61 1 1 IN7控制信号:将P2.7作为片选信号,在启动A/D转换时,由单片机的写信号和P2.7控制ADC的地址锁存和启动转换。

由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。

在读取转换结果时,用单片机的读信号RD和P2.7引脚经或非门后,产生正脉冲作为OE信号,用一打开三态输出锁存器。

START信号和OE信号的逻辑表达式为当8051通过对0000H~0007H(基本地址)中的某个口地址进行一次写操作,即可启动相应通道的A/D转换;当转换结束后,ADC0809的EOC端向8051发出中断申请信号;8051通过对0000H~0007H中的某个口地址进行一次读操作,即可得到转换结果。

第3章软件系统ORG 0000hMOV r1,#20h ;取数20h送 r1中MOV r2,#8h ; channel number! ;取数8h送r2中MOV TL0,#0h ;启动 TL0MOV TH0,#0b8h ;设置定时初值THO;MOV tmod,#1h ;选择工作方式1clr et0 ;清零setb tr0 ;启动T0工作MOV scon,#40h ;设置串口工作方式1MOV dptr,#78ffh ;取源数据地址送dptr loop: MOV a,r2 ;将r2中的数据送累加器a中SUBB a,r1 ;将r1中的数据与a中数据进位减法运算jnz loop2 ;结果不为零则转loop2MOV r1,#0h ;对r1清零MOV dptr,#78ffh ;取源数据地址送dptrMOV r1,#0h ;对r1清零MOV dptr,#78ffh ;取源数据地址送dptrloop1: jnb tf0,loop1 ;定时器无溢出则转入loop1clr tf0 ;对tf0清零MOV TL0,#0h ;对tlo清零MOV TH0,#0b8h ;设置定时初值TH0loop2: MOVx @dptr,a ;start A/D ;启动模数转换器loop3: jb p1.0,loop3 ;p1.0为1则转loop3loop4: jnb p1.0,loop4 ;check flag ;p1.0为0则转loop4MOVx a,@dptr ;读取结果MOV @r1,a ;保存结果inc dph ; ;选取下一个inc r1 ;计数器减1ljmp loop ;返回到loopend整个系统软件设计分为两个部分,作为主控的PC端的软件设计及作为数据采集器的单片机终端节点的软件设计。

相关文档
最新文档