这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 毕业设计专区 » 基于IAP15F2K61S2的多功能广告显示牌

共1条 1/1 1 跳转至

基于IAP15F2K61S2的多功能广告显示牌

专家
2013-01-14 15:48:09     打赏

作者:北华航天工业学院 汪天浩 何涌霖 张刚
指导教师:焦智 张洁

  作品简介

  开发背景:随着经济和科技的发展,我们现在生活的时代也因而进入了信息量激增的时代,在这种背景下,传统意义上的广告牌的显示效果已经满足不了人们的需求,所以我团队经过仔细的调查和研究,开发了此次比赛的作品基于IAP15F2K61S2的多功能广告显示牌。
  结构说明:本作品经过IAP15F2K61S2单片机的控制可以完成诸如时钟显示、温度显示、湿度显示、广告显示、火灾报警等功能。现在是节约型社会而LED最突出的优点在于节能、环保、使用寿命长,LED采用3.75(红绿)双色点阵模块(共阳),工作电压为标准的5V,使用寿命大于100000小时,双色点阵实际显示颜色为三色(红绿都亮为黄色),若通过PWM控制则能产生更多颜色。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。况且经过串口方式操作单片机方便、简洁,可实时播放文字等需要传达的信息。行驱动采用74HC138译码器+74HC4593行驱动功率管,列驱动采用74HC595串入并出芯片。
  功能:本产品通过单片机IAP15F2K61S2单片机的控制,可以完成诸如时钟显示,温度显示,湿度显示,广告显示、串口改字等功能,可用于公交车站台、公交车上、大型商场门口播放实时天气信息、商家促销信息或其余广告。
  使用说明:时钟显示用到DS1302芯片、温度显示用到DS18B20温度传感器、湿度显示用到DHT11湿度传感器、火灾报警用到烟雾传感器、广告显示则为单片机控制、串口控制为单片机与微机通信。前几种功能的切换可以用单片机开发板上板载的4*4矩阵键盘模块控制,同时时间调节等也可用矩阵键盘调节。

  平台选型说明

  本项比赛一律使用大赛指定开发板进行比赛,开发板包括FPGA开发板(以Xilinx Spartan-3E 系列芯片为控制核心)、PSOC开发板(以CY8C3866AXI-040芯片为控制核心)、单片机开发板(以STC15F2K61S2芯片为控制核心)、嵌入式开发板(以Freescale MK10DN512ZVLL10芯片为控制核心),各参赛队伍根据实际情况选择一款开发板参赛。为了本产品的功用性和简洁性,我团队选用单片机开发板,STC15F2K61S2芯片,此款芯片相对传统型8051芯片拥有更多强大的功能。

  设计说明

  原理图:  

   (此原理图原图很大,已包含在文件夹中)

  设计原理:
  ①8*8双色点阵内部原理图如下图所示:  


(本点阵采用共阳,选通端为高电平)

  具体原理:
  可知,1~8为点阵选通端(低电平选通),9~24为数据选通端(高电平有效),具体显示原理为单片机处理好待显示的数据,通过电脑(上位机)生成字模,存储在单片机ROM中,调用ROM中字模显示在点阵屏幕上。
  ②行驱动原理:
  行驱动选用74HC138译码器+74HC4953行驱动管,具体引脚排列如下图:  

   具体原理:
  ⑴74HC138:译码器可接受3位二进制加权地址输入(A0, A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。
  ⑵74HC4953:每一显示行需要的电流是比较大的,要使用行驱动管,每片4953可以驱动2个显示行。其内部是两个CMOS管,1、3脚VCC,2、4脚控制脚,2脚控制7、8脚的输出,4脚控制5、6脚的输出,只有当2、4脚为“0”时,7、8、5、6才会输出,否则输出为高阻状态(漏极开路)。
  选用理由:如果用传统的驱动芯片(行74HC595列74HC595)不是不可以,但是由于芯片的驱动能力有限(拉电流灌电流有限)每行亮的灯数量不同,造成每行的亮度不均匀。如果选用我团队设计的原理,相当于行驱动直接接高电平(通过74HC4953行驱动管),只要电源电流足够,便不会出现亮度不均现象,为了留有余量,我们每个74HC4953行驱动管只驱动了二行,而正常情况下可驱动四行,同时74HC138 +74HC4953组合操作逻辑简单,价格便宜,如果元器件损坏很容易检测。

  ③列驱动原理:
  列驱动选用74HC595芯片:由设计原理①可知驱动列选项要32个IO口,这也只是针对16*32点阵来说,而8051单片机只有通用型IO口32个,就算是本次采用的升级性8051单片机也只有38个IO口,如果级联起来,单片机的IO口显然不够用,所以团队自然而然想到了串入并出芯片74HC595。  

   74HC595芯片如作图所示,74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SHcp的上升沿输入到移位寄存器中,在STcp的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
  8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。
  将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。
        输出能力:并行输出,总线驱动; 串行输出;标准中等规模集成电路
  595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
  真值表:  

   可以完美的解决单片机IO口不足的问题。

  ④接口的设计:
  作品采用标准08接口,定义如下
  GND A
  GND B
  GND C
  EN D
  R1 G1
  R2 G2
  GND STR
  GND CLK

  ⑤电源的设计:
  没有一个好的电源系统是设计不出一个好的电子系统的,由于LED点阵屏幕需要大电流,正常情况下大分辨率的LED显示屏需要很大的电流,而本作品只是一个示范作品,本着认真的态度,本团队还是制作了220V转5V电流最大值4A的开关电源(远超16*32点阵屏需要电流)。图片如下:  

   ⑥上位机的设计:  

   如上图所示,上位机可以完成串口换字功能,点阵运行记录的查看等功能。

  ⑦外围电路的设计:
  时钟显示用到DS1302芯片、温度显示用到DS18B20温度传感器、湿度显示用到DHT11湿度传感器、火灾报警用到烟雾传感器,具体外围电路如下图所示。  

   附录:
  ① 点阵固定显示测试程序:
  #include
  //74HC595管脚定义
  sbit STR=P1^3; //锁存
  sbit CLK=P1^2; //时钟
  sbit RData= P1^1; //红 数据
  sbit GData= P3^3; //绿 数据
  sbit E= P0^0; //使能
  unsigned char code hanzi[2][32]={
  /*-- 文字: 成 --*/
  /*-- 黑体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x00,0xD8,0x00,0xD8,0x3F,0xFC,0x3F,0xFC,0x30,0xC0,0x30,0xC0,0x3E,0xD8,0x3E,0xD8,
  0x36,0xD8,0x36,0x70,0x36,0x60,0x6E,0xE6,0x61,0xB6,0xC3,0x1E,0x42,0x0C,0x00,0x00,
  /*-- 文字: 功 --*/
  /*-- 黑体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x00,0xC0,0x00,0xC0,0xFC,0xC0,0xFC,0xC0,0x33,0xFC,0x33,0xFC,0x30,0xCC,0x30,0xCC,
  0x30,0xCC,0x30,0xCC,0x3D,0x8C,0xFD,0x8C,0xE3,0x0C,0x0E,0x3C,0x04,0x38,0x00,0x00,
  };
  void sendbyteRG(unsigned char bbyte1)
  {
  unsigned char i;
  for(i=0;i<8;i++)
  {
  RData=~bbyte1&0x80; //取高位
  CLK=0; CLK=1;
  bbyte1<<=1;
  }
  }
  void main(void)
  {
  unsigned char i;
  while(1)
  {
  P1=0XFF;
  for(i=0;i<16;i++)
  {
  // E=0;
  sendbyteRG(hanzi[0][i*2]);
  sendbyteRG(hanzi[0][i*2+1]);
  sendbyteRG(hanzi[1][i*2]);
  sendbyteRG(hanzi[1][i*2+1]);
  P2=i;
  STR=0;STR=1;
  E=1;
  }
  }
  }

  ② 点阵移动显示:
  #include
  //74HC595管脚定义
  sbit STR=P1^3; //锁存
  sbit CLK=P1^2; //时钟
  sbit RData= P1^1; //红 数据
  sbit GData= P3^3; //绿 数据
  sbit E= P0^0; //使能
  unsigned char code shuzi[12][32]={
  /*-- 文字: 20 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x18,0x42,0x24,0x42,0x42,0x42,0x42,0x04,0x42,
  0x04,0x42,0x08,0x42,0x10,0x42,0x20,0x42,0x42,0x24,0x7E,0x18,0x00,0x00,0x00,0x00,
  /*-- 文字: 12 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3C,0x70,0x42,0x10,0x42,0x10,0x42,0x10,0x04,
  0x10,0x04,0x10,0x08,0x10,0x10,0x10,0x20,0x10,0x42,0x7C,0x7E,0x00,0x00,0x00,0x00,
  /*-- 文字: 航 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x10,0x40,0x20,0x20,0x7C,0x00,0x45,0xFC,0x64,0x00,0x54,0x00,0x54,0xF0,0xFC,0x90,
  0x44,0x90,0x64,0x90,0x54,0x90,0x54,0x92,0x44,0x92,0x45,0x12,0x55,0x0E,0x8A,0x00,
  /*-- 文字: 信 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x08,0x40,0x08,0x20,0x0B,0xFE,0x10,0x00,0x10,0x00,0x31,0xFC,0x30,0x00,0x50,0x00,
  0x91,0xFC,0x10,0x00,0x10,0x00,0x11,0xFC,0x11,0x04,0x11,0x04,0x11,0xFC,0x11,0x04,
  /*-- 文字: 华 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x08,0x80,0x08,0x88,0x10,0x90,0x30,0xE0,0x51,0x80,0x96,0x84,0x10,0x84,0x10,0x7C,
  0x11,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
  /*-- 文字: 航 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x10,0x40,0x20,0x20,0x7C,0x00,0x45,0xFC,0x64,0x00,0x54,0x00,0x54,0xF0,0xFC,0x90,
  0x44,0x90,0x64,0x90,0x54,0x90,0x54,0x92,0x44,0x92,0x45,0x12,0x55,0x0E,0x8A,0x00,
  /*-- 文字: 电 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,
  0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x0A,0x01,0x02,0x01,0x02,0x00,0xFE,
  /*-- 文字: 子 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x00,0x00,0x7F,0xF8,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x00,0xFF,0xFE,
  0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,
  /*-- 文字: 通 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x00,0x00,0x47,0xF8,0x20,0x10,0x21,0xA0,0x00,0x40,0x07,0xFC,0xE4,0x44,0x24,0x44,
  0x27,0xFC,0x24,0x44,0x24,0x44,0x27,0xFC,0x24,0x44,0x24,0x54,0x54,0x08,0x8F,0xFE,
  /*-- 文字: 信 --*/
  /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
  0x08,0x40,0x08,0x20,0x0B,0xFE,0x10,0x00,0x10,0x00,0x31,0xFC,0x30,0x00,0x50,0x00,
  0x91,0xFC,0x10,0x00,0x10,0x00,0x11,0xFC,0x11,0x04,0x11,0x04,0x11,0xFC,0x11,0x04,
  /*-- 文字: 队 --*/
  /*-- 宋体12; 此字体下
        应的点阵为:宽x高=16x16 --*/
  0x00,0x40,0x7C,0x40,0x44,0x40,0x48,0x40,0x48,0x40,0x50,0x40,0x48,0x40,0x48,0x40,
  0x44,0xA0,0x44,0xA0,0x44,0xA0,0x69,0x10,0x51,0x10,0x42,0x08,0x44,0x04,0x48,0x02,
  };
  void sendbyteRG(unsigned char bbyte1)
  {
  unsigned char i;
  for(i=0;i<8;i++)
  {
  RData=~bbyte1&0x80; //取高位
  CLK=0; CLK=1;
  bbyte1<<=1;
  }
  }
  void main(void)
  {
  unsigned char i,j;
  unsigned char dispcount;
  unsigned char col=0;
  unsigned char CharNum0;
  unsigned char F;
  while(1)
  {
  P1=0XFF;
  dispcount = 50;
  for(j=0;j
  {
  for(i=0;i<16;i++)
  {
  // E=0;
  F = 2*i+col;
  if(F >= 32)
  F=F+32;
  sendbyteRG(shuzi[CharNum][F]);
  sendbyteRG(shuzi[CharNum][F+1]);
  sendbyteRG(shuzi[CharNum+1][F]);
  sendbyteRG(shuzi[CharNum+1][F+1]);
  P2=i;
  STR=0;STR=1;
  E=1;
  }
  }
  col+=2;
  if(col >= 32)
  {
  CharNum+=2;
  col = 0;
  }
  if(CharNum==10)
  {
  ChaNum=0;
  i=0;
  }
  }
  }

  作品特色

  先进性:本作品与过去的点阵作品相比先进性体现于行驱动、上位机和08接口上,一来行驱动用恒流驱动的74HC4953功率驱动管完全可以满足每一行灯全亮的情况下亮度相同且驱动芯片还留有余量。二来上位机的设计满足了诸多对于电子知识不是是很清楚的人可以简单的操作本作品修改字体或者功能,最后标准的08接口也可以方便的升级和改造作品。
  实用性:本作品价格低廉,适用于大规模生产,可用于公交车站牌广告显示、公交车广告系统、出租车广告系统、酒店广告系统等等,而且电路设计上采用标准的08接口,对于产品的升级和改造具有很大的意义。实用性仍体现在上位机的开发,有了上位机,即使没有计算机、单片机基础的人也能轻易的修改显示内容以及功能。
  创新性:创新性在于行驱动、上位机,据我们团队所知,市售的16*32点阵功能没有如此全的,此外他们的接口设计不标准,造成产品不能升级和改造,本次我们的设计完全可以升级和改造,并用于商业用途。

系统演示视频:http://v.eepw.com.cn/video/play/id/2380




关键词: 基于     IAP15F2K61S2     多功能     广告     显示    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]