新闻中心

EEPW首页 > EDA/PCB > 牛人业话 > 【Proteus学习之路】序列之3:高富帅初露脸—LED显示屏仿真

【Proteus学习之路】序列之3:高富帅初露脸—LED显示屏仿真

作者:时间:2015-06-20来源:网络收藏

  一、如何创建仿真界面

本文引用地址:http://www.eepw.com.cn/article/276035.htm

  有了前面两节的基础,仿真界面就不是那么难了,主要是看你要实现什么功能,然后就选择器件即可!

  我们需要点阵模块,MCU,74HC595和74HC154,这几个器件里面都有。

  

【原创】【Proteus仿真软件学习之路】序列之3:高富帅初露脸
【原创】【Proteus仿真软件学习之路】序列之3:高富帅初露脸

 

  点阵模块【绿色】 74HC154 模块

  

【原创】【Proteus仿真软件学习之路】序列之3:高富帅初露脸
【原创】【Proteus仿真软件学习之路】序列之3:高富帅初露脸

 

  单片机模块 74HC595模块

  有了这四个模块就可以开始干活了,只要按照自己想要的硬件方式进行连接即可。下面看一个点阵模块。

  

 

  只要定义好管脚就可以了,这里就不细致讲解,稍后附件会有仿真具体连接。下面是搭建的整个仿真的界面。

  

 

  二、软件界面编写

  此处软件界面编写包括两部分:1.代码部分编写;2.取字模部分

  1.代码部分编写

  主函数部分主要是扫描方式,代码如下,具体的在附件里面。

  /************主函数***************/

  void main()

  {

  uchar i,j,k; //i:每个字的显示循环;j每个字的显示码除以2;k每列刷新次数

  uint b=0; //显示偏移控制,char类型最多只能显示14个汉字+一个空白位字符

  uchar a; //控制移动间隔时间

  SCON = 0x00;

  while(1)

  {

  j=0;

  if(a>1) //移动间隔时间;取值0--255

  {

  a=0;

  b+=2;

  if(b>=352) //显示到最后一个字,回头显示,判断值=字数*32

  {

  b=0;

  }

  }

  for(i=0;i<16;i++)

  {

  P1=i;

  for(k=0;k<1;k++)

  {

  STTP = 0;

  out_rxd(&hanzi[3][j+b+1]);

  out_rxd(&hanzi[3][j+b]);

  out_rxd(&hanzi[2][j+b+1]);

  out_rxd(&hanzi[2][j+b]);

  out_rxd(&hanzi[1][j+b+1]);

  out_rxd(&hanzi[1][j+b]);

  out_rxd(&hanzi[0][j+b+1]);

  out_rxd(&hanzi[0][j+b]);

  STTP = 1;

  delay(15);

  }

  j=j+2;

  }

  a++;

  }

  }

  2.取字模

  按照下面的设置取字模既可以实现自己想要显示的字体。

  

 

  三、联调——高富帅亮相

  这个是以前自己设计的,双色的,单色是16x64。

  今天感觉蛮好玩的,就再次修改一下,感觉还是很不错的!效果如下。

  

 

  

led显示器相关文章:led显示器原理




关键词: proteus LED

评论


相关推荐

技术专区

关闭