碧波液压网 欢迎你,游客。 登录 注册

基于μC/OS-Ⅱ的显示控制系统开发

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。
液压导航网

  引 言

  随着性能的提高和价格的降低,越来越多的嵌入式应用采用了ARM处理器。在强大功能及丰富外设的支持下,嵌入式实时操作系统凭借较高的开发效率、可维护性和可靠性成为开发设计的理想选择。

  μC/OS-II是一个完整的、可移植、可裁减的占先式实时多任务内核。它是用ANSI C语言编写的,包含一小部分汇编语言代码,可以供不同架构的微处理器使用。μC/OS由美国人Jean J.Labrosse于1992年完成,1998年发展到μC/OS-II,目前的版本为μC/OS-II v2.83。2000年,μC/OS得到美国航空管理局(FAA)的认证,可以用于飞行器中。作为一个典型的嵌入式操作系统,μC/OS-II的应用非常广泛,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等等。

  本文主要讨论了μC/OS-II环境下中断按键消抖处理及LCD多级菜单显示的实现问题,并通过一款产品的实例设计阐述了中断按键的处理流程以及多级菜单显示的程序框架。

  1 显示控制系统硬件设计

  本设计采用基于Cortex-M3架构的ARM处理器LM3S1960和液晶显示器HS240128A作为显示控制系统的核心,按键采用中断的方式。显示控制系统电路原理图如图1所示。

  

  LM3S1960是Luminary公司推出的高性价比微处理器。它具有256 KBFlash,64 KB RAM,4个32位定时器,6个运动控制PWM,3个UART,2个I2C,2个SSI以及60个用户可用I/O。LM3S1960最高运行频率为50 MHz,其所有GPIO输入可触发中断,支持IRDA的UART,非常适合嵌入式控制系统。

  HS240128A是240×128图形点阵液晶显示模块,采用T6963C作为内置控制器,内置字符发生器和32 KB显示缓冲区,具有接口简单、控制指令集功能齐全的特点。

  2 中断按键消抖处理

  在按键数目较多的情况下,一般采用扫描查询的方式。本设计中按键全部采用中断的方式,主要是考虑到按键数目不多,且处理器的每一个引脚都具有中断功能,实现简单,响应速度快。

  在按键的过程中容易产生抖动,没有按键按下有时也可能会有干扰脉冲,如果不加以处理,容易引起误操作。所以,消除抖动是按键处理的必要过程。在一般的处理器中,消抖处理多采用延时判断的方法,这种方法不适合在操作系统中实现。因为在中断中加入大的时延,会大大降低系统的实时性和响应速度,所以本设计采用图2所示的处理方法。

  

  图2(a)为按键中断处理程序流程。为了提高中断的实时性,在中断处理过程中尽可能进行少的操作。本设计中只进行了保存键值和发送按键中断信号量的操作,大大提高了中断响应的实时性。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论