嵌入式系统课程设计(1)14页_第1页
嵌入式系统课程设计(1)14页_第2页
嵌入式系统课程设计(1)14页_第3页
嵌入式系统课程设计(1)14页_第4页
嵌入式系统课程设计(1)14页_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统课程设计嵌入式系统课程设计一、目的 嵌入式系统课程设计为学生提供了一个理论与实践相结合的机会。既锻炼了学生动手能力,又会加深理解学生在课堂所学习的理论知识。通过课程设计可以将课本上的理论知识和实际应用有机的结合起来,培养学生又动脑,又动手,独立思考分析问题的能力,提高学生运用所学知识解决实际问题的综合素质。嵌入式系统课程设计的主要目标是:(1)掌握构建嵌入式系统软硬件平台的基本技能;(2)具备基本嵌入式系统下C语言编程能力、嵌入式操作系统基本调试的能力;(3)了解应用嵌入式系统技术开发一套嵌入式系统设备的方法。二、设计题目基于ARM的滚屏LED广告牌开发三、设计原理1、点阵LED屏硬

2、件原理EMBEST实验平台设计了一个 1616的点阵屏。点阵屏由发光LED矩阵块组成。1616点阵屏即屏上有 1616 个LED发光二极管,每个发光二极管可理解为一个像素点,它们被按着行与列的形式整齐地排列,通过控制每个LED(像素点)的亮灭,点阵屏可与计算机同步显示汉字、英文文本和图形。本实验平台的点阵屏电路如下图:图1 点阵屏的行扫描信号图2 点阵屏的列扫描信号图3 点阵屏的行驱动信号图4 点阵屏的接口电路本实验平台使用的1616点阵屏上,每一行16个LED,它们采用共阳极的接法;每一列16个LED,它们采用共阴极的接法。如上图4中,QL1QL16是点阵屏的行驱动信号,每一个信号控制一行;

3、LR1LR16是点阵屏的列驱动信号,每一个信号控制一列。故通过利用相应行线输出高电平,相应列线输出低电平,就可以点亮点阵屏上相应的LED。如果按着一定的控制或扫描方法,就可以实现汉字、图形的显示。 为了能够稳定地控制点阵屏的显示,本实验平台采用了 CD4094作为行线和列线扫描信号的控制芯片。CD4094芯片简单来说就是一串入并出的功能,将CPU的串行数据转化为并行数据输出。 如上图1与图2,行(列)扫描信号分别采用了两片CD4094级连的方式来构成,第一片的数据溢出信号LQS连接到第二片的串行数据输入口。在图1中,当CPU通过DATA引脚串行输入16位的行扫描信号时,第一片CD4094(标号

4、U1101)存储先输入的8位数据,后输入的8位数据通过引脚LQS溢出,然后输入并存储到第二片CD4094(标号U1102)。 CLK信号是时钟信号,当时钟信号为高电平时,CD4094 允许串行输入的数据发生变化。LL1LL8 是并行输出信号。LOE为全局输出使能信号,当LOE输入高电平时,CD4094 上锁存的并行数据全部输出。列线扫描信号也是同样的方式,如图2。 在图3与图4 中,行线扫描信号LL1LL16分别外接电阻(限流)后接至NPN型三极管,最后引出行线驱动信号QL1QL16。三极管提高了行线输出信号的驱动能力。在图4中,如果RQx(x为116的整数)输出低电平,那么相应的三极管导通,

5、行驱动信号 QLx(x为116的整数)将输出高电平。2. 软件设计 本实验要求编写点阵屏驱动程序以及点阵屏应用程序。驱动程序要求实现字符、图形显示;应用程序可以调用驱动接口,在点阵屏中显示字符与图形。 要在点阵屏上显示字符、图形,只需要按照字符/图形的编码,点亮矩阵屏上相应的 LED 即可。在本实验平台上,矩阵屏为 1616 点阵,每屏显示两个字符,只需要把 168 点阵的字库码送到可容纳两个字符字库码(216字节)的显示缓冲区,然后根据显示缓冲区的内容控制点阵屏上LED灯的亮灭。字库码表明了显示某个字符时点阵屏上的LED 的亮灭布局,每一个LED 灯的状态用一位二进制表示,1表示该LED 亮

6、,0表示该LED灭,对于 168点阵的字库码,每个字符的字库码所占用的存储容量为16*8/8 = 16 Byte。 在点阵屏显示驱动程序中,开辟一个显示缓冲区用来接受字库码,(字库码是由应用程序传递过来的) ,然后采用动态扫描的方法来实现字符、图形的显示。每次扫描一行,这样依次循环扫描16行,经过一定的延时处理,就可以实现字符、图片的静态显示。为了实现字符和图片的动态流动显示,还需要一个大小为可容纳3个字符字库码(316字节)的缓冲区,该缓冲区中每次保存 3 个字符的字库码。在显示过程中,为了达到流动效果,每次将该缓冲区中的前两个字符字库码的各字节左移 i 位与其后第 16 字节右移 8-i

7、位相或的结果复制到显示缓冲区中显示,直到第一个字符完全移出、第三个字符完全移入时,更新缓冲区。如此循环即可实现字符的流动显示。 在显示时,根据字库码,对点阵屏逐行动态扫描。扫描时,行线的数据与列线的数据都通过CD4094锁存起来,然后经过片选使能再同时输出。 在本设计中,使用到的通用端口有GPIOB4/5,GPIOC0/7,GPIOD10,GPIOG8,因此对它们的工作模式应配置为输出模式。四、设计要求(1)分析矩阵LED屏模块硬件原理图,了解矩阵LED屏块基本的构成及其硬件电路的基本工作原理。(2)使用ULINK2仿真器连接Embest EduKit-IV实验平台上使用Keil软件编写矩阵L

8、ED屏模块的驱动程序并调试,使得矩阵LED屏模块可以正常工作运行。(注:代码要求条理清晰,并在主要程序代码部分添加注释说明)(3)编写相应的嵌入式程序,要求实现在EMBEST开发箱矩阵LED屏左滚屏、右滚屏显示广告内容信息的子程序。(4)按下开发箱上KEY1,开发箱ADC0通道的转换数值滚屏显示在LED广告屏上,按下开发箱上KEY2,LED广告屏滚屏显示自己名字的拼音。五、实现程序代码#include 2410lib.h#include sys_init.h#include fonts.h#include led16x16.hextern void txdrdn(unsigned char n

9、);extern void txdispram(unsigned char n);extern void led_char_disp(void);extern void adc_test(void);int main(void)UINT8T rpt, i; sys_init();/ Initial systemuart_printf(n Please Look At The 16X16 LEDSn);led_init(); / Initial led diplaywhile(1)for(i=0;i176;i+)txdrdn(i);rpt=20;while(rpt-) led_char_disp

10、();#include 2410lib.h#include ziku.h#include fonts.h#include led16x16.h#define En_Dataout rGPBDAT |= 0x20#define DisEn_Dataout rGPBDAT &= 0xFFDF#define CLK_H rGPDDAT |= 0x400 #define CLK_L rGPDDAT &= 0xFBFF #define Rdata_H rGPCDAT |= 0x1 #define Rdata_L rGPCDAT &= 0xFFFE #define Ldata_H rGPCDAT |= 0

11、x1#define Ldata_L rGPCDAT &= 0xFFFE#define Lstr_H rGPBDAT |= 0x10#define Lstr_L rGPBDAT &= 0xFFEF#define Rstr_H rGPGDAT |= 0x100#define Rstr_L rGPGDAT &= 0xFEFFINT8T cTemp;INT8T cEnChange0,cEnChange1;UINT8T wangshuai= 0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x08,0x3F,0xFC,0x

12、01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00,0x08,0x20,0x08,0x20,0x08,0x20,0x4B,0xFE,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,0x12,0x2E,0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x

13、10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x

14、42,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x42,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

15、00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x42,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x18,0x00,0x04,0x00,0x02,0x00,0x02,0x00,0x42,0x00,0x44,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x

16、00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x42,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x24,0x00,0x18,0x00,0x

17、00,0x00,0x00,0x00,;UINT8T dispram32;void txdrdn(unsigned char n)/0-175UINT8T i;for(i=0;i16;i+)dispram2*i+0=wangshuai2*n+2*i+0;dispram2*i+1=wangshuai2*n+2*i+1;void txdispram(unsigned char n)UINT16T tmp;UINT8T i;if(n16)for(i=0;i=(15-n);dispram2*i+0=tmp/256;dispram2*i+1=tmp%256;if(n=16)for(i=0;i16;i+)t

18、mp=wangshuai2*i+0*256+wangshuai2*i+1;tmp=(n-15);dispram2*i+0=tmp/256;dispram2*i+1=tmp%256;void write_L4094(UINT16T data)UINT8T i; Lstr_H; for(i=0;i 1; CLK_H;Lstr_L;void write_R4094(UINT8T data) UINT8T i; Rstr_H; for(i = 0; i 1; CLK_H;Rstr_L;void led_char_disp(void)UINT8T i=0;UINT8T k=0;UINT16T x;while(i i); write_L4094(x);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论