第7章 80C51 的测控技术 本章学习目标 : 了解单片机测控系统中接口元件的作用

Slides:



Advertisements
Similar presentations
第10章 模/数和数/模转换 10.1 概述 10.2 模/数与数/模转换通道的组成 10.3 模/数与数/模转换器的主要技术指标
Advertisements

绪论:LabVIEW控制简介 复旦大学物理教学实验中心 phylab.fudan.edu.cn.
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
单片机原理与应用.
第9章 串行扩展技术 (课时:6学时).
第7章 单片机系统的串行扩展 西安思源学院 电子信息工程学院 1.
第9章 数模转换器与模数转换器 本章学习目标 了解数模转换器的工作原理及性能指标 掌握模数转换器的应用 掌握数模转换器的应用.
第2章 MCS-51单片机指令系统与汇编语言程序设计
報告者:朱耿育 紀翔舜 組員:詹以群 張永傑 指導老師:梁新潁
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
第二部分 微机原理 第4章 汇编语言 程序设计 主讲教师:喻红.
单片机应用技术 项目一 循环彩灯装置 第6讲 指令功能及汇编语言程序设计(一) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.
第二部分 微机原理 第3章 MCS-51的 指令系统 主讲教师:喻红.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
第七章 MCS-51系统扩展 一、程序存储器扩展
Roy Wan PCI MS/s 14-bit 高速数字化仪 Roy Wan
实验八 D / A、A / D转换器 一、实验目的 1、了解D / A和A / D转换器的基本工作原理和基本结构。
第7章 模/数和数/模转换电路 7.1 模/数转换电路 7.2 数/模转换电路.
第12章 模拟量和数字量的转换 12.1 D/A转换器 12.2 A/D转换器.
单片机应用技术 项目三 智能温控装置 第1讲 温度检测子项目 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
4.A/D与D/A转换器 1).DAC0832与MCS-51接口
第2章 单片机的结构原理与 简单应用 (课时:10学时).
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
实验六 积分器、微分器.
CPU结构和功能.
第10章 综合实训 课题一 水温控制系统设计 一、实训目的 二、课题要求 熟悉常用温度传感器AD590的特性及接口电路的设计方法;
第10章 D/A、A/D转换器及其与CPU的接口
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
数码管数字时钟电路的设计 1. 系统硬件电路的设计
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
8.4 ADC0809接口电路及程序设计.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
10.2 串联反馈式稳压电路 稳压电源质量指标 串联反馈式稳压电路工作原理 三端集成稳压器
第3章 MCS-51指令系统 介绍MCS—51系列单片机的寻址方式 介绍MCS—51系列单片机的指令系统
第4章 80C51系列指令系统 教学目的:熟悉80C51系列单片机的寻址方式及 每一种寻址方式对应的寻址空间;掌 握每一条指令功能。
8.3 A/D转换器及接口技术 A/D转换器概述 在大规模集成电路高速发展的今天,由于计算机控制技术在工程领域内的广泛应用,A/D转换器在应用系统中占据着重要的地位。为了满足各种不同的检测及控制任务的需要,大量结构不同,性能各异的A/D转换电路应运而生。尽管A/D转换器的种类繁多,但目前广泛使用的还是逐次比较式和双积分式。
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
HSC高速输出例程 HORNER APG.
电路原理教程 (远程教学课件) 浙江大学电气工程学院.
四、手工汇编 完成汇编的方法有两种:手工汇编和汇编程序汇编 1.手工汇编步骤 A
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
单片机应用技术 (C语言版) 第10章 单片机测控接口
信号发生电路 -非正弦波发生电路.
单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
ADC0809并行A/D转换 (实验十) DAC0832并行D/A转换实验 (实验十一) RS232串口通信实验 (实验九)
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
B12 竺越
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
第二章 集成门电路 2.1 概述 2.2 TTL 门电路 2.3 CMOS 门电路 2.4 各种集成逻辑们的性 能比较 第2章 上页 下页
DSP技术与应用 电子与信息技术系.
9.6.2 互补对称放大电路 1. 无输出变压器(OTL)的互补对称放大电路 +UCC
第1章 微型计算机基础.
Presentation transcript:

第7章 80C51 的测控技术 本章学习目标 : 了解单片机测控系统中接口元件的作用 了解D/A转换器与80C51的连接方法,能读懂教材中的控制实例。 掌握A/D转换器与80C51的连接方法,能编写与教材同等难度的应用程序。 了解直流电机控制芯片TA7257P的应用 理解步进电机的工作原理、励磁方式,能用其实现简单控制

{ { 模拟信号:如被控对象的温度、压力等 单片机的输入信号 开关信号: 如指拨开关和按键开关 模拟设备:电动调节阀、模拟记录仪 单片机用于智能仪表和测控系统时,要与各种各样的外界信号打交道: { 模拟信号:如被控对象的温度、压力等 开关信号: 如指拨开关和按键开关 单片机的输入信号 为什么要研究单片机测控系统? 单片机的驱动控制设备 { 模拟设备:电动调节阀、模拟记录仪 数字设备: 数字显示仪表、继电器触点 由于单片机的输入和输出信号只能是数字量,因此在由单片机构成的测控系统中经常要用到模/数转换和数/模转换接口。单片机和被控对象间的接口示意图如图7-1所示。

图7-1 单片机和被控对象间的接口示意图

7.1 数/模转换接口 数/模转换接口的作用:相当于一个实现二进制数到十进制数转换,并将转换结果以电流或电压形式输出的物理器件。 数/模转换接口的任务:将数字信号转换成与其量值成正比的电流信号或电压信号(即模拟信号)。 数/模转换接口的作用:相当于一个实现二进制数到十进制数转换,并将转换结果以电流或电压形式输出的物理器件。 数/模转换接口常接在单片机的输出端与执行设备(如电磁阀)之间。常用的数/模转换接口芯片有DAC0832(TTL 8位)、AD7524(CMOS 8位)和DAC1208(12位)等。 下面以DAC0832为例说明数/模转换接口的使用。

7.1.1 DAC0832的结构 1. DAC0832的内部结构 DAC0832是美国国家半导体公司生产的8位电流输出型D/A转换器,是DAC0830系列产品中的一种。它的主要技术指标是:分辨率为8位,转换速度约1μs,单一电源(+5~+15V)供电,参考电压为+10~-10V等。 DAC0832的内部结构如图7-2所示,它含有: 1个8位数据输入寄存器:8位输入数据暂存 1个8位DAC寄存器:与8位数据输入寄存器构成两级缓冲,使芯片功能更灵活。 1个8位D/A转换器:实现D/A转换。

图7- 2 DAC0832的内部结构

2.DAC0832的引脚功能 DAC0832的引脚如图7-3所示,下面对各引脚功能作简要说明:

7.1.2 DAC0832与80C51的接口与编程 1.DAC0832与80C51的接口

在单缓冲方式下,80C51的P2. 7与DAC0832的和数据传送控制信号线相连,这样,当地址线P2 在单缓冲方式下,80C51的P2.7与DAC0832的和数据传送控制信号线相连,这样,当地址线P2.7选通DAC0832后,只要输出信号,DAC0832就能进一步完成数字量的输入锁存和D/A转换输出功能。在上图中,由于地址线P2.7=0时选通DAC0832,所以DAC0832的接口地址为7FFFH。 注意:DAC0832的转换输出量为电流,而在实际应用中,作为输出控制的信号大多为模拟电压,如直流电机、线性电磁阀等,因此还需要将电流信号转换为电压信号。图中采用LM747作反向电压输出。

2.DAC0832的编程 DAC0832的编程比较容易,只要向80C51提供芯片地址,并进行一次简单的数据读写操作即可。 例1 电路如图7- 4,试编程实现一次DAC0832的数据转换,设拟转换数据为#DATA。 参考程序如下: MOV DPTR,#7FFFH ;指向DAC0832的单元地址 MOV A,#DATA ;转换数据“DATA”装入A MOVX @DPTR, A ;转换数据送往DAC0832,并使 ; =0,完成一次转换 =0,完成一次转换

7.1.3 课题与实训15 DAC0832构成波形发生器 1.学习8位D/A转换器DAC0832的使用方法 一. 实训目的 1.学习8位D/A转换器DAC0832的使用方法 2.掌握8位D/A转换器DAC0832与单片机的接口技术及编程方法 二. 课题要求 用一片DAC0832和必要的外围器件与80C51接口,设计一个简易波形发生器,要求能输出三种波形:方波、锯齿波、梯形波。请编写相应程序。

三. 背景知识 1.DAC0832的输出电压 DAC0832有两种输出形式:单极性输出和双极性输出。在图7-4中,DAC0832采用单极性输出形式。其输出电压为: 在该实训中,DAC0832以双极性形式输出,电路如图7-5。此时输出电压为: 式中B为输入数字量,其范围为0~255,VREF为参考电压。

2.波形产生原理 方波 单片机连续255次输出数字量0,然后再连续255次输出数字量255。如此重复,0832即可输出连续方波。 锯齿波 单片机从输出数字量0开始,逐次加1直到255;然后再从0开始,如此重复,0832即可输出锯齿波。 梯形波 单片机从输出数字量0开始,逐次加1直到255,并保持255次,然后从输出255逐次减1直至为0。如此重复,0832即可输出连续梯形波。

四.硬件原理 图7-5 由DAC0832构成的简易波形发生器

五.软件设计 1.输出连续方波: 参考程序如下: ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV DPTR,#7FFFH ;指向0832 LOOP:MOV A,#0 MOV R7,#255 ;循环次数初始化 MOVX @DPTR,A ;向DAC送方波最小值0 DJNZ R7,$ ;循环255次,形成方波 ;的低电平

MOV A,#255 ;将方波最大值255送到A MOV R7,#255 ;重置循环次数 MOVX @DPTR,A ;向DAC送255,D/A输出为高 DJNZ R7,$ ;循环255次,形成方波的高电平 AJMP LOOP ;重复上述过程,形成连续方波 END

2.输出连续锯齿波: 参考程序如下: ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV DPTR,#7FFFH ;指向0832 LOOP: MOV A,#0 LOOP 1:MOVX @DPTR,A;向DAC送锯齿波最小值0 INC A ;加1 CJNE A,#255,LOOP 1;循环256次,形成 ;锯齿波的上升沿 END

3.输出连续梯形波 参考程序如下: ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV DPTR,#7FFFH ;指向0832 LOOP:MOV A,#0 LOOP 1:MOVX @DPTR,A ; 向DAC送梯形波最小值0 INC A CJNE A,#255,LOOP 1 ;循环255次,形成 ;梯形波的上升沿 MOV A,#255 ;将梯形波的高度数值255 ;送A,此255表示梯形波的高

MOV R2,#255 ;255为形成梯形波上底需 ;要循环的次数 LOOP 2:MOVX @DPTR,A;向DAC送255,D/A输出为高 DJNZ R2,LOOP 2 ;循环255次,形成梯形 ;波的上底 LOOP 3:MOVX @DPTR,A ; DAC输出 DEC A CJNE A,#0,LOOP 3 ;循环256次,形成 ;梯形波的下降沿 LJMP LOOP;重复上述过程,形成多个梯形波 END

六.总结与提高 在上述三组程序设计中,通过DAC0832输出端输出的波形均为直线型的波形,没有考虑波形频率。如果改变程序可以使DAC0832输出满足频率要求的各种曲线。 仍采用该实训电路,请编程输出图7-6所示的1ms阶梯波。 图7-6 1ms阶梯波形图

7.2 模/数转换接口 7.2.1 ADC0809的结构 模/数转换接口的任务:将模拟信号转换成数字信号,它常与单片机的输入端相连。 常用的模/数转换接口芯片有ADC0809(8位)、ADC0804(8位)和AD574(12位)等。 7.2.1 ADC0809的结构 1.ADC0809的内部结构 ADC0809的内部结构如图7-7所示。

图7- 7 ADC0809的内部结构

ADC0809包含: 8路模拟量选择开关:根据地址锁存与译码装置提供的地址从8个输入的0~5V的模拟量中选择一个输出。 8位A/D转换器:能对选择出来的模拟量进行A/D转换 3位地址码的锁存与译码装置:对输入的3位地址码进行锁存和译码,并将地址选择结果送给8路模拟量选择开关。 三态输出的锁存缓冲器:TTL结构,负责输出转换的最终结果。此结果可直接连到单片机的数据总线上。

该信号可以作为CPU查询A/D转换是否完成的信号,也可以作为向CPU发出中断申请的信号。 IN0~IN7:8个模拟量的输入端。 D0~D7:8位数字量输出端。 START:启动A/D转换,加正脉冲后A/D转换开始。 EOC:转换结束信号,转换开始时EOC信号变低;转换结束时EOC信号返回高电平。 图7-8 ADC0809的引脚 此信号有效时,CPU可以从ADC0809中读取数据,同时也可以作为ADC0809的片选信号。 OE:输出允许信号,输入高电平有效。OE端的电平由低变高时转换结果被送到数据线上。

在ALE=1时,锁存ADDA~ADDC,选中模拟量输入。 该地址与8个模拟量输入通道的对应关系见表7- 2。 CLK:实时时钟,频率范围10~1280KHz,典型值为640KHz。  ALE:通道地址锁存允许信号,输入高电平有效。 ADDA~ADDC:通道地址选择输入,其排列顺序从低到高依次为ADDA、ADDB、ADDC。 VREF+、VREF-:正负参考电压。一般情况下,VREF+接+5V,VREF-接地。 VCC、GND:工作电源和地 该地址与8个模拟量输入通道的对应关系见表7- 2。 图7-8 ADC0809的引脚 转换关系见表7- 1

表7-1 ADC0809的输入输出关系 输入模拟电压(V) 输出数字量 0000 0000B … 2.5 1000 0000B 5 1111 1111B 注:此表在VREF+=+5V,VREF-=0情况下

7.2.2 ADC0809与80C51的接口 图7-9 ADC0809与80C51的接口

(1)地址线与数据线的连接 ADC0809的内部输出电路有三态缓冲器,所以其8位输出数据线可以直接和80C51的P0口相连。它的通道地址选择信号ADDA~ADDC均经过74LS373锁存,与80C51的P0口中的任意三根I/O口线相连接(图中与P0.0、P0.1、P0.2相连)。 (2)时钟信号的连接 ADC0809必须外接时钟。此电路中借用80C51的ALE输出。 (3)控制信号的连接 由于ADC0809的ALE和START均为正脉冲,而且基本同步,所以可由80C51的P2.0和 或非而成。同理,OE信号也可以由80C51的P2.0和 或非而成。EOC信号经非门与80C51的 相接,可申请中断。 若80C51晶振频率太高,则需对ALE输出脉冲进行分频。如晶振采用12MHz时,ALE频率为2MHz,经4分频后为500KHz,才能与 ADC0809的CLK时钟端相连。

7.2.3 ADC0809的应用指导 1.ADC0809转换结束的判断方法 软件延时法 软件延时法        指用软件延时等待一次A/D转换结束。延时时间取决于通过计算和调试而获得的ADC完成一次转换所需要的时间。 中断法       利用EOC作为向80C51申请中断的信号。在主程序中启动A/D转换,再继续执行主程序。在中断服务程序中读取转换结果。 查询法       将EOC接至80C51的某端口I/O口线。启动A/D转换后,利用查询该I/O口线引脚电平是否为0的方法读取转换结果。

2.ADC0809的编程方法 ⑴初始化 用来设置ADC0809的IN0~IN7通道地址;设置存放转换结果的首单元地址和通道数。 先送通道号地址到ADDA~ADDC,由ALE锁存通道号地址;再让START有效启动A/D转换,即执行一条“MOVX @DPTR,A”指令产生信号,使ALE、START有效,锁存通道号并启动A/D转换。 ⑶判断A/D转换是否结束 ⑷读转换结果 A/D转换完成后,EOC端会发出一个正脉冲,接着执行“MOVX A,@DPTR” 指令产生 信号,使OE端有效,打开锁存器三态门,8位数据就读入到单片机中。

7.2.4 ADC0809的应用实例 根据图7-9的电路,采用软件延时方法,将8路模拟信号轮流采集一次,并依次将转换后的结果存放到80C51内部从30H开始的单元中。从上图所示的电路可知,IN0~IN7的通道地址为FEF8H~FEFFH。 参考程序如下: MOV R1,#30H ;设置存放转换结果首单元指针 MOV DPTR,#0FEF8H ;指向通道0 MOV R7,#08H ;设置通道数 LOOP:MOVX @DPTR, A ;启动A/D转换 MOV R5,#10 ;软件延时,等待A/D转换结束 DELAY: NOP

NOP DJNZ R5,DELAY MOVX A,@DPTR ;读取转换结果 MOV  @R1,A ;存放转换结果 INC  DPTR ;指向下一个通道 INC R1 ;修改存储单元指针 DJNZ R7,LOOP ;8个通道未采集完,继续 RET

☆7.2.5串行A/D转换芯片TLC1549 单片机测控系统需要进行A/D转换时,有两种选择: 选用自身具有A/D转换功能的单片机,如PIC单片机。 扩展A/D转换芯片。 除ADC0809等常用的并行A/D转换芯片外,还有串行A/D转换芯片,如TLC1549。图7-10 TLC1549的引脚功能 TLC1549是美国TI公司生产的10位模数转换器。它采用CMOS工艺,具有内在的采样和保持,采用差分基准电压高阻输入、抗干扰,可按比例量程校准转换范围,总不可调整误差达到(±)1LSB Max(4.8mv) 等特点,而且芯片体积小巧。

ANALOG IN:模拟信号输入端,要求驱动电流必须大于10mA。 1.引脚功能 :片选,低电平有效。 ANALOG IN:模拟信号输入端,要求驱动电流必须大于10mA。 I/O CLOCK:I/O时钟,下跳沿输出数据,最大频率可达2.1MHz。 DATA OUT :转换后的数字信号输出, =1时,呈现高阻; =0时,在时钟作用下将数据由高到低依次输出。 REF+:参考电源高端,通常接+VCC。 REF—:参考电源低端,通常接GND。 VCC:正电源(4.5V≤ VCC≤5.5V) 7-10 TLC1549的引脚功能

2.工作方式 TLC1549有6种工作方式,见表7-3。其中方式1和方式3属于同一种类型;方式2和方式4属于同一种类型。如果不考虑I/O CLOCK周期的大小,方式3与方式5相同,方式4与方式6相同。 表7-3 TLC1549的6种工作方式 一般情况下,I/O CLOCK的时钟频率大于280KHz时,芯片工作于快速方式; 工作方式 状态 I/O时钟个数 DATA OUT输出MSB时刻 快速方式 方式1 转换周期之间为高电平 10 下降沿 方式2 持续低电平 21μs以内 方式3 11~16 方式4 16 慢速方式 方式5 方式6 第16个时钟的下降沿 一般情况下,I/O CLOCK的时钟频率小于280KHz时,芯片工作于慢速方式。

方式1为经典工作方式。其工作原理为: 在芯片选择 无效情况下,I/O CLOCK被禁止且DATA OUT处于高阻状态。 当串行接口把 拉至有效时,转换时序开始允许I/O CLOCK工作并使DATA OUT脱离高阻状态: 由80C51单片机产生10个时钟序列提供给TLC1549的I/O CLOCK引脚;在 的下降沿时刻,前次转换的MSB出现在DATA OUT引脚,单片机从DATA OUT接收前次转换结果。如果连续进行A/D转换,TLC1549能在前次转换结果输出的过程中,同时完成本次转换的采样。

2.TLC1549与80C51的接口 TLC1549采用串行输出的方式,体积小巧,方便灵活,与单片机的接口也简单,电路如图7-12所示。 图7- 12 TLC1549与80C51的接口示意图

3.软件设计 入口参数:使用累加器A,进位标志CY及工作寄存器R7; 出口参数:20H单元存放转换结果的低8位,21H单元存放转换结果的高2位。 ADCCON: MOV 20H,#00H MOV 21H,#00H ;结果单元清零 MOV R7,#0AH ;A/D转换位数标志 CLR P1.4 ;选通TLC1549 LOOP1: MOV C,P1.0 ;读转换结果送至CY MOV A,20H ;转换结果移至结果单元 RLC A

MOV 20H,A MOV A,21H RLC A MOV 21H,A SETB P1.2 ;形成移位脉冲 CLR P1.2 DJNZ R7,LOOP1 ;转换结束否? SETB P1.4 ;TLC1549复位并进行一 ;次转换 RET ;上述程序执行时间约120μs

7.2.6 课题与实训16 简易数字电压表 一. 实训目的 1.了解A/D转换器ADC0809的基本性能 7.2.6 课题与实训16 简易数字电压表 一. 实训目的 1.了解A/D转换器ADC0809的基本性能 2.掌握ADC0809与单片机的接口方法及编程方法 3.通过实训了解单片机的数据采集过程 二. 课题要求 用一片ADC0809和必要的外围器件与AT89C51接口,设计一个简易数字电压表,要求能对IN0输入的模拟电压进行识别,将其转换成相应的二进制数以发光二极管的形式显示;用万用表测量IN0输入的模拟电压值,并与转换结果相对比,计算测量误差。请编写相应程序。

三. 背景知识 1.A/D转换的种类 计数型:速度慢、价格低 逐次逼近型:分辨率、速度、价格适中 双积分型:分辨率高、抗干扰性强、价格低、速度较慢 高速A/D转换器 2.ADC0809的性能特点 是逐次逼近型8通道8位A/D转换CMOS器件。转换电压为正负5V,转换时间100微秒,功耗15mW,具有锁存的三态输出,与TTL电平兼容,便于与微机接口。 3.ADC0809与单片机的联系方式 可采用延时等待、软件查询和硬件中断方式。

四.硬件原理 电路如图7-13,该连接方式下,IN0 的通道地址是0FEF8H。 图7-13 简易数字电压表硬件电路

五.软件设计 利用中断方式,参考程序如下: ORG 0000H LJMP START ORG 0013H LJMP INT_1 ORG 0100H START: MOV R7,#00H ;读数标志初始化 MOV DPTR,# 0FEF8H;P2.0=0,指向IN0 SETB IT1;低电平触发 SETB EA SETB EX1 ;INT1 允许 A_D: MOV R0,#00H ;通道数

MOV A,R0 MOVX @DPTR,A ;启动 A/D CJNE R7,#00H,$ ;等待 A/D 转换结束 MOV A,B MOV P1,A ;数据输出 MOV R7,#0FFH ;清读数标志 SJMP A_D INT_1: MOVX A,@DPTR ;读 A/D 数据 MOV B,A MOV R7,#00H ;置读数标志 RETI END

六.总结与提高 在上述程序设计中,我们采用中断的方式,只对IN0的模拟电压值进行测量显示,实际上,我们可以同时对8路模拟电压值进行测量。仍采用该实训电路,请编程实现该功能,将IN0~IN7的数字电压值存放在内RAM30H开始的8个单元。

7.3电动机控制 ☆7.3.1 直流电动机控制芯片——TA7257P 1.TA7257P的功能特性: 操作电压范围6V~18V。 输出平均电流可达1.5A,峰值电流可达4.5A。 内部设计有电流过载保护装置和过热保护电路。 工作电路电压引脚与电动机电源电压引脚相对独立,故可用于伺服控制。 TA7257P适合工业上的应用,如磁带盘、影片盘等机械运转装置的控制。

2.内部功能简图与外观引脚 图7-14为TA7257P的外观引脚和内部功能简图。 图7-14 TA7257P的外观引脚和内部功能简图

3.TA7257P的工作模式确定 TA7257P的4种工作模式由两个输入信号的状态组合决定,见表7- 4。 表7-4 TA7257P的4种工作模式 工作模式 IN1 IN2 OUT1 OUT2 刹车 1 L 正转/反转 H 反转/ 正转 停止 高阻抗

4.应用电路 图7-15为实际应用电路,说明如下: R、C的数值由电动机固有的常数及电路寄生值决定,正常使用时R=33Ω,C=0.1μF。 如刹车太松,可在输出端与GND之间连接二极管,如D1、D2。 若输出端反电动势太强,可能导致芯片内部的二极管烧毁,可在输出端与VCC之间外加二极管,如D3、D4。

5.控制实例 利用图7-15,控制直流电机使其从正转到反转,然后停止。 参考程序如下: IN1 BIT P2.0 ;输入引脚1的位地址P2.0 IN2 BIT P2.1 ;输入引脚2的位地址P2.1 TIME EQU 50H ;TIME使用内部50H的地址,用来 ;存放调用DELAY的次数 ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV TIME ,#300 ;调用DELAY子程序300次

MOV P2,#00H CLR IN1 SETB IN2 FW: LCALL DELAY ;令电机正向转动300次DELAY ;子程序的时间 DJNZ TIME, FW MOV TIME,#300 SETB IN1 CLR IN2 FAN:LCALL DELAY ;令电机反向转动300次DELAY DJNZ TIME,FAN

STOP: CLR IN1 ;令电机停转 CLR IN2 AJMP $ DELAY:MOV R3, #00H DD: MOV R4 , #00H DJNZ R4,$ DJNZ R3,DD RET END

7.3.2 步进电机及其控制 步进电动机:一种将电脉冲转换成相应角位移或线位移的电磁机械装置。 步进电动机的特点: 具有快速启停能力,在电动机的负荷不超过它能提供的动态转矩时,可以通过输入脉冲来控制它在一瞬间启动或停止。 步进电动机的步距角和转速只和输入的脉冲频率有关,和环境温度、气压、振动无关,也不受电网电压的波动和负载变化的影响。 3. 应用场合:步进电动机多应用在需要精确定位的场合。

1.步进电动机的工作原理 步进电动机有三线式、五线式和六线式,其控制方式均相同。都要以脉冲信号电流来驱动。 假设每旋转一圈需要200个脉冲信号来励磁→每个励磁信号能使步进电动机前进1.8°,其旋转角度与脉冲的个数成正比。 步进电动机的正、反转由励磁脉冲产生的顺序来控制。

步进电动机的控制等效电路如图7-16所示。它有4条励磁信号引线A、、B、,通过控制这4条引线上励磁脉冲产生的时刻,即可控制步进电机的转动。每出现一个脉冲信号,步进电机只走一步。因此,只要依序不断送出脉冲信号,步进电机就能实现连续转动。 图7-16 步进电动机的控制等效电路

2.步进电动机的励磁方式 步进电动机的励磁方式分为全步励磁和半步励磁两种。其中全步励磁又有1相励磁和2相励磁之分;半步励磁又称1-2相励磁。简要介绍如下: (1)1相励磁: 励磁控制 在每一瞬间,步进电动机只有一个线圈导通。每送一个励磁信号,步进电动机能旋转1.8°。这是3种励磁方式中最简单的一种。

特点 精确度好、消耗电力小,但输出转矩最小,振动较大。如果以该方式控制步进电动机正转,对应的励磁顺序见表7-5。若励磁信号反向传送,则步进电动机反转。 表7-5 1相励磁顺序 励磁顺序说明: STEP A B 1 2 3 4

在每一瞬间,步进电动机有2个线圈同时导通。每送一个励磁信号,步进电动机能旋转1.8°。 特点 (2)2相励磁 励磁控制 在每一瞬间,步进电动机有2个线圈同时导通。每送一个励磁信号,步进电动机能旋转1.8°。 特点 输出转矩大,振动小。因而成为目前使用最多的励磁方式。如果以该方式控制步进电动机正转,对应的励磁顺序见表7- 6。若励磁信号反向传送,则步进电动机反转。 STEP A B 1 2 3 4 励磁顺序说明:

(3)1-2相励磁 励磁控制 为1相励磁与2相励磁交替导通的方式。每送一个励磁信号,步进电动机能旋转0.9°。 特点 分辨率高,运转平滑,故应用也很广泛。如果以该方式控制步进电动机正转,对应的励磁顺序见表7-7。若励磁信号反向传送,则步进电动机反转。

表7-7 1-2相励磁顺序 STEP A B 1 2 3 4 5 6 7 8 励磁顺序说明:

80C51每一位I/O口所能提供的驱动电流太小,无法直接驱动步进电动机,必须要加驱动电路。 (1) 三极管驱动 3.步进电动机的驱动 80C51每一位I/O口所能提供的驱动电流太小,无法直接驱动步进电动机,必须要加驱动电路。 (1) 三极管驱动 最简单的驱动电路是在每一位I/O口加一只NPN晶体管来放大。此方法只能用于步进电动机没有外加负载的情况下。见图7-17。由于步进电动机属于电感性的负载 ,因而在该电路中,与步进电动机绕组并联了一只保护二极管,以防止电机停转时出现的自感电动势烧坏NPN晶体管。 图7-17 简易步进电动机驱动

(2)集成电路驱动 也可以采用专用集成电路芯片驱动步进电动机,典型的驱动IC如FT5754 。 FT5754是步进电动机专用驱动芯片,内含4组NPN达林顿晶体管,保证步进电动机有足够的驱动电流。图7-18是FT5754的外观引脚和内部结构,各输入引脚B要保证有3mA的输入电流,才能使C-E导通。每个输出能承受最大为3A的电流,非常适合来驱动步进电动机。

图7-19为FT5754驱动步进电动机电路。由于FT5754需要3mA以上的输入电流,因而在FT5754与单片机之间需要用缓冲器来推动,可选用的器件有4050、74LS244等。

4.控制实例 利用图7-19,采用1相励磁法控制步进电机正向转动180°后停止。 程序编写说明: 由于步进电机的负载转矩与速度成反比,速度越快,负载转矩越小,当速度快至极限时,步进电机即不再旋转。所以,每走一步,程序必须DELAY一段时间。 参考程序如下: ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SP,#60H

MOV A,#10001000B MOV R5,#100 ;R5存放送出的脉冲个数, ;电机共旋转1.8°×100=180° FW: RL A MOV P1, A LCALL DELAY ;调用延时子程序,根据延时长 ;短,可以控制电动机的转速 DJNZ R5, FW ;若R5为0,表示已送出100 个 ;脉冲,电机停转;否则,再送下一个脉冲 AJMP $ DELAY:MOV R3, #00H DD: MOV R4 , #00H

DJNZ R4,$ DJNZ R3,DD RET END <想一想>如果实现反转180°,程序该如何修改? 利用软件延时的方法确定各相电源的通电时间达到控制步进电动机正转、反转、启动和停止。这种方法需要占用大量的CPU时间,降低了它的效率。如果采用利用单片机内部定时/计数器的功能编制程序,则可以大大提高CPU的工作效率。

本章小结 单片机常用于构成工业测控系统。因此,它往往要接收来自传感器的信号(多为模拟量),并输出控制信号(数字量)去控制被控对象,这时就要用到A/D和D/A转换。 A/D转换的任务是将模拟量转换成数字量输出,便于单片机对信号的处理。常用的并行A/D转换芯片有ADC0804、ADC0809、AD574等;常用的串行A/D转换芯片如TLC1549。 D/A转换的任务是将数字量转换成模拟量输出,便于驱动和控制执行设备。典型的D/A转换芯片是DAC0832。 在大规模集成电路技术迅速发展的今天,设计人员在进行系统设计时,最主要的是合理选用商品化的A/D和D/A转换芯片,了解他们的性能以及与单片机的接口方法。这也是本章的教学重点之一。

思考题与习题 1.单片机测控系统为什么常需要进行A/D和D/A 转换?它们的含义是什么? 2.典型的D/A转换器DAC0832由哪几部分组成?各部分的作用是什么? 3.D/A转换器有哪些主要技术指标? 4.试设计80C51与DAC0832的接口电路,要求DAC0832的接口地址为0FFFEH。 5.对上一问题编制程序,输出图7-20所示波形。 6.ADC0809主要由哪几部分组成?各部分有何作用?

7.试设计80C51与ADC0809的接口电路,并写出教材7.2.2接口电路对应的INO~IN7的地址。 8.如果要求ADC0809的接口地址是0EFF8H~0EFFFH,接口电路如何设计? 9.参照教材7.2.2接口电路和7.2.6简易电压表硬件电路,尝试设计一位数字电压表功能电路。要求:ADC0809的接口地址是7FF8H~7FFFH,从INO~IN7采集的8路模拟信号能通过80C51单片机P1口外接的1个数码管进行显示。 10.设计习题9的软件。 11.TA7257P有哪几种工作模式?它如何与单片机和直流电机连接? 12.步进电机有哪几种工作方式?简述其特点。 13.仍采用图7-19控制电路,试编程实现用1相励磁法控制步进电机正转360°。