




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章应用系统配置及接口技术第9章
应用系统配置及接口技术目录 9.1键盘接口 9.2LED显示接口 9.3A/D转换接口 9.4D/A转换接口 9.5输出通道接口本章要点
单片机主要应用于测控系统中,应用系统通常需要人的干预。 本章主要讲述键盘、显示器、A/D转换器、D/A转换器、开关器件等的工作原理及接口电路。第9章单片机系统配置及接口图9-1单片机应用系统配置框图9.1键盘接口主要内容
9.1.1键盘基本问题 9.1.2键盘结构及处理程序 9.1.3中断扫描方式1、键的识别
当按键K未被按下时,P1.0输入为高电平;当K闭合时,P1.0输入为低电平。
9.1.1键盘基本问题
图9-2按键电路2、键的抖动
由于机械触点的弹性作用,按键在闭合时不会马上稳定地接通,在断开时也不会一下子断开。在闭合及断开的瞬间均伴随有一连串的抖动,如图9-3所示
。 抖动时间一般为5~10ms。抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。9.1.1键盘基本问题9.1.1键盘基本问题图9-3按键时的抖动9.1.1键盘基本问题
一.独立式键盘 独立式按键是指各按键相互独立地接通一条输入数据线。当任何一个键按下时,与之相连的输入数据线即可读入数据0,而没有按下时读入1。9.1.2键盘结构及处理程序
图9-4独立式键盘
例9-1设计一个独立式按键的键盘接口,并编写键扫描程序,电路原理图如图9-4所示,键号从上到下分别为0~7。 C语言程序清单:#include<reg52.h>voidkey(){ unsignedchark; P1=0xff; //输入时P1口置全1 k=P1; //读取按键状态 if(k==0xff) //无键按下,返回 return; delay20ms(); //有键按下,延时去抖
9.1.2键盘结构及处理程序
k=P1; if(k==0xff) //确认键按下 return; //抖动引起,返回 while(P1!=0xff); //等待键释放
switch(k) { case:0xfe
… //0号键按下时执行程序段 break; case:0xfd
… //1号键按下时执行程序段 break;
9.1.2键盘结构及处理程序
…
//2~6号键程序省略 case:0x7f
… //7号键按下时执行程序段 break; }}
9.1.2键盘结构及处理程序
二.行列式键盘为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式。每一水平线(行线)与垂直线(列线)的交叉处通过一个按键来连通。图9-54×4矩阵键盘接口
利用这种结构只需N条行线和M条列线,即可组成具有N×M个按键的键盘。9.1.2键盘结构及处理程序
图9|54×4矩阵键盘接口9.1.2键盘结构及处理程序
1.行扫描法工作原理(查询法)判别键盘中有无键按下。向行线输出全0,读入列线状态。如果有键按下,总有一列线被拉至低电平,从而使列输入不全为1。查找按下键所在位置。依次给行线送低电平,查列线状态。全为1,则所按下的键不在此行;否则所按下的键必在此行且是在与零电平列线相交的交点上的那个键。对按键位置进行编码。找到所按下按键的行列位置后,对按键进行编码,即求得按键键值。9.1.2键盘结构及处理程序
2.键盘扫描识别子程序
C语言程序清单:#include<reg52.h>charkey() { charrow,col,k=-1; //定义行、列、返回值 P1=0xf0; if((P1&0xf0)==0xf0) returnk; //无键按下,返回 delay20ms(); //延时去抖 if((P1&0xf0)==0xf0) returnk; //抖动引起,返回9.1.2键盘结构及处理程序
for(row=0;row<4;row++) //行扫描 {P1=~(1<<row); //扫描值送P1 k=P1&0xf0; if(k!=0xf0) //列线不全为1, { while(k&(1<<(col+4))) //所按键在该列 col++; //查找为0列号 k=row*4+col; //计算键值 P1=0xf0; while((P1&0xf0)!=0xf0);//等待键释放 break; }} returnk; //返回键值}9.1.2键盘结构及处理程序
3.行列反转法工作原理
判别键盘中有无键按下。(方法同行扫描法)输入变输出,再读。将上一步读取到的列线输入值从列线输出,读取行线值。定位求键值。根据上一步输出的列线值和读取到的行线值就可以确定所按下键所在的位置,从而查表确定键值。9.1.2键盘结构及处理程序
4.行列反转法识别子程序(优点:=消抖)
C语言程序代码:#include<reg52.h>charkey(){ charcodekeycode[]={ 0xee,0xde,0xbe,0x7e, 0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b, 0xe7,0xd7,0xb7,0x77 } //键盘表,定义16个按键的行列组合值 9.1.2键盘结构及处理程序
charrow,col,k=-1,i; //定义行、列、返回值、循环控制变量 P1=0xf0; if((P1&0xf0)==0xf0) returnk; //无键按下,返回-1 delay20ms(); //延时去抖 if((P1&0xf0)==0xf0) returnk; //抖动引起,返回-1 P1=0xf0; col=P1&0xf0; //行输出全0,读取列值 P1=col|0x0f; row=P1&0x0f; //列值输出,读取行值9.1.2键盘结构及处理程序
//查找行列组合值在键盘表中位置 for(i=0;i<16;i++) if((row|col)==keycode[i])//找到,i即为键值, { //否则,返回-1 key=i; //对重复键,该方法 break; //处理为无键按下 } P1=0xf0; while((P1&0xf0)!=0xf0); //等待键释放 returnk; //返回键值}9.1.2键盘结构及处理程序
9.1.3中断扫描方式
为了提高CPU的效率,可以采用中断扫描工作方式,即只有在键盘有键按下时才产生中断申请,CPU响应中断,进入中断服务程序进行键盘扫描,并做相应处理。也可以采用定时扫描方式,即系统每隔一定时间进行键盘扫描,并做相应处理。9.1.3中断扫描方式图9-6中断方式键盘接口9.2LED显示接口主要内容9.2.1LED显示器结构原理9.2.2LED显示器接口及显示方式9.2.3LED显示器与89C52接口及显示子程序9.2.1LED显示器结构原理 单片机中通常使用7段LED构成字型为“8”且加一个小数点的数码管,以显示数字、符号及小数,常见数码管如下图。
显示器有共阴极和共阳极两种。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。 一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划,另一个为小数点。 当在某段发光二极管上施加一定的正向电压时,该段笔划即亮;不加电压则暗。9.2.1LED显示器结构原理以共阴极显示器为例,当a、b、c三段送1时,数码管显示数字7。(c)引脚配置外形图(b)共阳极(a)共阴极9.2.1LED显示器结构原理P0=0xff用于测试表9-1共阴极和共阳极7段LED显示字型编码表显示字符012345678共阴极段码3F065B4F666D7D077F共阳极段码C078F9A4B0999282F880显示字符9ABCDEF-灭共阴极段码6F777C395E79714000共阳极段码908883C6A1868EBFFF
以上为8段,8段最高位为小数点段。表中为小数点不点亮段码。9.2.1LED显示器结构原理9.2.2LED显示器接口及显示方式 LED有静态显示(占用端口多,编程简单)和动态显示两种方式。 1.LED静态显示方式
静态显示就是当显示器显示某个字符时,相应的段(发光二极管)恒定地导通或截止,直到显示另一个字符为止。 共阴极(公共端K0)接地; 共阳极(公共端K0)接+5V电源。 每位的段选线(a~dp)分别与一个8位锁存器的输出口相连,显示器中的各位相互独立。
优点:亮度较高、编程容易、管理简单;
缺点:但占用I/O口线资源较多。 2.LED动态显示方式(视觉暂留)
在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。而共阴(或共阳)极公共端K分别由相应的I/O线控制,实现各位的分时选通。图9-8为6位共阴极LED动态显示接口电路。9.2.2LED显示器接口及显示方式图9-86位LED动态显示接口电路9.2.2LED显示器接口及显示方式
各位扫描显示:由于6位LED所有段选线皆由P1口控制,要想每位显示不同的字符,就必须采用扫描方法轮流点亮各位LED,在每一瞬间只使某一位显示字符。
段选码、位选码控制:P1口输出相应字符段选码,P2口在该显示位送入选通电平,保证该位显示相应字符,如此轮流。
扫描延时:段选码、位选码每送入一次后延时1ms,保证每位有一定亮度,因人眼的视觉暂留效果,看上去每个数码管总在亮。9.2.2LED显示器接口及显示方式9.2.3显示器与89C52接口及显示子程序 下页图为89C52P1口和P2口控制的6位共阴极LED动态显示接口电路。P1口输出段选码,P2口输出位选码,位选码占用输出口的线数决定于显示器位数。 74LS245是双向8位缓冲器,在此分别作为段选和位选驱动器。 逐位轮流点亮各个LED,每一位保持1ms,在10~20ms之内再一次点亮,重复不止。这样,利用人的视觉暂留,好像6位LED同时点亮一样。图9|9数码管动态显示接口9.2.3显示器与89C52接口及显示子程序 C语言程序清单:#include<reg52.h>unsignedcharcodeLED[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharbuf[6]; //定义字型码和显示缓冲区voiddisp(){ unsignedchari; for(i=0;i<6;i++) //6位显示 { P1=LED[buf[i]]; //段码送P1口 P2=~(0x20>>i); //位码送P2口 delay1ms(); //延时1ms }}9.2.3显示器与89C52接口及显示子程序9.3A/D转换接口主要内容9.3.1多通道串行输出A/D芯片TLC2543及接口9.3.2逐次逼近型并行输出A/D转换器及接口9.3.3单片机内部集成的A/D转换器
模/数(A/D)转换的方式:有很多种,例如,计数比较型、逐次逼近型、双积分型等。选择A/D转换器件主要是从速度、精度和价格上考虑。
A/D转换器的输出方式:有串行、并行方式,并且有些增强型的单片机在片内也集成有A/D转换器。9.3A/D转换接口9.3.1多通道串行输出A/D芯片TLC2543及接口
TLC2543是TI公司生产的串行A/D转换器,它具有输入通道多、精度高、速度高、使用灵活和体积小的优点。 TLC2543为CMOS型12位开关电容逐次逼近A/D转换器。片内含有一个14通道多路器,可从11个模拟输入或3个内部自测电压中选择一个。
TLC2543与微处理器的接线用SPI接口只有4根连线,其外围电路也大大减少。TLC2543的特性如下:12位A/D转换器(可8位、12位和16位输出)。在工作温度范围内转换时间为l0μs。11通道输入。3种内建的自检模式。片内采样/保持电路。最大±1/4096的线性误差。9.3.1多通道串行输出A/D芯片TLC2543及接口内置系统时钟。转换结束标志位。单/双极性输出。输入/输出的顺序可编程(高位或低位在前)。可支持软件关机。输出数据长度可编程。
9.3.1多通道串行输出A/D芯片TLC2543及接口 1.TLC2543的片内结构及引脚功能 TLC2543片内由通道选择器、数据(地址和命令字)输入寄存器、采样/保持电路、12位的模/数转换器、输出寄存器、并行到串行转换器以及控制逻辑电路7个部分组成。 TLC2543片内结构如图9-11所示。9.3.1多通道串行输出A/D芯片TLC2543及接口图9-11TLC2543片内结构框图9.3.1多通道串行输出A/D芯片TLC2543及接口TLC2543的引脚意义如下:AIN0~AIN10
模拟输入通道。CS片选端。DIN
串行数据输入。DOUT转换结束数据输出。EOC转换结束信号。GND地。SCLK(I/OCLOCK)输入/输出同步时钟。REF+、REF-
转换参考电压。VCC
设备的电源。9.3.1多通道串行输出A/D芯片TLC2543及接口
2.TLC2543的命令字 TLC2543的每次转换都必须给其写入命令字,以便确定下一次转换用哪个通道,下次转换结果用多少位输出,转换结果输出是低位在前还是高位在前。命令字的输入采用高位在前。命令字如下:
通道选择输出数据长度输出数据顺序数据极性D7D6D5D4D3D2D1D0
输入到输入寄存器中的8位编程数据选择器件输入通道和输出数据的长度及格式。其选择格式如下表。9.3.1多通道串行输出A/D芯片TLC2543及接口表9-2输入寄存器命令字格式功能选择输入数据字节地址位LlL0LSBFBIPD7D6D5D4D3D2D1D0输入通道AIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7AIN8AIN9AIN10000000001110000111100000110011001010101010109.3.1多通道串行输出A/D芯片TLC2543及接口功能选择输入数据字节地址位L1L0LSBFDIPD7D6D5D4D3D2D1D0选择测试电压(Vref++Vref-)/2Vref-Vref+101111001101软件断电1110输出数据位数8位12位16位01X011输出数据格式MSB前导LSB前导01输入输出关系单极性----二进制双极性----2的补码01注:X表示无关项。9.3.1多通道串行输出A/D芯片TLC2543及接口3.TLC2543与89C52的SPI接口及程序图9-12TLC2543和89C52的接口电路9.3.1多通道串行输出A/D芯片TLC2543及接口
TLC2543提供SPI接口。对于89C52,须用软件合成SPI操作来和TLC2543接口。TLC2543的I/OCLOCK、DIN和两端由单片机的P1.0、P1.1和P1.3提供。TLC2543转换结果的输出(DOUT)数据由P1.2接收。 89C52将用户的命令字通过P1.1输入到TLC2543的输入寄存器中,等待20μs开始读数据,同时写入下一次的命令字。9.3.1多通道串行输出A/D芯片TLC2543及接口 TLC2543与89C52的8位数据传送程序 TLC2543与89C52进行1次8位数据传送,选用AIN0(即采集1次),高位在前。 C语言程序清单:#include<reg52.h>#include<intrins.h>sbitCS =P1^3;sbitCLK =P1^0;sbitDIN =P1^1;sbitDOUT =P1^2;//定义函数,输入参数为命令字,输出转换结果9.3.1多通道串行输出A/D芯片TLC2543及接口unsignedcharTLC2543(unsignedcharcommand){ unsignedchari,result=0; CS=0; //片选有效 for(i=0;i<12;i++) { DOUT=1; //P1.2为输入口 DIN=command&(0x80>>i); //命令字按位送出 result<<=1; result|=DOUT; //按位接收转换结果 CLK=1; //产生一个时钟 _nop_(); //高电平有一定宽度 CLK=0; } returnresult; //返回转换结果}9.3.1多通道串行输出A/D芯片TLC2543及接口9.3.2逐次逼近型并行输出A/D转换器及接口
1.ADC0809的片内结构及引脚功能 ADC0809是CMOS工艺,采用逐次逼近法的8位A/D转换芯片。 多路开关有8路模拟量输入端,最多允许8路模拟量分时输入,共用一个A/D转换器进行转换。图9-13为ADC0809的内部逻辑结构图。它由8路模拟开关、8位A/D转换器、三态输出锁存器以及地址锁存译码器等组成。图9-13ADC0809内部逻辑结构结构9.3.2逐次逼近型并行输出A/D转换器及接口引脚功能说明如下:IN0~IN7:8个通道的模拟输入端。D0~D7:8位数字量输出端。START:启动信号。ALE:地址锁存信号。EOC:转换结束信号。OE:输出允许控制端。CLOCK:时钟信号。VREF+和VREF-:A/D转换器的参考电压。VCC
电源电压。9.3.2逐次逼近型并行输出A/D转换器及接口8位模拟开关地址输入通道的关系见表9-3。模拟开关的作用和8选1的CD4051作用相同。表9-38位模拟开关功能表ADDCADDBADDA输入通道号000IN0001IN1010IN2…………111IN79.3.2逐次逼近型并行输出A/D转换器及接口
2.ADC0809与89C52接口 ADC0809芯片的转换速度在最高时钟频率下为100μs左右。ADC0809与89C52连接可采用查询方式,也可采用中断方式。图9-14为中断方式连接电路图。由于ADC0809片内有三态输出锁存器,因此可直接与89C52接口。9.3.2逐次逼近型并行输出A/D转换器及接口图9-14ADC0809与89C52的连接9.3.2逐次逼近型并行输出A/D转换器及接口
这里将ADC0809作为外部扩展并行I/O口,采用线选法寻址。ADC0809的ADDA、ADDB和ADDC端由P0.0、P0.1、P0.2送出,ADC0809的地址由P2.7控制,其他地址位与此无关,设为1,于是ADC0809地址为为7FFFH。 在图9-14所示的接口电路中,ADC0809与片外RAM统一编址。9.3.2逐次逼近型并行输出A/D转换器及接口 启动ADC0809的工作过程是:先送数据(通道地址)到ADC0809,由ALE信号锁存,同时START有效,启动A/D转换。A/D转换完毕,EOC端发出一正脉冲,申请中断。在中断服务程序中,使OE端有效,8位数据便读入到CPU中。9.3.2逐次逼近型并行输出A/D转换器及接口
3.8路巡回检测系统
例9-2某粮库或某冷冻厂需对8点(8个冷冻室或8个粮仓)进行温度巡回检测。要求设计一个单片机巡回检测系统,使其能对各冷冻室或各粮仓的温度巡回检测并加以处理。 设被测温度范围为-30~+50℃,温度检测精度要求不大于±l℃。 温度传感器可选用热电阻、热敏电阻、PN结或集成温度传感器AD590和SL134等芯片。9.3.2逐次逼近型并行输出A/D转换器及接口 C语言程序清单:#include<reg52.h>#include<absacc.h> //绝对地址定位#defineDAC0809XBYTE[0x7fff] //定义C0809地址unsignedcharxdatabuffer[8]; //数据存放定义unsignedchari=0;voidmain(){ IT1=1; //边沿触发 EA=1; EX1=1; DAC0809=i; //启动0通道转换 while(1);}9.3.2逐次逼近型并行输出A/D转换器及接口voidint1_srv()interrupt2{ buffer[i]=DAC0809; //读数存放 if(++i!=8) //最后一个通道没结束 DAC0809=i; //启动下一个通道转换}9.3.2逐次逼近型并行输出A/D转换器及接口9.3.3单片机内部集成的A/D转换器
目前,很多单片机片内集成有A/D转换器,下面以STC89LE516AD/X2为例,说明A/D转换的使用方法。 1.STC89LE516AD/X2片内A/D转换器特点
STC89LE516AD/X2的模拟量输入在P1口,有8位精度的高速A/D转换器,P1.0-P1.7共8路,为电压输入型,可做按键扫描、电池电压检测、频谱检测等。
2.特殊功能寄存器 (1)P1_ADC_EN特殊功能寄存器。P1.x作为A/D转换输入通道允许特殊功能寄存器,地址为97H,复位值为00000000B。格式如图9-15所示。E_P17E_P16E_P15E_P14E_P13E_P12E_P11E_P10图9-15P1_ADC_EN特殊功能寄存器9.3.3单片机内部集成的A/D转换器
(2)ADC_DATA特殊功能寄存器。A/D转换结果特殊功能寄存器,地址为0C6H,复位值为00000000B,模拟/数字转换结果计算公式如下:结果=256*Vin/VCC。
(3)ADC_CONTR特殊功能寄存器。A/D转换控制特殊功能寄存器,地址为0C5H,复位值为xxx00000B。格式如图9-16所示。ADC_CONTR(C5H)———FLAGSTARTCHS2CHS1CHS0图9-16ADC_CONTR特殊功能寄存器9.3.3单片机内部集成的A/D转换器
相关位说明如下:
1)ADC_FLAG:模拟/数字转换结束标志位,当A/D转换完成后,ADC_FLAG=1。
2)ADC_START:模拟/数字转换(ADC)启动控制位,设置为“1”时,开始转换。
3)CHS2/CHS1/CHS0:模拟输入通道选择,如表9-4所示。9.3.3单片机内部集成的A/D转换器表9-4模拟输入通道选择CHS2CHS1CHS0模拟输入通道选择000选择P1.0作为A/D输入来用001选择P1.1作为A/D输入来用010选择P1.2作为A/D输入来用011选择P1.3作为A/D输入来用100选择P1.4作为A/D输入来用101选择P1.5作为A/D输入来用110选择P1.6作为A/D输入来用111选择P1.7作为A/D输入来用9.3.3单片机内部集成的A/D转换器
3.A/D转换程序 用P1.0为模拟量输入端进行A/D转换,程序如下:#include<reg52.h>sfrP1_ADC_EN=0x97; //A/D转换功能允许寄存器sfrADC_CONTR=0xC5; //A/D转换控制寄存器sfrADC_DATA=0xC6; //A/D转换结果寄存器9.3.3单片机内部集成的A/D转换器 //延时函数void delay(unsignedchar delay_time){ unsignedint i; while(delay_time--) for(i=0;i<10000;i++);}9.3.3单片机内部集成的A/D转换器unsigned char ADC()//AD转换函数{ delay(1); //使输入电压达到稳定
ADC_CONTR=0x08; //P1.0为模拟量输入端,启动A/D转换
while((ADC_CONTR&0x10)==0); //等待转换结束
returnADC_DATA; //返回转换结果}9.3.3单片机内部集成的A/D转换器9.4D/A转换接口主要内容9.4.18位并行D/A转换器DAC0832接口技术9.4.2串行输入D/A转换器TLC5615接口技术9.4.1并行D/A转换器DAC0832接口技术
1.DAC0832的结构原理
(1)DAC0832的特性。具有两级输入数据寄存器的8位单片D/A转换器,它能直接与单片机89C52相连接,采用二次缓冲方式,可以在输出的同时,采集下一个数据,从而提高转换速度,能够在多个转换器同时工作时,实现多通道D/A的同步转换输出。
主要的特性参数如下:分辨率为8位。只需在满量程下调整其线性度。可与所有的单片机或微处理器直接接口。电流稳定时间为1μs。可双缓冲、单缓冲或直通数据输入。功耗低,约为200mW。逻辑电平输入与TTL兼容。单电源供电(+5V~+15V)。9.4.18位并行D/A转换器DAC0832接口技术
(2)DAC0832的引脚及逻辑结构。 DAC0832的逻辑结构如下图所示,由8位锁存器、8位DAC寄存器和8位D/A转换器构成。图9-17DAC0832结构9.4.18位并行D/A转换器DAC0832接口技术DAC0832各引脚的功能说明如下:D0~D7:数字量数据输入线。ILE:数据锁存允许信号,高电平有效。CS:输入寄存器选择信号,低电平有效。WR1:输入寄存器的“写”选通信号,低电平有效。WR2:DAC寄存器的“写”选通信号,低电平有效。XFER:数据传送信号,低电平有效。VREF:基准电压输入线。9.4.18位并行D/A转换器DAC0832接口技术RFB:反馈信号输入线,片内已有反馈电阻。IOUT1和IOUT2:电流输出线。IOUT1与IOUT2的和为常数,DAC寄存器的内容线性变化。一般在单极性输出时,IOUT2接地。VCC:工作电源。DGND:数字地。AGND:模拟信号地。9.4.18位并行D/A转换器DAC0832接口技术
2.DAC0832与单片机的接口
(1)单缓冲器方式接口。图9-18DAC0832单缓冲方式接口9.4.18位并行D/A转换器DAC0832接口技术
将ILE接+5V,寄存器选择信号及数据传送信号都与地址选择线相连(图中为P2.7),两级寄存器的写信号都由89C52的WR端控制。当地址线选通DAC0832后,只要输出控制信号,DAC0832就能一步完成数字量的输入锁存和D/A转换输出。9.4.18位并行D/A转换器DAC0832接口技术 C语言程序清单:/*------------头文件声明及端口地址定义------------*/#include<absacc.h>#defineDAC0832XBYTE[0x7FFF]/*--在需要输出时,data1为输出模拟量的数字值--*/DAC0832=data1; 汇编语言程序清单:MOV DPTR,#7FFFH MOV A,#DATA1 MOVX @DPTR,A9.4.18位并行D/A转换器DAC0832接口技术
(2)双缓冲器同步方式接口。 图9-19是一个二路同步输出的D/A转换接口电路。89C52的P2.5和P2.6分别选择两路D/A转换器的输入寄存器,控制输入锁存;P2.7连到两路D/A转换器的XFER端控制同步转换输出;WR与所有的WR1、WR2端相连,在执行MOVX指令时,89C52自动输出WR信号。9.4.18位并行D/A转换器DAC0832接口技术图9-19DAC0832双缓冲方式接口9.4.18位并行D/A转换器DAC0832接口技术C语言程序清单:#include<absacc.h>/*定义两片0832输入寄存器端口地址和//同步输出地址*/#define DAC0832_1 XBYTE[0xDFFF] #define DAC0832_2 XBYTE[0xBFFF] #define DAC_ALL XBYTE[0x7FFF] /*在需要模拟量同步输出时*/DAC0832_1=data1; //第一片0832输出数字值DAC0832_2=data2; //第二片0832输出数字值DAC_ALL=0; //0无意义,使XFER同时有效9.4.18位并行D/A转换器DAC0832接口技术
(3)DAC0832应用——阶梯波的产生。阶梯波是在一定的时间内每隔一段时间输出的幅值递增一个恒定值。如图9-20所示,每隔1ms输出增长一个定值,经10ms后循环。用DAC0832的单缓冲方式就可以实现这样的波形。图9-20阶梯波波形9.4.18位并行D/A转换器DAC0832接口技术 C语言程序清单://为了使输出波形有一定高度,设n,取值1~25#include<absacc.h>#defineDAC0832XBYTE[0x7FFF]voidmain(){ unsignedchari,n=20; while(1) for(i=0;i<10;i++) { DAC0832=i*n; delay(1); //延时1ms }}9.4.18位并行D/A转换器DAC0832接口技术9.4.2串行D/A转换器TLC5615接口技术
数/模转换器从接口上可分为两大类:并行接口和串行接口。 并行接口:引脚多,体积大,占用I/O线多; 串行接口:体积小,占用单片机的I/O线少。
1.TLC5615的结构原理 TLC5615是具有3线串行接口的数/模转换器。其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能。TLC5615的性价比较高。(1)TLC5615的特点。10位CMOS电压输出。5V单电源工作。与微处理器3线串行接口(SPI)。最大输出电压是基准电压的2倍。建立时间12.5μs。内部上电复位。低功耗,最高为l.75mW。引脚与MAX515兼容。9.4.2串行输入D/A转换器TLC5615接口技术
(2)功能方框图。图9-21TLC5615功能方框图9.4.2串行输入D/A转换器TLC5615接口技术(3)引脚功能说明:DIN:串行数据输入。SCLK:串行时钟输入。CS:芯片选择,低电平有效。DOUT:用于菊花链(daisychaining)的串行数据输出。AGND:模拟地。REFIN:基准电压输入。OUT:DAC模拟电压输出。VDD。正电源(4.5~5.5V)。9.4.2串行输入D/A转换器TLC5615接口技术
(4)TLC5615的输入/输出关系。图9-23所示的D/A输入/输出关系如表9-5所列。数字量输入模拟量输出1111111111(00)2VREFIN×1023/1024……1000000001(00)2VREFIN×513/10241000000000(00)2VREFIN×512/10240111111111(00)2VREFIN×511/1024……0000000001(00)2VREFIN×1/10240000000000(00)0V表9-5D/A转换关系表9.4.2串行输入D/A转换器TLC5615接口技术
因为TLC5615芯片内的输入锁存器为12位宽,所以要在10位数字的低位后面再填以数字XX。XX为不关心状态。串行传送的方向是先送出高位MSB,后送出低位LSB。10位XXMSBLSB
如果有级联电路,则应使用16位的传送格式,即在最高位MSB的前面再加上4个虚位,被转换的10位数字在中间。4个虚位10位XX9.4.2串行输入D/A转换器TLC5615接口技术2.TLC5615与89C52的串行接口电路及程序在下图电路中,89C52单片机自P3.0~P3.2口分别控制TLC5615的片选CS、串行时钟输入SCLK和串行数据输入DIN。图9-23TLC5615与89C51接口电路9.4.2串行输入D/A转换器TLC5615接口技术 D/A转换程序如下:sbitCS=P3^0;sbitSCLK=P3^1;sbitDIN=P3^2;voidDAC(unsignedintadata){ chari; adata<<=2; //10位数据升位为12 //位,低2位无效 CS=0; //片选有效
9.4.2串行输入D/A转换器TLC5615接口技术for(i=11;i>=0;i--) { SCLK=0; //时钟低电平 DIN=adata&(1<<i);//按位将数据送入 SCLK=1; //时钟高电平 } SCLK=0; //时钟低电平 CS=1; //片选高电平}9.4.2串行输入D/A转换器TLC5615接口技术9.5输出通道电路设计在工业拉制系统中,单片机总要对控制对象实现控制操作,因此,要有控制输出通道。一、概述二、单片机的功率接口设计三、后向通道中的D/A转换技术和接口芯片四、执行器类型一、概述1.输出通道及其特点输出通道是对控制对象实现控制操作的通道。它的结构和特点和控制对象与控制任务密切相关。根据控制对象对控制信号的要求,后向通道具有以下特点:(1)小信号输出、大功率控制。单片机输出功率较小,满足不了控制对象要求。因此,需要功率放到驱动。(2)接近伺服驱动现场,环境恶劣。控制对象大多数是大功率的伺服驱动机构,电磁、机械干扰较为严重。这些干扰信号易从后向通道进入计算机系统。所以,后向通道的隔离对系统的可靠性影响很大。一、概述2.输出通道的基本结构数字信号形态:主要有开关量、二进制数字量和频率量,可直接用于开关量、数字量和频率量的调制系统。模拟量:数/模转换变换成模拟量控制信号。一、概述3.输出应解决的问题
1)功率驱动。将单片机输出的信号进行功率放大,以满足伺服驱动对功率的要求。2)干扰防治。主要防治伺服驱动系统通过信号通道、电源以及空间电磁场对计算机系统的干扰。通常通过信号隔离、电源隔离和对大功率开关实现过零切换等方法进行干扰防治。
3)数/模转换。对于二进制输出的数字虽采用D/A转换;对于频率量输出则可以采用F/V转换器变换成模拟量。二、单片机的功率接口设计要用单片机控制各种各样的高压、大电流负载,如电动机、电磁铁、继电器、灯泡等,不能用单片机的I/O线来直接驱动,而必须通过各种驱动电路和开关电路来驱动。另外,与强电隔离和抗干扰,有时需加接光电耦合器。称此类接口为MCS-51的功率接口。二、单片机的功率接口设计1.外围集成数字驱动电路
对于负载相对较小,可直接由TTL、MOS以及CMOS电路来驱动。对于电阻性负载:只要加接合适的限流电阻和偏置电阻,即可直接由TTL、MOS以及CMOS电路来驱动。驱动感性负载时,必须加接限流电阻或箝位二极管。此外,有些驱动器内部有逻辑门电路,可以完成与、与非、或以及或非的逻辑功能。二、单片机的功率接口设计1.外围集成数字驱动电路图1为慢开启白炽灯驱动电路,白炽灯的延时开启时间长短取决于时间常数RC。此电路能直接驱动工作电压小于30V、额定电流小于500mA的任何灯泡。例1慢开启的白炽灯驱动电路
二、单片机的功率接口设计1.外围集成数字驱动电路图2电路能直接驱动一个大功率的扬声器,可用于报警系统,改变电阻或电容的值便能改变电路的振荡频率。电路中的两个齐纳二极管IN751A用于输入端的保护。例2大功率音频振荡器
二、单片机的功率接口设计
电路如图3所示。ULN2068芯片具有四个大电流达林顿开关,能驱动电流高达1.5A的负载。由于ULN2068在25℃时功耗达2075mW,因而使用时一定要加散热板。例3驱动大电流负载
二、单片机的功率接口设计2.MCS-51的开关型功率接口常用的开关型驱动器件有,光电耦合器、继电器、晶闸管、功率MOS管、集成功率电子开关、固态继电器等。二、单片机的功率接口设计2.单片机的开关型功率接口——光电耦合器
1)信号隔商用光耦合器件做信号隔离用的光耦合器件,通常有两种形式,如下图所示。最简单的信号隔离用光耦合器件如下图(a)所示。以发光二极管为输入端,光敏三极管为输出端。这种器件一般用在100kHz以下的频率信号。如果基极有引出线,则可满足温度补偿、检测和调制要求。图(b)是高速光耦合器的结构形式。输出部分采用PIN型二极管和高速开关管组成复合结构,有较高的响应速度。(1)晶体管输出型光电耦合器驱动接口
二、单片机的功率接口设计2.单片机的开关型功率接口——光电耦合器
1)信号隔商用光耦合器件图4为使用4N25光电耦合器接口电路图。4N25使输出驱动与单片机主机系统的电流信号相互独立(隔离)。减少系统所受的干扰,提高系统的可靠性。4N25输入输出端的最大隔离电压>2500V。(1)晶体管输出型光电耦合器驱动接口
二、单片机的功率接口设计2.单片机的开关型功率接口——光电耦合器
2)隔离驱动用光耦合器件做隔离驱动用的晶体管输出型的光耦合器件,主要有达林顿输出光耦合器件。如下图所示,其输出部分是以光敏感三极管和放大三极管构成的达林顿输出,可直接用于驱动较低频率的负载。(1)晶体管输出型光电耦合器驱动接口
二、单片机的功率接口设计2.单片机的开关型功率接口——光电耦合器
输出端是光敏晶闸管或光敏双向晶闸管。当光电耦合器的输入端有一定的电流流入时,晶闸管即导通。有的光电耦合器的输出端还配有过零检测电路,用于控制晶闸管过零触发,以减少用电器在接通电源时对电网的影响。4N40为常用单向晶闸管输出型光电耦合器。输入15~30mA电流。输出端额定电压为400V,额定电流有效值为300mA。隔离电压为1500~7500V;MOC3041为常用双向晶闸管输出的光电耦合器,带过零触发电路,输入端的控制电流为15mA,输出端额定电压为400V,输入输出端隔离电压为7500V。(2)晶闸管输出型光电耦合器驱动接口
二、单片机的功率接口设计2.单片机的开关型功率接口——光电耦合器(2)晶闸管输出型光电耦合器驱动接口
二、单片机的功率接口设计2.单片机的开关型功率接口——继电器的接口(1)直流电磁式继电器功率接口常用的继电器大部分属于直流电磁式继电器,也称为直流继电器。一般用功率接口集成电路或晶体管驱动。在使用较多继电器的系统中,可用功率接口集成电路驱动,例如SN75468,一片SN75468可驱动7个继电器,驱动电流可达500mA,输出端最大工作电压为100V。
二、单片机的功率接口设计2.单片机的开关型功率接口——继电器的接口(1)直流电磁式继电器功率接口图7是直流继电器的接口电路。继电器的动作由单片机8031的P1.0端控制。P1.0端输出低电平时,继电器J吸合;P1.0端输出高电平时,继电器J释放。采用这种控制逻辑可以使继电器在上电复位或单片机受控复位时不吸合。二极管是保护晶体管T。二、单片机的功率接口设计2.单片机的开关型功率接口——继电器的接口(2)交流电磁式接触器的功率接口
切换大电流,高电压的负荷时,需要电磁式继电器(称为接触器)。交流电磁式接触器由于线圈的工作电压要求是交流电,所以通常使用双向晶闸管驱动或使用一个直流继电器作为中间继电器控制。图8为交流接触器的双向晶闸管驱动接口电路图。二、单片机的功率接口设计2.单片机的开关型功率接口——继电器的接口(2)交流电磁式接触器的功率接口下图为:直流继电器作为中间继电器的交流接触器驱动接口电路图。二、单片机的功率接口设计2.单片机的开关型功率接口——MCS-51与晶闸管的接口(1)单向晶闸管晶闸管习惯上称可控硅(整流元件),英文名为SiliconControlledRectifier,简写成SCR,这是一种大功率半导体器件,它既有单向导电的整流作用,又有可以控制的开关作用。利用它可用较小的功率控制较大的功率。在交、直流电动机调速系统、调功系统、随动系统和无触点开关等方面均获得广泛的应用,如图示,有三个电极:阳极A、阴极C、控制极(门极)G。二、单片机的功率接口设计2.单片机的开关型功率接口——MCS-51与晶闸管的接口(2)双向晶闸管如下图所示,相当于两个晶闸管反并联,应用于交流电路控制时二、单片机的功率接口设计2.单片机的开关型功率接口——MCS-51与晶闸管的接口(3)光耦合双向可控硅驱动器
是单片机输出与双向可控硅之间较理想的接口器件,由两部分组成,输入部分是一砷化镓发光二极管,该二极管在5~15mA正向电流作用下发出足够强度的红外光,触发输出部分。输出部分是一硅光敏双向可控硅,在红外线的作用下可双向导通。该器件为六引脚双列直插式封装,其引脚配置和内部结构见图11。常用型号有:MOC3030/31/32(用于115V交流),MOC3040/41(用于220V交流)MOC3061双向晶闸管触发电路。--MOTOROLA公司二、单片机的功率接口设计2.单片机的开关型功率接口——MCS-51与晶闸管的接口(3)光耦合双向可控硅驱动器二、单片机的功率接口设计2.单片机的开关型功率接口——MCS-51与晶闸管的接口(3)光耦合双向可控硅驱动器三、输出通道中的D/A转换技术和接口芯片模数转换器(D/A)就是一种把数字信号转换成为模拟电信号的器件。D/A转换是单片机应用测控系统典型的接口技术内容。D/A转换接口设计的主要任务:
选择D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年普通高等学校招生全国统一考试数学模拟试题(五)(含答案)
- 铁路旅客运输服务铁路客运列车服务工作课件
- 投资房购房合同
- 铁路超限超重货物运输电报铁路超限超重货物确认电报的识读
- 提速道岔转辙机调整信号工程施工课件
- 沥青防水改色施工方案
- 中国书法文化课件
- 中华传统文化课件教学
- 餐饮投资合同
- 东南大学基础工程课件
- 2025届上海市浦东新区高三二模英语试卷(含答案)
- 【MOOC】航空燃气涡轮发动机结构设计-北京航空航天大学 中国大学慕课MOOC答案
- 职业卫生评价考试计算题汇总
- 国开经济学(本)1-14章练习试题及答案
- 个人财产申报表
- golf高尔夫介绍课件
- 中国古代文学史(二)正式课件
- 物业管理服务品质检查表
- JJF 1318-2011 影像测量仪校准规范-(高清现行)
- 动火安全作业票填写模板2022年更新
- 2021年12月英语六级听力试题、原文及答案 两套
评论
0/150
提交评论