飞思卡尔8位单片机MC9S8 9 键盘中断模块与AD转换模块ppt课件.pptVIP

飞思卡尔8位单片机MC9S8 9 键盘中断模块与AD转换模块ppt课件.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
飞思卡尔8位单片机MC9S8 9 键盘中断模块与AD转换模块ppt课件

第九章 键盘中断模块与A/D转换模块 主要内容 键盘基本问题与GP32的键盘中断口 汇编语言键盘中断模块编程实例 08C语言键盘中断模块编程实例 MC68HC908GP32 MCU内部的A/D转换模块 MC68HC908GP32 MCU A/D转换编程实例 9.1 键盘基本问题与GP32的键盘中断口 9.1.1 键盘的基本问题 (1)键的识别 如何知道键盘上哪个键被按下就是键盘识别问题。键盘识别主要有行扫描法与行反转法。 (2)抖动问题 当按下一个键时,会出现所按的键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况,当释放一个按键时也会出现类似的情况,这就是抖动问题。解决抖动的方法通常是延迟等待抖动的消失或多次识别判定。 (3)重键问题 有两个或两个以上按键同时处于闭合状态的处理问题。在软件上,处理重键问题通常有连锁法与巡回法。 4×4键盘结构 9.1.2 MC68HC908GP32单片机的键盘中断模块 (1)键盘状态和控制寄存器(Keyboard Status and Control Register ,INTKBSCR) INTKBSCR包含了键盘中断请求标志、屏蔽键盘中断请求、定义键盘中断的触发方式、清除键盘中断标志等功能。其地址是$001A。 (2)键盘中断允许寄存器(Keyboard Interrupt Enable Register,INTBIER) INTBIER的各位决定所对应的引脚是否允许中断进入。地址为:$001B。 (3)键盘中断编程相关问题 要进行键盘中断方面的编程,需了解下列问题: 1)键盘中断矢量地址:$FFE0—$FFE1。 2)键盘中断初始化顺序:先设置键盘状态和控制寄存器(INTKBSCR),后设置键盘中断允许寄存器(INTKBIER)。 3)为避免键盘误中断,在键盘初始化时,建议按下列顺序: 令IMASKK=1(屏蔽键盘中断)、设置KBIEx=1(定义中断引脚)、写ACKK=1(清除键盘中断请求)、令IMASKK=0(开放键盘中断)。 也可以用下述方法: 通过DDRA定义PTAx pin为输出、写1到PTAx(使得PTAx pin为高电平)、设置KBIEx=1(定义中断引脚)。 4)注意在中断子程序中的入口和出口参数。 5)在Wait和Stop模式下,键盘中断仍可发生。 9.2 汇编语言键盘中断模块编程实例 4×4键盘与单片机接法示例 9.2.1 按键识别与键盘定义子程序 (1)键值计算方法 按上图的接法可以得出键值表,如下图。键值可以通过扫描法获得,由键值通过查表法编程得到定义值。 9.2.2 键盘中断编程举例 (1)键盘中断编程汇编主程序 (2)键盘中断编程的PC机方的VB界面与程序 9.3 08C语言键盘中断模块编程实例 9.3.1 按键识别与键盘定义函数 9.3.2 键盘中断编程08C语言举例 (1)键盘中断编程实例的08C主函数 (2)键盘中断编程实例的08C中断矢量表文件 9.4 MC68HC908GP32 MCU内部的 A/D转换模块 9.4.1 A/D转换相关基础知识 A/D转换模块(Analog To Digital Convert Module)即模数转换模块的功能是将电压信号转换为对应的数字信号。实际应用中,这个电压信号可能由温度、湿度、压力等实际物理量经过传感器和相应的变换电路转化而来。经过A/D转换,MCU就可以处理这些物理量。 (1)采样精度:数字量变化一个最小量时模拟信号的变化量。 (2)采样速率:完成一次A/D采样所要花费的时间。 (3)滤波:对采样的数据进行筛选去掉误差较大的毛刺。 (4)物理量回归:把A/D采样值与实际物理量对应起来。 9.4.2 MC68HC908GP32 A/D转换模块的寄存器 (1)A/D转换状态和控制寄存器(Analog-to-Digital Status and Control Register—ADSCR) ADSCR主要功能是:选取要转换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换。其地址是$003C。 (2)A/D转换数据寄存器(Analog-to-Digital Data Register—ADR) ADR存放A/D转换的8位结果,每次A/D转换结束更新该寄存器。编程从该寄存器读取A/D转换结果。该寄存器地址为:$003D,为只读寄存器,复位时为$00。 (3)A/D转换输入时钟寄存器(Analog-to-Digit

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档