1、 学 院:计算机科学与信息工程 专 业:计算机科学技术 学 号: 姓 名: 提交日期: 嵌入式系统课程设计报告 2012-2013 学年第 1 学期嵌入式操作系统课程设计报告 1 【设计题目】 矩阵 LED 字符显示控制系统设计 【设计目的】 1掌握无操作系统下的硬件软件设计原理和方法; 2进一步熟悉 ARM 处理器的基本结构、指令集、存储系统以及基本接口编程; 3熟悉嵌入式系统各部件的硬件初始化过程以及基本 IO 控制方法。 4掌握矩阵 LED 的应用原理 【设计内容】 1利用 sys_init 初始化程序,利用串口实现 PC 和开发板的数据通信; 2编写S3C2410X 处理器的点阵屏驱动
2、程序; 3编写 S3C2410X 处理器的点阵屏应用程序。 要求:要求:当程序运行时显示一个 LOG 标志,系统然后等待要求从串口输入学生姓名 的字符串在矩阵 LED 上显示出来。 【实验环境】 硬件:Embest EduKit-IV 平台,ULINK2 仿真器套件,PC 机; 软件:Vision IDE for ARM 集成开发环境,Windows 98/2000/NT/XP。 【相关知识综述】 一、硬件部分一、硬件部分 1、点阵屏的结构电路 图 1 点阵屏的结构电路 图上 QL1-QL16 为行驱动信号,每个信号控制一行, LR1LR16 是点阵屏的列 驱动信号,每一个信号控制一列。当行信
3、号为高电平而列信号为低电平,对应的 LED 就会亮。 2、S3C2410 与点阵屏的连接 2012-2013 学年第 1 学期嵌入式操作系统课程设计报告 2 图 2 S3C2410ARM 处理器与两片 CD4094 连接得到 16 位行选信号图 以上电路可以通过 S3C2410GPIO 口把 CPU 的并行数据(16 位两个字节的 数据)打入到两个 CD4094 芯片中并锁存起来变成 LL1-LL16 的行选信号。 各信号的作用如下表 1; 2410 引 脚 CD4094 信号 电 平 高低 各信号的作用 GPB4 STORBE (RSTR ) 高 行锁存允许,将串行数据大入到 CD4094
4、相应位 低 不锁存 GPB5 LOE 高 CD4094 上锁存的并行数据全部输出(输出使能) 低 CD4094 上锁存的并行数据不输出 GPD10 CLK 高 CD4094 允许串行输入的数据发生变化 低 CD4094 不允许串行输入的数据发生变化 GPC0 DATA 高 表明串行数据为 1 低 表明串行数据为 0 GPG8 STORBE LSTR 高 列锁存允许,将串行数据大入到 CD4094 相应位 低 不锁存 3点阵屏的保护电路 图 3 点阵屏的保护电路图 CD4094 1#芯片 LL1 LL8 LL7 RSTR DATA CLK STROBE CD4094 2#芯片 LL9 LL16
5、LL15 DATA CLK GPB5 LQS GPC0 GPD10 GPB4 GPG8 STROBE LOE LOE LSTR 列锁存信号 2012-2013 学年第 1 学期嵌入式操作系统课程设计报告 3 为了保护 LED 屏加了对应的电阻实现行限流作用,即 LL1-LL16 变为 RQ1-RQ16 4LED 的驱动 加入行驱动电路的目的是实现 LED 灯的驱动。 这样由 RQ1-RQ16 变为行驱动 信号 QL1-QL16。Q11-QL16 为图 1 中的行驱动信号。 图 4 行驱动电路 【设计思路】 1程序主流程图 通过 PC 超级终端输入要显示的字符串 将显示字符对应的 16 个字符码
6、放入 ASCII 缓冲 区 显示 32 个字节显示缓冲区的内容 更新显示缓冲区 系统初始化,为应用程序提供硬 件支持 LED 初始化(主要是 s3c2410CPU 与 CD4094 连 接的引脚进行初始化) 开始 2012-2013 学年第 1 学期嵌入式操作系统课程设计报告 4 216*16LED 距阵字符显示(显示两个显示缓冲区的数据共 32 个字节的显示数 据) 【源程序清单】 1、static void refresh_l_display_array(u8 bits, u8 *str) u32 i; u32 remaining_bits = 8-bits; int m; int n; for(m = 0;m remaining_bits); l_display_array2*(i+1)-1 = (*(str+16)remaining_bits); str+; 2、static void l_display_scroll ( u8 *str ) int i; for(i=0;i0;i-) refr