键盘及显示接口单片机课件(最新版).ppt_第1页
键盘及显示接口单片机课件(最新版).ppt_第2页
键盘及显示接口单片机课件(最新版).ppt_第3页
键盘及显示接口单片机课件(最新版).ppt_第4页
键盘及显示接口单片机课件(最新版).ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第10章 单片机外围接口,单片机原理及应用,2,单片机外围接口电路,3,10.1 键盘接口,4,一、键盘的分类 编码键盘:按键的识别由专用硬件实现的,如BCD码键盘、ASCII码键盘等。 非编码键盘:靠软件来识别按键编码,单片机常用。 独立式:左图,适合少量按键。 行列式:右图,适合多按键。,10.1 键盘接口,5,二、按键抖动及去抖 按键在闭合或断开瞬间,触点由于机械弹性作用会出现抖动现象,然后才能稳定。抖动时间一般为520ms。 为了准确检测按键通与断,必须去除按键抖动。 去抖动就是在按键通或断稳定时读取键状态。 去抖动:硬件去抖、软件去抖。,6,硬件去抖:如下图所示。按键较少时可采用。 软件去抖:软件延时(20ms),避开抖动时刻。按键较多时采用。,7,三、键盘及接口 1. 独立式键盘及接口 把按键直接与I/O口线连接; 每个按键占用一根I/O口线,各按键相互独立; 按键识别采用查询方式。,8,2. 矩阵式键盘及其接口 矩阵式键盘由行线和列线组成,按键在行与列的交叉点上,下图为44矩阵式键盘。 行线作输入,列线作输出。,9,四、按键识别流程 1. 是否有按键按下 右图是用P1口作行列式按键的例子。 其中P10P13作输入线,P14P17作输出线。,判断键按下: 令P14P17输出0000;,若P10P13全为高1111, 则判无键按下; 若P10P13有低电平, 则判有键按下。,10, 采用中断方式只需将输入线P10P13接到与门输入端。,11,2. 判断按键位置 分别使P14、P15、P16、P17单根线输出为低电平; 对应读入P10、P11、P12、P13值,有低电平的行线与列线即是按下的键的位置。,例如: P17P14=1110时 0键按下 P13P10=1110 4键按下 P13P10=1101 8键按下 P13P10=1011 C键按下 P13P10=0111,12,P17P14=1101时 1键按下 P13P10=1110 5键按下 P13P10=1101 9键按下 P13P10=1011 D键按下 P13P10=0111,13,P17P14=1011时 2键按下 P13P10=1110 6键按下 P13P10=1101 A键按下 P13P10=1011 E键按下 P13P10=0111,14,P17P14=0111时 3键按下 P13P10=1110 7键按下 P13P10=1101 B键按下 P13P10=1011 F键按下 P13P10=0111,15,3. 计算键码 得到如下键码表10-1:,16,4. 等待按键释放 软件延时(20ms)避开抖动,根据键码转相应键处理程序。,17,例10-1 扫描式键盘识别子程序(键盘接线如前图所示)。 子程序名:KSCAN 入口:无 出口:键值在A中 说明:程序按前面图的接线编写,键名、键值、扫描码见表10-1,空键值(无键按下)为0FFH。,18,KSCAN : MOV R7, #4 ;需要扫描4次 MOV A , #0EFH ;第1列为0,低4位为输入 K0:MOV B, A ;暂存列码 MOV P1, A ;列码输出 MOV A, P1 ;读入行码 ANL A, #0FH ;提取行码 CJNE A, #0FH, K1 ;判断行码是否为全1 MOV A, B ;行码为全1, RL A ;下一列 DJNZ R7, K0 ;所有列扫描完? MOV A , #0FFH ;无键按下,取空键值 RET ;返回 K1:LCALL DELAY ;去抖延时,19,ANL B, #0F0H ORL A, B ;合并成扫描码 MOV B, A ;存扫描码 MOV R7, #16 ;查键值,16个键初值 MOV R1, #0 ;键值计数初值 MOV DPTR, #KCODE ;指向描码表 K2: MOV A, R1 MOVC A, A+DPTR ;取扫描码 CJNE A, B, K3 ;与扫描码比较 MOV A, R1 ;找到, 键值R1送A RET K3:INC R1 ;键值计数加1 DJNZ R7, K2 ;16个键完?,20,MOV A, #0FFH ;没找到,返回 RET KCODE: DB 0EEH, 0DEH, 0BEH, 7EH DB 0EDH, 0DDH, 0BDH, 7DH DB 0EBH, 0DBH, 0BBH, 7BH DB 0E7H, 0D7H, 0B7H, 77H ;以上扫描码按0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F排列,21,一、LED数码管显示器 1. LED数码管显示器结构共阴极、共阳极 单片机多用共阳极:,10.2 LED数码管显示接口,共阳数码管每段用低电平(“0”)点亮,要求驱动为灌电流;而共阴数码管每段用高电平(“1”)点亮,要求驱动为拉电流。 每段笔画要串一个数百欧姆的限流电阻。,22,2. LED数码管的译码硬件译码 74LS48/74LS248是BCD码七段共阴译码/驱动器; 74LS47/74LS247是BCD码七段共阳译码/驱动器; MAX7219串行接口的8位LED驱动显示器。 硬件译码特点: 采用专用的译码/驱动器件,驱动功率较大; 软件编程简单; 需增加硬件开销; 字型固定。,23,2. LED数码管的译码软件译码 按照右下角电路接线的LED数码管编码表如下:,软件译码特点: 不增加硬件开销; 软件编程较复杂; 字型灵活美观。,24,二、LED显示器的接口 1. LED显示方式 静态显示: 各数码管需有各自的锁存器,被持续点亮; 适用于位数少的情况; 亮度高、耗电。,25, 动态显示: 所有位相应段并接在一起组成段码线,用来显示字型; 各位的公共端分别由位线控制逐位循环点亮各数码管; 任一时刻只有一位数码管点亮; 循环点亮各位的频率要够高; 适用于位数较多的情况。,26,以8位(共阴)LED动态显示2003.10.10的过程为例: 图(a)是显示过程,某一时刻只有一位LED被选通显示,其余位则是熄灭的; 图(b)是人眼看到的显示效果。,27,例1 简单静态显示电路。,程序片段: MOV P1, #0F9H CLR P3.3 SETB P3.3 MOV P1, #0A4H CLR P3.2 SETB P3.2 MOV P1, #0B0H CLR P3.1 SETB P3.1 MOV P1, #99H CLR P3.0 SETB P3.0,28,例2 简单静态显示电路。,程序片段: MOV DPTR, #0000H MOV A, #0F9H MOVX DPTR, A MOV DPTR, #2000H MOV A, #0A4H MOVX DPTR, A MOV DPTR, #4000H MOV A, #0B0H MOVX DPTR, A,29,例3 根据下图电路编写通过串口和74LS164驱动共阳数码管查表显示的子程序。 条件:系统有6个LED数码管,待显数据(09)已放在35H30H单元中(分别对应十万位个位),,30,DSPLY: MOV DPTR, #TABLE ;共阳LED数码管译码表首址 MOV R0,#30H ;待显数据缓冲区的个位地址 REDO: MOV A,R0 ;通过R0实现寄存器间接寻址 MOVC A, A+DPTR ;查表 MOV SBUF, A ;经串行口发送到74LS164 JNB TI,$ ;查询送完一个字节的第8位? CLR TI ;为下一字节发送作准备 INC R0 ;R0指向下一个数据缓冲单元 CJNE R0,#36H,REDO ;判断是否发完6个数? RET ;发完6个数就返回 TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳管译码表 DB 92H, 82H, 0F8H, 80H,90H,31,例4 LED数码管动态显示编程。 从P1口送段代码,P3口送位选信号。 段码虽同时送到6个LED,但一次仅一个LED被选中。 每送一字符并选中相应位线延时再送/选下一位。,32,入口条件:待显数据(09)放在35H30H单元中(BCD码分别对应十万位个位) 说明:用共阴译码表。,33,DIS: MOV DPTR,#DSEG ;数码管译码表首址 MOV R0,#30H ;待显缓冲区个位地址 MOV R3,#0FEH ;个位的位选信号(共阳为01H) LD1: MOV A,R0 ;通过R0间接寻址 MOVC A,A+DPTR ;查表 MOV P1,A ;送段码 MOV P3,R3 ;送位选择 LCALL DELY ;调延时1ms子程序 INC R0 ;R0指向下一字节 MOV A,R3 JNB ACC.5,LD2 ;判是否发完6个数?(共阴用JB) RL A ;R3指向下一个位 MOV R3,A ;位选信号存回R3 SJMP LD1 ;跳去再显示下一个数 LD2: RET ;发完6个数就返回 DSEG:DB 3FH,06H,5BH,4FH,66H ;共阴译码表 DB 6DH, 7DH, 07H, 7FH,6FH,34,10.3 点阵LED显示器接口,提示:一片88点阵LED显示器等效与8位LED数码管等效。,35,提示:一片88点阵LED显示器等效与8位LED数码管等效。,36,一、微型打印机简介,10.6 打印机接口技术,37,一、微型打印机简介,10.6 打印机接口技术,38,一、微型打印机简介 1. 常用的微型打印机有TPP-40A: 超小型的智能点阵式打印机 标准的Centronic并行接口 每行可打印40个57点阵字符, 或8240点阵

温馨提示

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

评论

0/150

提交评论