第08章模拟量输入与输出_第1页
第08章模拟量输入与输出_第2页
第08章模拟量输入与输出_第3页
第08章模拟量输入与输出_第4页
第08章模拟量输入与输出_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、授课教师:左敬龙授课教师:左敬龙电话:电话:1382868066013828680660短号:短号:6801268012邮箱:邮箱:单片机原理及应用单片机原理及应用单片机应用系统中的模拟量输单片机应用系统中的模拟量输入与输出入与输出AD转换转换1DA转换转换2直流电机控制直流电机控制3AD转换转换1 需要把外界连续变化的物理量(如温度、压力、流量、速需要把外界连续变化的物理量(如温度、压力、流量、速度),通过传感器变成电信号,再将其变成数字量送入单片机度),通过传感器变成电信号,再将其变成数字量送入单片机内进行加工处理。内进行加工处理。 也需要将单片机输出的数字量转为连续变化的模拟量,用以也需

2、要将单片机输出的数字量转为连续变化的模拟量,用以控制调节一些执行机构,实现对被控对象的控制。控制调节一些执行机构,实现对被控对象的控制。 这种将模拟量转换为数字量的过程叫做模拟这种将模拟量转换为数字量的过程叫做模拟/数字(数字(A/D)转)转换,将数字量转换为模拟量的过程叫做数字换,将数字量转换为模拟量的过程叫做数字/模拟(模拟(D/A)转换。)转换。实现这种转换的器件,叫做模实现这种转换的器件,叫做模/数(数(A/D)转换器或数)转换器或数/模(模(D/A)转换器。转换器。图图8-1是典型的具有模是典型的具有模/数转换器和数数转换器和数/模转换器的单片机应用系模转换器的单片机应用系统统。 概

3、概 述述被测被测控的控的对象对象单片微机应用系统传感器采样保持A/D开关控制部件模拟执行部件D/A图图81 单片机应用系统单片机应用系统一一 、A/D转换原理与接口转换原理与接口1 A/D转换器常用芯片简介转换器常用芯片简介 A/D转换器是将模拟信号转换为数字信号的器件,种类繁转换器是将模拟信号转换为数字信号的器件,种类繁多,性能各异。与单片机的接口形式也不尽相同,但大致分为多,性能各异。与单片机的接口形式也不尽相同,但大致分为并行接口和串行接口两种。并行接口和串行接口两种。1)ADC0809 ADC0809具有具有8路模拟量输路模拟量输入,可在程序控制下对任意通道入,可在程序控制下对任意通道

4、进行进行A/D转换,输出转换,输出8位二进制数位二进制数字量。与单片机之间是并行通信。字量。与单片机之间是并行通信。其内部逻辑结构和引脚如图其内部逻辑结构和引脚如图8-2所示。所示。 ADC0809ADC0809的的引脚功能引脚功能 IN0IN0IN7IN7:8 8路模拟信号输入端路模拟信号输入端。 C C、B B、A A:8 8路模拟信号转换选择端路模拟信号转换选择端。低低8 8位地址中位地址中A0A0A2A2连接。由连接。由A0A0A2A2地址地址000000111111选择选择IN0IN0IN7IN7八路八路A/DA/D通道。通道。 CLKCLK:外部时钟输入端外部时钟输入端。 时钟频率

5、高,时钟频率高,A/DA/D转换速度快。允许范围为转换速度快。允许范围为10101280KHz 1280KHz 。通常由通常由80C51 ALE80C51 ALE端直接或分频后与端直接或分频后与0809 CLK0809 CLK端相连接。端相连接。 D0D0D7D7:数字量输出端数字量输出端。 OEOE:A/DA/D转换结果输出允许控制端转换结果输出允许控制端。OE=1OE=1,允许将,允许将A/DA/D转换结果从转换结果从D0D0D7D7端输出。通常由端输出。通常由80C5180C51的端与的端与08090809片选端(例如片选端(例如P2.0P2.0)通过或非门与通过或非门与0809 OE0

6、809 OE端相连接。端相连接。 ALEALE:地址锁存允许信号输入端地址锁存允许信号输入端。 0809 ALE0809 ALE信号有效时将当前转换的通道地址锁存。信号有效时将当前转换的通道地址锁存。 STARTSTART:启动启动A/DA/D转换信号输入端转换信号输入端。 当当STARTSTART端输入一个正脉冲时,立即启动端输入一个正脉冲时,立即启动08090809进行进行A/DA/D转换。转换。STARTSTART端与端与ALEALE端连在一端连在一起,由起,由80C51WR80C51WR与与08090809片选端(例如片选端(例如P2.0P2.0)通过或非门相连。)通过或非门相连。 E

7、OCEOC:A/DA/D转换结束信号输出端,高电平有效。转换结束信号输出端,高电平有效。 UREFUREF(+ +)、UREFUREF(- -):正负基准电压输入端正负基准电压输入端。 VccVcc:正电源电压正电源电压(+5V+5V)。)。GNDGND:接地端接地端。表表9-8 ADC0809通道地址选择表通道地址选择表C B A选通的通道选通的通道0 0 0IN00 0 1 IN10 1 0IN20 1 1IN31 0 0IN41 0 1IN51 1 0IN61 1 1IN72) ADC0809与单片机的接口与单片机的接口 图图8-5是是ADC0809与与80C51单片机的接口连接图。单片

8、机的接口连接图。ADC0809的转换时钟由单片机的的转换时钟由单片机的ALE提供。提供。ADC0809的典型转换频率为的典型转换频率为640KHz,ALE信号频率与晶振频率有关,如果晶振频率取信号频率与晶振频率有关,如果晶振频率取12MHZ,则,则ALE的频率为的频率为2MHZ,所以,所以ADC0809的时钟端的时钟端CLK与单片机的与单片机的ALE端相端相接时,要考虑分频。接时,要考虑分频。8051单片机通过地址线单片机通过地址线P2.0和读写控制线、来控制模拟输入通道地址锁和读写控制线、来控制模拟输入通道地址锁存存 、 启动和输出允许。启动和输出允许。WRRD图图8-5 ADC0809与与

9、80C51接口接口模拟输入通道地址的译码输入模拟输入通道地址的译码输入A、B、C由由P0.0P0.2提供,因提供,因ADC0809具有通道地址锁存功具有通道地址锁存功能,能,P0.0P0.2不需锁存。根据不需锁存。根据P2.0和和P0.0P0.2的连接方法,的连接方法,8个模拟输入通道个模拟输入通道IN0IN7的地的地址依次为址依次为FEF8HFEFFH。ADC0809 A/D转换应用举例转换应用举例 例例1设图设图8-5接口电路用于一个接口电路用于一个8路模拟量输入的巡回检测路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按系统,使用中断方式采样数据,把采样转换所得的

10、数字量按顺序依次存于片内顺序依次存于片内RAM的的30H37H单元中。采样完一遍后单元中。采样完一遍后停止。其数据采集的初始化程序和中断服务程序如下:停止。其数据采集的初始化程序和中断服务程序如下: C语言参考程序:语言参考程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库#include /包含定义绝对地址访问库包含定义绝对地址访问库#define uchar unsigned char /定义定义uchar为无符号字符数据为无符号字符数据类型类型#define IN0 XBYTE0 x0000 /定义定义IN0为通道为通道0的地址的地址static uchar data x

11、8; /定义定义8个单元的数组,存放结果个单元的数组,存放结果uchar xdata *ad_adr; /定义指向通道的指针定义指向通道的指针uchar i=0; /定义变量定义变量i, 初值为初值为0void main(void) /主函数,完成初始化主函数,完成初始化 IT1=1; / 外中断外中断INT1为边沿触发为边沿触发 EX1=1; /开开INT1中断中断 EA=1; /开开CPU中断中断 ad_adr=&IN0; /指针指向通道指针指向通道0 *ad_adr=i; /启动通道启动通道0转换转换 for (;) ; /等待中断等待中断void int_adc(void) inter

12、rupt 0 /中断函数中断函数 xi=*ad_adr; /接收当前通道转换结果接收当前通道转换结果 i+; /指向下一个单元指向下一个单元 ad_adr+; /指向下一个通道指向下一个通道 if (i8) /判循环判循环8次否次否 *ad_adr=i; /8个通道未转换完,启动下一个通道返回个通道未转换完,启动下一个通道返回 else EA=0; /8个通道转换完,关中断返回个通道转换完,关中断返回 EX0=0; 2、ADC0832图图8-3 ADC0832引脚引脚 ADC0832是一种具有串行接口的是一种具有串行接口的8位分辨率、双通道位分辨率、双通道A/D转换芯片。具有体积小、兼容性强、

13、性价比高等优点,应用非转换芯片。具有体积小、兼容性强、性价比高等优点,应用非常广泛。常广泛。图图8-3 ADC08328-3 ADC0832引脚引脚 ADC0832是是8引脚双列直插式引脚双列直插式双通道双通道A/D转换器。转换器。5V电源供电,输电源供电,输入电压在入电压在05V之间,工作频率为之间,工作频率为250KHZ,转换时间为,转换时间为32S,一般功,一般功耗仅为耗仅为15mW。引脚排列如图。引脚排列如图8-3所所示。它能分别对两路模拟信号实现模示。它能分别对两路模拟信号实现模/数转换,可以在单端输入方式和差数转换,可以在单端输入方式和差分输入方式下工作。分输入方式下工作。 ADC

14、0832引脚功能如下:引脚功能如下: 片选使能,低电平芯片使能。片选使能,低电平芯片使能。 CH0 模拟输入通道模拟输入通道0,或作为,或作为IN+/-使用。使用。 CH1 模拟输入通道模拟输入通道1,或作为,或作为IN+/-使用。使用。 GND 芯片参考芯片参考0 电位(地)。电位(地)。 DI 数据信号输入,选择通道控制。数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。数据信号输出,转换数据输出。 CLK 芯片时钟输入。芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。电源输入及参考电压输入(复用)。 正常情况下正常情况下ADC0832 与单片机的接口应有与单

15、片机的接口应有4条线,分别是条线,分别是 、CLK、DO、DI。但由于。但由于DO端与端与DI端在通信时并未同时有效,并与单片端在通信时并未同时有效,并与单片机的接口是双向的,所以电路设计时可以将机的接口是双向的,所以电路设计时可以将DO和和DI 并联在一根线上使并联在一根线上使用。当用。当ADC0832不工作时,其不工作时,其 输入端应为高电平,此时芯片禁用,输入端应为高电平,此时芯片禁用,CLK 和和DO/DI 的电平可任意。当要进行的电平可任意。当要进行A/D转换时,须先将转换时,须先将 置于低置于低电平并且保持低电平直到转换完全结束。电平并且保持低电平直到转换完全结束。 CSCSCSC

16、S 此时芯片开始转换工作,同时由单片机向芯片时钟输入端此时芯片开始转换工作,同时由单片机向芯片时钟输入端CLK输入时钟输入时钟脉冲,脉冲,DO/DI端则使用端则使用DI端选择的输入通道。在第端选择的输入通道。在第1个时钟脉冲的下降沿之前个时钟脉冲的下降沿之前DI端必须是高电平,表示启动信号。在第端必须是高电平,表示启动信号。在第2、3个脉冲的下降沿之前个脉冲的下降沿之前DI端应输端应输入入2位数据用于选择通道功能。位数据用于选择通道功能。当当DI依次输入为依次输入为1、0时,只对时,只对CH0 进行单通道转换。进行单通道转换。当当DI依次输入为依次输入为1、1时,只对时,只对CH1进行单通道转

17、换。进行单通道转换。当当DI依次输入为依次输入为0、0时,将时,将CH0作为正输入端作为正输入端IN+,CH1作为负输入端作为负输入端IN-进进行输入。行输入。当当DI依次输入为依次输入为0、1时,将时,将CH0作为负输入端作为负输入端IN-,CH1 作为正输入端作为正输入端IN+进进行输入。行输入。 作为单通道模拟信号输入时,作为单通道模拟信号输入时,ADC0832的输入电压的输入电压Vi的范围是的范围是05V。当输入电压当输入电压Vi=0时,转换后的值时,转换后的值VAL=0 x00;而当;而当Vi=5V时,转换后的值时,转换后的值VAL=0Xff,即十进制数的即十进制数的255。所以转换

18、后的输出值(数字量。所以转换后的输出值(数字量D)为)为: V 式中,式中,D为转换后的数字量;为转换后的数字量;V为输入的模拟电压。为输入的模拟电压。5255D2) ADC0832与单片机的接口与单片机的接口 图图8-6是是ADC0832与与AT89C51单片机的接口连接图。正常情况下单片机的接口连接图。正常情况下ADC0832与单与单片机的接口应有片机的接口应有4条线,分别是条线,分别是 、CLK、DO、DI。但由于。但由于DO端(数据信号输入,端(数据信号输入,选择通道控制)与选择通道控制)与DI端(数据信号输出,转换数据输出)在通信时并未同时有效,并端(数据信号输出,转换数据输出)在通

19、信时并未同时有效,并与单片机的接口是双向的,所以电路设计时可以将与单片机的接口是双向的,所以电路设计时可以将DO和和DI并联在一根线上使用。并联在一根线上使用。 ADC0832有有2个模拟输入通道,个模拟输入通道,CH0为模拟输入通道为模拟输入通道0,CH1为模拟输入通道为模拟输入通道1,由,由DI端选择输入通道。当要进行端选择输入通道。当要进行A/D转换时,片选信号转换时,片选信号 必须置为低电平,并且保持低电必须置为低电平,并且保持低电平直到转换完全结束。同时由单片机向芯片时钟输入端平直到转换完全结束。同时由单片机向芯片时钟输入端CLK输入时钟脉冲。输入时钟脉冲。CSCS图图8-6 ADC

20、0832与单片机接口与单片机接口 例例2 设图设图8-6接口电路用于一个模拟量输入的检测系统。接口电路用于一个模拟量输入的检测系统。Ui为待转换为待转换的模拟输入电压,要求对的模拟输入电压,要求对Ui连续采样连续采样10次,每次采样值经串行次,每次采样值经串行A/D转转换电路(换电路(ADC0832)转换成数字量,并按顺序依次存于片内)转换成数字量,并按顺序依次存于片内RAM的的30H39H单元中。采样完单元中。采样完10次后停止。次后停止。C语言数据采集串行语言数据采集串行A/D转换参考程序:转换参考程序:#include /包含单片机特殊功能寄存器的头文件包含单片机特殊功能寄存器的头文件#

21、define uchar unsigned char /定义定义uchar为无符号字符数据类型为无符号字符数据类型static uchar data x10; /定义定义10个单元的数组,存放结果个单元的数组,存放结果sbit CS=P34; /将将CS位定义为位定义为P3.4引脚引脚sbit CLK=P10; /将将CLK位定义为位定义为P1.0引脚引脚sbit DIO=P11; /将将DIO位定义为位定义为P1.1引脚引脚unsigned char A_D() /A_D转换函数。功能:将模拟信号转换成数字转换函数。功能:将模拟信号转换成数字信号信号 unsigned char i,dat;

22、 /设设i和和det为无符号字符变量为无符号字符变量 CS=1; /一个转换周期开始一个转换周期开始 CLK=0; /为第一个脉冲作准备为第一个脉冲作准备 CS=0; /CS置置0,片选有效,片选有效 DIO=1; /DIO置置1,规定的起始信号,规定的起始信号 CLK=1; /第一个脉冲第一个脉冲 CLK=0; /第一个脉冲的下降沿,此前第一个脉冲的下降沿,此前DIO必须是高电平必须是高电平 DIO=1; /DIO置置1, 通道选择信号通道选择信号 CLK=1; /第二个脉冲,第第二个脉冲,第2、3个脉冲下降之前,个脉冲下降之前,DI必须分别输入两位数必须分别输入两位数据用于选择据用于选择/

23、通道,这里选通道通道,这里选通道CH0 CLK=0; /第二个脉冲下降沿第二个脉冲下降沿 DIO=0; /DI置置0,选择通道,选择通道0 CLK=1; /第三个脉冲第三个脉冲 CLK=0; /第三个脉冲下降沿第三个脉冲下降沿 DIO=1; /第三个脉冲下降沿之后,输入端第三个脉冲下降沿之后,输入端DIO失去作用,应置失去作用,应置1 CLK=1; /第四个脉冲第四个脉冲 for(i=0;i8;i+) /高位在前高位在前 CLK=1; /第四个脉冲第四个脉冲 CLK=0; /第四个脉冲下降沿第四个脉冲下降沿 dat=1; /将下面储存的低位数据向右移将下面储存的低位数据向右移dat|=(uns

24、igned char)DIO; /将输出数据将输出数据DIO通过或运算储存在通过或运算储存在dat最低最低位位 CS=1; /片选无效片选无效 return dat; /将读出的数据返回将读出的数据返回 ADC0832ADC0832时序图时序图main(void) /主函数主函数 unsigned char j,g=0; /设设j,g为无符号字符变量为无符号字符变量,j用于及循环次用于及循环次数数,g用于数组。用于数组。unsigned int AD_val; /储存储存A/D转换后的值转换后的值for(j=0,j10,j+) / AD_val= A_D(); / xg=AD_val/ g+;

25、 8.2 D/A转换器接口转换器接口1、 DAC转换芯片介绍转换芯片介绍 D/A转换器是将数字量转换为对应的模拟量的器件,也有很转换器是将数字量转换为对应的模拟量的器件,也有很多种类。多种类。以以DAC0832为例介绍为例介绍D/A转换器的结构和使用方法。转换器的结构和使用方法。 DAC0832的引脚及功能的引脚及功能 DAC0832是一个是一个8位位D/A转换器。单电源供电,从转换器。单电源供电,从+5V+15V均可正常工作。基准电压的范围为均可正常工作。基准电压的范围为10V;电流建立时间;电流建立时间为为1s;CMOS工艺,低功耗工艺,低功耗20 mW。DAC0832为为20引脚,双列直

26、插式封装,其引脚排列如图引脚,双列直插式封装,其引脚排列如图8-7所所示。示。DI0DI7:8位数据输入端。位数据输入端。ILE:输入数据允许锁存信号,高电平:输入数据允许锁存信号,高电平有效。有效。 :片选端,低电平有效。:片选端,低电平有效。 :输入寄存器写选通信号,低电:输入寄存器写选通信号,低电平有效。平有效。 :DAC寄存器写选通信号,低电寄存器写选通信号,低电平有效。平有效。 :数据传送信号,低电平有效。:数据传送信号,低电平有效。IOUT1、IOUT2:电流输出端。:电流输出端。RFB:反馈电流输入端。:反馈电流输入端。UREF:基准电压输入端。:基准电压输入端。Vcc:正电源端

27、;:正电源端;AGND:模拟地;:模拟地;DGND:数字地。:数字地。图图8-7 DAC0832引脚引脚CS1W R2W RXFER2、 DAC0832工作方式工作方式用软件指令控制这用软件指令控制这5个控制端:个控制端:ILE、 、 、 、 ,可,可实现三种工作方式:实现三种工作方式:直通工作方式:直通工作方式:5个控制端均有效,直接个控制端均有效,直接D/A转换;转换;单缓冲工作方式:单缓冲工作方式:两个输入寄存器中任意一个处于直通方式,两个输入寄存器中任意一个处于直通方式,另一个工作于受控方式。另一个工作于受控方式。双缓冲工作方式:双缓冲工作方式:两个锁两个锁存器都处于受控状态。存器都处

28、于受控状态。CS1W R2W RXFER1 1)DAC0832DAC0832单缓冲方式单缓冲方式 在实际应用中,如果只有一路模拟量输出,或虽在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出时,可采用单缓冲有几路模拟量但并不要求同步输出时,可采用单缓冲方式。单缓冲方式的两种连接方法如图方式。单缓冲方式的两种连接方法如图8-98-9和图和图8-108-10所所示。示。 图8-9 DAC 0832单缓冲方式图8-10 用DAC产生锯齿波 图图8-9中,两级寄存器作一级寄存器使用。图中,两级寄存器作一级寄存器使用。图8-10中中, =0和和=0,因此,因此DAC寄存器处于接通方

29、式。而输入寄存器处于受寄存器处于接通方式。而输入寄存器处于受控锁存方式,接控锁存方式,接8051的,的,ILE接高电平,此外还应把接高位接高电平,此外还应把接高位地址或译码输出,以便为输入寄存器确定地址。地址或译码输出,以便为输入寄存器确定地址。 单缓冲方式应用十分广泛,如需要有一个线性增长的电单缓冲方式应用十分广泛,如需要有一个线性增长的电压来控制移动记录笔或移动电子束等。此时可通过在压来控制移动记录笔或移动电子束等。此时可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波的输出端接运算放大器,由运算放大器产生锯齿波来实现,电路连接如图来实现,电路连接如图8-10所示。图中若所

30、示。图中若DAC0832的输出端的输出端只接一级反向输入的运算放大器,则输出的锯齿波为负向增只接一级反向输入的运算放大器,则输出的锯齿波为负向增长得倒锯齿波,图长得倒锯齿波,图8-10中接中接2级运算放大器是为了输出正向的级运算放大器是为了输出正向的锯齿波。锯齿波。 对锯齿波的产生作如下几点说明:对锯齿波的产生作如下几点说明: 程序每循环一次,程序每循环一次,A加加1,因此实际上锯齿波的上升沿是,因此实际上锯齿波的上升沿是由由256个小阶梯构成的,但由于阶梯很小,所以从宏观上看就个小阶梯构成的,但由于阶梯很小,所以从宏观上看就是线性增长的锯齿波。是线性增长的锯齿波。 可通过循环程序段的机器周期

31、数计算出锯齿波的周期,并可可通过循环程序段的机器周期数计算出锯齿波的周期,并可根据需要,通过延时的办法来改变波形周期。当延迟时间较短根据需要,通过延时的办法来改变波形周期。当延迟时间较短时,可用时,可用NOP指令来实现;当需要延迟的时间较长时,可以使指令来实现;当需要延迟的时间较长时,可以使用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。斜率就不同。通过通过A加加1,可得到正向的锯齿波;如要得到负向的锯齿波,可得到正向的锯齿波;如要得到负向的锯齿波,改为减改为减1指令即可实现。指令即可实现。 程序中程序中A的变化范围是的变

32、化范围是0255,因此得到的锯齿波是满幅,因此得到的锯齿波是满幅度的。如要求得到非满幅度锯齿波,可通过计算求得数字量的度的。如要求得到非满幅度锯齿波,可通过计算求得数字量的初值和终值,然后在程序中通过置初值判终值的办法实现。初值和终值,然后在程序中通过置初值判终值的办法实现。锯齿波锯齿波C语言参考程序:语言参考程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库#include /该文件用于定义存储器空间的绝对该文件用于定义存储器空间的绝对地址地址#define uchar unsigned char /定义定义uchar为无符号字符数据为无符号字符数据类型类型#define D

33、AC0832 XBYTE0 x7FFF /定义定义DAC0832表示片外地址表示片外地址0 x7FFFvoid main() /主函数主函数uchar i; /变量变量i为无符号字符数据类型为无符号字符数据类型while(1) /无限循环体无限循环体for (i=0;i0 xff;i+) /循环循环256次次DAC0832=i; /将每次加将每次加1变化后的变化后的i值送值送D/A转换转换矩形波矩形波C语言参考程序如下:语言参考程序如下:#include /包含特殊功能寄存器库包含特殊功能寄存器库#include /该文件用于定义存储器空间的绝对地址该文件用于定义存储器空间的绝对地址#defi

34、ne uchar unsigned char /定义定义uchar为无符号字符数据类型为无符号字符数据类型#define DAC0832 XBYTE0 x7FFF /定义定义DAC0832表示片外地址表示片外地址0 x7FFFvoid delay() /延时函数延时函数uchar i; /变量变量i为无符号字符数据类型为无符号字符数据类型for (i=0;i0 xff;i+) ; /循环延时循环延时void main() /主函数主函数uchar i; /变量变量i为无符号字符数据类型为无符号字符数据类型while(1) /无限循环体无限循环体DAC0832=0; /输出低电平输出低电平del

35、ay(); /延时延时DAC0832=0 xff; /输出高电平输出高电平delay(); /延时延时用用D/A转换还可以产生多种波形。产生矩形波的汇编语言参考程序如下:转换还可以产生多种波形。产生矩形波的汇编语言参考程序如下:2DAC0832双缓冲方式双缓冲方式 图图8-12是一个两路同步输出的是一个两路同步输出的D/A转换器的接口电路及逻辑框图。转换器的接口电路及逻辑框图。P2.5和和P2.6分别选择两路分别选择两路D/A转换器的输入寄存器,控制输入锁存;转换器的输入寄存器,控制输入锁存;P2.7连到两路连到两路D/A转换器的转换器的 端控制同步转换输出;端控制同步转换输出; 端与所有的端

36、与所有的 、 端相连,在执行端相连,在执行MOVX输出指令时,单片机自动输出输出指令时,单片机自动输出 控制信号。控制信号。 XFERWR1WR2WRWR图图8-12 DAC0832双缓冲方式双缓冲方式 如果将如果将DAC0832和的输出端接运放后,分别接图形显示器的和的输出端接运放后,分别接图形显示器的X轴和轴和Y轴偏转放大器输入端,实现同步输出,则可更新图形显示器的光点位置,从而轴偏转放大器输入端,实现同步输出,则可更新图形显示器的光点位置,从而实现绘图功能。实现绘图功能。同步输出同步输出C语言参考程序如下语言参考程序如下(设设X轴信号和轴信号和Y轴信号已分别存于变量轴信号已分别存于变量i

37、和和j中中):#include /包含特殊功能寄存器库包含特殊功能寄存器库#include /该文件用于定义存储器空间的绝对地址该文件用于定义存储器空间的绝对地址#define uchar unsigned char /定义定义uchar为无符号字符数据类型为无符号字符数据类型#define DAC0832_1 XBYTE0 xDFFF /定义定义DAC0832_1输入寄存器地输入寄存器地址址#define DAC0832_2 XBYTE0 xBFFF /定义定义DAC0832_2输入寄存器地输入寄存器地址址#define DAC XBYTE0 x7FFF /定义定义0832(1)、(2)DA

38、C寄存器地址寄存器地址void main() /主函数主函数 uchar i, j ; DAC0832_1=i; / X轴信号送轴信号送0832(1)输入寄存器输入寄存器 DAC0832_2=j; /Y轴信号送轴信号送0832(2)输入寄存器输入寄存器DAC= j; /同步同步D/A,输出输出X、Y轴信号轴信号 3、直流电机控制、直流电机控制 图图8-14是一个单片机控制直流电动机的简单接口电路示意是一个单片机控制直流电动机的简单接口电路示意图。图中设单片机的图。图中设单片机的P3.2口、口、P3.7口分别接到电动机控制电路口分别接到电动机控制电路的的D端和端和PWM端,通过单片机控制电动机的

39、正转、反转。端,通过单片机控制电动机的正转、反转。P1口口输入的是经输入的是经A/D转换器转换器0809转换的数字量转换的数字量TMP。首先,单片机。首先,单片机的的PWM端(端(P3.7)输出转动电平,延时一段时间,延时的常数)输出转动电平,延时一段时间,延时的常数定为定为TMP;接着再输出停转电平,延时的常数为;接着再输出停转电平,延时的常数为255-TMP。这。这样,就可通过改变模拟输入电压的大小(即转换得到的数字量样,就可通过改变模拟输入电压的大小(即转换得到的数字量TMP的大小)来改变单片机的大小)来改变单片机PWM输出的占空比,从而达到调节输出的占空比,从而达到调节电动机转速的目的。电动机转速的目的。 图图8-15为直流电动机控制程序流程图。为直流电动机控制程序流程图。 图图8-14 单片机

温馨提示

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

评论

0/150

提交评论