单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目 教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口

上传人:E**** 文档编号:89355343 上传时间:2019-05-23 格式:PPT 页数:58 大小:1.98MB
返回 下载 相关 举报
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口_第1页
第1页 / 共58页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口_第2页
第2页 / 共58页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口_第3页
第3页 / 共58页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口_第4页
第4页 / 共58页
单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目  教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目 教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口》由会员分享,可在线阅读,更多相关《单片机技术教学做一体化教程 工业和信息化高职高专“十二五”规划教材立项项目 教学课件 ppt 作者 万长征 谢利华 魏洪昌 9 常用输入输出接口(58页珍藏版)》请在金锄头文库上搜索。

1、9 常用输入输出接口,任务与知识点,任务 44矩阵式键盘识别显示 点阵显示字符显示:“机电学院” LCD1602液晶显示:“welcome!” 知识点 矩阵键盘的工作原理:行扫描法、线反转法。 I2C串行键盘显示芯片ZLG7290应用 数码点阵显示字符的工作原理,点阵扩展16*16。 LCD液晶显示的工作原理,9.1 单片机控制矩阵键盘,在单片机应用系统中,键盘是人机对话不可缺少的组件之一。在按键比较少时,我们可以一个单片机I/O口接一个按键,但当按键需要很多,I/O资源又比较紧张时,使用矩阵式键盘无疑是最好的选择。,4 x 4矩阵键盘是运用得最多的键盘形式,也是单片机入门必需掌握的一种键盘识

2、别技术。下面我们就以4 x 4矩阵键盘为例,把按键接成矩阵的形式,按键分别为0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f 十六个按键。运用按键扫描识别知识,在数码管上显示按下的键。,9.1.1 4 x 4 矩阵键盘的工作原理,图 91 44矩阵式键盘,1. 矩阵键盘,键盘是单片机应用系统中使用最广泛的一种数据输入设备。键盘是一组按键的组合。键通常是一种常开型按钮开关,常态下键的两个触点处于断开状态,按下键时它们才导通。,键盘有编码和非编码两种。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。这种键盘使用方便,所需程序简单,但硬件电路

3、复杂,常不被单片机采用。,非编码键盘是靠软件编程来识别闭合键的。非编码键盘按组成结构又可分为独立式键盘和矩阵式键盘。独立式键盘的工作过程前面已经介绍了。,单片机控制常用电路原理图如图:图92,图 92 44矩阵式键盘电路图,2. 键扫描,键扫描就是单片机要判断有无键按下,当扫描到有键按下时再进行下一步处理,否则退出键盘处理程序。独立式键盘扫描只需读取I/O口状态,而矩阵式键盘描通常有两种实现方法:逐行扫描法和线反转法。,(1)逐行扫描法:,依次从第一至最末行线上发出低电平信号, 如果该行线所连接的键没有按下的话, 则列线所接的端口得到的是全“1”信号, 如果有键按下的话, 则得到非全“1”信号

4、。下面用表格9-1描述扫描过程。,假设K12键按下,得到如下P1口值:7BH。 表9-1,重复上面的过程,我们可以得到如下表格: 表9-2,由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值。,(2)线反转法。,线反转法也是识别闭合键的一种常用方法, 该法比行扫描速度快, 但在硬件上要求行线与列线外接上拉电阻。,先将行线作为输出线, 列线作为输入线, 行线输出全“0”信号, 读入列线的值, 那么在闭合键所在的列线上的值必为0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为 0。,假设K12键按下,得到如下P1口值:07H、0BH。

5、 表9-3,把列键值或行键值,即为7BH,也就是表9-2的值。,这样,当一个键被按下时, 必定可读到一对唯一的行列值。再由这一对行列值相或,可以求出闭合键所在的位置。,【例9-1】用线反转法和查表法进行键盘扫描读出键盘编号,程序分析:这段程序中用到了线反转法。两次给P2口输出值0FH、0F0H,两次读出P2口的值,再将两次读出值相或,即得到按键的编码值。,在程序中没有用到按键判别及防抖。,查键码值用于和读出按键相比较,查显示字符的七段数码管的字段码表,想一想,做一做,(1)假设K7键按下,分别用逐行扫描法和线反转法分析键值?,9.1.2 用数码管显示键盘的值,【例9-2】用数码管显示键盘的键值

6、,硬件原理图如图:图 93,图 93 44矩阵式键盘电路图,程序如下:,在程序中用到了键盘标志00H位识别,用于程序识别键盘处理完了,00H=1可以调用显示子程序。程序中用了键盘防抖延时及键盘释放判别。,程序分析:,在这段程序中,键盘扫描用了逐行扫描法,先把第一行为0,FEH(11111110),再逐个判别,4个1110、1101、1011、0111,用A右移,只要判别ACC.4即可。用第一行FEH左移,得到FDH、FCH、FBH,即第二、三、四行。,想一想,做一做,在【例9-2】按下按键0F,使单片机执行其他功能,如调用子程序等。,9.1.3 ZLG7290 I2C 接口键盘介绍,ZLG72

7、90是一种I2C接口键盘及LED驱动管理器件,提供数据译码和循环、移位、段寻址等控制。它可采样64个按键或传感器,单片即可完成LED显示、键盘接口的全部功能。ZLG7290的从地址为70H(写操作),71H(读操作),器件内部通过I2C总线访问的寄存器地址范围为00H17H,任一寄存器都可按字节直接读写,并支持自动增址功能和地址翻转功能。,使用ZLG7290 驱动数码管显示有两种方法:,第一种方法是向命令缓冲区(07H-08H)写入复合指令,向07H写入命令并选通相应的数码管,向08H写入所要显示的数据,这种方法每次只能写入一个字节的数据,多字节数据的输出可在程序中用循环写入的方法实现;,第二

8、种方法是向显示缓存寄存器(10H17H)写入所要显示的数据的段码,段码的编码规则为从高位到低位为 abcdefgdp ,这种方法每次可写入 18 个字节数据。,ZLG7290 读普通键的入口地址和读功能键的入口地址不同,读普通按键的地址为 01H,连击次数计数器地址为 02H,读功能键的地址为 03H。读普通键返回按键的编号,读功能键返回的不是按键编号,需要程序对返回值进行翻译,转换成功能键的编号;命令缓冲区:地址为07H08H。,ZLG7290 内可通过 IIC 总线访问的寄存器地址范围为:00H17H,任一寄存器都可按字节直接读写,也可以通过命令接口间接读写或按位读写。,1、ZLG7290

9、的引脚功能,图 94 引脚图,():数码管位选信号及键盘列信号,():数码管位选信号及键盘行信号,():I2C总线数据信号,():I2C总线时钟信号,() :复位信号,低电平有效,() :键盘中断请求信号,低电平(下降沿)有效,2、ZLG7290的典型应用电路图,使用排线与单片机相连,9.1.4 I2C总线介绍,I2C总线(Inter IC BUS)是Philips推出的芯片间串行传输总线。它以两根连线实现了完善的全双工同步数据传送,可以极方便地构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有最简单而灵活的扩

10、展方法。,1、I2C总线工作原理,图 97 I2C总线系统结构图,其中,SCL是时钟线,SDA是数据线。总线上的各器件都采用漏极开路结构与总线相连,因此,SCL、SDA均需接上拉电阻,总线在空闭状态下均保持高电平。,2、I2C总线工作方式,I2C总线支持多主和主从两种工作方式,通常为主从工作方式。在主从工作方式中,系统中只有一个主器件(单片机),总线上其它器件都是具有I2C总线的外围从器件;主器件启动数据的发送(发出启动信号),产生时钟信号,发出停止信号。为了实现通信,每个从器件均有唯一一个器件地址,具体地址由I2C总线委员会分配。如图所示:,图 98 I2C总线上进行一次数据传输的通信格式,

11、数据传输格式解释如下:,(1)发送启动(始)信号,(2)发送寻址信号,(3)应答信号,(4)数据传输,(5)非应答信号,(6)发送停止信号,在利用I2C总线进行一次数据传输时,首先由主机发出启动信号启动I2C总线。在SCL为高电平期间,SDA出现上升沿则为启动信号。此时具有I2C总线接口的从器件会检测到该信号。,主机发送启动信号后,再发出寻址信号。寻址信号由一个字节构成,高7位为地址位,最低位为方向位,用以表明主机与从器件的数据传送方向。方向位为“0”,表明主机对从器件的写操作;方向位为“1”时,表明主机对从器件的读操作。,I2C总线协议规定,每传送一个字节数据(含地址及命令字)后,都要有一个

12、应答信号,以确定数据传送是否正确。应答信号由接收设备产生,在SCL信号为高电平期间,接收设备将SDA拉为低电平,表示数据传输正确,产生应答。,主机发送寻址信号并得到从器件应答后,便可进行数据传输,每次一个字节,但每次传输都应在得到应答信号后再进行下一字节传送。,当主机为接收设备时,主机对最后一个字节不应答,以向发送设备表示数据传送结束。,在全部数据传送完毕后,主机发送停止信号,即在SCL为高电平期间,SDA上产生一上升沿信号。,3、I2C总线数据传输方式模拟,目前已有多家公司生产具有I2C总线的单片机,如Philips 、Motorola、韩国三星、日本三菱等公司。这类单片机在工作时,总线状态

13、由硬件监测,无须用户介入,应用非常方便。,对于不具有I2C总线接口的MCS-51单片机,在单主机应用系统中可以通过软件模拟I2C总线的工作时序,在使用时,只需正确调用该软件包就可很方便地实现扩展I2C总线接口器件。,I2C总线软件包组成:9个子程序,多字节接收子程序RDNBYT。,启动信号子程序STA,停止信号子程序STOP,发送应答位子程序MACK,发送非应答位子程序MNACK,应答位检查子程序CACK,单字节发送子程序WRBYT,单字节接收子程序RDBYT,多字节发送子程序WRNBYT,下面写一个I2C总线子程序:,9.1.5 I2C串行键盘、显示ZLG7290芯片的应用,【例9-3】电路

14、图如图:图 96,其中J1接口SDA接P1.0、SCL接P1.1、INT接P1.2。有64只按键,按下某一键时,在数码管上显示相应的键值。,图 96 与单片机连接电路图,程序代码如下 (I2C总线子程序略),想一想,做一做,(1)怎样应用ZLG7290制作一个电子钟?,9.2 单片机控制LED点阵显示,前面我们学习了控制LED的显示,现在我们学习利用单片机控制LED点阵显示屏。【例9-4】用AT89C51控制LED88的点阵显示:“9”字。,图 99 LED88的点阵显示电路图,程序分析:上段程序中利用P1口做点阵的行控制,P3口做点阵的列控制。列值是行值的取反。程序主要就是查字模表,再输出显

15、示。在每行显示有一个延时。,“9”的字模,9.2.1 LED点阵显示屏原理,1. LED点阵显示屏原理,点阵内部结构及外形如上,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上;当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则第一行接高电平,第一列接低电平,则第一个点就亮了。如图910所示,图 910 88的点阵显示原理图,例如:显示“9”字,显示工程如图911所示。,9.2.2 点阵汉字显示原理,图 911 “9”的点阵显示,显示一个汉字,必然要用到汉字的点阵字形信息,也叫做汉字的字模,根据汉字的不同字体,可分为宋体字模、楷体

16、字模、黑体字模等等。根据汉字的显示清晰度,又可分为16 16 点阵字模、32 32 点阵字模等等。,用于解释“9”的字模如何得到的。,汉字的字模是汉字字形的数字化,汉字字模是类似数字“9”方式得出来的,具体如下:,把汉字写在一个同一大小网格组成的方格块内,将方格块分成M 行N 列共M N 个小格组成点阵,而将汉字离散成网点,汉字的笔画能过某网格,则必有一个离散的点落在该网格内,该网格对应的一位二进制数为1 ,否则该网格为空,对应的一位二进制为0 ,这样每一网格均可对应一位确定的二进制数,把所有网格对应的二进数组合起来便组成了汉字的字模。把所有的汉字字模组合起来,保存在一个文件中,便形成了一个汉字库。,9.2.3 LED点阵显示字符显示:“机电学院”,图 912 1616的点阵显示原理图,想一想,做一做,(1)、利用【例9-5】电路图编程程序显示“单片机”。,9.3 单片机控制LCD1602液晶显

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号