c语言kbi键盘中断,飞思卡尔8位单片机MC9S08+09+键盘中断模块与AD转换模块.ppt

飞思卡尔8位单片机MC9S08+09+键盘中断模块与AD转换模块.ppt

第九章 键盘中断模块与A/D转换模块,主要内容 键盘基本问题与GP32的键盘中断口 汇编语言键盘中断模块编程实例 08C语言键盘中断模块编程实例 MC68HC908GP32 MCU内部的A/D转换模块 MC68HC908GP32 MCU A/D转换编程实例,嵌入式应用技术基础教程课件,9.1 键盘基本问题与GP32的键盘中断口,9.1 键盘基本问题与GP32的键盘中断口,9.1.1 键盘的基本问题 (1)键的识别 如何知道键盘上哪个键被按下就是键盘识别问题。键盘识别主要有行扫描法与行反转法。 (2)抖动问题 当按下一个键时,会出现所按的键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况,当释放一个按键时也会出现类似的情况,这就是抖动问题。解决抖动的方法通常是延迟等待抖动的消失或多次识别判定。 (3)重键问题 有两个或两个以上按键同时处于闭合状态的处理问题。在软件上,处理重键问题通常有连锁法与巡回法。,嵌入式应用技术基础教程课件,9.1 键盘基本问题与GP32的键盘中断口,44键盘结构,嵌入式应用技术基础教程课件,9.1 键盘基本问题与GP32的键盘中断口,9.1.2 MC68HC908GP32单片机的键盘中断模块,(1)键盘状态和控制寄存器(Keyboard Status and Control Register ,INTKBSCR) INTKBSCR包含了键盘中断请求标志、屏蔽键盘中断请求、定义键盘中断的触发方式、清除键盘中断标志等功能。其地址是001A。,嵌入式应用技术基础教程课件键盘中断屏蔽位,键盘中断引脚触发方式位,键盘中断应答位,键盘中断标志位,未用,9.1 键盘基本问题与GP32的键盘中断口,(2)键盘中断允许寄存器(Keyboard Interrupt Enable Register,INTBIER),INTBIER的各位决定所对应的引脚是否允许中断进入。地址为001B。,嵌入式应用技术基础教程课件,D7D0,分别记为KBIE7KBIE0,可读写。若KBIEx1,表示相应引脚KBIEx pin(也就是引脚PTAx pin)被定义为中断引入引脚,反之则不能作为中断输入引脚。复位时,全为0。,9.1 键盘基本问题与GP32的键盘中断口,(3)键盘中断编程相关问题,要进行键盘中断方面的编程,需了解下列问题 1)键盘中断矢量地址FFE0FFE1。 2)键盘中断初始化顺序先设置键盘状态和控制寄存器(INTKBSCR),后设置键盘中断允许寄存器(INTKBIER)。 3)为避免键盘误中断,在键盘初始化时,建议按下列顺序 令IMASKK1屏蔽键盘中断、设置KBIEx1定义中断引脚、写ACKK1清除键盘中断请求、令IMASKK0开放键盘中断。 也可以用下述方法 通过DDRA定义PTAx pin为输出、写1到PTAx(使得PTAx pin为高电平)、设置KBIEx1定义中断引脚。 4)注意在中断子程序中的入口和出口参数。 5)在Wait和Stop模式下,键盘中断仍可发生。,嵌入式应用技术基础教程课件,返回,9.2 汇编语言键盘中断模块编程实例,9.2 汇编语言键盘中断模块编程实例,44键盘与单片机接法示例,嵌入式应用技术基础教程课件,9.2 汇编语言键盘中断模块编程实例,(1)键值计算方法 按上图的接法可以得出键值表,如下图。键值可以通过扫描法获得,由键值通过查表法编程得到定义值。,9.2.1 按键识别与键盘定义子程序,嵌入式应用技术基础教程课件,(2)键盘编程汇编语言子程序,9.3 08C语言键盘中断模块编程实例,(1)键盘中断编程汇编主程序 (2)键盘中断编程的PC机方的VB界面与程序 9.3 08C语言键盘中断模块编程实例 9.3.1 按键识别与键盘定义函数 9.3.2 键盘中断编程08C语言举例 (1)键盘中断编程实例的08C主函数 (2)键盘中断编程实例的08C中断矢量表文件,9.2.2 键盘中断编程举例,嵌入式应用技术基础教程课件,返回,9.4 MC68HC908GP32 MCU内部的A/D转换模块,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 MC68HC908GP32 MCU内部的A/D转换模块,9.4.2 MC68HC908GP32 A/D转换模块的寄存器,(1)A/D转换状态和控制寄存器(Analog-to-Digital Status and Control RegisterADSCR) ADSCR主要功能是选取要转换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换。其地址是003C。,嵌入式应用技术基础教程课件,转换完成标志位,A/D转换中断允许标志位,连续转换控制位,通道选择,9.4 MC68HC908GP32 MCU内部的A/D转换模块,(2)A/D转换数据寄存器(Analog-to-Digital Data RegisterADR),ADR存放A/D转换的8位结果,每次A/D转换结束更新该寄存器。编程从该寄存器读取A/D转换结果。该寄存器地址为003D,为只读寄存器,复位时为00。,嵌入式应用技术基础教程课件,9.4 MC68HC908GP32 MCU内部的A/D转换模块,(3)A/D转换输入时钟寄存器(Analog-to-Digital Clock RegisterADCLK),ADCLK决定A/D转换的时钟频率来源、分频系数值,芯片内的A/D转换器要求ADC时钟频率为1MHz左右。ADCLK 的地址是003E。,嵌入式应用技术基础教程课件,ADC时钟分频系数选择位,ADC输入时钟源选择位未用,ADC时钟要求 ADC时钟频率1MHz。具体编程时根据A/D转换的时钟频率来源确定分频系数值,确保芯片内的A/D转换器时钟频率为1MHz左右即可。,9.4 MC68HC908GP32 MCU内部的A/D转换模块,9.4.3 A/D转换模块的基本编程方法,(1)A/D转换初始化 LDA 00110000 ;使用内部总线时钟,2分频 STA ADCLK ;送入寄存器ADCLK (2)启动A/D转换 LDA 00000000 ;0通道,转换结束不产生中断,一次A/D转换 STA ADSCR ;并启动0通道转换 (3)获A/D转换结果 BRCLR 7, ADSCR,* ;COCO位0则等待COCO位1 LDA ADR ;转换结束,转换结果送入A中,嵌入式应用技术基础教程课件,返回,9.5 MC68HC908GP32 MCU A/D转换编程实例,9.5 MC68HC908GP32 MCU A/D转换编程实例,9.5.1 A/D转换汇编语言编程实例 (1)A/D转换有关子程序 (2)A/D转换测试程序汇编主程序 9.5.2 A/D转换08C语言编程实例 (1)A/D转换有关C语言子函数 (2)A/D转换08C测试实例主函数,嵌入式应用技术基础教程课件,返回,本章共介绍了两部分内容。 键盘部分介绍键盘中断模块的编程方法,并给出规范的扫描法识别键值子程序、键值转为定义值子程序,及测试实例。在掌握键盘中断使用方法的基本上,着重掌握扫描法读取键值、键值转为定义值的编程方法。 A/D转换部分介绍了GP32单片机A/D转换模块的基本编程方法,给出了中值滤波与平均值滤波相结合的滤波程序,可供实际开发参考使用。,本章小结,嵌入式应用技术基础教程课件,返回,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KPI(Key Performance Indicators)和KBI(Key Behavioral Indicators)是程序员绩效考核表中常用的指标。 KPI主要关注程序员在工作任务中的表现和业绩,它通常包括以下几个方面: 1. 完成项目任务的质量和数量:评估程序员在项目开发过程中完成的任务数量和质量,包括任务的准时交付、符合需求等。 2. 解决问题的效率:评估程序员解决问题的速度和准确性,包括排查和修复代码bug、分析和解决软件故障等。 3. 技术能力的提升:评估程序员的技术水平是否持续提升,包括参加培训、学习新的技术知识等。 4. 团队协作能力:评估程序员在团队合作中的角色和贡献,包括与团队成员的沟通、协作、提供技术支持等。 KBI主要关注程序员的行为和态度,它通常包括以下几个方面: 1. 自我管理能力:评估程序员对自己任务的管理能力,包括时间管理、任务安排和执行等。 2. 学习能力和主动性:评估程序员对新知识和挑战的接受程度,包括主动获取学习资源、自我提升和解决问题的能力等。 3. 团队合作精神:评估程序员在团队中的合作精神和积极性,包括与团队成员的协作、沟通和支持等。 4. 专业道德和职业素养:评估程序员在工作中的职业道德和责任感,包括遵守公司规章制度、保护企业利益等。 绩效考核表中的KPI和KBI指标可以根据公司的具体情况和项目要求进行调整和衡量。通过定期的绩效考核,可以评估程序员的工作表现、激励他们持续提升自己,并为公司提供有参考意义的数据,帮助公司更好地管理和分配资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值