版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章第九章 键盘中断模块与键盘中断模块与A/D转换模块转换模块 主要内容 键盘根本问题与GP32的键盘中断口 汇编言语键盘中断模块编程实例 08C言语键盘中断模块编程实例 MC68HC908GP32 MCU内部的A/D转换模块 MC68HC908GP32 MCU A/D转换编程实例 9.1 键盘根本问题与键盘根本问题与GP32的键盘中断口的键盘中断口9.1.1 键盘的根本问题键盘的根本问题 1键的识别键的识别 如何知道键盘上哪个键被按下就是键盘识别如何知道键盘上哪个键被按下就是键盘识别问题。键盘识别主要有行扫描法与行反转法。问题。键盘识别主要有行扫描法与行反转法。2抖动问题抖动问题 当按下一
2、个键时,会出现所按的键在闭合位当按下一个键时,会出现所按的键在闭合位置和断开位置之间跳几下才稳定到闭合形状的情置和断开位置之间跳几下才稳定到闭合形状的情况,当释放一个按键时也会出现类似的情况,这况,当释放一个按键时也会出现类似的情况,这就是抖动问题。处理抖动的方法通常是延迟等待就是抖动问题。处理抖动的方法通常是延迟等待抖动的消逝或多次识别断定。抖动的消逝或多次识别断定。3重键问题重键问题 有两个或两个以上按键同时处于闭合形状的有两个或两个以上按键同时处于闭合形状的处置问题。在软件上,处置重键问题通常有连锁处置问题。在软件上,处置重键问题通常有连锁法与巡回法。法与巡回法。 +5V 5K4行线行线
3、m1 m2 m3 m4 列线列线 n1 n2 n3 n4 44键盘构造键盘构造9.1.2 MC68HC908GP32单片机的键盘中断模块单片机的键盘中断模块1键盘形状和控制存放器键盘形状和控制存放器Keyboard Status and Control Register ,INTKBSCR INTKBSCR包含了键盘中断恳求标志、屏蔽键盘中断包含了键盘中断恳求标志、屏蔽键盘中断恳求、定义键盘中断的触发方式、去除键盘中断标志等功恳求、定义键盘中断的触发方式、去除键盘中断标志等功能。其地址是能。其地址是$001A。数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义 KEY ACK
4、K IMASKK MODEK复位复位 0 0 0 0 0 0 0 0键盘中断键盘中断屏蔽位屏蔽位 键盘中断键盘中断引脚触发引脚触发方式位方式位 键盘键盘(中断中断)应对位应对位键盘键盘(中断中断)标志位标志位 未用未用2键盘中断允许存放器键盘中断允许存放器Keyboard Interrupt Enable Register,INTBIER INTBIER的各位决议所对应的引脚能否允许中断进入。地址为:的各位决议所对应的引脚能否允许中断进入。地址为:$001B。 数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义KBIE7 KBIE6 KBIE5 KBIE4 KBIE3 KBI
5、E2 KBIE1 KBIE0复位复位 0 0 0 0 0 0 0 0 D7D0,分别记为,分别记为KBIE7KBIE0,可读写。假设,可读写。假设KBIEx=1,表示相应引脚表示相应引脚KBIEx pin也就是引脚也就是引脚PTAx pin被定义为中断引入被定义为中断引入引脚,反之那么不能作为中断输入引脚。复位时,全为引脚,反之那么不能作为中断输入引脚。复位时,全为0。 3键盘中断编程相关问题键盘中断编程相关问题 要进展键盘中断方面的编程,需了解以下问题:要进展键盘中断方面的编程,需了解以下问题: 1键盘中断矢量地址:键盘中断矢量地址:$FFE0$FFE1。 2键盘中断初始化顺序:先设置键盘形
6、状和控制存键盘中断初始化顺序:先设置键盘形状和控制存放器放器INTKBSCR,后设置键盘中断允许存放器,后设置键盘中断允许存放器INTKBIER。 3为防止键盘误中断,在键盘初始化时,建议按以为防止键盘误中断,在键盘初始化时,建议按以下顺序:下顺序: 令令IMASKK=1(屏蔽键盘中断屏蔽键盘中断)、设置、设置KBIEx1(定义定义中断引脚中断引脚)、写、写ACKK=1(去除键盘中断恳求去除键盘中断恳求)、令、令IMASKK=0(开放键盘中断开放键盘中断)。 也可以用下述方法:也可以用下述方法: 经过经过DDRA定义定义PTAx pin为输出、写为输出、写1到到PTAx使得使得PTAx pin
7、为高电平、设置为高电平、设置KBIEx1(定义中断引脚定义中断引脚)。 4留意在中断子程序中的入口和出口参数。留意在中断子程序中的入口和出口参数。 5在在Wait和和Stop方式下,键盘中断仍可发生。方式下,键盘中断仍可发生。前往前往9.2 汇编言语键盘中断模块编程实例汇编言语键盘中断模块编程实例44键盘与单片机接法例如键盘与单片机接法例如 VDD 单片机 内部上拉电阻 1 2 3 A 单片机PTA口引脚行线m1 PTA0 4 5 6 B m2 PTA1 7 8 9 C m3 PTA2 * 0 # D m4 PTA3 列线 n1 n2 n3 n4 PTA7 PTA6 PTA5 PTA41键值计
8、算方法键值计算方法按上图的接法可以按上图的接法可以得出键值表,如以得出键值表,如以下图。键值可以经下图。键值可以经过扫描法获得,由过扫描法获得,由键值经过查表法编键值经过查表法编程得到定义值。程得到定义值。9.2.1 按键识别与键盘定义子程序按键识别与键盘定义子程序 1 EE 2 DE 3 BE A 7E 4 ED 5 DD 6 DD B 7D 7 EB 8 DB 9 BB C 7B * E7 0 D7 # B7 D 77定义符定义符键值键值键盘定义键盘定义2键盘编程汇编言语子程序键盘编程汇编言语子程序1键盘中断编程汇编主程序键盘中断编程汇编主程序2键盘中断编程的键盘中断编程的PC机方的机方的
9、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.1 A/D转换相关根底知识转换相关根底知识 A/D转换模块转换模块Analog To Digital Convert Module即
10、模数转换模块的功能是将电压信号转即模数转换模块的功能是将电压信号转换为对应的数字信号。实践运用中,这个电压信换为对应的数字信号。实践运用中,这个电压信号能够由温度、湿度、压力等实践物理量经过传号能够由温度、湿度、压力等实践物理量经过传感器和相应的变换电路转化而来。经过感器和相应的变换电路转化而来。经过A/D转换,转换,MCU就可以处置这些物理量。就可以处置这些物理量。1采样精度:数字量变化一个最小量时模拟信采样精度:数字量变化一个最小量时模拟信号的变化量。号的变化量。 2采样速率:完成一次采样速率:完成一次A/D采样所要破费的时采样所要破费的时间。间。 3滤波:对采样的数据进展挑选去掉误差较大
11、滤波:对采样的数据进展挑选去掉误差较大的毛刺。的毛刺。 4物理量回归:把物理量回归:把A/D采样值与实践物理量对采样值与实践物理量对应起来。应起来。 9.4.2 MC68HC908GP32 A/D转换模块的存放器转换模块的存放器1A/D转换形状和控制存放器转换形状和控制存放器Analog-to-Digital Status and Control RegisterADSCR ADSCR主要功能是:选取要转换的通道、决议转换终主要功能是:选取要转换的通道、决议转换终了数据获取的方式、设置是延续转换还是一次转换。其地了数据获取的方式、设置是延续转换还是一次转换。其地址是址是$003C。数据位 D7
12、 D6 D5 D4 D3 D2 D1 D0定义COCO AIEN ADCO ADCH4 ADCH3 ADCH2 ADCH1 ADCH0复位 0 0 0 1 1 1 1 1转换完成转换完成标志位标志位A/D转换转换中断允许中断允许标志位标志位 延续转换延续转换控制位控制位通道选择通道选择 2A/D转换数据存放器转换数据存放器Analog-to-Digital Data RegisterADR ADR存放存放A/D转换的转换的8位结果,每次位结果,每次A/D转换终了更新该存放器。转换终了更新该存放器。编程从该存放器读取编程从该存放器读取A/D转换结果。该存放器地址为:转换结果。该存放器地址为:$0
13、03D,为只读,为只读存放器,复位时为存放器,复位时为$00。 3A/D转换输入时钟存放器转换输入时钟存放器Analog-to-Digital Input Clock RegisterADCLK ADCLK决议决议A/D转换的时钟频率来源、分频系数值,芯片内的转换的时钟频率来源、分频系数值,芯片内的A/D转换器要求转换器要求ADC时钟频率为时钟频率为1MHz左右。左右。ADCLK 的地址是:的地址是:$003E。ADC时钟分频时钟分频系数选择位系数选择位 ADC输入时输入时钟源选择位钟源选择位 未用未用 数据位 D7 D6 D5 D4 D3 D2 D1 D0定义 ADIV2 ADIV1 ADI
14、V0 ADICLK - - - -复位 0 0 0 1 1 1 1 1 ADC时钟要求:时钟要求: ADC时钟频率时钟频率1MHz。详细编程时根据。详细编程时根据A/D转换转换的时钟频率来源确定分频系数值,确保芯片内的的时钟频率来源确定分频系数值,确保芯片内的A/D转换器时钟频率为转换器时钟频率为1MHz左右即可。左右即可。9.4.3 A/D转换模块的根本编程方法转换模块的根本编程方法1A/D转换初始化转换初始化 LDA #%00110000 ;运用内部总线时钟,运用内部总线时钟,2分频分频 STA ADCLK ;送入存放器送入存放器ADCLK2启动启动A/D转换转换 LDA #%000000
15、00 ;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.1 A/D转换汇编言语编程实例转换汇编言语编程实例1A/D转换有关子程序转换有关子程序2A/D转换测试程序汇编主程序转换测试程序汇编主程序9.5.2 A/D转换转换08C言语编程实例言语编程实例1A/D转换有关转换有关C言语子函数言语子函数2A/D转换转换08C测试实例主函数测试实例主函数前往前往 本章共引见了两部分内容。本章共引见了两部分内容。 键盘部分:引见键盘中断模块的编程方法,并给出规范的扫描法键盘部分:引见键盘中断模块的编程方法,并给出规范的扫描法识别键值子程序、键值转为定义值子程序,及测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《创新教学与》课件
- 设计工程质量保障措施(3篇)
- 学校与外国学校交流协议书(2篇)
- 观迎南农大各位同学参加茂施公司的校园招聘宣讲会课件
- 2023年河南省信阳市公开招聘警务辅助人员(辅警)笔试模拟自测题(B)卷含答案
- 2021年河南省鹤壁市公开招聘警务辅助人员(辅警)笔试冲刺自测题一卷含答案
- 2024年浙江省湖州市公开招聘警务辅助人员(辅警)笔试高频必刷题试卷含答案
- 2024年XX系统性能优化服务合同2篇
- 《电子控制悬架系统》课件
- 2024年标准劳动协议模板一
- 自考《马克思主义基本原理概论》复习资料
- 2023年瑞安市事业单位笔试真题
- 《项脊轩志》公开课课件【一等奖】
- 2023年辽宁省工程咨询集团有限责任公司招聘笔试参考题库含答案解析
- 项目一-旅游概述-(旅游概论课件完美版)
- 职工食堂餐饮服务投标方案(技术标)
- 矿场拆除施工方案
- 移动应用开发职业生涯规划书
- JGJ406T-2017预应力混凝土管桩技术标准附条文
- 高铁桥面防水工程施工方案
- 《安全系统工程》课程设计
评论
0/150
提交评论