- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 应用程序配的置及接口技术
应用程序系统配置及接口技术 单片机典型应用系统组成 单片机典型应用系统组成 单片机系统组成 A/D接口:实现模拟信号的采集 并行A/D 串行A/D D/A接口:输出模拟量的控制信号 并行D/A 串行D/A 开关量输入输出:实现开关信号的检测和控制 步进电机、PWM控制的直流电机 开关量输出的传感器(如光电、霍尔传感器等) 通信接口:实现系统和外界(单片机或PC)的数据交换 RS-232C RS-485 人机界面:沟通用户和系统的渠道 键盘、显示 打印机 单片机应用系统实例 7.1 人机通道配置与接口技术 如何利用IO口进行矩阵键盘的扩展设计。 按键的消抖程序设计。 键值处理程序。 中断方式按键程序设计。 单片机多路键盘的扩展方法 并口键盘:每个IO口接一个按键,优点是编程简单可靠,可以中断方式使用,缺点是IO口占用过多。 矩阵键盘:将多个键盘接成行列交叉的形式,采用IO口分别控制行和列。 键盘扩展专用芯片(例如HD7279),单片机通过串口直接与该芯片通讯获取键值。 串转并扩展芯片扩展IO口。 键盘设计中需要考虑的问题 解决办法:等待按键弹起 连击,会在一次按键中多次产生击键的效果,对于这类问题,在键盘编程中常采用等待按键释放的处理方法来消除连击,使得每次按键仅产生一次键的处理效果。这样就可以避免当某个按键还未松开时,键扫描程序和处理程序已执行多遍。 键盘设计中需要考虑的问题 消除按键抖动解决办法 延时10ms后等待按键稳定再次判断是否有键按下。 键盘设计中需要考虑的问题: 多键同时闭合 当有两个或多个键同时闭合时,可以采用条件判断的方式来确认哪个按键有效。例如以下方式。 ●以先按下的键为有效键。 ●以按下时间最长的键为有效键。 ●将最后释放的键视为有效键。 有复合按键的设计按照复合按键的功能进行编程,无复合按键的设计中通常采用单键按下有效,多键按下无效的原则进行处理。 键盘的分类 键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号(如BCD、ASCII)或键值的称为编码键盘,如计算机键盘。 而靠软件编程来识别的称为非编码键盘。 在单片机组成的各种系统中,用的最多的是非编码键盘。也有用到编码键盘的。 非编码键盘又分为:独立键盘和行列式(又称为矩阵式)键盘。 独立式键盘 独立式键盘是指各按键与I/O口相互的接通一条输入数据线。 优点:电路简单,编程方便。 缺点:当键数较多时,占用较多I/O口。 矩阵(行列)式键盘 为减少键盘与单片机接口时所占用I/O口线数目,在键数较多时候,通常将键盘排列成行列式键盘。 利用矩阵结构只需要N条行线和M条列线,即可组成N*M个按键的键盘。 在这种行列矩阵式非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步识别哪个按键被按下,对键的识别通常采用逐行(或逐列)扫描法。 行描法识别键值的工作原理 STEP1 :判断键盘中有无键按下,向行线输出全扫描字00H,读取列线的值。 STEP2 : 进行行扫描判断键值,依次给行线送低电平,读取列线状态,如读取的值全为1,则按下的键不在此行,否则所按下的键必在此行。而且是与零电平相交的交点上的键。 4X4键盘扫描流程图 键的位置码及键值的译码过程 键值(号)的获得(译码)通常采用计数译码法。这种方法根据矩阵键盘的结构特点,每个按键的值=行号×每行的按键个数+列号,即 键号(值)=行首键号+列号 第0行的键值为: 0行×4+列号(0~3)为0、1、2、3; 第1行的键值为: 1行×4+列号(0~3)为4、5、6、7; 第2行的键值为: 2行×4+列号(0~3)为8、9、A、B; 第3行的键值为: 3行×4+列号(0~3)为C、D、E、F。 4×4键盘行首键号为0、4、8、C,列号为0,1,2,3。 例题 设计一个4X4行列式键盘,按键按下后在数码管上显示对应按键所代表的数值。 程序设计分析 模块化程序设计方案。 分解成四个子程序 1.键盘子程序,实现系统要求的功能。 2.判断是否有键按下子程序,有键按下返回1,无键盘按下返回0,供键盘子程序调用。 3.扫描键盘子程序,返回键值,供键盘子程序调用。 4.延时子程序,实现约n*10ms的延时,供判断是否有键按下子程序调用,实现延时消抖。 7.1.2 LED显示器接口及显示程序 数码管是如何显示出字符的 数码管静态显示 数码管动态显示原理 数码管显示电路与程序设计 单片机系统中常用
文档评论(0)