嵌入式键盘中断论文

嵌入式键盘中断论文

ID:14554340

大小:394.00 KB

页数:15页

时间:2018-07-29

嵌入式键盘中断论文_第1页
嵌入式键盘中断论文_第2页
嵌入式键盘中断论文_第3页
嵌入式键盘中断论文_第4页
嵌入式键盘中断论文_第5页
资源描述:

《嵌入式键盘中断论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、湘南学院课程设计报告课程名称:嵌入式系统设计题目:键盘驱动专业班级:学生姓名:学生学号:指导老师:2013年12月23日目录1.概述11.1背景11.2设计要求11.3开发环境11.4关键技术12.概要设计22.1、软件结构22.2、各功能模块设计22.2.1S3C2410的I/O介绍………………………………………..22.2.2S3C2410中断介绍…………………………………………...32.2.3按键驱动………………………………………………………..43.详细设计与实现73.1、界面说明73.2、程序流程83.3、关键代码84.测试分析124.1.测试方法12

2、4.2测试用例124.3测试结果125.小结13参考文献13嵌入式课程设计报告1.概述1.1背景许多嵌入式系统,尤其是一些人机交互(HMI)较频繁的嵌入式系统,键盘是一种应用最为广泛的输入设备。由于嵌入式设备的功能互异性,为其提供一种通用性键盘是不可行的,一般都需要根据嵌入式系统的实际功能来设计所需的特殊键盘,并实现相应的驱动程序。在嵌入式设备上扩展键盘的常用方式是通过使用CPU的GPIO端口扫描实现的,显然,这种方式会占用系统的GPIO资源,特别是在GPIO资源比较紧张而按键又较多的系统,这个问题就特别突出。当然,也可以通过外扩GPIO(如8255等)或外扩专用

3、的键盘接口(如8279等)方式实现,但这种方式显然增加了系统的复杂度,在实际系统设计中颇感不便。因此我们将借用嵌入式知识用软件来实现键盘驱动程序。1.2设计要求用户设计行列键盘接口,一般常采用三种方法读取键值。一种是中断式,另外两种是扫描法和发转法。键盘扩展我们将采用SPI接口的键盘显示控制芯片ZLG7289。所包含的功能应该有:硬件中断,按键识别,键值显示。1.3开发环境硬件环境:S3C2410嵌入式开发板,JTAG仿真器。软件环境:PC机操作系统Win98,Win2000或WinXP,ADS1.2集成开发环境,仿真器驱动程序,超级终端驱动程序。1.4关键技术中

4、断式技术的应用,在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个按键被按下。本实验采用中断式实现用户键盘接口。中断源向CPU发出中断请求,若优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好被中断主程序的断点及现场信息。然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段,这就是中断响应。CPU响应中断是有条件的,如内部允许中断、中断未被屏蔽、当前指令执行完等。CPU响应中断以后,就会终止当前的程序,转去执行一个中断服务子程序,以完成为相应设备的服务。-13-嵌入式课程设

5、计报告a.保护现场(由一系列的压栈指令完成)。目的是为了保护那些与主程序中有冲突的寄存器,(如R0,R1,R2等),如果中断服务子程序中所使用的寄存器与主程序中所使用的寄存器等没有冲突的话,这一步可以省略。b.中断处理,中断处理程序在检查到相应的中断源后,调用对应的中断处理程序完成。c.恢复现场并返回(由一系列的出栈指令完成)。是与保护现场对应的,但要注意数据恢复的次序,以免混乱。由于中断服务子程序需要打断主程序的执行,因此其处理应该及时完成,较长时间的延时将导致系统性能严重下降。2.概要设计2.1、软件结构初始化部分。这部分包括硬件层和软件层上的初始化。在本例中

6、,需要先对矩阵电路和SN74hc164芯片所使用到的GPIO端口作配置,以使CPU可以对它们进行控制和访问。为了要将某个GPIO端口配置成输入输出或者是中断源,需要在对应的GPIO控制寄存器中设置正确的值,具体的值可以通过查阅S3C2410开发板手册来获得。比如,为了将GPB1设置成SN74hc164的输入端,需要将GPBCON这个控制字中2,3两位设置成二进制的01,为了将GPG6设置成电压低跳变中断源,需要将GPGCON中12,13两位设置成二进制的10。在完成了硬件初始化操作以后,就是软件层上的初始化了。首先将键盘中断处理函数注册到系统,然后设置好一个定时器

7、结构,以便在中断发生时将其挂到内核的定时器队列中去,该定时器将触发对键盘的扫描操作。最后通过SN74hc164将矩阵电路的16列置零。2.2、各功能模块设计2.2.1S3C2410的I/O介绍(1)输入输出端口引脚:PortA(GPA):32个输入/输出端口PortB(GPB):11个输入/输出端口PortC(GPC):16个输入/输出端口PortD(GPD):16个输入/输出端口PortE(GPE):16个输入/输出端口PortF(GPF):8个输入/输出端口PortG(GPG):16个输入/输出端口PortH(GPH):11个输入/输出端口-13-嵌入式课程设

8、计报告(2

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

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

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