精华内容
下载资源
问答
  • 单片机 LED点阵

    千次阅读 多人点赞 2018-06-01 18:15:55
    单片机 LED点阵一、简述 使用8×8LED点阵显示汉字。向上滚动"中华"两个汉字。 文件打包:链接: https://pan.baidu.com/s/1oHSAIY6qVA7qFFWUvMvJEA 密码: snyg二、效果三、工程文件结构1、Keil工程2、...

    单片机 LED点阵

    一、简述

         使用8×8LED点阵显示汉字。向上滚动"中华"两个汉字。

         文件打包:链接: https://pan.baidu.com/s/1oHSAIY6qVA7qFFWUvMvJEA 密码: snyg

    二、效果


    三、工程文件结构

    1、Keil工程


    2、仿真电路图


    四、代码

    88led.c文件

    #include<reg51.h>
    #define uint unsigned int
    #define uchar unsigned char
    uchar code led[]={0xEF,0xEF,0x83,0xAB,0xAB,0x83,0xEF,0xEF,0xD5,0x93,0x55,0xC0,0x00,0xEF,0xEF,0xEF};//汉字“中华” 点阵码
    uchar code  led_w[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//对应1~8行,赋给P2口,控制在哪一行显示
    /********************************************************************/
    //函数名:delay_1ms(uint x)
    //功能:利用定时器0精确定时1ms; 自加 time_t的值为后面时间调整函数服务
    //调用函数:
    //输入参数:x,1ms计数
    //输出参数:
    //说明:延时的时间为1ms乘以x 
    /********************************************************************/
    void delay_1ms(uint x)
    {
    	TMOD=0X01;//开定时器0,工作方式为1
    	TR0=1;//启动定时器0;
    	while(x--)
    	{
    		TH0=0Xfc;//定时1ms初值的高8位装入TH0
    		TL0=0X18;//定时1ms初值的低8位装入TL0
    		while(!TF0);//等待,直到TF0为1
    		TF0=0;	   //重置溢出位标志
    	}		
    	TR0=0;//停止定时器0;
    }
    /**********************************************************/
    //函数名:ledplay()
    //功能:led点阵显示程序
    //调用函数:
    //输入参数:
    //输出参数:
    //说明:
    /**********************************************************/
    void ledplay()
    {
    	uchar i,y,j;
    	y=0; //稳定显示电平,平滑滚动,每8行数据显示10次
    	j=0;//数据偏移,每次偏移1位
    	while(1)//实现汉字向上滚动效果
    	{
    		for(i=0;i<8;i++)//显示8行数据
    		{
    			P0=0xFF;//消除上次电平的影响		
    			P2=led_w[i];//控制显示行
    			P0=led[i+j];//行电平数据
    			delay_1ms(3);//延时3ms
    		}
    		y++;
    		if(y>9)
    		{
    			P0=0xFF;//消除上次电平的影响
    			delay_1ms(1);//延时,确保消除上次电平的影响
    			y=0;
    			j++;
    			if(j>8)	//"中华"二字一共16行电平数据(0~15),i+j要<15
    				j=0;
    		}
    	}
    
    }
    /**********************************************************/
    //主程序
    /**********************************************************/
    void main()
    {
    	ledplay();//调用显示程序;
    }

    五、总结


    展开全文
  • 单片机LED点阵显示

    2012-07-13 16:08:19
    基于单片机控制的LED点阵显示,初学单片机LED点阵显示者很好的参考。。
  • 本文主要讲了单片机LED点阵纵向动态移动显示教程,下面一起来学习一下
  • 项目4 基于单片机LED点阵显示电子时钟设计.zip。本资源是基于单片机LED点阵显示电子时钟设计,下载附件包含项目相关资源和汇编代码。
  • 单片机LED点阵显示protues原理图
  • 单片机LED点阵开发包.rar
  • 基于protues 51单片机 led点阵贪吃蛇 ,有仿真电路图。 里面的程序速度没有调好,懒的调了, 这个程序没有注释,可以到http://download.csdn.net/detail/wlx1993/5585159下载我写的另一个“基于普中实验板 51单片机 ...
  • 单片机led点阵汉字显示 感觉挺不错的 适合初学者 就传上来给大家分享
  • 基于普中实验板 51单片机 led点阵贪吃蛇,初学者单片机的可以参考下
  • 单片机LED点阵实验

    2013-04-28 15:39:36
    单片机实验,LED点阵
  • 51单片机LED点阵显示文字

    千次阅读 2018-01-14 22:31:51
    51单片机LED点阵显示文字 代码如下。 #include #define u8 unsigned char sbit SER = P3^4; sbit RCLK = P3^5; sbit SCLK = P3^6;  //横向 D0->D7 u8 tao[32]={8,240,8,15,8,136,126,145,8,82,8,2,62,8,8,231,8,...

    51单片机LED点阵显示文字 代码如下。

    #include <REGX51.H>

    #define u8 unsigned char
    sbit SER = P3^4;
    sbit RCLK = P3^5;
    sbit SCLK = P3^6; 

    //横向 D0->D7

    u8 tao[32]={8,240,8,15,8,136,126,145,8,82,8,2,62,8,8,231,8,129,126,129,72,231,72,129,88,129,40,129,8,255,8,129};


    u8 heng[32]=
    {
    0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,
    0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,
    0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,
    0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00
    };
    void display(u8 zimo[],u8 heng[]);
    void sendData(u8 d1, u8 d2, u8 d3, u8 d4);


    void main(void)
    {
    display(tao,heng); 
    }


    void display(u8 zimo[],u8 heng[])
    {
    unsigned char i;
    for (i=0;i<16;i++)
    {
    sendData(~zimo[2*i+1],~zimo[2*i],heng[2*i],heng[2*i+1]);
    }

    }


    void sendData(u8 d1, u8 d2, u8 d3, u8 d4)
    {


    u8 i;
    RCLK = 0;
    SCLK = 0;
    for(i=0;i<8;i++)
    {
    SER = d1>>7; //往74HC595的串口送信
    SCLK = 0;
    SCLK = 1;  //74HC595的移位
    d1 = d1 << 1;
    }
    // d1送到了74HC595A

    for(i=0;i<8;i++)
    {
    SER = d2>>7; //往74HC595的串口送信
    SCLK = 0;
    SCLK = 1;  //74HC595的移位
    d2 = d2 << 1;
    }
    // d1送到了74HC595B,d2送到了74HC595A


    for(i=0;i<8;i++)
    {
    SER = d3>>7; //往74HC595的串口送信
    SCLK = 0;
    SCLK = 1;  //74HC595的移位
    d3 = d3 << 1;
    }
    // d1送到了74HC595C,d2送到了74HC595B,d3送到了74HC595A


    for(i=0;i<8;i++)
    {
    SER = d4>>7; //往74HC595的串口送信
    SCLK = 0;
    SCLK = 1;  //74HC595的移位
    d4 = d4 << 1;
    }
    // d1送到了74HC595D,d2送到了74HC595C,
    // d3送到了74HC595B,d4送到了74HC595A


    RCLK = 0;
    RCLK = 1;//74HC595 锁存,往LED点阵送信
     

    }

    图片如下



    展开全文
  • 单片机LED点阵万年历

    2013-08-06 08:14:28
    LED点阵单片机万年历 ---- snallie@tom.com 2013.01 ---- 特点: 0. 电路简洁,并口直接驱动,51最小系统+74hc259 0.0 采用单片机芯片定时器计时,无需RTC芯片(预留RTC芯片代码). 1. 阳历:年、月、日、时、分、秒...
  • 单片机LED点阵控制。

    2021-01-15 09:21:38
    文章目录系列文章目录前言一、74HC595芯片的说明及其使用二、LED点阵1![](https://img-blog.csdnimg.cn/20210115091732803.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9...

    系列文章目录


    <font color=#999AAA


    前言

    本文将介绍如何使用74HC595芯片来控制8x8的LED点阵


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、74HC595芯片的说明及其使用

    (1)。单片机的IO口是有限的,8*8的点阵已近需要16个IO口进行控制,而在我们日常生活中所用的恐怕会更多,因此IO口的扩展就十分的必要,因此接下来我们就以一起来认识如何使用74HC595芯片来实现IO口的串转并,用3个IO口来实现8个甚至更多的IO口的控制功能。

    (2.)74HC595芯片
    1.具有8 位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。
    2.特点:
    8 位串行输入
    8 位串行或并行输出
    存储状态寄存器,三种状态
    输出寄存器可以直接清除
    100MHz 的移位频率
    输出能力
    并行输出,总线驱动
    3.单片机中芯片模块图
    4. 功能表
    在这里插入图片描述
    SER 是串行数据输入口,也就是说可以和并行数据一样输入只不过多了一步转化为并行数据的步骤。

    当 MR 为高电平,OE 为低电平时,数据在 SHCP 上升沿进入移位寄存器,在
    STCP 上升沿输出到并行端口。再利用QA-QH口实现8个IO口的控制效果。
    案例 :实现串转并

    void chuanzhuanbing(unsigned char dat){
    int i;
    for(i=0;i<8;i++)
    {
    SER = dat >>7;// 1000 1000 只保留最高位,每将一位上沿到移位寄存器。
    dat <<1;// 最高位变成下一位,依次输出8位
    SRCLK=0_nop_() ;
    SRCLK=1;
    }
    RCLK =0;
    _nop_() ;
    RCLK =1;//由移位寄存器上沿到并行输出端口
    }
    
    1. 此外还有扩展口QH’ 可以连接下一个此类芯片的SER输入口,来节省资源。

    二、LED点阵

    1

    基本实现和矩阵按键相似,就不再多叙述来。
    附点亮一个小灯的代码:

    # include <reg51.h>
    # include <intrins.h>
    sbit SER = P3^4;
    sbit SRCLK = P3^6;
    sbit RCLK = P3^5;
    void chuan (unsigned char dat ){
    int i;
    	for( i=1;i<=8;i++){
    		SER = dat>>7;
    		dat <<= 1;	
    		SRCLK = 0;
    		_nop_();
    		_nop_();
    		SRCLK = 1;	
    	 
    	}
    		RCLK = 1;
    		_nop_();
    		_nop_();
    		RCLK = 0;
    }
    void main ()
    {
    	while(1){
    		P0=~0x80;
    		chuan(0x80);
    	}
    }
    

    总结

    提示:这里对文章进行总结:
    以上就是今天要讲的内容。

    展开全文
  • 为了LED点阵显示屏显示的信息可以方便更新,提出了一种基于P89V51RD2单片机LED显示屏的的设计方案,并完成了系统的软硬件设计。该系统的硬件部分主要有单片机、移位寄存器、译码器以及数据存储器等部分组成;软件有...
  • LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。
  • 用AT89C单片机实现LED点阵汉字移动显示,包括硬件和程序设计(汇编语言)
  • 单片机介绍、protel介绍、点阵介绍、C++源程序代码、最初级的最容易懂得驱动代码。
  • 8X8 LED点阵显示技术 在8X8 LED点阵上显示柱形让其先从左到右平滑移动三次其次从右到左平滑移动三次再次从上到下平滑移动三次最后从下到上平滑移动三次如此循环下去 ? 电路原理图 图4.24.1 ? 硬件电路连线 (1? 把...
  • LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长
  • 51单片机LED点阵实验(74HC595)

    万次阅读 多人点赞 2018-11-29 21:05:21
    实验目的:用8*8的LED点阵显示一颗爱心。 实验仪器:普中开发板(非广告) 实验背景:出于一些原因,最近在看Arduino,但仍觉得51好玩。遂,一边看Arduino,一边整理51。 8*8的LED点阵电路如图一所示,有两种方式...

    实验目的:用8*8的LED点阵显示一颗爱心。

    实验仪器:普中开发板(非广告)

    实验背景:出于一些原因,最近在看Arduino,但仍觉得51好玩。遂,一边看Arduino,一边整理51。


    8*8的LED点阵电路如图一所示,有两种方式。单片机上集成的电路方式为第二种。

    其中,行由P0口控制,列由D7~D0(HC595芯片控制,见下方)控制。

    图一

    首先考虑,如何先点亮一个灯?

    eg:让P0^7的端口为低电平,P0的其他端口为高电平;D7的端口为高电平,则第一行第一列的led被点亮。

    同样的方式也可以,让其他单独的led点亮。

    接着考虑,如何控制多个led的点亮?

    类似与数码管的动态显示,利用余晖来进行动态显示。

    第一步:P0口先选通某一列,D7~D0控制这一列中哪些灯亮。

    第二步:动态显示每一列。

     

    为了减少单片机引脚的使用,这里使用了74HC595芯片。(注:图二中led的方向反了)。

    图二
    图三
    图四

    这图是丑的没法看了。但为了叙述清楚,目前也只能这样了。74HC595芯片详细的内容可以网上找,也可以直接评论区留言。

    HC595芯片的功能:串行输入,并行输出。

    看如何给芯片接线,并使用:(注:引脚上加一个“非横线”,表示低有效)

    1、D0~D7,并行输出,接LED。

    2、16号和8号引脚,分别接Vcc,Gnd。

    3、OE,13号引脚,低电平才输出有效,让它接地。

    4、10号引脚,主复位引脚,低有效。目前不需要复位,直接接VCC就好.

    5、14号引脚SER,接在集成板的P3^4,为串行输入端。

    6、11号引脚SRCLK,接在集成板的P3^6;上升沿时,将串行口RCLK的一位,移位输入。

    7、12号引脚RCLK,接在集成板的P3^5;上升沿时,将移入的8位数据,送到存储寄存器。

    上面的只是使用方法,如果还想继续深究,可以查看数电当中的串并行输入输出。

     

    代码:

    #include<reg51.h>
    #include<intrins.h>
    
    typedef unsigned char uchar;
    
    sbit SER=P3^4;//14号引脚,串行数据输入
    sbit SRCLK=P3^6;//11号引脚,移位寄存器时钟输入
    sbit RCLK=P3^5;//12号引脚,存储寄存器时钟输入
    
    uchar code lie[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//p0^7~p0^0,单片机中,p0^7是高位
    uchar code hang[]={0x00,0x38,0x3c,0x1e,0x1e,0x3c,0x38,0x00};//D7~D0
    
    
    void Hc595SendByte(uchar dat)
    {
    	int i; //编译可能有点老,变量的定义必须放在块的开头
    	SRCLK=0;//初始化
    	RCLK=0;	
    	for(i=0;i<8;i++)//从高位到低位,依次串行输入
    	{
    		SER=dat>>7;
    		dat<<=1;
    		SRCLK=1;//上升沿,将数据串行输入
    		_nop_();//一个机器周期
    		_nop_();
    		SRCLK=0;
    	}
    	RCLK=1;//上升沿,将数据送入存储寄存器
    	_nop_();//一个机器周期
    	_nop_();
    	RCLK=0;
    }
    
    void delay(int i)
    {
    	while(i--);	
    }
    
    void main(void)
    {
    	int i;
    	while(1)
    	{
    		for(i=0;i<8;i++)
    		{
    			P0=lie[i];//选通列
    			Hc595SendByte(hang[i]);//送入行
    			delay(100);
    			//Hc595SendByte(0x00);//消隐
    			P0=0xff;//消隐
    		}
    	}
    }
    

     

    补充:

    1、不是只有整数才分有符号数和无符号数。char,字符型也有,我感觉挺奇怪的,哈哈。  unsigned char

    2、我第一次写这个程序的头文件是#include<reg52.h>,但是总是报错,提示RCLK重定义。我仔细检查程序并没有发现重定义的地方。后来参看例程序,将头文件改成#include<reg51.h>,程序顺利通过。看来52的头文件中应该定义过该变量。就像P0一样。头文件reg51.h与reg52.h的区别

    3、按照C语言的标准,变量的定义必须放在块的开头。比如我将主函数中的int i放在for之前写,程序会报错。

    这个标准已近很老了,现在C99标准中,变量定义的位置比较随意了,只要使用之前定义就好了。(当然单单这么说不严谨,详细的可以去网上看看)

    4、今天win10刚装的Kail,端口和win7的有些不同。成功解决win10下单片机开发板驱动识别问题

    5、当然还有最后的结果

    图五

     


    用手机拍摄,还是能看到余晖,肉眼的效果还是很好的。

    拓展:这里每次显示的都是爱心,所以整体是一个静态爱心的形状。

               当如果动态显示的分别是I LOVE DOG,想来也是很好看。但是估计得16*16的尺寸。

    苟日新,日日新。

     

     

     

     

     

     

     

     

     

    展开全文
  • 采用AT89C51几外围电路作为控制模块,设计了一个简单的LED点阵显示系统,它能循环显示几个汉字。用protues仿真软件成功进行了系统的仿真.
  • 单片机LED点阵的显示

    2010-05-26 22:48:55
    作为刚刚入门学习单片机的同学,这些都是必须要了解的,不多介绍,大家可以在单片机上看效果。。。
  • 实验目的:用8*8的LED点阵显示数字10
  • 独立的 LED 小灯可以实现流水灯,数码管可以显示多位数字,那点阵 LED 就得来显示一点花样了。我们要显示花样的时候,往往要先做出来一些小图形,这些小图形的数据要转换到我们的程序当中去,这个时候就需要取模软件...
  • 实验现象:下载程序后,LED点阵显示"三十而已“ 接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节) 1,单片机-->74HC595模块 P34-->SE P35-->RC P36-->SC 2,74...
  • 单片机的优秀辅助软件,帮您高效率的进行程序开发工作,界面丰富,使用很方便。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,169
精华内容 467
关键字:

单片机led点阵