8255并行接口键盘实验
实践
四川大学网络教育学院
计算机综合实践
校外学习中心: 学 生 专 层 年 学 实 践 时 姓 名:
成都市
业: 电气工程及其自动化 次: 级: 号: 间: 专升本 09 春
实践
1、掌握 8255A 的功能及方式 0、1 的实现 实 2、熟悉 8255A 与 CPU 的接口,以及传输数据的工作原理及编程方法。 验 3、利用 09H 型中断设计一个自己的键盘中断服务程序,程序设计应考虑在 退出时不破坏原有的设置。 目 的
1 、8255 的工作方式实 验
一片 8255 内部有 3 个端口, A 口可以工作在方式 0、 方式 1 或方 式 2,B 口可以工作在方式 0、方式 1,C 口可以工作在方式 0。 方式 0 是基本型输入/输出。这种方式和外设交换数据时,8255 端口与外设之间不使用联络线。 方式 1 为选通型输入/输出。用这种方式和外界交换数据时,端 口和外设之间要有联络信号。 方式 2 是双向数据传送,仅 A 口有这项功能。当 A 口工作在方 式 2 时,B 口仍可以工作在方式 0 或方式 1,但此时 B 口方式 1 只能用查询方式与 CPU 交换信息。 2.、工作方式选择字 8255 工作方式选择字共 8 位,存放在 8255 控制寄存器中。最高 位 D7 为标志位,D7=1 表示控制寄存器中存放的是工作方式选 择字, D7=0 表示控制寄存器中存放的是 C 口置位 / 复位控制 字。 3 、C 口置/复位控制字 8255 的 C 口可进行位操作,即:可对 8255C 口的每一位进行置 位或清零操作,该操作是通过设置 C 口置/ 复位字实现的(图 8-10) 。C 口置/复位字共 8 位,各位含义如下:
内 容
实践
4、 命令字与初始化编程 8255 有两个命令字,即方式选择控制字和 C 口置 0/置 1 控制字, 初始化编程的步骤是: ① 向 8255 控制寄存器写入“方式选择控制字” ,从而预置端口 的工作方式。 ②当端口预置为方式 1 或方式 2 时,再向控制寄存器写入“C 口 置 0/置 1 控制字” 。这一操作的主要目的是使相应端口的中断允 许触发器置 0,从而禁止中断,或者使相应端口的中断允许触发 器置 1,从而允许端口提出中断请求。 注意: “C 口置 0/置 1 控制字”虽然是对 C 口进行操作,但是该 控制字是命令字, 所以要写入控制寄存器, 而不是写入 C 口控制 寄存器。 ③ 向 8255 数据寄存器写入“数据”或从 8255 数据寄存器读出 “数据” 。 键盘驱动的主要作用就是实时监测外部按键中断, 一旦发现外部算 法
有键按下就向内核发送键盘消息实现键盘输入功能。 键盘驱动创 建了中断服务线程和 4 个键盘中断事件, 每行按键对应一个键盘
与 中断事件。有键被按下时,中断服务例程得到对应的中断标识符 流 程 图
并报告给系统任务调度进程,同时产生键盘中断事件,键盘中断
服务线程响应键盘中断事件,开始扫描矩阵键盘。根据产生的中
实践
断事件类型不同,可以首先确定被按下键的行位置。由于键盘被 按下后, 该键对应的行和列被连通, 因此根据判断各列对应的 I/O 口的电平, 可以得到被按下键的列位置; 得到按键的准确位置后, 通过向操作系统发送键盘消息 KEYBD_EVENT,实现一次键盘输 入 。 循 环 扫 描 键 盘 , 直 到 按 键 被 弹 起 则 发 送 KEYEVENTF_KEYUP 事件。响应键盘中断输入的整个流程如 图。
1、 在 OAL 层加入中断源
矩阵键盘采用 4 路 I/O 口中断,每路中断对应 1 个中断源。矩阵 键盘驱动首先要在 OAL 层加入这些中断源。以其中一路中断为 例: #define SYSINTR_KEYONE(SYSINTR_FIRMWARE+0) 2 、中断 服务例程(ISR)设计 本键盘驱动将 GPIO_6、GPIO_7、GPIO_16、GPIO_17 四个 I/O
实践
口作为中断 I/O 口。有键被按下时将产生一个 I/O 中断,内核首 先进入异常中断处理程序,由它屏蔽所有中断,再调用中断服务 例程 ISR 得到该中断的逻辑中断标识。 鉴于 ISR 的任务比较单一, ISR 通常都要求越短、 越快越好。 矩阵键盘驱动的 ISR 设计如下: if(v_pGPIOReg ﹥ GEDR_x & GPIO_6) {// 中 断 触
发 v_pGPIOReg﹥GEDR_x = GPIO_6;//清除中断 return SYSINTR_KEYONE;// 返回中断标识 } 其他三路中断的 ISR 设计与此类似。 3、中断服务线程(IST)设计 中断服务例程以键盘中断的逻辑中断标识符形式返回给系统任 务调度进程, 中断服务线程则在矩阵键盘驱动中负责具体中断处 理。因为中断服务例程较小,并且只做很少的处理工作,中断服 务线程就必须完成大多数中断处理工作,功能主要包括响应中 断、扫描按键位置、发送键盘消息等。 矩阵键盘驱动的 IST 设计如下:矩阵键盘驱动设计了 4 个中断 事件 HANDLE hKEYEvents, 分别对应矩阵键盘 4 行产生的中断。 在矩阵键盘驱动的 IST 中,调用 CreateEvent 函数创建 4 个事件 对象,接着调用系统函数 InterruptInitialize 完成中断和事件的关 联并使能中断。完成这些初始化工作后,就可以调用 WaitForMultipleObjects (hKEYEvents) 函数进入键盘事件的等待 队列中。当有事件被捕获后,根据不同的事件类型进入不同的键 盘扫描处理程序以其中一路中断为例进行实验
实践
switch (dwEvent WAIT_OBJECT_0){//事件类型 case 0://第 1 程 行键盘有键按下 序 清 单
v_pGPIOReg ﹥ GPDR_x &= ~ (GPIO_13);// 设 为 输 入 v_pGPIOReg ﹥ GPDR_x |= (GPIO_6);// 中 断 I/O 输
出 v_pGPIOReg﹥GPCR_x |= (GPIO_6);//输出低电平 while(!(v_pGPIOReg ﹥ GPLR_x & GPIO_13)) {// 扫描矩阵键 盘,判断按键列位置 if(num==1)//第 1 次连发延时 400 ms Sleep(100);//按键延时去抖 if(!(v_pGPIOReg 置 计数 ﹥ GPLR_x & GPIO_13)){// 列 位 Sleep(400);
else
keybd_event('0' ,0x71, 0, 0);// 发键盘消息 } else{
num++;// 连发
if((v_pGPIOReg->GPLR_x & GPIO_13)&&num>0){ num=0;//按键弹起 keybd_event('0',0x71, KEYEVENTF_KEYUP, 0);} } }
实践
按键被弹起发送 KEYEVENTF_KEYUP 事件
运 行 结 果
通过 8255 并行键盘接口实验,对课本上的知识有了更深刻的理解,掌握 8255A 的功能及方式 0、1 的实现,熟悉 8255A 与 CPU 的接口,以及传输数 据的工作原理及编程方法。通过现实中的操作,让我对现在所学的知识产 生了更大的兴趣,为以后的进一步学习定下了良好的基础。
调 试 分 析 和 体 会
查 阅 资 料 目 录
串口设计与分析
实践
格式要求
内页正文内容:4号宋体、单倍行距
如需附图可将文档图纸压缩后上传
…… 此处隐藏:1615字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




