您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁体中文

基于SmallRTOS51的PS/2键盘驱动程序开发,PS/2键盘,驱动程序,嵌入式操作系统

引言随着嵌入式系统的发展,嵌入式软件向软件平台的靠近,单片机软件设计不再是单一线程结构方式,而是逐步采用多任务的设计思想,实时操作系统使得实时应用程序的设计、扩展和维护变得更容易,无需大的改动就可以增加新的功能。然而随着任务的增加,要求输入的数据也会增加,类型也呈多样化,如果仍然用矩阵式扫描键盘,势必浪费单片机巨大的资源,且增加了成本。若用PC机标准PS/2键盘取而代之,将可解决以上矛盾,本文介绍基于实

引言

随着嵌入式系统的发展,嵌入式软件向软件平台的靠近,单片机软件设计不再是单一线程结构方式,而是逐步采用多任务的设计思想,实时操作系统使得实时应用程序的设计、扩展和维护变得更容易,无需大的改动就可以增加新的功能。然而随着任务的增加,要求输入的数据也会增加,类型也呈多样化,如果仍然用矩阵式扫描键盘,势必浪费单片机巨大的资源,且增加了成本。若用PC机标准PS/2键盘取而代之,将可解决以上矛盾,本文介绍基于实时操作系统Small RTOS51的PS/2键盘驱动程序的设计,具有响应快,移植性强,占用资源少等优点。

1、驱动的设计 驱动的实现一般可用以下几种方法:1)使用任务编写,2)使用消息编写;3)使用信号量编写,PS2键盘既不需要CPU周期服务,又不具有自己的中断设备,但为了实现实时响应,本驱动采用中断方式,利用全局变量传递数据,并在中断服务程序唤醒处理任务。

1.1 中断服务程序

驱动程序使用中断接收案件的部分扫描码,并使用全局变量缓存它们,使用一个任务处理这些描述码来获取按键键值。通过对各种按键扫描码的分析,可将扫描码分为下列3种情况:a,普通按键。通码为唯一标识自己的1个字节,断码为2个字节,第1字节为F0H,第2字节为通码。b、功能键,如CTR。通码第1字节为E0H,第2字节为区别于其他按键的标识码;断码有3个字节,分别为E0H、F0H和标识码。c、组合键,如G。得到G的按键顺序是:按shift,按g,释放g,最后释放shift,所以扫描码应为:12H,34H,F0H,34H,F0H,12H。
由以上分析可知,无论是何种按键,只要知道扫描码的前两个字节,就可以确定哪个按键或那些综合键被按下,并可通过查找表找到相应的ASCII码。这样,只接收2个字节,就可大大减少中断次数,节省CPU资源。中断程序如下:


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj