51单片机16*16LED点阵滚动显示

发布者:CrystalDawn最新更新时间:2018-01-12 来源: eefocus关键字:51单片机  16*16LED点阵  滚动显示 手机看文章 扫描二维码
随时随地手机看文章

*

功能:LED16*16点阵滚动显示

说明:74LS154用作发送数据,P0,P2口用来列选

看本程序最好的工具最好旁边有标号和语法着色,推荐keil或UltraEdit

 

懒人提示:要改成自己所要的显示内容,要怎么改?

1.要改显示内容改第23~92行代码,还有第119行代码,具体改法见下面注释

2.要改滚动速度改第102行代码

*/

/*头文件*/

#include

#include

/*宏定义*/

#define uchar unsigned char

#define uint  unsigned int

/*函数声明*/

void delay();

/*全局变量*/

uint lie; //列选标志

/**

字模:反显,纵向取模,开头和结尾均加入32个0xFF,用于改善屏滚动显示时循环的连贯性   **/

/**

杭州市公交公司K316路,开往武林广场,发车时间20:30,欢迎大家乘坐!  --  **  宋体, 12  **/

/**

当前所选字体下一个汉字对应的点阵为:  宽度x高度=496x16,  调整后为: 496x16          **/

uchar code text[1056]={  

    //这里的数据为你要显示的内容的数据量+64(前后各32个0xff)

    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    //改显示内容以上两行别改

    0xEF,0xDF,0xEF,0x3F,0xE8,0xFF,0x00,0x00,0xED,0xFF,0xFE,0xFD,0xEF,0xF3,0xEC,0x0F,

    0x6D,0xFF,0x8D,0xFF,0xED,0xFF,0xEC,0x03,0xEF,0xFD,0xEF,0xFD,0xEF,0xE1,0xFF,0xFF,

    0xFF,0x7F,0xF8,0xFE,0xFF,0xF9,0xFF,0xE7,0x00,0x1F,0xFB,0xFF,0xFC,0xFF,0xFF,0xFF,

    0x80,0x01,0xF7,0xFF,0xF9,0xFF,0xFE,0x7F,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,

    0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xD8,0x03,0xDB,0xFF,0xDB,0xFF,0x5B,0xFF,0x80,0x00,

    0xDB,0xFF,0xDB,0xFF,0xDB,0xF7,0xDB,0xFB,0xD8,0x07,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xFF,0x7F,0xFE,0xFB,0xFD,0xF1,0xF3,0xEB,0x8F,0xDB,0xDE,0x3B,0xFF,0x73,

    0xFF,0xF7,0x8F,0xF7,0xF7,0xD7,0xF9,0xE1,0xFC,0xF3,0xFE,0x7F,0xFE,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xEF,0xFE,0xEE,0xFE,0xED,0xFD,0xE3,0x7D,0xEB,0xBB,0x6F,0xD7,0x8F,0xE7,

    0xCF,0xCF,0xEF,0x97,0xE6,0x3B,0xEB,0x79,0xE9,0xFC,0xED,0xFD,0xEF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xFF,0x7F,0xFE,0xFB,0xFD,0xF1,0xF3,0xEB,0x8F,0xDB,0xDE,0x3B,0xFF,0x73,

    0xFF,0xF7,0x8F,0xF7,0xF7,0xD7,0xF9,0xE1,0xFC,0xF3,0xFE,0x7F,0xFE,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xF7,0xFF,0xB6,0x07,0xB6,0xDF,0xB6,0xDF,0xB6,0xDF,0xB6,0xDF,0xB6,0xDF,

    0xB6,0xDF,0xB6,0x0F,0xB7,0xFF,0xBF,0xFB,0xBF,0xFD,0x80,0x03,0xFF,0xFF,0xFF,0xFF,

    0xEF,0xFB,0xE0,0x03,0xEE,0xFB,0xFC,0x7F,0xEB,0x9B,0xE7,0xE3,0xEF,0xFB,0xFF,0xFF,

    0xFF,0xFF,0xF3,0xE7,0xEF,0xFB,0xEE,0xFB,0xEE,0xFB,0xED,0x77,0xF3,0x8F,0xFF,0xFF,

    0xFF,0xFF,0xF7,0xFB,0xF7,0xFB,0xE0,0x03,0xFF,0xFB,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xF8,0x0F,0xF7,0x77,0xEE,0xFB,0xEE,0xFB,0xE7,0x77,0xFF,0x8F,0xFF,0xFF,

    0xFF,0xFB,0x81,0x03,0xBB,0xFB,0xB8,0x07,0x83,0x77,0xFB,0x77,0xF7,0xBF,0xEF,0x01,

    0x0F,0x3B,0xD2,0xBB,0xDD,0xBB,0xDA,0xBB,0xC6,0x81,0xDF,0x3F,0xFF,0x7F,0xFF,0xFF,

    0xFF,0xFE,0xFF,0xF2,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    0xFD,0xFF,0xBD,0xFD,0xBD,0xFB,0xBD,0xF7,0xBD,0xCF,0x80,0x3F,0xBD,0xFF,0xBD,0xFF,

    0xBD,0xFF,0xBD,0xFF,0x80,0x01,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xFF,0xFF,

    0xFB,0xBF,0xF7,0x7F,0xEE,0xFF,0x10,0x00,0xBB,0xFF,0xEF,0xFD,0xEF,0x7D,0xEF,0x7D,

    0x6F,0x7D,0x80,0x01,0xAF,0x7D,0xEF,0x7D,0xEF,0x7D,0xEF,0x7D,0xEF,0xFD,0xFF,0xFF,

    0xF7,0xFD,0xF7,0xFD,0xD7,0x01,0xD7,0xFB,0xD7,0xFB,0xD4,0x07,0xD7,0x77,0xD7,0x77,

    0xF7,0x7F,0x01,0xFF,0xF6,0x1F,0xB7,0xE7,0xD7,0xFB,0xF7,0xFD,0xF7,0xF0,0xFF,0xFF,

    0xF7,0xEF,0xF7,0x9F,0xF6,0x7F,0x00,0x00,0xF6,0xFF,0xF7,0x37,0xFF,0xEF,0xF7,0xDF,

    0xF7,0x3F,0xF4,0xFF,0x00,0x00,0xF6,0x7F,0xF7,0x9F,0xF7,0xE7,0xF7,0xEF,0xFF,0xFF,

    0xFF,0xFD,0xFF,0xF3,0xC0,0x0F,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0x5F,0xFF,

    0x9F,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,

    0xF7,0xEF,0xF7,0xE7,0xF7,0xEF,0x00,0x1F,0xF7,0xDF,0xF7,0xBF,0xBF,0xAD,0xBD,0xDB,

    0xB9,0xB7,0xB4,0x6F,0xAD,0x9F,0x9C,0x7D,0xBD,0xFE,0xF8,0x01,0xFD,0xFF,0xFF,0xFF,

    0xFF,0xFE,0xFF,0xF2,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFD,0xF7,0xFB,0x83,0xF7,0xF7,0xEE,0xF7,0x1E,0xF0,0x7D,0x06,0x9D,0xF6,0xEB,

    0xF6,0xF7,0xB6,0xEB,0xD6,0x1B,0xC7,0xFD,0xF7,0xFC,0xF7,0xFD,0xF7,0xFF,0xFF,0xFF,

    0xFF,0xDF,0xDF,0xDF,0xDE,0xDF,0xDC,0xDF,0xDA,0xDF,0xC6,0xDF,0x1E,0xDF,0xDE,0xDF,

    0xD0,0x00,0xDE,0xDF,0xDE,0xDF,0xDE,0xDF,0xDE,0xDF,0xDE,0xDF,0xFF,0xDF,0xFF,0xFF,

    0xFF,0xFF,0xC0,0x1F,0xDD,0xDF,0xDD,0xDF,0xDD,0xDF,0xC0,0x1F,0xF7,0xFF,0xF6,0xFF,

    0xF7,0x3F,0xF7,0xFD,0xF7,0xFE,0x00,0x01,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xE0,0x00,0x7F,0xFF,0x9F,0xFF,0xFF,0xFF,0xF0,0x1F,0xB6,0xDF,0xB6,0xDF,

    0xB6,0xDF,0xB6,0xDF,0xB0,0x1F,0xBF,0xFD,0xBF,0xFE,0x80,0x01,0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xF1,0xF3,0xEF,0xEB,0xEF,0xDB,0xEF,0xBB,0xEE,0x7B,0xF1,0xF3,0xFF,0xFF,

    0xFF,0xFF,0xF8,0x0F,0xF7,0xF7,0xEF,0xFB,0xEF,0xFB,0xF7,0xF7,0xF8,0x0F,0xFF,0xFF,

    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF3,0xFC,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xF3,0xE7,0xEF,0xFB,0xEE,0xFB,0xEE,0xFB,0xED,0x77,0xF3,0x8F,0xFF,0xFF,

    0xFF,0xFF,0xF8,0x0F,0xF7,0xF7,0xEF,0xFB,0xEF,0xFB,0xF7,0xF7,0xF8,0x0F,0xFF,0xFF,

    0xFF,0xFE,0xFF,0xF2,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    0xD7,0xFB,0xDB,0xF7,0xDD,0xCD,0xDE,0x3D,0xD9,0x3D,0xC7,0xCB,0xFB,0xFB,0xE7,0xF7,

    0x0F,0xCF,0xE8,0x3F,0xEF,0x9F,0xEF,0xE7,0xEB,0xF3,0xE7,0xF9,0xEF,0xFB,0xFF,0xFF,

    0xFD,0xFD,0x7D,0xFB,0x8C,0x07,0xDF,0xFB,0xFF,0xFD,0xC0,0x1D,0xDF,0xBD,0xBF,0x7D,

    0xBF,0xFD,0xC0,0x05,0xDF,0xFD,0xDF,0xBD,0xDF,0xDD,0xC0,0x3D,0xFF,0xFD,0xFF,0xFF,

    0xFB,0xFF,0xFB,0xFE,0xFB,0xFD,0xFB,0xFB,0xFB,0xF7,0xFB,0xCF,0xFA,0x3F,0x01,0xFF,

    0xFA,0x7F,0xFB,0x9F,0xFB,0xEF,0xFB,0xF3,0xFB,0xF9,0xFB,0xFC,0xFB,0xFD,0xFF,0xFF,

    0xFF,0xFF,0xE7,0x6B,0xDF,0x6B,0xD7,0x57,0xD6,0xD7,0xD6,0xAD,0x54,0x6E,0x92,0xDD,

    0xD7,0x03,0xD7,0x9F,0xD6,0x6F,0xDF,0x6F,0xD7,0xF7,0xCF,0xF3,0xDF,0xF7,0xFF,0xFF,

    0xEF,0xBB,0xEB,0xBB,0xAB,0x77,0xAB,0x77,0xA0,0x2F,0xAF,0xCF,0xAF,0x9F,0x80,0x01,

    0xAF,0xBF,0x6F,0xDF,0x60,0x4F,0x6D,0x67,0x6B,0x73,0xCB,0x77,0xEE,0x7F,0xFF,0xFF,

    0xFF,0x7D,0xFE,0xFD,0xF9,0xDD,0xC7,0xDD,0xFB,0xDD,0xFC,0xDD,0xFF,0xDD,0x00,0x01,

    0xFF,0x5D,0xFE,0xDD,0xFD,0xDD,0xC3,0xDD,0xFD,0xDD,0xFE,0xFD,0xFF,0xFD,0xFF,0xFF,

    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x05,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    //改显示内容以下两行别改

    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF

};

/*主函数*/

void

main()

{

    uchar i,j;

     uint m=0; //m是从字模数组里向后取数据时的计数器,用以改变显示文字的内容,及滚动显示效果

     SCON=0; 

    //初始化串口为工作方式0(同步通信方式,TxD输出同步脉冲)

     lie=0x7fff; //列选标志初始化

     while(1)

    //重复循环显示

     {

        for(j=0;j<10;j++)  //j用来控制屏上1帧显示内容停留的时间,即用来控制滚动速度

         {

            for(i=1;i<=31;i+=2)

            {

                P0=0xff; //先关显示,以免164内数据移动过程中在屏上产生不良影响,大家可以把这两句去掉比较下显示效果

                P2=0xff;

                SBUF=text[i+m]; //从串口发送字模数据(为什么要先发后一个数据,看下电路应该会明白吧:)

                while(TI==0);  //等待发送完毕

                TI=0;

                SBUF=text[i+m-1]; //从串口发送数据,补全整一列数据

                while(TI==0);

                TI=0;

                P0=lie%256; //选中要显示的那列,同时等于打开了那列的显示

                P2=lie/256;

                delay();  //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象,略知生理的人应该都知道吧。

                lie=_iror_(lie,1);  //列选标志移位,准备用来选中下一列

            }

        } //返回显示下一列,直到16列都显示完成

        m+=2; //显示内容向后移一列

        if(m>1024) //这个数据为你的字模数组的大小-32,我的是1056-32=1024

        m=0;

    }

}

/*延时子程序*/

void delay()

{

    uint n;

    for(n=0;n<90;n++)

    {;}

}

 

 

 

两个汉字16x16点阵显示89C51

两个汉字16x16点阵显示_显示板


关键字:51单片机  16*16LED点阵  滚动显示 引用地址:51单片机16*16LED点阵滚动显示

上一篇:单片机脉搏测量仪的制作
下一篇:三相步进电机驱动电路

推荐阅读最新更新时间:2024-03-16 15:52

使用51单片机实现SHT11温湿度传感器检测的程序和电路图
下面是原理图: 下面是与MCU连接的典型电路: 下面是源代码: #include 《reg52.h》 #include 《intrins.h》 /******************************************************** 宏定义 ********************************************************/ #define uint unsigned int #define uchar unsigned char #define noACK 0 #define ACK 1 #define STATUS_REG_W 0x06 #define STATU
[单片机]
使用<font color='red'>51单片机</font>实现SHT11温湿度传感器检测的程序和电路图
51单片机串口调试程序一列
51单片机串口调试程序一列 /*定义为中断方式串口处理*/ #define INTERSENDSTR /*不为8032系列芯片 */ //#define CHIP_8032 #i nclude absacc.h #i nclude reg51.h #i nclude string.h #i nclude err.h #ifdef INTERSENDSTR unsigned char xdata sSendComBuf ,sRecComBuf ; unsigned char data bOut,bIn,bSout,bSin; #else #define DEFSENDCHAR TI=0;SBUF=ACC;while(!T
[单片机]
基于51单片机的L298N直流电机调速系统
本此设计选择STC89C52单片机作为主控芯片,选取带有光电编码器的直流电机作为被控对象,利用单片机的T0定时器产生PWM信号并送到直流电机。在Proteus仿真环境下搭建了L298N直流电机驱动电路、矩阵键盘扫描电路以及LCD12864显示电路。实现了直流电机的启动、加速、正转、反转、制动等功能。同时,采用PID控制算法可实现电机速度在特定的场合实现自动切换。 单片机源程序如下: #include reg51.h #include intrins.h #include math.h #include lcd.h #include Key.h #include Motor.h #include LCD12
[单片机]
基于<font color='red'>51单片机</font>的L298N直流电机调速系统
玩转LED点阵之一:16X64单红点阵静态显示
//单片机:STC89C52 //晶振:22.1184M //显示屏:HUB08接口16X64单红点阵 //显示方式:静态16X16汉字 //作者:huqin //QQ: 1766135164 //网址: http://www.51hei.com //时间:2013-05-13 #include #include zimo.h sbit SDAR1=P0^4; //红色数据1 sbit SDAR2=P3^3; //红色数据2 sbit SDAG1=P3^4; //绿色数据1 sbit SDAG2=P3^5; //绿色数据2 sbit CLK=P0^7; //74HC595的时钟 sbit STB=P0^6; //输出锁存
[单片机]
玩转<font color='red'>LED点阵</font>之一:<font color='red'>16</font>X64单红点阵静态<font color='red'>显示</font>
基于51单片机的蓝牙计步器设计
一.硬件方案 本设计选用单片机STC89C52作为系统控制芯片,通过蓝牙模块把单片机处理的数据传输到手机APP上,这样更能清楚看到检测的效果。整机工作电流只有1-1.5mA,实现超低功耗。采集的步数,路程,卡路里及运动状态用手机APP显示。 主要由51单片机最小系统+ADXL345加速度传感器+lcd1602液晶电路+蓝牙模块电路+呼吸灯电路+电源电路组成;如图: 二.设计功能 (1)通过ADXL345检测步数,然后通过蓝牙模块将步数,路程,卡路里及运动状态实时传输到手机。 (2)有动态呼吸灯指示走路情况。 (3)液晶lcd1602实时显示步数,路程,卡路里及运动状态,运动状态分stand、lie、walk、run。 (4
[单片机]
基于<font color='red'>51单片机</font>的蓝牙计步器设计
MCS-51单片机的存储器结构---单片机基础
ROM和RAM容量和位置 MCS-51单片机的存储器包括程序存储器(ROM)和数据存储器(RAM)两部分,而每一部分的容量又包括片内容量和片外容量。一般8x51系列的单片机的ROM内部容量是4KB,外部扩展容量最大的是64KB;RAM内部容量是128B,外部扩展容量最大是64KB。MCS-51单片机进行了扩容,其内部存储器的容量大小是256B。 程序存储器(ROM)的调用 EA引脚接高电平时,CPU将使用内部程序存储器,若程序超过4KB,将使用外部存储器存储超过的部分; EA引脚接低电平时,CPU将使用外部程序存储器,而内部程序存储器将形同虚设。 数据存储器(RAM)的调用 在汇编语言中,访问内部数据存储器
[单片机]
如何使用keil 5 编写 51单片机 工程
目前我们通常编写51程序使用的是keil4,而好多编写STM32等单片机程序的使用keil5。那么如何在keil5中兼容51和STM32程序编写,省去切换版本的繁琐呢? 很简单只需两步就可以完成。 下面这个方法针对已破解keil5的stm32等一系列。这个肯定是最常见的,因为破解keil5然后编写32工程的教程一大把。 1、首先下载编写51的相关东西。 可以在官网上下载,例如百度keil官网。 点击右上角的DOWNLOADS进入相关的下载界面,下载你需要的安装包。MDK5、c51、c166等,这里只需要下载c51的。 当然也可以在下面这个百度网盘链接里下载: 51相关: 链接:http://pan.baid
[单片机]
如何使用keil 5 编写 <font color='red'>51单片机</font> 工程
51单片机+CPLD让系统更高效
  一、引言   随着数字电子技术的发展,一种新的器件正在被广泛应用,那就是CPLD(ComplexProgrammable Logic Device) 复杂可编程逻辑器件,通俗的说就是可以把以上那些分离器件都放进去的一种可以二次开发的IC.基于此,本刊用这篇文章深入浅出的介绍一种采用51 单片机和CPLD 构建复杂电路系统的设计思想。   二、单片机系统中几个典型电路介绍   首先从熟悉的最小系统电路电路说起,如图1所示,图中用网络标号实现电路连接,这样绘制的电路图清晰整洁,U1 是经典的51 单片机 IC,复位电路和晶振电路是传统电路,这里C5 电容是靠近单片机VCC 引脚的,用来对电源滤波,图中其它芯片VCC 附近都有
[单片机]
<font color='red'>51单片机</font>+CPLD让系统更高效
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved