基于单片机的点阵电子显示屏上下左右移加减速系统

这篇具有很好参考价值的文章主要介绍了基于单片机的点阵电子显示屏上下左右移加减速系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、系统方案
本设计的任务就是完成一个1616的点阵设计,并能滚动显示“********************”内容。
主要内容是,能同时流动显示汉字;能实现显示汉字无闪烁;能实屏幕亮度较高。本LED显示屏能够以动态扫描的方式显示一个16×16点阵汉字,并能通过单片机实现内容滚动显示。课题研究了LED的显示原理,详细了解了LED动态显示的过程,以及硬件电路的设计、计算和软件的算法。LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。
点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。
基于单片机的点阵电子显示屏上下左右移加减速系统,单片机,嵌入式硬件
二、硬件设计
原理图如下:基于单片机的点阵电子显示屏上下左右移加减速系统,单片机,嵌入式硬件

三、单片机软件设计
1、首先是系统初始化
EA=1;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
ET0=1;
TR0=1;
//595c初始化
Init595_l1();
Init595_l2();
Init595_c1();
Init595_c2();
2、点阵显示程序
if(flag1) //左移函数
{
for(k=0;k<speed;k++) //更改speed能改变速度
{
for(i=1;i<17;i++) //一个for循环,分别选中16个列
{
if(flag
1)
{
Write_byte595_l1(0xff);
Write_byte595_l2(0xff);
if(i<9)
{
Write_byte595_c1(a[i-1]);
Write_byte595_c2(0x00);
}
else
{
Write_byte595_c2(a[i-9]);
Write_byte595_c1(0x00);
}
Write_byte595_l1(H1[i2-2+2X]);
Write_byte595_l2(H1[i2-1+2X]); //显示内容
delay(7);
}
if(KEY_&&KEY_ADD&&KEY_DEC&&KEY_PAUSE1) TR0=1;
}
}
}
3、按键程序
if(KEY_0)
{
KEY_NUM++;
if(KEY_NUM>=2)
{
KEY_NUM=0;
TR0=0;
pause=0;
flag++;
if(flag>=6) //切换模式
{
flag=1;
}
Write_byte595_l1(0xff);
Write_byte595_l2(0xff);
Write_byte595_c1(0x00);
Write_byte595_c2(0x00);
i=1;X=0;j=0;k=0;
}
}
if(KEY_ADD
0) //加速按键
{
speed-=2; //速度变量减2(速度变量越小速度越快)
if(speed<2) //最小减到2
speed=2;
TR0=0;
}
if(KEY_DEC
0) //减速按键
{
speed+=2;
if(speed>20)
speed=20;
TR0=0;
}
if(KEY_PAUSE==0) //暂停按键
{
pause=!pause; //变量为1时进入暂停状态
TR0=0;
}
4、核心算法程序
//初始化595
void Init595_l1()
{
flag=1;
SI=1;
SCK=0;
RCK=0;
}
void Init595_l2()
{
SI0=1;
SCK0=0;
RCK0=0;
}
void Init595_c1()
{
SI1=1;
SCK1=0;
RCK1=0;
}
void Init595_c2()
{
SI2=1;
SCK2=0;
RCK2=0;
}
四、 proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。
基于单片机的点阵电子显示屏上下左右移加减速系统,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-696919.html

到了这里,关于基于单片机的点阵电子显示屏上下左右移加减速系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 126、仿真-基于51单片机16×16点阵滚动显示仿真设计(Proteus仿真+程序+配套资料等)

    方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字

    2024年02月17日
    浏览(25)
  • 单片机控制16*16LED点阵显示汉字

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

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

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

    2023年04月17日
    浏览(15)
  • STM32单片机(四)第二节:OLED显示屏

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋

    2024年02月16日
    浏览(20)
  • 单片机期末设计 - 液晶显示屏显示时间、日期、温度及按键控制(实验板实现)

    设计本代码的主要目的是为了完成期末作业,即在液晶显示屏上显示、时间、日期、温度,以及用按键控制时间、温度的显示。总的来说就是对前面学习计数的糅合,本代码实现的是显示时间,并能在实验板上成功显示。 1.液晶显示屏模块应用 主要是学会如何在液晶显示屏上

    2024年02月08日
    浏览(30)
  • 基于STM32F103C8T6单片机的DHT11温湿度传感器与OLED显示屏实时动态数据监测系统设计

    标题: 摘要: 本文提出了一种利用STM32F103C8T6微控制器,结合DHT11数字温湿度传感器和OLED显示屏实现环境温湿度实时、直观显示的方法。该系统通过低功耗且精确的DHT11传感器获取环境温湿度信息,并借助于STM32F103C8T6强大的处理能力和I/O资源进行数据读取、解析以及控制OLE

    2024年01月19日
    浏览(35)
  • STM32单片机LED显示屏驱动原理与实现

    STM32单片机驱动LED显示屏的原理与实现方法与Arduino类似,但涉及到的具体硬件资源和库函数可能会有所不同。下面是一个详细的介绍:   原理: STM32单片机驱动LED显示屏的原理是通过控制GPIO引脚的电平状态来控制LED的亮灭。通过设置引脚的输出电平为高电平(VCC)或低电平

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

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

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

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

    2024年02月14日
    浏览(20)
  • 51单片机 | LED点阵实验 | 点亮一个点 | 显示数字 | 显示图像

      开发板上使用了 64 个红色 LED 按照行列排布组成的 8*8 LED 点阵。下面介绍 LED 点阵的使用。    LED 点阵 是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。如下所示:   通常应用较多的是 8*8 点阵,然后使

    2023年04月08日
    浏览(15)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包