苏州大学实验报告-实验三键盘中断实验报告

苏州大学实验报告-实验三键盘中断实验报告

ID:33286969

大小:103.50 KB

页数:4页

时间:2019-02-23

苏州大学实验报告-实验三键盘中断实验报告_第1页
苏州大学实验报告-实验三键盘中断实验报告_第2页
苏州大学实验报告-实验三键盘中断实验报告_第3页
苏州大学实验报告-实验三键盘中断实验报告_第4页
资源描述:

《苏州大学实验报告-实验三键盘中断实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、苏州大学实验报告院、系        年级专业     姓名    学号     课程名称                      成绩     指导教师         同组实验者      实验日期     实验名称: 键盘中断实验         一.实验目的  通过该实验实习,能够熟练运用MT-IDE嵌入式开发系统环境、汇编和C语言以及调试方式;复习SCI的内容;加强键盘中断的基本原理及编程原理的理解;能够理解“行扫描”法的原理并且运用它进行键盘中断的编程。二.实验内容  理解键盘模块和键盘中断点的原理,使用“行扫描”法编写一个

2、中断方式的的键盘程序,并转化成定义值后,通过串口分别发往PC机的VB编写的界面中显示。         三.实验过程(一)接线图MCU内部电阻图1键盘接线原理图87654321行线m1m2m3m4列线n1n2n3n4(二)基本原理  GP32的A口的8根引脚与键盘中断模块(KBI)的引脚复用。作为KBI引脚时,8个引脚分别称为KBIE7-KBIE0。它们提供了以中断方式识别是否有按键按下的硬件手段。当然,如果不以中断方式识别键盘按键,可以屏蔽键盘中断,把A口作为一般I/O口对待。  CPU对键盘扫描可以采取程序控制的随机方式,CPU可以在

3、空闲时扫描键盘。也可以采用定时控制,每隔一定时间,对键盘扫描一次,CPU可以随时响应键盘输入中断。采用中断方式,当键盘上有键闭合时,键盘向CPU请求中断,CPU响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键盘输入信息作出响应处理。CPU对键盘上闭合键的键号确定,可以根据行线和列线的状态计算求得,也可以通过行线和列线的状态查表求得。 四.编程第4页(一)流程图开始开始SCI初始化子程序头文件和声明等待键盘按键中断事件的发生扫描键盘得到键值发往串口显示键盘初始化子程序查表取得键值对应的定义值设置键盘中断允许,开放总中断,把B

4、口置为输出,初始暗发往串口显示PTB=键定义值结束人工复位1?结束  图2键盘中断流程图(中断方式主程序及其中断子程序)(二)所用寄存器名称及其各个位键盘状态和控制寄存器(KeyboardStatusandControlRegister,INTKBSCR)数据位D7D6D5D4D3D2D1D0定义KEYACKKIMASKKMODEK复位00000000键盘中断允许寄存器(KeyboardInterruptEnableRegister,INTBIER)数据位D7D6D5D4D3D2D1D0定义KBIE7KBIE6KBIE5KBIE4KBIE

5、3KBIE2KBIE1KBIE0复位00000000(三)主要代码段1.汇编方式:键盘中断方式的主程序及其中断子程序部分代码……MainInit:://复位后程序从此开始执行//系统初始化SEI//关中断//1.堆栈初始化为RAM最高端LDHX#RAMEndAddr//HX=#RAMEndAddrTXS//HX->SP//2.系统初始化JSRMCUInit//初学时跳过此处//3.串行口初始化JSRSCIInit//4.B口初始化LDA#0xffSTADDRBSTAPTB//5.键盘初始化第4页JSRKB_Init//调键盘初始化子程序B

6、CLR#1,INTKBSCR//开放键盘中断(IMASK=0)CLI//开中断//程序总循环入口MainLoop:NOPNOPBRAMainLoop……键盘中断方式的子程序部分代码……//KB_Int:键盘中断处理程序-------------------------------*//功能:键盘中断程序,把键定义值从串口发送出去*//调用子程序:(1)扫描法读取键值子程序(KB_Scan)*//(2)键值转为定义值子程序(KB_Def)*//-------------------------------------------------

7、-----*KB_Int::SEI//关总中断PSHH//保护HBSET#1,INTKBSCR//禁止键盘中断NOPNOPNOPNOPNOPJSRKB_Scan//扫描键盘,读取键值->AJSRSCISend1//发送键值JSRKB_Def//转成键定义值->ACBEQA#$00,KB_Int_1JSRSCISend1//发送键定义值COMASTAPTB//小灯显示按键的ASCII码值KB_Int_1:JSRDelay1000JSRKB_InitBCLR#1,INTKBSCR//开放键盘中断(IMASKK=0)PULH//恢复HCLI//

8、开总中断RTI……2.C语言方式:键盘中断方式的主程序部分代码……//主函数voidmain(){DisableMCUInterrupt();//禁止总中断MCUInit();//芯片初始化S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。