第七章 应用程序配置及接口技术_第1页
第七章 应用程序配置及接口技术_第2页
第七章 应用程序配置及接口技术_第3页
第七章 应用程序配置及接口技术_第4页
第七章 应用程序配置及接口技术_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

7应用程序系统配置及接口技术单片机典型应用系统组成单 片 机A/D接口D/A接口开关量输入开关量输出通信接口存储器人机界面2单片机典型应用系统组成单片机系统组成A/D接口:实现模拟信号的采集并行A/D串行A/DD/A接口:输出模拟量的控制信号并行D/A串行D/A开关量输入输出:实现开关信号的检测和控制步进电机、PWM控制的直流电机开关量输出的传感器(如光电、霍尔传感器等)3通信接口:实现系统和外界(单片机或PC)的数据交换RS-232CRS-485人机界面:沟通用户和系统的渠道键盘、显示打印机4单片机应用系统实例单片机存储器通信接口输出开关量控制信号输入开关量控制信号57.1人机通道配置与接口技术如何利用IO口进行矩阵键盘的扩展设计。按键的消抖程序设计。键值处理程序。中断方式按键程序设计。7.1.1键盘接口及处理程序6按键的作用:按键是单片机系统与操作人员之间交互重要组件,用于完成操作人员对单片机系统的输入控制。(开关)(按键)7单片机多路键盘的扩展方法并口键盘:每个IO口接一个按键,优点是编程简单可靠,可以中断方式使用,缺点是IO口占用过多。矩阵键盘:将多个键盘接成行列交叉的形式,采用IO口分别控制行和列。键盘扩展专用芯片(例如HD7279),单片机通过串口直接与该芯片通讯获取键值。串转并扩展芯片扩展IO口。8‘1’‘0’未按键按下按键松开‘1’键按下时P2.0口的逻辑电平变化:人为按键通常按下时间为几百毫秒。键盘设计中需要考虑的问题:键的连击9键盘设计中需要考虑的问题解决办法:等待按键弹起连击,会在一次按键中多次产生击键的效果,对于这类问题,在键盘编程中常采用等待按键释放的处理方法来消除连击,使得每次按键仅产生一次键的处理效果。这样就可以避免当某个按键还未松开时,键扫描程序和处理程序已执行多遍。10当用手按下一个按键时,往往所按按键在闭合位置和断开位置之间弹跳几下才会稳定到闭合状态;在释放一个按键时,也会出现类似的情况。这就是按键抖动。这是由机械结构的固有特性决定的,不可避免。按键抖动的持续时间大小不一,一般在10ms左右。键盘设计中需要考虑的问题:消除按键抖动11键盘设计中需要考虑的问题

断开按下理想按键过程:

抖动约10ms断开按下实际按键过程:消除按键抖动解决办法 延时10ms后等待按键稳定再次判断是否有键按下。12键盘设计中需要考虑的问题:多键同时闭合当有两个或多个键同时闭合时,可以采用条件判断的方式来确认哪个按键有效。例如以下方式。●以先按下的键为有效键。●以按下时间最长的键为有效键。●将最后释放的键视为有效键。有复合按键的设计按照复合按键的功能进行编程,无复合按键的设计中通常采用单键按下有效,多键按下无效的原则进行处理。

13键盘的分类键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号(如BCD、ASCII)或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘。在单片机组成的各种系统中,用的最多的是非编码键盘。也有用到编码键盘的。非编码键盘又分为:独立键盘和行列式(又称为矩阵式)键盘。14独立式键盘独立式键盘是指各按键与I/O口相互的接通一条输入数据线。优点:电路简单,编程方便。缺点:当键数较多时,占用较多I/O口。15矩阵(行列)式键盘为减少键盘与单片机接口时所占用I/O口线数目,在键数较多时候,通常将键盘排列成行列式键盘。利用矩阵结构只需要N条行线和M条列线,即可组成N*M个按键的键盘。在这种行列矩阵式非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步识别哪个按键被按下,对键的识别通常采用逐行(或逐列)扫描法。161718行描法识别键值的工作原理STEP1:判断键盘中有无键按下,向行线输出全扫描字00H,读取列线的值。STEP2:进行行扫描判断键值,依次给行线送低电平,读取列线状态,如读取的值全为1,则按下的键不在此行,否则所按下的键必在此行。而且是与零电平相交的交点上的键。编程思路:1、判断是否有键按下全扫描2、确定按下的是哪一个键(确定按键代码)逐行扫描行输出、列输入194X4键盘扫描流程图20键的位置码及键值的译码过程

键值(号)的获得(译码)通常采用计数译码法。这种方法根据矩阵键盘的结构特点,每个按键的值=行号×每行的按键个数+列号,即

键号(值)=行首键号+列号第0行的键值为:0行×4+列号(0~3)为0、1、2、3;第1行的键值为:1行×4+列号(0~3)为4、5、6、7;第2行的键值为:2行×4+列号(0~3)为8、9、A、B;第3行的键值为:3行×4+列号(0~3)为C、D、E、F。

4×4键盘行首键号为0、4、8、C,列号为0,1,2,3。21例题设计一个4X4行列式键盘,按键按下后在数码管上显示对应按键所代表的数值。22程序设计分析模块化程序设计方案。分解成四个子程序1.键盘子程序,实现系统要求的功能。2.判断是否有键按下子程序,有键按下返回1,无键盘按下返回0,供键盘子程序调用。3.扫描键盘子程序,返回键值,供键盘子程序调用。4.延时子程序,实现约n*10ms的延时,供判断是否有键按下子程序调用,实现延时消抖。23按要求编程:①全扫描四行一起扫描,以判断是否有键按下;同时采用了延迟再扫描的方法进行消抖。②逐行扫描四行依次扫描,判断按键的行列位置;③生成按键代码

使用不同的编程语句可以生成不同的按键代码。247.1.2LED显示器接口及显示程序数码管是如何显示出字符的数码管静态显示数码管动态显示原理数码管显示电路与程序设计25单片机系统中常用的显示器有:发光二极管LED(LightEmittingDiode)显示器、液晶LCD(LiquidCrystalDisplay)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。26数码显示器件:数码管:

由发光二极管阵列构成。用于显示数字和简单英文字符。液晶显示模块:

由液晶面板和液晶驱动模块构成。用于显示各种符号和图形。27数码管的工作原理

数码管的结构共阳极数码管共阴极数码管共阳共阴28数码管是如何显示出字符的

数码管的结构共阳极数码管共阴极数码管

数码管的显示段码,数码管显示的内容位码,(即com端)数码管是否点亮gabcefddp29

数码管的段码(以共阴数码管为例)dpgfedcbaMSBLSB0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F0x770x7C0x580x5E0x790x7130

LED数码显示方式及电路

LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。31动态显示方式动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。

32多个数码管的控制

静态显示,每个数码管单独控制,所有数码管同时点亮

动态显示,段码共用,位码分别控制,每个数码管循环点亮段码输入位码扫描33例题实现8位数码管的软件扫描显示34程序设计延时扫描段选码,位选码,每送入一次后延时1ms,因人眼的视觉暂留时间为0.1s,所以每位显示的间隔不必超过20ms,并保持延时一段时间,造成视觉暂留效果。定时器中断刷新显示357.2AD转换器及接口技术

在计算机应用系统中,需要对一些模拟信号(如电流、电流、温度、压力等)进行检测,将模拟信号转换为数字信号,称为A/D转换。通常单片机应用系统也需要模拟量输出,去控制系统中的执行机构,构成控制系统。将计算机中的数字信号转换为模拟信号,称为D/A转换。367.2.1AD转换

由传感器送出的模拟量电压信号或电流信号经过信号调理电路、多路开关和采样保持器后,必须转换成数字量才能送入计算机。将模拟量电压信号转换成数字量信息的器件叫作模拟/数字转换器,简称为ADC(AnalogueDigitConverter)。ADC在工业控制、智能仪器仪表中广为应用。37逐位逼近式ADC:转换速度中等,精度高,抗干扰能力中等,价格不高,是工业控制和仪器仪表中用的最多的一种。双积分式ADC:转换速度慢,精度高,抗干扰能力强,价格低,适用于对速度要求不高的场合,在仪器仪表中应用较多。V/F变换计数式ADC:电路简单,转换速度较慢,价格低,适用于远程信号转换。∑-Δ转换器:利用过采样技术进行转换,速度快,精度高。目前产品中应用的ADC主要有以下几类:38ADC的主要技术指标分辨率

分辨率是指A/D转换器对输入模拟信号的分辨能力(使输出数字量变化一个相邻数码所需输入模拟电压的变化量)分辨率通常用位数表示,如8位、10位、12位等。例如对于一个10位转换器的分辨率为1/1024,显然,位数越多,分辨率就越高

。从理论上讲,一个n位二进制输出的A/D转换器应能区分输入模拟电压的2n个不同量化级,能区分输入模拟电压的最小差异为1/2nFSR(满量程输入的1/2n).39

e.g.:A/D转换器的输出为12位二进制数,最大输入模拟信号为10V,则其分辨率为:40转换速度

转换速度是指完成一次转换所需的时间。转换时间是从接到转换启动信号开始,到输出端获得稳定的数字信号所经过的时间。

A/D转换器的转换速度主要取决于转换电路的类型,不同类型A/D转换器转换速度相差很大。逐位逼近式ADC:转换速度中等。双积分式ADC:转换速度慢。V/F变换计数式ADC:转换速度较慢。∑-Δ转换器:速度快41量化:在A/D转换过程中,要用数字量来表示连续变化的模拟量时,必须将采样-保持电压归化为某个最小单位的整数倍,这个过程称为量化。所取得的最小单位叫做量化单位,用Δ表示。量化误差编码:把量化的结果用二进制或二-十进制数表示出来,称为编码。编码输出的最低有效位(LSB)的1所代表的数量大小就等于Δ。量化误差:由于模拟信号在时间、数值大小都是连续的,不一定被最小量化单位△整除,所以在量化过程中就可能引入量化误差。42只舍不入法:ADC两种量化方法:只舍不入法,有舍有入法。

是将输入信号不足一个量化单位Δ的尾数舍去,取其原整数。有舍有入法:当取样保持信号VI的尾数<Δ/2时,用舍尾取整法得其量化值。当取样保持信号VI的尾数≥Δ/2时,用舍尾入整法得其量化值。43偏移误差偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。满刻度误差

满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。44线性度

线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。绝对精度在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。

表示A/D转换器实际输出数字量和理想输出数字量之间的差别,一般用最低有效位的倍数表示。相对精度45逐次逼近式ADC的转换原理逐次逼近式A/D转换器是从转换器数据的最高位开始,逐位给出数据1,再对数据进行D/A转换;将获得的电压与输入的模拟电压相比较:如果输入模拟电压大于D/A转换的电压,就将所给出的数字1确定为该位的数值,反之就将该位赋0;逐位进行下去,直到转换完成。46逐次逼近式ADC的转换原理4748/43

双积分式ADC的结构及工作原理VIN为输入待转换的信号电压Vref为转换器的参考电压运算放大器A1为积分器A2为电压比较器K0、K1为由控制逻辑控制的电子开关48

ADC0809

是一种8位逐次逼近式A/D转换器,可以和微机直接接口。ADC0809的姐妹芯片是DC0808,可以相互代换。①

内部结构

ADC0809由八路模拟开关、地址锁存与译码器、比较器、256电阻阶梯、树状开关、逐次逼近式寄存器SAR、控制电路和三态输出锁存器等组成。ADC0809A/D转换器芯片4950⑴八路模拟开关及地址锁存与译码器

八路模拟开关用于输入IN0~IN7上八路模拟电压。地址锁存和译码器在ALE信号控制下可以锁存ADDA、ADDB和ADDC上地址信号,经译码后选择IN0~IN7上哪一路模拟电压送入比较器。⑵256电阻阶梯和树状开关51⑶逐次逼近寄存器

SAR在A/D转换过程中存放暂态数字量,在A/D转换完成后存的放对应输入电压V数字量,并可送到“三态输出锁存器”⑷三态输出锁存器和控制电路三态输出锁存器用于锁存A/D转换完成后的数字量。CPU使OE引脚变为高电平就可以从“三态输出锁存器”取走A/D转换后的数字量。5253

START为“启动脉冲”输入线,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。

EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入“三态输出所存器”。可用做中断输入,也可供查询。

OE为“输出允许”线,高电平时能使2-1~2-8引脚上输出转换后的数字量。54

CLOCK为时钟输入线,用于为ADC0809提供逐次比较所需时钟脉冲序列,输入范围10~1280KHz,通常应用值:500~640KHz,当时钟=640KHz时,转换时间100µs。通常由ALE分频后提供。

Vref(+)和Vref(-)为参考电压输入线,用于给电阻阶梯网络供给标准电压。Vref(+)常和Vcc相连,Vref(-)常接地。

AT8951和ADC接口必须弄清和处理好三个问题:①要给START线送一个100ns宽的启动脉冲;②获取EOC线上的状态信息,因为它是A/D转换的结束标志;③要给“三态输出锁存器”分配一个端口地址,也就是给OE线上送一个地址译码器输出信号。55ADC0809模数转换举例56D/A转换器的原理

D/A转换器有两种方式T形电阻网络权电阻网络7.2.2DA转换57

DAC(DigitalAnalogConverter)性能指标是选用DAC芯片型号的依据,也是衡量芯片质量的重要参数。①

分辨率

分辨率是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制为数。一个n位的DAC所能分辨的最小电压增量定义为满量程值的2-n倍。例如:满量程为10V的8位DAC分辨率为10V×2-8=39mv;一个同样量程的16位DAC的分辨率高达10V×2-16=153uVDA转换器的性能指标58②

转换精度

转换精度和分辨率是两个不同的概念。转换精度是指满量程时DAC的实际模拟输出值和理论值的接近程度。

对T型电阻网络的DAC,其转换精度和参考电压VREF、电阻值和电子开关的误差有关。例如:满量程时理论输出值为10V,实际输出值是在9.99V­-10.01V之间,其转换精度为10mv。通常,DAC的转换精度为分辨率之半,即为LSB/2。LSB是分辨率,是指最低一位数字量变化引起的变化量。59③

相对误差

绝对误差与满量程值之比用%表示,例如:转换精度为±10mv,若满量程输出值为10V,则相对误差10mv/10V=0.1%。④

偏移量误差

偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。这种误差通常可以通过DAC的外接VREF和电位计加以调整。⑤

线性度

线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏差。通常,线性度不应超出1/2LSB。603)DAC0832①内部结构DAC0832D/A转换器芯片61②DAC0832与51单片机连接应用举例

DAC0832的性能指标如下:转换时间:1s分辨率:8位线性误差:0.2%FSR数字输入与TTL兼容低功耗:20mw单电源:+5~+15V

DAC0832是带双缓冲数据锁存和电流输出的D/A芯片,可以和单片机直接连接而不用另加接口电路。62⑴直通方式

DAC0832内部有两个起数据缓冲器作用的寄存器,分别受IE1和IE2控制。如果它们皆为高电平,那么DI0~DI7上信号便可直通地到达“8位DAC寄存器”,进行D/A转换。因此,ILE接+5V以及使CS、XFER、WR1和WR2接地,DAC0832就可在直通方式下工作。直通方式下工作的DAC0832常用于不带微机的控制系统。⑵单缓冲单极性电压输出方式单缓冲方式是指DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个受MCS-51的控制。63DAC0832单缓冲单极性电压输出方式

64

单极性电压输出电路中,当VREF端接+5V(或-5V)时,输出电压范围是0~-5V(或0~+5V)。如果VREF端接+10V(或-10V)时,输出电压范围是0~-10V(0~+10V)。65DAC0832应用举例用DAC0832产生锯齿波程序#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedint#defineDAC0832XBYTE[0xFFFE]//-------------------------------------//延时//-------------------------------------voidDelayMS(uintms){

uchart;

while(ms--)for(t=0;t<120;t++);}66//------------------------------------//主程序//------------------------------------voidmain(){

uchari; while(1) { for(i=0;i<256;i++)DAC0832=i; DelayMS(1); }}677.3液晶使用初步液晶LCD分为两类,一类是字符模式LCD,另一类是图形模式LCD,其中,字符模式LCD是点阵式液晶显示器,专门用来显示字母,数字,符号。由于LCD控制需专用的驱动电路,一般不会单独使用,而是将LCD面板,驱动与控制电路组合成模块一起使用。68691602液晶模块简介

温馨提示

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

评论

0/150

提交评论