第4章 基于单片机控制器_第1页
第4章 基于单片机控制器_第2页
第4章 基于单片机控制器_第3页
第4章 基于单片机控制器_第4页
第4章 基于单片机控制器_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章基于单片机的控制器4.1MCS-51单片机4.2模拟数据采集4.3模拟数据输出4.4功率输出4.5单片机现场控制器4.6其他嵌入式处理器 4.1MCS-51单片机

MCS-51是Intel公司生产的一个单片机系列的名称。属于这一系列的单片机有多种,如8051/8751/8031,8052/8752/8032,80C51/87C51/80C31,80C52/87C52/80C32等。

该系列单片机的生产工艺有两种:一是HMOS工艺(即高密度短沟道MOS工艺),二是CHMOS工艺(即互补金属氧化物的HMOS工艺)。CHMOS是CMOS和HMOS的结合,它既保持了HMOS高速度和高密度的特点,又具有CMOS低功耗的特点。在产品型号中凡带有字母“C”的,即为CHMOS芯片,不带有字母“C”的,即为HMOS芯片。HMOS芯片的电平与TTL电平兼容,而CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。在单片机应用系统中,一般应尽量采用CHMOS工艺的芯片。

在功能上,该系列单片机有基本型和增强型两大类,通常以芯片型号的末位数来区分,末位数为“1”的型号为基本型,末位数为“2”的型号为增强型。

在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM和ROMLess(无片内程序存储器)。如80C51含有4KB的掩膜ROM,87C51含有4KB的EPROM,而80C31在芯片内无程序存储器,应用时要在单片机芯片外部扩展程序存储器。各厂商以8051为基本核开发出的CHMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:

Intel公司的80C31、80C51、87C51、80C32、80C52、87C52等;

ATMEL公司的89C51、89C52、89C2051、89C4051等。

除此之外,还有Philips、华邦、Dallas、Siemens(Infineon)等公司的各种产品。

这些产品在某些方面有一些差异,但基本结构和功能是相同的。所以,以80C51代表这些产品的共性,而在具体的应用电路中,有时会采用某一产品的特定型号。 4.2模拟数据采集

数据采集是单片机控制系统中最为普遍的应用需求。数据采集的对象可以是温度、压力、流量等各种物理量。数据采集系统可以是复杂控制系统的一部分,也可以是配备显示(或打印)输出的独立系统(或仪表)。模拟数据采集系统输入通道的构成如图4-1所示。图4-1模拟数据采集系统输入通道的构成4.2.1传感器

传感器把被测的物理量(如温度、压力等)作为输入参数,将其转换为电量(电流、电压、电阻等)后输出。物理量的性质和测量范围不同,传感器的工作机理和结构就不同。通常,传感器输出的电信号是模拟信号(已有许多新型传感器采用数字量输出)。当信号的数值符合A/D转换器的输入等级时,可以不用放大器放大;当信号的数值不符合A/D转换器的输入等级时,就需要放大器放大。4.2.2多路模拟开关

多路模拟开关的作用是将多路模拟信号分别与A/D转换器接通,逐一进行A/D转换,以达到分时享用A/D转换器的目的。

以多路模拟开关AD7501为例(图4-2所示),AD7501是CMOS型8选1多路模拟开关,每次从8个输入端中选择一路与公共端相连,选择的通道号由输入的地址编码确定(如表4-1所示),与TTL电平兼容。图4-2AD7501表4-1地址编码表

4.2.3放大器

放大器通常采用集成运算放大器。常用的集成运算放大器有0P-07、5G7650等。在环境条件较差时,可以采用数据放大器(也称为精密测量放大器)或传感器接口专用模块。4.2.4采样/保持器

因为A/D转换需要一定的时间,为了保证转换精度,在A/D转换的过程中,要求信号的电压保持不变,在A/D转换完成后,又要能跟踪信号电压的变化。能完成这个功能的电路叫采样/保持电路(或称为采样/保持器,Sample/Hold,简称S/H)。

香农采样定理:对于一个有限频率的连续信号,当采样频率fs≥2f信max时,采样函数才能不失真地恢复原来的连续信号。采样定理给出的是采样的最低频率,为了保证精度,工程上通常要求fs=(4~10)f信max。

图4-3为采样/保持电路的原理图。采样/保持电路由存储电容CH、模拟开关T(N沟道增强型MOS管)、输入电阻RI(限流)、反馈电阻RF和运算放大器A组成。在开关控制信号S的作用下,电路有两种工作模式:

采样模式:控制信号S为高电平,T导通,输入信号UI通过RI、T向电容CH充电,若RI=RF,则充电结束后,UO=UC=-UI;图4-3采样/保持电路的原理图保持模式:控制信号S为低电平,T截止,输出电压UO由电容CH两端电压保持。

根据上述工作方式,要求采样/保持电路:在采样阶段,存储电容要尽快充电,以快速跟踪信号电压;在保持阶段,存储电容漏电流必须接近于零,以保持信号电压(相当于一个模拟信号存储器)。

集成采样/保持器主要有AD582、AD583(一般)、HTS-0025(高速)、SHA1144(高分辨率)等。4.2.5A/D转换器及其与单片机接口

A/D转换器用于将模拟信号转变为数字量,其主要指标是分辨率。A/D转换器的位数与其分辨率有直接的关系。8位的A/D转换器可以对满量程的1/256进行分辨。A/D转换器的另一个重要指标是转换时间。选择A/D转换器时必须满足采样分辨率和速度的要求。

采样/保持输出电平仍是模拟量,把采样后的样值电平归化到与之接近的离散电平上,称为量化,指定的离散电平称为量化电平。量化必然存在误差(系统误差)。量化一般有两种方法:只舍不入(类似于取整运算)和有舍有入(类似于四舍五入),前一种量化误差(1LSB)是后一种量化误差(0.5LSB)的两倍。用二进制数码来表示各个量化电平的过程称为编码。量化单位电压就是两个量化电平之间的差值,二进制数码位数越多,量化单位电压就越小,量化误差就越小,精度就越高。

在A/D转换中,模拟电压的输入范围一般有0~5V、0~10V、-5~5V等,其中0~5V、0~10V称为单极性输入,-5V~5V称为双极性输入。在输入范围内,转换前后的模拟电压与数字码之间有一一对应的关系。

转换后的数字码一般有二进制码和BCD码两种。BCD码常用于直接显示数字,二进制码用于与计算机的接口,有8、10、12、16位等,位数越多,精度越高。对于双极性输入,一般给出二进制补码的形式或双极性偏移码的形式,如表4-2所示。表4-2A/D编码1.12位A/D转换器AD574A

实现A/D转换的方法比较多,常见的有计数法、双积分法和逐次逼近法。由于逐次逼近式A/D转换具有速度快、分辨率高等优点,而且采用该法的A/D转换器芯片的成本较低,因而目前绝大多数A/D转换器都采用这种方法。

AD574A是一款逐次逼近式12位A/D转换器,其引脚排列如图4-4所示,其引脚及功能说明如表4-3所示。图4-4AD574A的引脚图表4-3AD574A的引脚及功能表4-4AD574A控制信号的真值表

2.带采样/保持器的12位A/D转换器AD1674

AD1674从引脚到功能都与AD574/674完全兼容,只是AD1674内部增加了采样/保持电路,采样频率为100kHz,大大高于AD574A,并且有全控模式和单一工作模式,其精度达0.05%。AD1674采用BIMOS工艺,主要由宽频带采样/保持器、10V基准电源、时钟电路、D/A转换器、SAR寄存器、比较器和三态输出缓冲器等组成,其结构如图4-5所示。当控制部分发出启动转换命令时,首先使采样/保持器工作在保持模式,并使SAR寄存器复零。一旦开始转换,就不能停止或重新启动A/D转换,此时输出缓冲器的数据输出无效。逐次逼近寄存器按时钟顺序从高位到低位顺序进行比较,以产生转换结果。转换结束时,返回一个转换结束标志给控制部分,控制部分立即禁止时钟输出,并使采样/保持器工作在采样模式。与此同时,延迟STS信号下跳的时间来稳定转换数据,以满足12位的精度。图4-5AD1674内部结构框图当AD1674工作在全控模式时,利用CE、CS和R/C来控制转换和读数。如果CE=1且CS=0,则R/C=1时读数;反之,启动A/D转换。这种模式适合用唯一地址总线或数据总线译码的多个设备的系统。

当AD1674工作在单一模式时,CE=1,CS=0,12/8、A0=0,它是通过R/C来完成读数和转换功能的。这种模式适用于有足够输入口而无需扩充数据总线的系统,尤其适用于16位数据总线。

AD1674为标准28脚双列直插式封装,如图4-6所示。其引脚意义及功能说明如表4-5所示。图4-6AD1674引脚说明表4-5AD1674引脚及功能图4-7AD1674与8031单片机的硬件接口电路中断方式的A/D转换服务子程序如下:

初始化程序:

INITI:SETBIT1 ;启动中断1初始化编程

SETB EA

SETB EX1

MOV DPTR,#4000H;启动AD1674的转换

MOVX@DPTR,A中断服务子程序:

INT1: MOV DPTR,#4000H ;读取A/D高8位转换结果

MOVX A,@DPTR ;放入8031内部RAM的20H单元

MOV 20H,A

INC DPTR ;读取低4位A/D转换结果

MOVX A,@DPTR ;放入8031内部RAM的21H单元

ANL A,0F0H ;屏蔽掉A中低4位

MOV 21H,A ;留下低4位A/D转换结果

RETI ;在A累加器的高4位3.3位半BCD码输出双积分A/D转换器MC14433

MC14433是美国Motorola公司生产的3位半双积分A/D转换器,是目前市场上广为流行的、典型的A/D转换器。MC14433具有抗干扰性能好、转换精度高(相当于11位二进制数)、自动校零、自动极性输出、自动量程控制信号输出、动态字位扫描BCD码输出、单基准电压、外接元件少、价格低廉等特点。其转换速度约为1~10次/秒,在不要求高速转换的场合被广泛采用,如温度控制系统中。5G14433与MC14433完全兼容,可以互换使用。图4-8MC14433的内部组成框图及引脚定义表4-6MC14433引脚及功能图4-9MC14433选通脉冲时序图当DS2、DS3和DS4选通期间,输出3位完整的BCD码,即0~9十个数字中的任何一个都可以。但在DS1选通期间,数据输出线Q0~Q3除了千位的0或1外,还表示了转换值的正/负极性和欠/过量程,其含义见表4-7。表4-7DS1选通时Q3~Q0表示的输出结果由表4-7可知:

①Q3表示千位(1/2)数的内容,Q3=0(低电平)时,千位数为1;Q3=1(高电平)时,千位数为0;

②Q2表示被测电压的极性,Q2=1表示正极性,Q2=0表示负极性;

③Q0=1表示被测电压在量程外(过或欠量程),可用于仪表自动量程切换。当Q3=0时,表示过量程;当Q3=1时,表示欠量程。图4-10MC14433与80C51的接口电路尽管MC14433需外接的元件很少,但为使其工作于最佳状态,也必须注意外部电路的连接和外接元器件的选择。由于片内提供时钟发生器,使用时只需外接一个电阻,也可采用外部输入时钟或外接晶体振荡电路。MC14433芯片工作电源为±5V,正电源接VDD,模拟部分负电源端接VEE,模拟地VAG与数字地VSS相连为公共接地端。为了提高电源的抗干扰能力,正、负电源分别经去耦电容0.047μF、0.02μF与VSS(VAG)端相连。MC14433芯片的基准电压需外接,可由MC1403通过分压提供+2V或+200mV的基准电压。在一些精度不高的小型智能化仪表中,由于+5V电源是经过三端稳压器稳定的,工作环境又比较好,这样就可以通过电位器对+5V直接分压得到。

EOC是A/D转换结束的输出标志信号,每一次A/D转换结束时,EOC端都输出一个1/2时钟周期宽度的脉冲。当给DU端输入一个正脉冲时,当前A/D转换周期的转换结果将被送至输出锁存器,经多路开关输出,否则将输出锁存器中原来的转换结果。所以,DU端与EOC端相连,以选择连续转换方式,每次转换结果都送至输出寄存器。由于MC14433的A/D转换结果是动态分时输出的BCD码,Q0~Q3和DS1~DS4都不是总线式的,因此,80C51单片机只能通过并行I/O接口或扩展I/O接口与其相连。对于80C31单片机的应用系统来说,MC14433可以直接和其P1口或扩展I/O口8155/8255相连。

80C51读取A/D转换结果时可以采用中断方式或查询方式。采用中断方式时,EOC端与80C51外部中断输入端INT0或INT1相连。采用查询方式时,EOC端可接入80C51任一个I/O口或扩展I/O口。图中采用中断方式(接INT1)。根据图4-10的接口电路,将A/D转换结果存入片内RAM中的2EH、2FH单元,并给定数据存放格式为: 4.3模拟数据输出

模拟量输出是单片机控制系统中实现对模拟功率元件控制的关键手段。单片机产生的控制决策是以数字量形式表现的,这些数字量必须通过D/A转换器将其转换为模拟电压或模拟电流,才能实现对执行元件的控制。另外,通过D/A转换器也可以实现信号发生器的功能。

常用D/A转换器的转换方式分为并行转换和串行转换。前者因各位代码都同时送到转换器相应的输入端,转换时间只取决于转换器中的电压或电流的建立时间及求和时间(一般为微秒级),所以转换速度快,应用较多。DAC1210是一款12位D/A转换器,它的输入寄存器由一个8位寄存器和一个4位寄存器组成,DAC寄存器和D/A转换器都是12位。图4-11是该芯片的结构框图。

DAC1210的引脚排列如图4-12所示,其引脚及功能说明如表4-8所示。图4-11DAC1210内部结构图4-12DAC1210引脚排列表4-8DAC1210引脚及功能当DAC1210与MCS-51单片机连接时,数据需分两次写入,必须保证12位数据同时送入D/A转换器并进行转换。

如图4-13所示,地址锁存器74LS373的Q6作为DAC1210的CS控制信号,Q7作为输入锁存器允许和传输控制信号。写入高8位时,Q6=0,Q7=1,此时高8位的低半字节也被4位输入寄存器锁存;Q6=0,Q7=0,写入低4位,同时也打通12位DAC寄存器,开始进行D/A转换。图4-13DAC1210与单片机的接口电路以图4-13为例,要求DAC1210输出锯齿波,波形周期自由,程序清单如下:

ORG 0030H

START:MOV R2,#0FFH ;输出高8位初值

MOV R3,#0F0H ;输出低4位初值

AGAIN:MOV A,R2

MOV R0,#0BFH

MOVX @R0,A ;输出高8位

MOV A,R3

SWAP A

MOV R0,#3FHMOVX @R0,A ;输出低4位

CLR C

MOV A,R3

SUBB A,#10H ;输出值减一个单位

MOV R3,A

MOV A,R2

SUBB A,#00H

MOV R2,A

ORL A,R3

JNZ AGAIN ;输出值不为0则继续

SJMP START ;输出值为0,重新开始

END 4.4功率输出

4.4.1功率晶体管接口

1.晶体管驱动继电器

如图4-14所示,可以直接使用单片机并行口P2的一位,经晶体管功率放大后驱动继电器。P2口输出高电平时,晶体管导通,继电器线圈流过电流,触点吸合。单片机输出低电平时,晶体管截止,继电器线圈没有电流,触点释放。单片机输出高电平时的驱动电流大约为100μA。晶体管电流放大倍数不够大时,会使晶体管达不到饱和,这时应采用达林顿管接法或在晶体管基极与+5V之间接上拉电阻。图4-14晶体管驱动继电器电路2.晶体管阵列

当需要多路晶体管驱动输出时,可选用集成晶体管阵列,以简化电路,降低成本。图4-15是7路晶体管阵列MC1413的内部电路结构和引脚图。图4-15MC1413的内部结构和引脚图4.4.2光电耦合器隔离

光电耦合器是将发光器件和光敏器件集成在一起,通过光信号耦合构成的电—光—电转换器件。光电耦合器的发光部分和受光部分间没有电的联系,具有很高的绝缘电阻,可承受2000V以上的高压,并能避免输出端对输入端的电磁干扰。普通光电耦合器的传输速率在10kHz左右,高速光电耦合器的传输速率超过1MHz,实际使用中光电耦合器输入侧的发光二极管的驱动电流取10~20mA,输出侧的光敏三极管的耐压大于30V。

光电耦合电路可以用于开关量或脉冲信号的输入隔离和输出隔离。图4-16与图4-17分别是输入隔离电路和输出隔离电路。图4-16输入隔离电路图4-17输出隔离电路4.4.3双向晶闸管接口

用单片机控制工频交流电,最方便的方法是采用双向晶闸管。为避免晶闸管导通瞬间产生的冲击电流所带来的干扰和对电源的影响,可以使用过零触发的方式。图4-18是利用过零触发带光电隔离的双向晶闸管MOC3061触发大容量双向晶闸管的电路。图4-18过零触发双向晶闸管触发电路MOC3061是输出端为双向晶闸管的光电耦合器,其内部带有过零检测电路,输入端发光二极管发光后,只有主回路正弦电压过零时双向晶闸管才导通。MOC3061输出端额定电压为600V,最大重复浪涌电流为1A,最大电压上升率大于1000V/μs,输入/输出隔离电压大于7500V,输入控制电流为15mA。单片机输出高电平时,经反相器反相,发光二极管中流过电流,发光二极管发光,当主回路正弦电压过零时,MOC3061内部双向晶闸管导通,经27Ω电阻向外接双向晶闸管提供触发电流使其导通。单片机输出低电平时,发光二极管中无电流,发光二极管不再发光,当双向晶闸管内电流过零后阻断。双向晶闸管两端接的阻容电路是保护双向晶闸管的。使用双向晶闸管控制交流电压时要注意,双向晶闸管的漏电流较大。 4.5单片机现场控制器

以工业控制计算机(即工业PC)构成上位机,以单片机现场控制器构成下位机,是集散控制系统典型的组成模式。这种模式由上位机下达控制要求,下位机完成对被控制对象的实时监测和控制,并定期将被控制对象状态数据返回上位机,适用于被控制对象分布距离较远,实时控制要求较高的场合。单片机现场控制器需要具备上、下位机通信、数据采集、数据显示、报警、实时处理等功能。图4-19是一种用于温度集散控制系统的单片机现场控制器的原理图,可用于对多点分布的温度控制对象进行集散控制。现场控制器通过传感器采集现场温度,根据输入的控制参数和一定的算法计算输出值,传输给固态继电器,实现对电加热器的功率控制,从而实现对被控对象温度的控制。现场控制器与上位机之间通过RS485总线通信。现场控制器有两种数据输入的方法,一是通过键盘,二是通过上位机通信传输信息。现场控制器的数码管用于显示温度以及各种状态信息。图4-19用于温度集散控制系统的单片机现场控制器原理图该现场控制器采用与MCS-51系列单片机兼容的自带看门狗单片机AT89S52,它由传感器输入、键盘输入、固态继电器输出控制、显示输出、EEPROM数据存储、通信等6个模块组成。

温度传感器DS18B20是美国Dallas半导体公司推出的数字温度传感器,它具有独特的单总线接口,仅需占用一位通用I/O端口即可完成与单片机的通信,在-10~+85℃温度范围内具有±0.5℃的精度,用户可编程设定9~12位的分辨率。可以采用多温度传感器单线连接构成局部传感器网络。这里采用了两个DS18B20,具备双点温度采集功能。固态继电器SSR1和SSR2为北京科通JGX-3A型直流固态继电器,输入控制信号为3~36V,输出额定电压为30V,输出额定电流为3A,用于控制电加热器加热。

为了与上位机进行长距离通信,采用了MAX485集成电路实现RS485串行总线通信。

EEPROM数据存储器采用AT24C02。AT24C02是一个2KB串行EEPROM,内部含有256个8位字节EEPROM数据存储单元。 4.6其他嵌入式处理器

1.ARM处理器

ARM(AdvancedRISCMachines)公司成立于1990年,是知识产权(IP)供应商,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。ARM公司是32位嵌入式RISC微处理器的领先供应商,在世界范围内的合作伙伴超过100个,具有大量的开发工具和丰富的第三方资源,保证了基于ARM处理器核的设计可以很快投入市场。

ARM处理器具有高性能、低功耗、小体积、低成本和紧凑代码密度的特点,采用16位/32位双指令集,具备全球众多合作伙伴,可保证芯片供应。ARM已成为移动通信、手持计算和多媒体数字消费等嵌入式解决方案的RISC标准。ARM32位体系结构被公认为业界领先,所有ARM处理器共享这一体系结构。

ARM处理器本身是32位设计,但也配备16位Thumb指令集,以允许软件编码为更短的16位指令。与等价的32位代码相比,ARM处理器占用的存储器空间节省高达35%,然而却保留了32位系统所有的优势(例如,访问全32位地址空间)。Thumb状态与正常的ARM状态之间的切换是零开销的,如果需要,可逐个例程使用切换。这允许设计者完全控制其软件的优化。

ARM的Jazelle技术提供了Java加速,可得到比基于软件的Java虚拟机(JVM)高得多的性能,与同等的非Java加速核相比,功耗降低80%。这些功能使平台开发者可自由运行Java代码,并在单一存储器上建立操作系统(OS)和应用。许多系统需要将灵活的微控制器与DSP的数据处理能力相结合。过去,这要迫使设计者在性能、成本之间妥协,或采用复杂的多处理器策略。在CPU功能上,D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论