单片机课设-LED点阵广告牌设计

这篇具有很好参考价值的文章主要介绍了单片机课设-LED点阵广告牌设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单片机课设系列文章-2-LED点阵广告牌设计

文章目录
 💙一、设计题目、内容及要求
 💚二、所用软件以及版本
 ❤️三、硬件设计
   3.1、16*16点阵屏
   3.2、38译码器的使用
 💜四、仿真以及代码
 💛五、修改显示字符
   5.1 取字模软件链接
   5.2 取字模软件对应设置
 ✨六、点击链接进入资源下载

💙 一、设计题目、内容及要求

题目:基于单片机的LED点阵广告牌设计
 内容:
  1、能显示不同字符、图形的LED点阵广告牌;
  2、用独立按键控制不同字符的切换效果(如闪烁、静止、平移);
  3、可通过串口从电脑下载更新需要显示的字符;
  4、其他创新功能。
 要求:
  1、根据设计内容,设计系统硬件结构,画出系统流程图。
  2、应用Keil、Proteus软件开发应用系统并仿真调试。

💚 二、所用软件以及版本

由于各个同学安装的软件版本不同,因此我做了一个新版和一个旧版的课设,都能找到自己对应得版本;
 新版:Proteus 8.9 Keil 5
 旧版:Proteus 7 Keil 4
提醒:Proteus 8.9能打开旧版Proteus 8的工程,但是不能打开Proteus 7的工程;Keil 4和Keil 5版本不互通

❤️ 三、主要硬件设计

3.1、16*16点阵屏

单片机课设-LED点阵广告牌设计

  所谓16×16点阵,就是行列各有16个LED的点阵;我们可以通过4个8×8点阵进行拼凑来实现一个16×16的点阵。
  如图所示,由U6,U7,U8,U9四个8×8点阵组成16×16点阵;
  所有的行(X0-X7)都通过排阻接到单片机的P0口上,所有的列(Y00-Y07、Y10-Y17、Y20-Y27、Y30-Y37)接到不同的74ls138(U2,U3)上,U2控制U6、U8,U3控制U7、U9,74ls138直接由单片机的P2口进行驱动,这样就形成了一个较为完整的电路。
  其显示原理与单个点阵的显示原理相似,但是这里需要先把代码写入左上角点阵,然后短暂延时后写入右上角点阵,直到都写入。
  时间段控制合理的话,我们就可以看到显示屏上将显示稳定的字符。这里涉及到一个滚动显示的问题,所谓滚动显示,即字符是从屏幕右端慢慢往左边移动,好像是一个拉幕的效果,那么滚动显示在程序上如何实现呢?这里我们就要用到单片机的定时中断,中断一次,字符往左移动一次,如此循环,即实现了字符的滚动显示。
  这与单个点阵的静态显示是有区别的。

至于关于实现以及16×16更加详细更加完整的介绍,可以去我的这篇文章中看一下:在Proteus中用8×8来实现16×16点阵屏

3.2、38译码器的使用

单片机课设-LED点阵广告牌设计

  关于74hc138的使用:74hc138是3-8线译码器,当E1=1,E2,E3=0时,该译码器被选中,此时如果数据输入端ABC输入000-111八个数据,输出端Y0-Y7将依次输出0-8。
  由于51型单片机端口较少,采用这种方式能够既能够很好的节约端口也能做到较为得当的控制16×16点阵屏列的显示;
  所以,我们可以依次选中两个译码器,向数据输入端写入数据来直接控制点阵某列可显示。

四、完整仿真以及部分代码

单片机课设-LED点阵广告牌设计
void delay(uint z)	   //延时子函数
{
   uchar x;
   for(;z>0;z--)
   for(x=110;x>0;x--);
}

void xianshi()			//显示
{ 
	uchar aa,i;
	for(i=0;i<16;i++)
	{
		P1=i; //列扫描
		data1=tab[net+aa]; //取出上8行数据输出
		aa++;
		data2=tab[net+aa]; //取出下8行数据输出
		aa++;
		delay(5);	//延时
		data1=0;  //清屏
		data2=0;  //清屏
		P1=0x00;  //消除余辉
		if(aa>30) aa=0;  //字模地址
	}	
	
}

void main()	 //主函数
{
   ET1=1;	 //使能定时器1
   EA=1;	 //开启总中断
   TR1=1;	//开始计数
   while(1)	 //无限循环
   {
	   xianshi();  //显示
	   if(s1==0)   //检测按键
	   {
	      delay(30);  //延时消抖
		  TR1=~TR1;	  //按下暂停  ,暂按继续
		  while(!s1)xianshi();
		  delay(30);
	   }
	   if(s2==0)	//检测按键
	   {
	       delay(30);			//延时消抖
		   fangxiang=~fangxiang;  //方向取反
		   while(!s2)xianshi();
		   delay(30);
	   }
	 }
}
 

五、修改显示字符

5.1 取字模软件链接

  链 接🔒:跳转百度网盘下载
  提取码🔑:TTFF

5.2 取字模软件对应设置

单片机课设-LED点阵广告牌设计
   在这里特别感谢@Beginner_lx同学,由于我不用点阵很久设置也都忘了,上面的设置都是@Beginner_lx同学分享给我的(为什么CSDN没有@用户的功能,真的很需要!)
单片机课设-LED点阵广告牌设计

六、点击链接进入资源下载

点击下面链接进入资源下载
🏆 点阵广告牌设计仿真及源码下载


能力有限,有错误欢迎指出文章来源地址https://www.toymoban.com/news/detail-485858.html

到了这里,关于单片机课设-LED点阵广告牌设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【51单片机】LED点阵屏

    🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Waiting For Love】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 🍔74HC595图片 🍔74HC595原理 🍔”上升沿“是什么意思 🎆LED点阵屏显示图形  🎈现象  🎈代码(三部分) main.c  Del

    2024年02月02日
    浏览(29)
  • 51单片机——LED点阵屏(显示滚动画面)

    目录   一、关于数码管、LED点阵屏显示的注意点 二、功能介绍 三、主要模块的介绍 3.1 74HC595模块和点阵屏显示函数 3.1.1 74HC595介绍 3.1.2 点阵屏显示函数MatrixLED() 3.2定时器中断模块 四、程序实现 五、效果展示   一定要消影,不然显示的画面有重影。不管是数码管还是LED点阵

    2023年04月17日
    浏览(27)
  • 单片机控制16*16LED点阵显示汉字

    取字模我用的是字模精灵,注意选 纵向 取模。 以下是代码: 注意 :此处的点阵是通过 四个8×8的点阵显示器 拼接在一起的,其中它各个引脚都需要进行连接,具体连接的引脚编号如下: (另外,有小伙伴显示不出来可能是因为四个点阵显示器的行线和列线接错,所以为了

    2024年02月04日
    浏览(30)
  • 51单片机 8*8LED点阵(入门教学)

    LED 点阵介绍 LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随 处可见,被广泛应用于汽车报站器,广告屏等。 通常应用较多的是 8*8 点阵,然后使用多个 8*8 点阵可组成不同分辨率的 LED 点阵显示屏,比如16*16 点阵可以使用 4 个 8*8 点阵构成。因此理解

    2024年02月02日
    浏览(29)
  • 51单片机学习--LED点阵屏显示图形&动画

    为了通用性考虑,需要把用到的几个口用特殊位声明来重新命名,由于RCLK在头文件中已有定义,所以这里把P3^5声明成RCK吧。。这样的做法可以提高可读性 接下来编写74HC595的输入函数 执行完八次循环后数据就会存到移位寄存器里面了,接下来要输出只需要给RCLK一个高电平即

    2024年02月14日
    浏览(28)
  • 51单片机8*8 LED点阵实现原理讲解

    本篇文章将为大家讲解LED8*8点阵的使用方法。 LED 8 8点阵是由64个LED灯珠组成的,它们排列在一个8 8的矩阵中。每个LED灯珠都可以独立控制,因此可以通过控制不同的LED灯珠来显示不同的图形、数字、字母等。 LED 8 8点阵的原理是利用LED灯珠的发光特性,通过控制LED灯珠的亮灭

    2024年02月09日
    浏览(27)
  • 【【51单片机实现LED点阵屏幕和动画显示】】

    我们先搞清楚74HC595的原理 sfr 特殊功能寄存器声明 sbit 特殊位声明 就举个例子,我们在之前的各种测试中对LED进行控制会直接输入P2=什么什么,那我想问你怎么知道P2口控制的就是LED呢,其实这些就是已经在内部声明完成了,我们可以直接拿来使用 内部

    2024年02月11日
    浏览(33)
  • 51单片机——LED 点阵点亮一个点,小白详解

    LED点阵介绍:        LED点阵是由发光二极管排列组成的显示器件,在我们生活中的电器中随处可见,被广泛用于汽车报站器,广告屏等。         通常用用较多的是8*8点阵,然后使用多个8*8点阵组成不同分辨率的LED点阵显示屏,比如16*16点阵可以使用4个8*8点阵构成。因

    2024年02月09日
    浏览(32)
  • 【51单片机】LED点阵屏的纵向动画流动字幕

    学习完点阵屏,小伙伴们可能都想要展示一下自己的名字,而有的同学的名字太过复杂,宽为8的点阵屏无法写出,于是我便想到了纵向显示笔画过于复杂的名字。 就比如“嘉”字,横向无法写出,我们就把字体给拉长,丑是丑了点,但可以完整显示了🐶: 采用这种表示,将一

    2023年04月13日
    浏览(26)
  • 51单片机开发:通过74HC595控制LED点阵

    (1)LED点阵就是多个LED发光二极管的集合,在单个LED的发光原理上没有任何区别; (2)上面是16x16的LED点阵,总共有16x16=256个LED灯,由32个引脚来控制,其中16个引脚是正极(posn,n=1、2······、16),16个引脚是负极(NEGn,n=1、2······、16); (3)LED点阵可以用坐标系的思想来理解,

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包