单片机控制16*16LED点阵显示汉字

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

要求:设计硬件电路并编写程序,实现AT89C51单片机控制一个16×16 LED点阵屏拉幕式显示汉字。

一、先提取需要展示汉字的字模,在Keil上写入代码

取字模我用的是字模精灵,注意选纵向取模。
单片机显示汉字,单片机,嵌入式硬件

以下是代码:

#include <reg51.h> 
unsigned int i; 
unsigned char j,k;
/*---转换字符 送 ---*/
unsigned char code zifu1[]=
{0x02,0x00,0x02,0x02,0x42,0x04,0x33,0xF8,0x00,0x04,0x11,0x02,0x91,0x0A,0x71,0x12,
0x11,0x62,0x1F,0x82,0x11,0x42,0x31,0x22,0xD1,0x1A,0x11,0x02,0x01,0x02,0x00,0x00};
/*---转换字符 你 ---*/
unsigned char code zifu2[]=
{0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x00,0x02,0x08,0x04,0x30,0x18,0xC0,
0xF0,0x02,0x10,0x01,0x13,0xFE,0x10,0x00,0x10,0x80,0x14,0x60,0x18,0x18,0x00,0x00};
/*---转换字符 一 ---*/
unsigned char code zifu3[]=
{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00};
/*---转换字符 朵 ---*/
unsigned char code zifu4[]=
{0x01,0x02,0x01,0x42,0x02,0x44,0x04,0x44,0x78,0x48,0x40,0x50,0x40,0x60,0x41,0xFF,
0x40,0x60,0x40,0x50,0x7C,0x48,0x02,0x44,0x02,0x44,0x02,0x42,0x02,0x02,0x00,0x00};
/*---转换字符 小 ---*/
unsigned char code zifu5[]=
{0x00,0x10,0x00,0x20,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x02,0x00,0x01,0xFF,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x70,0x00,0x00};
/*---转换字符 红 ---*/
unsigned char code zifu6[]=
{0x04,0x44,0x0C,0xE6,0x35,0x44,0xC6,0x48,0x04,0x48,0x18,0x48,0x00,0x02,0x20,0x02,
0x20,0x02,0x20,0x02,0x3F,0xFE,0x20,0x02,0x20,0x02,0x20,0x02,0x00,0x02,0x00,0x00}; 
/*---转换字符 花 ---*/
unsigned char code zifu7[]=
{0x20,0x20,0x20,0x40,0x20,0x80,0x21,0xFF,0xF6,0x00,0x20,0x08,0x20,0x10,0x20,0x20,
0x27,0xFC,0x20,0x82,0xF1,0x02,0x22,0x02,0x24,0x02,0x20,0x02,0x20,0x1E,0x00,0x00}; 
void delay() //延时函数
{
    for(i=200;i>0;i--)
    ;
    ;
}
void main()	//主函数	
{
    while(1)
{																										 
    for(k=60;k>0;k--)	//显示汉字“送”	
{
    for(j=0;j<16;j++)	//16列轮流扫描	
    {
     P3=j;	//输出列线值	
     P2=zifu1[2*j];	//输出行值高8位	
     P0=zifu1[2*j+1];//延时//输出行值低8位}}
     delay();
    }
}
for(k=60;k>0;k--)	   //显示汉字“你”
{
   for(j=0;j<16;j++)
   {
     P3=j;
     P2=zifu2[2*j]; 
     P0=zifu2[2*j+1]; 
     delay();
   }
}
for(k=60;k>0;k--)	    	//显示汉字“一”
{
   for(j=0;j<16;j++)
   {
     P3=j;
     P2=zifu3[2*j]; 
     P0=zifu3[2*j+1]; 
     delay();
   }
}
for(k=60;k>0;k--)			 //显示汉字“朵”
{                		
   for(j=0;j<16;j++)
   {
     P3=j;
     P2=zifu4[2*j]; 
     P0=zifu4[2*j+1]; 
     delay();
   }
}
for(k=60;k>0;k--)	     	//显示汉字“小”
{               	
   for(j=0;j<16;j++)
   {
     P3=j;
     P2=zifu5[2*j]; 
     P0=zifu5[2*j+1];
     delay();
   }
}
for(k=60;k>0;k--)		  //显示汉字“红”
{		
   for(j=0;j<16;j++)
   {
     P3=j;
     P2=zifu6[2*j]; 
     P0=zifu6[2*j+1];
     delay();
   }
}		
for(k=60;k>0;k--)         //显示汉字“花”	
{	
   for(j=0;j<16;j++)
   {
     P3=j;
     P2=zifu7[2*j]; 
     P0=zifu7[2*j+1];
     delay();
   }
}		
}
}

二、在proteus中加入以下器件并如图所示摆放

单片机显示汉字,单片机,嵌入式硬件
注意:此处的点阵是通过四个8×8的点阵显示器拼接在一起的,其中它各个引脚都需要进行连接,具体连接的引脚编号如下:
单片机显示汉字,单片机,嵌入式硬件
(另外,有小伙伴显示不出来可能是因为四个点阵显示器的行线和列线接错,所以为了避免错误,教给大家一个方法:如果该元器件保持初始的位置(没有转动方向) ,我们要首先将其左转90°,使其水平放置,那么此时再对它进行编号即可。)

三、看效果

点阵显示器

四、如果觉得闪烁的高低电平阻碍字体显示,可以去掉

具体操作是在proteus里任务栏中点击System→Set Animation Options→把图中这个选项取消就可以了
单片机显示汉字,单片机,嵌入式硬件
当然,如果想恢复,就再把它勾选上就可以了。文章来源地址https://www.toymoban.com/news/detail-759885.html

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

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

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

相关文章

  • 【【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)
  • 三、51单片机用74HC595控制LED点阵

    (1)外观 (2)作用 LED点阵通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片等,LED点阵显示被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。 以8*8LED点阵为例。 (1)单片机端口直接驱动。驱动8*8的点阵需要2个IO端口(16个IO口)。 (2)使用串转并移位锁存器驱

    2024年02月03日
    浏览(31)
  • 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日
    浏览(19)
  • 基于AT89C51单片机的LED点阵显示屏设计

    点击链接获取Keil源码与Project Backups仿真图: [[https://download.csdn.net/download/qq_64505944/88637464?spm=1001.2014.3001.5503]] **[源码获取] B 源码+仿真图+课程设计+50 工程实训(三)课题设计 LED点阵显示屏设计 LED点阵显示屏通过编程控制可以显示中英文字符、图形及视频动态图形,广泛用于指

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

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

    2024年02月17日
    浏览(26)
  • 【51单片机】LED 点阵

    参考:普中 51 单片机开发攻略 第13章 mian.c

    2024年01月22日
    浏览(18)
  • 【51单片机】LED点阵屏

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

    2024年02月02日
    浏览(15)
  • 51单片机LED点阵屏

    LED点阵屏是一种由许多小型LED灯组成的矩阵式显示屏。这些LED灯可以是单色、双色或全彩的,它们排列成行和列的网格,可以根据需要点亮来显示图像、文字或动画等内容。LED点阵屏广泛应用于户外广告牌、室内显示、交通信号灯、电子价格标签和其他需要显示信息的场合。

    2024年01月23日
    浏览(27)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包