片机原理及应用C51版第7章单片机典型IO接口技术.ppt

上传人:小飞机 文档编号:6426482 上传时间:2023-10-30 格式:PPT 页数:20 大小:908.50KB
返回 下载 相关 举报
片机原理及应用C51版第7章单片机典型IO接口技术.ppt_第1页
第1页 / 共20页
片机原理及应用C51版第7章单片机典型IO接口技术.ppt_第2页
第2页 / 共20页
片机原理及应用C51版第7章单片机典型IO接口技术.ppt_第3页
第3页 / 共20页
片机原理及应用C51版第7章单片机典型IO接口技术.ppt_第4页
第4页 / 共20页
片机原理及应用C51版第7章单片机典型IO接口技术.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《片机原理及应用C51版第7章单片机典型IO接口技术.ppt》由会员分享,可在线阅读,更多相关《片机原理及应用C51版第7章单片机典型IO接口技术.ppt(20页珍藏版)》请在三一办公上搜索。

1、第7章 单片机典型I/O接口技术7.1 键盘及接口电路7.2 显示器及接口电路7.3 A/D、D/A转换器与单片机的接口,7.1 键盘及接口电路7.1.1 键盘的分类 根据按键的识别方法分类,可分为编码键盘和非编码键盘:1.编码键盘 键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值。2.非编码键盘 没有专用的硬件译码器,其按键的识别和键值的产生由软件完成,该类键盘成本较低,且使用灵活。7.1.2 键盘的工作原理 键盘中每个按键都是一个常开开关电路,是利用机械触点来实现按键的闭合和释放。1.抖动现象 由于弹性作用的影响,按键的机械触点在闭合及断开的瞬间都会有抖动的现象,即不能马上实现

2、按键的完全闭合或断开,从而使输入电压信号也出现抖动现象,,2.连击的处理 当按键在一次被按下的过程中,其功能程序被反复多次执行的现象,好像按键被多次按下一样,这种现象就称为连击。7.1.3 键盘结构及扫描子程序 无论是编码键盘还是非编码键盘都可以分为独立连接式和矩阵式两类。在单片机系统中多用非编码键盘。1.独立式非编码键盘接口及处理程序 很多实际的应用系统均为采用较少几个按键组成的非编码键盘,也称其为开关式键盘,或线性键盘,它们与单片机的连接如图7-1所示。每一个键对应P1口的一根口线,各键是相互独立的。当某个键按下时,该键所对应的口线的电位就由高电平变为低电平,CPU访问并查询所有接键口线,

3、即可识别是哪一个键按下。这种键盘结构的优点是电路简单;缺点是当按键较多时,要占用较多的I/O。,2.矩阵式键盘接口及工作原理当按键数较多时,为节省I/O口线和减少引线,常将其按矩阵方式连接。每条行线与列线的交叉处通过一个按键来连通,则只需N条行线和M条列线,即可组成具有NM个按键的键盘。其连接形式如图7-2所示。键盘扫描程序代码参考教材。,图7-1 开关式键盘,图7-2 矩阵键盘连接形式,7.1.4 键盘接口扩展设计 当键盘的按键较多或单片机的I/O端口较紧张时,就需要通过外部扩展来实现键盘的功能。通常通过8255、8155等并行接口芯片,或通过单片机的串行口进行键盘的扩展,也可通过专用键盘、

4、显示接口芯片如8279进行键盘扩展。8051经8155扩展键盘 图7-3为48键盘,经8155与单片机相连,键扫描子程序参看教材。,图7-3 8051通过8155扩展建盘,7.2 显示器及接口电路 单片机应用系统中,现场的工作状态和数据需实时地监测和观察,常用于观察的显示器主要有LED(发光二极管显示器)和LCD(液晶显示器)。7.2.1 LED状态显示 用LED作状态指示器具有电路简单、功耗低、寿命长、响应速度快等特点,而且LED还有红、黄、绿等多种颜色供选择。特别是LED的低功耗、长寿命特性,使它正在逐渐取代传统上由白炽灯指示的场合。7.2.2 LED数码显示 LED显示器是由若干个发光二

5、极管组成显示字段的显示器件,有7段和“米”字段之分,单片机应用系统中通常使用7段LED显示器。1.LED七段数码管结构及原理 这种显示器有共阴极和共阳极两种,发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。,图7-5 七段LED数码管a)共阴型 b)共阳型 c)管脚分布,a)b)c),2.LED显示器接口及显示方式 在实际应用中,LED数码管有静态显示和动态显示两种显示方式。(1)静态显示方式 静态显示形式,即七段LED数码管在显示某一个字符时,相应的段(发光二极管)恒定的导通或截至,直至换显其他字符为止。(2)动态显示方式 为了解决静态显示占用I/O口资源较多的问

6、题,在多位显示时通常采用动态显示方式。动态显示是将所有数码管的段码线对应并联在一起,由一个8位的输出口控制,每位数码管的公共端(称位选线)分别由一位I/O口线控制,以实现各位的分时选通。,7.2.3 七段LED数码管显示接口 动态显示方式的接口电路及软件译码,通常可以通过并行接口芯片如8155、8255等进行扩展。使用时需要一个8位的I/O输出端口用于输出数码管的段码,还需要根据系统的需求来确定用于输出位码控制的I/O端口的位数。8051连接6位动态显示方式接口电路如图7-8所示。,图7-8 8051接6位动态显示接口电路,7.2.4 LCD液晶显示器接口 LCD液晶显示器是一种被动显示器,以

7、其微功耗、体积小、抗干扰能力强,显示内容丰富等优点,在仪器仪表上和低功耗应用系统中得到越来越广泛的应用。液晶显示器从显示的形式上可分为段式、点阵字符式和点阵图形式。LCD七段显示器除了段极引脚ag外,还有一个公共引脚COM,它可静态方式驱动(加直流信号),也可动态方式驱动(加交流信号)。由于直流信号将会使LCD的寿命减少,故通常采用动态驱动方式。为了显示方便,可采用硬件译码,Motorola公司生产的MC14543芯片是一种常用的LCD锁存/译码/驱动电路,使用十分简单。点阵字符型液晶显示器是指显示的基本单元是由一定数量的点阵组成,可以显示数字、字母、符号等。由于LCD的控制必须使用专用的驱动

8、电路,而且LCD面板的接线需要特殊方式,一般这类显示器需要将LCD面板、驱动器与控制电路组合在一起制作成一个LCD液晶显示模块(LCM)。,7.3 A/D、D/A转换器与单片机的接口 在实际应用中,通常利用传感器将被控对象的物理量转换成易传输、易处理的连续变化的电信号,然后再将其转换成计算机能接受的数字信号,完成这种转换任务的器件称为模/数(A/D)转换器。而将计算机输出的数字信号转换为被控对象能接受的模拟信号的器件称为数/模(D/A)转换器。7.3.1 D/A转换器 D/A转换器在测控系统中将计算机产生的数字量控制信号转换成模拟信号,用于驱动外部执行机构。1.D/A转换器的基本原理 D/A转

9、换器的基本功能是将一个用二进制表示的数字量转换成相应的模拟量。实现这种转换的基本方法是对应二进制数的每一位,产生一个相应的电压(电流),而这个电压(电流)的大小则正比于相应的二进制的权。,2.D/A转换器的主要参数 D/A转换器的主要参数有:(1)分辨率。(2)转换时间。(3)线性度。(4)输出电平。3.集成D/A转换器举例DAC0832 DAC0832是采用先进的CMOS工艺制成的双列直插式单片8位D/A转换器。转换速度为1s,可直接与微机接口。,7.3.2 A/D转换器 A/D转换器是测控系统中将模拟信号转换成数字信号的重要器件。1.A/D转换原理 根据A/D转换器的原理可将A/D转换器分

10、成两大类。一类是直接型A/D转换器,其输入的模拟电压被直接转换成数字代码,不经任何中间变量;另一类是间接型A/D转换器,其工作过程中,首先把输入的模拟电压转换成某种中间变量(时间、频率、脉冲宽度等等),然后再把这个中间变量转换为数字代码输出。,2.A/D转换器的主要技术指标(1)分辨率。(2)量程。(3)精度。(4)转换时间。3.A/D转换器的外部特性 各集成A/D转换芯片的封装不尽相同,性能各异。但从原理和应用的角度来看,任何一种A/D转换器芯片一般具有以下控制信号线。(1)启动转换信号线(START)。(2)转换结束信号线(EOC)。(3)片选信号线()。,4.集成A/D芯片举例ADC08

11、09 ADC0809具有8路模拟量输入,可在程序控制下对任意通道进行A/D转换,输出8位二进制数字量。(1)ADC0809的结构 ADC0809是一个8位逐次逼近式A/D转换器。具有8路模拟量输入,片内有8路模拟开关,以及相应的通道地址锁存及译码电路。可在程序控制下实现分时的对任意通道进行A/D转换,转换的数据送入三态输出数据锁存器,输出的数据为8位二进制数字量。,ADC0809引脚功能为:IN7IN0:8路模拟量输入通道,在多路开关控制下,任一时刻只能有一路模拟量实现A/D转换。0809要求对输入模拟量为单极性,电压范围05V,如果信号过小还需要进行放大。对于信号变化速度比较快的模拟量,在输

12、入前应增加采样保持电路。ADDA、B、C:8路模拟开关的三位地址选通输入端,用来选通对应的输入通道。其对应关系见表7-5。ALE:地址锁存输入线,该信号的上升沿可将地址选择信号A、B、C锁入地址寄存器。START:启动转换输入线,其上升沿用以清除A/D内部寄存器,其下降沿用以启动内部控制逻辑,开始A/D转换工作。,ADC0809与8051接口电路,(2)ADC0809与MCS-51的接口 图为ADC0809与8051的典型接口电路。,对8路模拟信号轮流采样一次,并把结果依次存到数组中;#include/头文件定义#includeunsigned char a8;/*延时函数*/void delay(unsigned char m)unsigned char i,j;for(i=0;im;i+)for(j=0;j123;j+);void main()unsigned char i;XBYTE0 x7FF8=a0;for(i=0;i8;i+)delay(10);ai=XBYTE0 x7FF8+i;while(1);,本章小结:练习及思考题:实训项目7:予习:谢谢大家!,本章结束 谢谢使用,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号