当前位置: 首页 > news >正文

基于单片机的16×16点阵的滚动显示屏设计

目 次
1绪论 1
1.1 MCS-51系列单片机简介 1
1.2 单片机的应用模式和应用领域 2
1.3 主要工作任务 3
2硬件设计 3
2.1 单片机系统的基本模块 3
2.2 1616点阵滚动显示的硬件设计 4
3软件设计 6
3.1 16
16点阵滚动显示的软件设计 6
4软件仿真结果 8
4.1 1616点阵滚动显示仿真结果 8
结  论 9
参考文献 10
致谢 11
附录相关源程序 12
本文的设计是单片机系统基本模块的一部分,即利用单片机驱动显示屏工作。其中点阵行扫描由单片机直接驱动,列扫描由单片机驱动的74LS138直接驱动,通过程序写入代码从而实现点阵的显示。
这部分电路在单片机的学习中很重要,我们要知道点阵的显示原理,了解行扫描和列扫描是怎么一回事,以及用什么来驱动行扫描和用什么来驱动列扫描,这里我们使用了74ls138来驱动列扫描,通过这个设计,我们可以更加明白74ls138的使用方法以及它的一些功能特性。对点阵显示屏及其他的一些显示屏也能有更多的了解。
3软件设计
3.116
16点阵滚动显示的软件设计
在设计1616滚动显示的软件部分时,我们必须要明白其中的原理。本次设计中我们需要注意以下几个问题:第一,怎么样让点阵显示我们需要的字符,即我们如何获得字符显示的代码。第二,如何实现字符的滚动显示。第三,如何使画面保持稳定。
第一,如何取得代码。现在针对点阵的取字模软件很多,我们只需要打开软件,写入需要取字模的字,然后注意取字模的顺序,是横向还是纵向就行了。我们这里采用纵向取模,设置字模为C51格式。本文转载自http://www.biyezuopin.vip/onews.asp?id=13836这样当写入的字确定后,我们就可以直接复制字模到程序中来实现相应功能。如“老”的字模就为:{0x02,0x10,0x22,0x10,0x22,0x20,0x22,0x20,0x22,0x40,0x22,0x7C,0xFE,0x92,0x23,0x12,0x23,0x22,0x22,0x22,0x26,0x42,0x2A,0x42,0x72,0x02,0x22,0x0E,0x02,0x00,0x00,0x00,/
“老”,2*/}。
第二,如何实现滚动显示。为了实现字符的滚动显示,我们加入了定时中断函数,如下:

void timer1() interrupt 3
{
   alt++;
   if(alt==10)		   //到一定的时间加以实现左移
   {
     alt=0;
	 if(fangxiang==0)	 //如果是正向 正向移动
	 {
		 net=net+2;
	     if(net>sl)  //字移动数量
	     net=0;
	 }
	 else			   //否则反向移动
	 {
	     net=net-2;
		 if(net<2)
		 net=sl;	  //字移动数量
	 }
   } 
}
 

4软件仿真结果
4.11616点阵滚动显示的仿真结果
如图6、7、8、为本次16
16点阵滚动显示的仿真结果
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

图6:单片机调用字符代码通过驱动电路显示“欢”字
图7:单片机调用字符代码通过驱动电路显示“迎”字
图8:单片机调用字符代码通过驱动电路显示“您”字
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 如何实现线程的同步了?
  • FPGA 以太网通信UDP通信环回
  • pip 安装for mac
  • 解决ax = Axes3D(fig2)pycharm画3d图空白不显示问题
  • 2017美亚杯--个人赛
  • Qt 把.exe打包成安装文件形式
  • npm run dev和npm run serve两个命令的区别
  • HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)
  • VScode打开keil5软件的内容
  • Mac传文件到云服务器
  • 【linux】【docker】docker的安装 + 拿到docker开发环境压缩包如何使用
  • 2023 re:Invent 用 Amazon Q 打造你的知识库
  • LeetCode 940. 不同的子序列 II
  • 【VUE基础】webpack
  • 【漏洞复现-discuz-wooyun-命令执行】vulfocus/discuz-wooyun_2010_080723
  • SDWAN和MPLS谁才是最佳选择
  • 记一次失败的使用python selenium刷课学习通脚本(细节满满)+关于使用selenium的疑难杂症解决+json数据请求的疑难杂症+py冷门知识
  • Mybatis架构,SqlSessionFactory源码分析
  • 我终于读懂了设计模式的七大原则。。。
  • stm32f4xx-SPI
  • 高数(下) 第十二章:无穷级数
  • LeetCode·每日一题·940.不同的子序列 || · 动态规划
  • 【云原生】Elasticsearch + kibana on k8s 讲解与实战操作
  • 神经网络过拟合什么意思,神经网络中解决过拟合
  • win11toast:python桌面通知工具
  • 【cloud Alibaba】(四)分布式事务处理——Seata
  • [算法入门笔记] 19. 有序表
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • Java反射小练之手写BeanUtils的copyProperties(Upgrade)
  • 软件测试过程:单元测试,集成测试,系统测试,验收测试,回归测试
  • 入门力扣自学笔记177 C++ (题目编号:769)
  • QT中QThread的各个方法,UI线程关系,事件关系详解(5)