




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用,北京化工大学信息科学与技术学院主讲教师:郭青E-mail:guoqing,第七章单片机的典型外围接口技术,7.1键盘接口,单片机组成的控制系统通常需要配置键盘,用户可以通过键盘向单片机输入数据或命令,以便实现控制系统的人机对话。键盘可以直接利用口线连接按键开关、开关型传感器或电子线路来实现,内部程序仅通过判断口线的电平就能够确定输入的键值。采用这种识别方式的键盘称为非编码键盘。非编码键盘设计简单,使用方便,但口线利用率较低,受单片机口线数量的限制,其键盘规模无法做大。键盘的另一种形式是编码键盘,这种方式将口线与按键开关连接成矩阵电路,通过软件扫描、识别I/O口上的编码,按编码规则识别输入键值。编码键盘的最大优点就是口线利用率高,键盘规模可以做得较大。,一、简易键盘接口独立连接式,与门,上拉电阻,按键抖动问题,按键闭合时的电平变化波形,按键开关在接通或断开瞬间并非完全可靠接触,而是存在一个抖动期,tH为开关断开时口线上高电平存在的时间,tL为开关闭合时口线上低电平稳定存在的时间。tW1、tW2为键按下和松开时的抖动期存在时间。抖动期一般不超过10ms。在口线电平抖动期间,单片机无法准确检测出口线电平的正确值,必须采取一定的措施进行鉴别。,延时消抖法,例如遇到由高向低的电平转换后先不急于读取口线键值,而是在中断服务程序的开始执行一段1020ms的延时程序。若延时程序后再次判断口线仍为低电平则进入口线的键值读取程序,否则放弃键值读取操作。延时去抖动及读取键值的中断服务程序如下:ORG0003HLJMPKRDKRD:MOVP1,#0FFH;P1口置为输入口CALLDEL20;调20ms延时子程序MOVA,P1;读P1口键值JNBACC.0,KPR0;判断P1.0P1.7是否有键按下JNBACC.1,KPR1,JNBACC.2,KPR2JNBACC.3,KPR3JNBACC.4,KPR4JNBACC.5,KPR5JNBACC.6,KPR6JNBACC.7,KPR7RETIKPR0:;P1.0按键处理程序RETIKPR1:;P1.1口线按键处理程序KPR7:;P1.7口线按键处理程序DEL20:;20ms延时子程序,二、矩阵式键盘接口,简易键盘电路中每一个按键占用一根I/O口线,其口线利用率较低,如果将口线按照行、列排成矩阵形式则可在相同口线数量的条件下增大键盘的规模。例如,可以将P1口的8根I/O线排列成44矩阵形式,连接16只按键开关。,44矩阵式键盘电路,P1口的8根I/O口线分成行、列线连接,P1.0P1.3为行线,P1.4P1.7为列线。16只按键分别跨接在对应的行、列线节点上。行线特定的4位数据输出和列线对应的4位数据输入可以组成一个8位的特征字,该特征字即为键值。,1、键盘电路的工作原理,矩阵式键盘将P1口的8根I/O口线分成行、列线连接,图中P1.0P1.3为行线,P1.4P1.7为列线。16只按键分别跨接在对应的行、列线节点上。如果单片机在行线对应的I/O口线上有数据输出,当有键按下时,行、列线短路,单片机在列线对应的I/O口线上的输入数据将由行线上的电平决定。行线特定的4位数据输出和列线对应的4位数据输入可以组成一个8位的特征字,该特征字即为键值,代表了按下的键所在的位置。,2、扫描法产生键值,以行线作为扫描输出,以列线作为接收输入。依次将行线置为低电平,并在列线上逐次接收数据。如果发现接收到的某一列线有低电平,则表示该列线与行线连接的按键已经闭合。在接收到低电平的那次扫描中,行线数据与列线数据的组合便是所期望的键值,由该键值可确定闭合键在矩阵连接中的连接位置。,3、键盘扫描方式,1)硬件中断识别法将矩阵式键盘电路的所有列线连接至“与”门电路的输入端,“与”门电路的输出端与单片机外部中断连接。把全部行线置为低电平,全部列线置为高电平,当有键按下时列线上出现低电平,产生中断,在中断服务程序中扫描键盘。2)软件查询识别法将全部行线置为低电平,全部列线置为高电平,定时从列线对应的I/O口线输入数据,如果判定接收的数据中有低电平存在,则说明有按键按下,开始执行键盘扫描程序。采用硬件中断识别方式可以随时响应键盘动作,具有较强的实时性,而采用软件查询方式则可以简化电路。,4矩阵键盘扫描程序举例,P1.0P1.1P1.2P1.3,P1.7P1.6P1.5P1.4,行线,扫描输出,列线,扫描输入,接与门输入端,与门输出接INT0,键盘扫描程序如下:,INT0ISR:中断服务程序MOVP1,#0FFHCLRP1.4;扫描输出MOVA,P1;扫描输入ANLA,#0FHXRLA,#0FHJZNOKEY0LCALLDELAY10MSMOVA,P1ANLA,#0FHXRLA,#0FHJZNOKEY0;判断P1.4行是否有键按下,;以下判断键码MOVA,P1ANLA,#0FHCJNEA,#0EH,NEXT1MOVKEY,#3LJMPOKNEXT1:CJNEA,#0DH,NEXT2MOVKEY,#7LJMPOKNEXT2:CJNEA,#0BH,NEXT3MOVKEY,#11LJMPOKNEXT3:CJNEA,#07H,NOKEY0MOVKEY,#15LJMPOK,7.2显示接口,为了实现人机交互,单片机应用系统通常配有显示器接口,主要显示元件采用LED(发光二极管显示器)或LCD(液晶显示器),显示形式有笔画式和点阵式。笔画式显示元件大多为LED数码管,用于显示数字或简单字母信息,适合于规模较小的单片机系统。如七段码LED显示器对于大信息量或图形显示一般使用点阵式LCD显示器,这种显示器结构比较复杂,还需要考虑灰度调节、高压背光的配合,电路连接及程序操作都比较繁琐。点阵式LCD显示器多采用内置控制器的模组形式,在这种形式下单片机与点阵式LCD的接口实际上变成了单片机与单片机之间的数据通信。,LCD显示屏接口,LCD图形点阵显示器通常以LCM(液晶显示模组)形式出现,模组中封装了显示器、驱动电路、控制电路及背光调节电路等。本节以MG12864LCM为例介绍图形点阵LCD显示接口的应用。1MG12864LCM模块基本参数(1)LCD类型:STN形式。(2)模块尺寸:937012mm。(3)显示区域尺寸:70.738.8mm。(4)点阵间距:0.520.52mm。(5)点阵分布:12864点。(6)每一点阵尺寸:0.480.48mm。,MG12864LCM模块内部主要组成部分,2MG12864LCM模组结构说明,MG12864LCM由以下几部分组成:(1)核心部件:12864LCD点阵显示器。(2)段驱动电路:两路64列扫描显示驱动电路。(3)行驱动电路:64行扫描显示驱动电路。(4)背光驱动电路:LED发光管照明电路。MG12864LCM内部还配置了如下部分:(1)显示控制器。(2)显示存储器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驱动电压输入端。VOUT:LCD背板负电压输出端。6)背光电源SLA:背光源正极(LED5V)。SLK:背光源负极(LED0V)。,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)首行设置RS=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/W1功能:读取8位数据。MG12864LCM模组的操作步骤包括:显示设置、读写数据及查询状态。,5显示存储器DDRAM的结构(1)整体地址结构如下所示:,(2)以第一页和X地址B8H为例,分页内位与行之间的对应关系如下:,MG12864与单片机的接口电路,7显示程序,显示程序主要完成对MG12864的控制、设定及显示内容的传送等工作。程序步骤包括:开关显示控制,选取段驱动器,设定起始行,设定起始列及传送显示内容等。在每次显示开始时,如果按顺序设置起始的行或列可以实现屏幕上、下滚动或左、右平移的效果。显示内容按页传送,每页对应8行,连续传送64次8位显示数据完成1页显示内容。如果考虑两个驱动器的显示输出,显示整屏则需16页内容。,整屏显示程序流程,一、A/D转换器,A/D转换器是将模拟量转换成数字量的器件。模拟量可以是电压、电流等电信号,也可以是声、光、压力和温度等随时间连续变化的非电物理量。非电物理量可通过合适的传感器等转换成电信号,模拟量只有转换成数字量才能被计算机采集、分析和计算处理。,7.3接口,二、A/D转换方法,电压频率式:精度高价格低,但转换速度不高积分式:抗干扰能力好,转换速度低逐次逼近式:转换速度较快并行转换:串行转换:,A/D转换器原理框图,三、硬件设计考虑的问题,选择分辨率(38位/912位/13位以上)确定精度(误差范围)A/D转换时间和路数输入/输出特性和范围电源种类和功耗工作环境接口是否方便,四、8位A/D转换器ADC0809,ADC0809是逐次比较式的8路8位A/D转换器,转换速度为100s,电源电压+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,下降沿开始转换。EOC:转换结束信号,输出,高电平有效。在START的上升沿之后08个时钟期间,EOC变为低电平。当转换结束时,EOC变为高电平。OE:输出允许信号,输入,高电平有效。CLK:时钟信号,输入。,ADC0809的主要性能指标,分辨率为8位非调整误差为1LSB具有锁存功能的8路模拟开关,对8路模拟电压分别进行转换。输出与TTL兼容。可用单一电源供电,模拟电压输入范围为05V,无须调零和满刻度调整。三态锁存输出。低功耗为15mW。,ADC0809与8051的接口原理图,ADC0809与8051接口工作方式,EOC:开始转换时为低电平,当转换结束时为高电平.采集A/D转换结果的三种方式延时等待方式:执行100s以上延时等待程序查询方式:查询EOC引脚中断方式:EOC经反相器接8051的外部中断引脚ALE=START=OE=端口地址确定应使P2.7=A15=0,A0、A1、A2给出被选择的模拟通道地址设未占用地址线为1,则IN0IN7通道地址为7FF8H7FFFH,编程要点,选通模拟量输入通道发出启动信号用延时、查询或中断方法等待转换结束(延时)读取转换结果,MAIN:MOVR1,#data;数据缓冲区首址MOVDPTR,#7FF8H;P2.7=0,且指向通道OMOVR7,#08H;置通道数LOOP:MOVXDPTR,A;启动A/D转换MOVR6,#OAH;DLAY:NOPNOPNOPDJNZR6,DLAY;100s延时MOVXA,DPTR;读取转换结果MOVR1,AINCDPTR;指向下一个通道INCR1;修改数据区指针DJNZR7,LOOP;8个通道全采样完了吗?,延时法读取结果,中断方式程序,主程序:SETBIT1SETBEX1SETBEAMOVDPTR,#7FF8HMOVA,#0MOVXDPTR,A,中断服务程序:EINT1:MOVDPTR,#7FF8HMOVXA,DPTRMOV30H,AMOVA,#00MOVXDPTR,ARETI,五、A/D采集的抗干扰措施,算术平均滑动平均值法(循环队列)去极值法低通滤波,7.4D/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,低电平有效。将输入锁存器中的数据传送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能教育培训手册
- 工作总结:提升专业能力业务水平
- 2025新疆克拉玛依市面向高校应届毕业生招聘事业编制高中教师48人笔试备考试题及答案解析
- 农学中的农业科技示范园规划设计
- 2025年天津安全工程师安全生产法事故直接原因的分析考试试题
- 2025年唐山市市直事业单位招聘277人笔试备考题库及参考答案详解一套
- 2025年事业单位笔试-江苏-江苏审计学(医疗招聘)历年参考题库含答案解析
- 2025年有色金属行业资源循环利用产业链产业链金融创新报告
- 2025四川达州宣汉县养老服务中心招聘临时工作人员10人笔试备考试题及答案解析
- 2025年医学遗传学病例诊断与咨询考核试卷答案及解析
- 送教上门记录24篇
- 2025届广东省佛山市南海区数学七上期末统考试题含解析
- JGJT384-2016 钻芯法检测混凝土强度技术规程
- 《大学生美育》 课件 第七章 艺术美
- 《智慧农业关键技术与装备》课件-第09章 农业信息传输技术概述
- 2024年江门市蓬江区侨盛发展集团有限公司招聘笔试参考题库附带答案详解
- 血透进修汇报
- 艺术设计学专业导论
- 七年级英语阅读理解专项练习题及答案
- 2024年国家电投集团黄河上游水电开发有限责任公司招聘笔试参考题库含答案解析
- 胆囊结石伴急性胆囊炎的护理查房
评论
0/150
提交评论