片机7 第七章外围接口技术.ppt_第1页
片机7 第七章外围接口技术.ppt_第2页
片机7 第七章外围接口技术.ppt_第3页
片机7 第七章外围接口技术.ppt_第4页
片机7 第七章外围接口技术.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及应用,北京化工大学 信息科学与技术学院 主讲教师:郭青 E-mail: ,第七章单片机的典型外围接口技术,7.1 键盘接口,单片机组成的控制系统通常需要配置键盘,用户可以通过键盘向单片机输入数据或命令,以便实现控制系统的人机对话。 键盘可以直接利用口线连接按键开关、开关型传感器或电子线路来实现,内部程序仅通过判断口线的电平就能够确定输入的键值。采用这种识别方式的键盘称为非编码键盘。 非编码键盘设计简单,使用方便,但口线利用率较低,受单片机口线数量的限制,其键盘规模无法做大。 键盘的另一种形式是编码键盘,这种方式将口线与按键开关连接成矩阵电路,通过软件扫描、识别I/O口上的编码,按编

2、码规则识别输入键值。编码键盘的最大优点就是口线利用率高,键盘规模可以做得较大。,一、 简易键盘接口 独立连接式,与门,上拉电阻,按键抖动问题,按键闭合时的电平变化波形,按键开关在接通或断开瞬间并非完全可靠接触,而是存在一个抖动期, tH为开关断开时口线上高电平存在的时间,tL为开关闭合时口线上低电平稳定存在的时间。 tW1、tW2为键按下和松开时的抖动期存在时间。抖动期一般不超过10 ms。 在口线电平抖动期间,单片机无法准确检测出口线电平的正确值,必须采取一定的措施进行鉴别。,延时消抖法,例如遇到由高向低的电平转换后先不急于读取口线键值,而是在中断服务程序的开始执行一段1020 ms的延时程

3、序。若延时程序后再次判断口线仍为低电平则进入口线的键值读取程序,否则放弃键值读取操作。 延时去抖动及读取键值的中断服务程序如下: ORG0003HLJMPKRDKRD:MOVP1,#0FFH ;P1口置为输入口CALLDEL20 ;调20 ms延时子程序MOV A,P1 ;读P1口键值JNBACC.0,KPR0;判断P1.0P1.7是否有键按下JNBACC.1,KPR1,JNB ACC.2,KPR2JNB ACC.3,KPR3 JNBACC.4,KPR4JNB ACC.5,KPR5JNB ACC.6,KPR6JNB ACC.7,KPR7RETI KPR0: ;P1.0按键处理程序 RETI K

4、PR1: ;P1.1口线按键处理程序 KPR7: ;P1.7口线按键处理程序 DEL20: ;20 ms延时子程序,二、矩阵式键盘接口,简易键盘电路中每一个按键占用一根I/O口线,其口线利用率较低,如果将口线按照行、列排成矩阵形式则可在相同口线数量的条件下增大键盘的规模。 例如,可以将P1口的8根I/O线排列成44矩阵形式,连接16只按键开关。,44矩阵式键盘电路,P1口的8根I/O口线分成行、列线连接, P1.0P1.3为行线, P1.4P1.7为列线。 16只按键分别跨接在对应的行、列线节点上。 行线特定的4位数据输出和列线对应的4位数据输入可以组成一个8位的特征字,该特征字即为键值。,1

5、、键盘电路的工作原理,矩阵式键盘将P1口的8根I/O口线分成行、列线连接,图中P1.0P1.3为行线,P1.4P1.7为列线。16只按键分别跨接在对应的行、列线节点上。 如果单片机在行线对应的I/O口线上有数据输出,当有键按下时,行、列线短路,单片机在列线对应的I/O口线上的输入数据将由行线上的电平决定。 行线特定的4位数据输出和列线对应的4位数据输入可以组成一个8位的特征字,该特征字即为键值,代表了按下的键所在的位置。,2、 扫描法产生键值,以行线作为扫描输出,以列线作为接收输入。 依次将行线置为低电平,并在列线上逐次接收数据。 如果发现接收到的某一列线有低电平,则表示该列线与行线连接的按键

6、已经闭合。 在接收到低电平的那次扫描中,行线数据与列线数据的组合便是所期望的键值,由该键值可确定闭合键在矩阵连接中的连接位置。,3、键盘扫描方式,1) 硬件中断识别法 将矩阵式键盘电路的所有列线连接至“与”门电路的输入端,“与”门电路的输出端与单片机外部中断连接。把全部行线置为低电平,全部列线置为高电平,当有键按下时列线上出现低电平,产生中断,在中断服务程序中扫描键盘。 2) 软件查询识别法 将全部行线置为低电平,全部列线置为高电平,定时从列线对应的I/O口线输入数据,如果判定接收的数据中有低电平存在,则说明有按键按下,开始执行键盘扫描程序。 采用硬件中断识别方式可以随时响应键盘动作,具有较强

7、的实时性,而采用软件查询方式则可以简化电路。,4矩阵键盘扫描程序举例,P1.0 P1.1 P1.2 P1.3,P1.7 P1.6 P1.5 P1.4,行线,扫描输出,列线,扫描输入,接与门输入端,与门输出接INT0,键盘扫描程序如下:,INT0ISR: 中断服务程序 MOV P1, #0FFH CLR P1.4 ;扫描输出 MOV A, P1 ;扫描输入 ANL A, #0FH XRL A, #0FH JZ NOKEY0 LCALL DELAY10MS MOV A, P1 ANL A, #0FH XRL A, #0FH JZ NOKEY0 ;判断P1.4行是否有键按下,;以下判断键码 MOV

8、A, P1 ANL A, #0FH CJNE A, #0EH, NEXT1 MOV KEY, #3 LJMP OK NEXT1:CJNE A, #0DH, NEXT2 MOV KEY, #7 LJMP OK NEXT2:CJNE A, #0BH, NEXT3 MOV KEY, #11 LJMP OK NEXT3:CJNE A, #07H, NOKEY0 MOV KEY, #15 LJMP OK,7.2 显示接口,为了实现人机交互,单片机应用系统通常配有显示器接口,主要显示元件采用LED(发光二极管显示器)或LCD(液晶显示器),显示形式有笔画式和点阵式。 笔画式显示元件大多为LED数码管,用于

9、显示数字或简单字母信息,适合于规模较小的单片机系统。 如七段码LED显示器 对于大信息量或图形显示一般使用点阵式LCD显示器,这种显示器结构比较复杂,还需要考虑灰度调节、高压背光的配合,电路连接及程序操作都比较繁琐。 点阵式LCD显示器多采用内置控制器的模组形式,在这种形式下单片机与点阵式LCD的接口实际上变成了单片机与单片机之间的数据通信。,LCD显示屏接口,LCD图形点阵显示器通常以LCM(液晶显示模组)形式出现,模组中封装了显示器、驱动电路、控制电路及背光调节电路等。本节以MG12864 LCM为例介绍图形点阵LCD显示接口的应用。 1MG12864 LCM模块基本参数(1) LCD类型

10、:STN形式。(2) 模块尺寸:937012 mm。(3) 显示区域尺寸:70.738.8 mm。(4) 点阵间距:0.520.52 mm。(5) 点阵分布:12864点。(6) 每一点阵尺寸:0.480.48 mm。,MG12864 LCM模块内部主要组成部分,2MG12864 LCM模组结构说明,MG12864LCM由以下几部分组成:(1) 核心部件:12864 LCD点阵显示器。(2) 段驱动电路:两路64列扫描显示驱动电路。(3) 行驱动电路:64行扫描显示驱动电路。(4) 背光驱动电路:LED发光管照明电路。MG12864 LCM内部还配置了如下部分:(1) 显示控制器。(2) 显示

11、存储器DDRAM。(3) 电源电路。,3MG12864引脚功能及说明,1) 数据信号DB0DB7:指令、数据传送总线。 2) 控制信号RS:指令、数据选择控制线,高电平选择数据传送, 低电平选择指令传送。R/W:读写方式控制线,高电平为读方式,低电平为写方式E:信号选通控制线,高电平有效。RSTB:复位信号线,低电平有效。,3MG12864引脚功能及说明,3) 地址信号CS1:段驱动电路选择线,高电平有效,选通KS0108B(1)CS2:段驱动电路选择线,高电平有效,选通KS0108B(2) 4) 供电电源VDD:模块的电源正端。VSS:供电电源地。 5) 灰度调节VIN:LCD驱动电压输入端

12、。VOUT:LCD背板负电压输出端。 6) 背光电源SLA:背光源正极(LED5 V)。SLK:背光源负极(LED0 V)。,4MG12864的操作指令,通过DB0DB7可以实现指令或数据的传送操作,指令或数据的选择由RS控制信号确定,传送方向由R/W控制信号确定。 1) 显示开关指令RS=0,格式如下:,功能:控制显示状态。S0,关显示;S1,开显示。,2) 列(Y)地址设置RS=0,格式如下:,列地址的设置范围为063。功能:将列地址写入列寄存器(YC)。,3) 页(X)地址设置RS=0,R/W=0,格式如下:,页地址的选择范围为07。功能:将页地址置入页寄存器(PR)。,4) 首行设置R

13、S=0, R/W=0, ,格式如下:,行地址的设置范围为063。功能:设置显示存储器(DDRAM)的首行地址。,5) 读取状态RS=0,R/W,格式如下:,BUSY:忙标志,低电平表示操作就绪,高电平表示正在操作中。 ON/OFF:显示状态,低电平表示开显示,高电平表示关显示。 RESET:复位标志,低电平表示正常运行,高电平表示复位。,6) 写数据,RS=1,R/W0 功能:将8位数据写入显示存储器(DDRAM)中,指令结束后列寄存器(YC)加1。 7) 读数据 RS=1,R/W 1 功能:读取8位数据。 MG12864 LCM模组的操作步骤包括:显示设置、读写数据及查询状态。,5显示存储器

14、DDRAM的结构(1) 整体地址结构如下所示:,(2) 以第一页和X地址B8H为例,分页内位与行之间的对应关系如下:,MG12864与单片机的接口电路,7显示程序,显示程序主要完成对MG12864的控制、设定及显示内容的传送等工作。程序步骤包括:开关显示控制,选取段驱动器,设定起始行,设定起始列及传送显示内容等。在每次显示开始时,如果按顺序设置起始的行或列可以实现屏幕上、下滚动或左、右平移的效果。显示内容按页传送,每页对应8行,连续传送64次8位显示数据完成1页显示内容。如果考虑两个驱动器的显示输出,显示整屏则需16页内容。,整屏显示程序流程,一、A/D转换器,A/D转换器是将模拟量转换成数字

15、量的器件。模拟量可以是电压、电流等电信号,也可以是声、光、压力和温度等随时间连续变化的非电物理量。 非电物理量可通过合适的传感器等转换成电信号,模拟量只有转换成数字量才能被计算机采集、分析和计算处理。,7.3接口,二、A/D转换方法,电压频率式:精度高 价格低,但转换速度不高 积分式:抗干扰能力好,转换速度低 逐次逼近式:转换速度较快 并行转换: 串行转换:,A/D转换器原理框图,三、硬件设计考虑的问题,选择分辨率(38位/912位/13位以上) 确定精度(误差范围) A/D转换时间和路数 输入/输出特性和范围 电源种类和功耗 工作环境 接口是否方便,四、8位A/D转换器 ADC0809,AD

16、C0809是逐次比较式的8路8位A/D转换器,转换速度为100 s,电源电压+5V,内部结构图,ADC0809引脚分配,28脚DIP封装 IN0IN7:8路模拟输入 由通道选择端C,B,A选择其中一路的输入进行A/D转换,引脚功能,C、B、A:模拟通道地址选择线,输入 ALE:地址锁存允许信号,输入。由低到高的正跳变有效,此时锁存地址选择线的状态,从而选通相应的模拟通道,以便进行A/D转换。 2-8、2-72-1:数字输出线,输出。2-8为最低位(D0,LSB),2-1为最高位(D7,MSB)。 START:启动信号,输入,高电平有效。为了启动转换,应加正脉冲信号。脉冲的上升沿将内部寄存器清0

17、,下降沿开始转换。 EOC:转换结束信号,输出,高电平有效。在START的上升沿之后08个时钟期间,EOC变为低电平。当转换结束时,EOC变为高电平。 OE:输出允许信号,输入,高电平有效。 CLK:时钟信号,输入。,ADC0809的主要性能指标,分辨率为8位 非调整误差为1 LSB 具有锁存功能的8路模拟开关,对8路模拟电压分别进行转换。 输出与TTL兼容。 可用单一电源供电,模拟电压输入范围为05V,无须调零和满刻度调整。 三态锁存输出。 低功耗为15mW。,ADC0809与8051的接口原理图,ADC0809与8051接口工作方式,EOC:开始转换时为低电平,当转换结束时为高电平. 采集

18、A/D转换结果的三种方式 延时等待方式:执行100s以上延时等待程序 查询方式: 查询EOC引脚 中断方式: EOC经反相器接8051的外部中断引脚 ALE=START= OE= 端口地址确定应使P2.7=A15=0, A0、A1、A2给出被选择的模拟通道地址 设未占用地址线为1,则IN0IN7通道地址为7FF8H7FFFH,编程要点,选通模拟量输入通道 发出启动信号 用延时、查询或中断方法等待转换结束(延时) 读取转换结果,MAIN: MOV R1, #data;数据缓冲区首址 MOV DPTR, #7FF8H; P2.7=0,且指向通道O MOV R7, #08H; 置通道数 LOOP:

19、MOVX DPTR, A; 启动A/D转换 MOV R6, #OAH; DLAY:NOP NOP NOP DJNZ R6, DLAY;100s延时 MOVX A, DPTR; 读取转换结果 MOV R1,A INC DPTR;指向下一个通道 INC R1; 修改数据区指针 DJNZ R7, LOOP; 8个通道全采样完了吗?,延时法读取结果,中断方式程序,主程序: SETB IT1 SETB EX1 SETB EA MOV DPTR, #7FF8H MOV A,#0 MOVX DPTR,A ,中断服务程序: EINT1: MOV DPTR, #7FF8H MOVX A, DPTR MOV 30

20、H, A MOV A, #00 MOVX DPTR, A RETI,五、A/D采集的抗干扰措施,算术平均 滑动平均值法(循环队列) 去极值法 低通滤波,7.4 D/A转换器接口,用D/A转换器把微型机输出的数字量转换成电压或电流,可输出各种波形的信号。,D/A转换器原理框图,一、硬件设计考虑的问题,选择分辨率(38位/912位/13位以上) 确定精度(误差范围) D/A转换时间和路数 输入/输出特性和范围 电源种类和功耗 工作环境 接口是否方便,二、DAC0832芯片介绍,分辨率8位 电流输出, 稳定时间1s 双缓冲、单缓冲、直通3种数字输入工作方式 单电源供电 +5V +15V 参考电压 -10 +10V,DAC0832引脚图,引脚功能,ILE:输入寄存器允许,高电平有效。与CS结合,控制WR1是否起作用。 CS:片选信号,低电平有效。 WR1:写信号1,低电平有效。将数据锁存入输入锁存器中。WR1有效时,ILE和CS也必须同时有效。 XFER:传送控制信号,低电平有效。 WR2:写信号2,低电平有效。将输入锁存器中的数据传送到DAC寄存器并锁存。,引脚功能,DI0DI7:数字信号输入端。 IOUT1

温馨提示

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

评论

0/150

提交评论