1、 课程设计报告课程设计报告 题题 目目 基于基于 UCOSII的的 LCD驱动设计驱动设计 专专 业业 通信工程通信工程 学学 号号 授课班号授课班号 学生姓名学生姓名 指导教师指导教师 摘要摘要 近年来,嵌入式系统的应用已经越来越普及,对人类社会产生了巨大的影 响。C/OS-II 作为一种高可靠性的实时嵌入式操作系统已经被广泛使用在实际 中,并且其具有简单易学、便于移植等特点。 本文综述了嵌入式系统发展现况,分析了 C/OS-II 内核及其应用在 8051 单片机上的特点,并介绍了 C/OS-II 编写驱动的方法和规则。 本设计以 Keil C51 为开发环境,通过修改函数使其可重入、修改堆
2、栈设计 等步骤, 将 C/OS-II 移植到了 89C51 单片机上, 并编写了单片机上的 LED 模块、 键盘模块及串行通讯模块的驱动,验证了移植 C/OS-II 的正确性。LCD 是嵌入 式操作系统的重要组成部分,是系统和用户之间进行交互和信息交换的媒介,它 实现信息的内部形式与人类可以接受形式之间的转换。 用户可以只通过 LCD 监测 系统内部运行状态,然后作出相应的处理。因而具有良好的人机界面的嵌入式操 作系统能过很好的完成系统开发、生产生活的需要! 关键词:C/OS-II;8051 单片机;移植;驱动程序 绪言绪言 1.ucos-II 的简介及特点 (1)简介 C/OS-II 由 M
3、icrium 公司提供,是一个可移植、可固化的、可裁剪的、占先 式 多任务实时内核,作者是 Micrium 公司总裁 Jean J.Labrosse。由于 C/OS-II 的绝大部分代码是用 ANSI C 写的,因此可以较为方便的移植到多种微处理器, 微控制器和数字处理芯片中(目前已经移植到超过 100 种以上的微处理器应用 中) 。 同时, 该系统源代码开放、 整洁、 一致, 注释详尽, 适合系统开发。 C/OS-II 已经通过联邦航空局 (FAA) 商用航行器认证, 符合航空无线电技术委员会 (RTCA) DO-178B 标准,虽然这一特性对用户的需求并不一定实用,但却可在一定程度上 证明
4、该系统的稳定和安全性。 (2)特点 1、公开源代码:源代码完全公开; 2、可移植性强:和处理器硬件相关的部分是用汇编些的,绝大部分是用 C 语言 写的,可移植性很强;可以移植到 8、16、32、64 位处理器上运行; 3、可固化:可固化到产品中,称为嵌入式产品的一部分; 4、可裁剪:应用程序可以只使用需要的系统服务。 5、抢占式内核:意味着操作系统总是运行优先级最高的就绪任务, 6、多任务:ucosii 可以管理 64 个任务,提供给用户用的是 56 个,系统保留 8 个任务。 7、任务栈: 每个任务有自己单独的栈; 8、系统服务:ucosii 提供很多系统服务,如邮箱、消息、信号量、时间相关
5、函 数。 9、中断管理:可以使暂时执行的任务暂时挂起,如果高优先级的任务被中断唤 醒,则去执行更高优先级的任务。 二、课题目标及总体方案二、课题目标及总体方案 首先学习了解LCD的驱动程序,然后在移植好的UCOSII项目中添加LCD的驱动 程序, 最后能够在 uCOSII 下, 编写 LCD 应用任务的简单编程实例, 来检验 LCD 驱动程序的完好度。本实验实例为在 LCD 屏上显示跑马灯,同时模拟 CPU 板上 D7、D8 灯的交替闪烁,闪烁周期为跑马灯周期。 1. LCD1. LCD 驱动程序组成驱动程序组成 LCD 驱动程序的文件夹 Gui(如图 1 所示),其中,包括四个文件夹: Fo
6、nt 中存放的是字体文件,存放四个文件,Font_Cn12.c 为调用汉字库 12X12 汉字的引用文件;Font_Cn16.c 为调用汉字库 16X16 汉字的引用文件; Font8X16 为调用 ASCII 码的源文件,它的大小为 8X16;Gchar.c 为显示字符的 源程序库。 Glib 中存放绘图的中层和上层的函数,上层函数是直接供用户调用的 API, 。Glib 文件夹内存放两个文件,Glib.c 是图形显示库的源代码,它主要实 现 LCD 的中层和上层供用户调用的 API 函数,Glib.h 则是供其他文件或自身调 用的头文件。 Init 中存放 GUI 初始化的函数,Init 文件夹内存放两个文件,data.h 是 数据类型重定义的文件,GUI_Init.c 是 GUI 系统的初始化文件。 Lcddriver 中存放的是 LCD 的底层驱动函数,以及对 LCD 控制器的初始化 函数。Lcddriv