壹拾伍:LED点阵的点亮

发布者:BlissfulJoy最新更新时间:2019-08-13 来源: eefocus关键字:LED  点阵  发光二极管 手机看文章 扫描二维码
随时随地手机看文章

目前市场主要已形成了4类LED显示 产品:
① 单色文字显示屏
② 点阵和数码管混合显示屏
③ 双基色(红、绿)多媒体视屏
④ 全彩色(红、绿、蓝)多媒体视屏
LED屏的优点:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
LED电子屏的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、更高的灰度级别、全色化方向发展。
#8X8LED点阵屏
8x8点阵LED结构由64个发光二极管组成。

原理

应用


**原理图** ![这里写图片描述](https://img-blog.csdn.net/20180808220153237?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE3MDE3NTQ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

此处加一个 74LS245 的目的是增强驱动能力,比如从高电平A0输入,B0输出仍然是高电平,只不过电流大一些。

代码


******************************************************************/

*   【课程16】 ****8X8点阵屏的实验***********

*   【说  明】 ****

*   【描  述】 ****在点阵屏上显示一个"大"字

******************************************************************/

#include //51头文件,


//---------常用的两个宏定义-------------- 

#define uint8 unsigned char

#define uint16  unsigned int


//------------显示数据-------------------

uint8   Col_contorl[8]={~0xfe,~0xfd,~0xfb,~0xf7,~0xef,~0xdf,~0xbf,~0x7f};

uint8   DA_Disp[8]={~0x44,~0x24,~0x14,~0x0f,~0x14,~0x24,~0x44,~0x00};


//------------函数的声明-----------------

void DelayMS(uint16 dly);


//-------------主函数--------------------

void main(void)

{

uint8 i,j;

while(1)

{

//P0 = 0x00;    //P0控制行 P0.0是第一行,以此类推

//P2 = 0xFF; //P2控制列 P2.0是第一列,以此类推

P0 = 0xFE;

for(j=0;j<8;j++)    //实现逐行的逐个亮

{

P2 = 0x01;

for(i=0;i<8;i++)  //实现某一行的逐个亮

{

DelayMS(250);

P2 = P2<<1;

}

P0 = (P0<<1)+1;   //每次扫描完一行换到下一行 (比如 1111 1110→ 1111 1101 → 1111 1011)

}

/*

for(i=0;i<8;i++)       //循环显示一个“大”字

{

P0 = DA_Disp[i]; //同一列中的那几个LED亮

P2 = Col_contorl[i];//控制哪一列亮

DelayMS(5);

P0 = 0xff;

}

*/

}

}


/********************************************************

** 名称 :void DelayMS(uint16 dly)

** 功能 :毫秒级延时(12M的晶振)

** 入口参数 :dly  用户的延时参数   

** 出口参数 :无   

*********************************************************/

void DelayMS(uint16 dly)

{

uint16 x,y;

for(x=dly;x>0;x--)

for(y=124;y>0;y--);

}

这里写图片描述


关键字:LED  点阵  发光二极管 引用地址:壹拾伍:LED点阵的点亮

上一篇:壹拾肆:矩阵按键的读取
下一篇:壹拾陆:LCD1602的显示

推荐阅读最新更新时间:2024-10-23 16:47

第七章:LED将为我闪烁:控制发光二极管
在之前章节了解到Linux驱动程序可以控制软硬件,可以实现软硬件之间的交互。在这章我们学习LED驱动的实现原理。Linux内核提供了多个与I/O内存交互的函数可以实现控制硬件。 编写LED驱动,LED驱动会建立一个/dev/s3c6410_leds设备文件,该Linux驱动可以控制4个LED,靠近电池的LED编号为1,以此类推,另外1表示开,0表示关。接下来创建LED驱动的设备文件:第一步:使用cdev_init函数初始化cdev;第二步:指定设备号;第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中;第四步:使用class_create宏创建struct class;第五步:使用device_create函
[单片机]
第七章 LED将为我闪烁:控制发光二极管
该Linux驱动用来控制开发板上的4个LED灯,即通过向Linux驱动发送数据可以控制LED灯的开关。LED驱动提供两种交互方式:命令和读写设备文件。 测试LED驱动之前需用USB线连接开发板,然后打开开发板。成功启动后,执行build.sh脚本文件编译和安装LED驱动。build.sh脚本文件会自动将s3c6410_leds.ko文件上传到开发板并安装。LED驱动只能在开发板上安装,build.sh执行了build_s3c6410.sh脚本文件进行编译和安装。LED驱动会建立一个/dev/s3c6410_leds设备文件,该Linux驱动可控制4个LED,通过向设备文件发送长度为1到4的字符串可以控制这4个LED的开关。1表示开
[单片机]
LED:控制发光二极管
1、LED驱动实现原理,如图: 2、编写LED驱动 (1)创建LED驱动的设备文件   第一步:使用cdev_init函数初始化cdev   第二步:指定设备号   第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中   第四步:使用class_create宏创建struct class   第五步:使用device_create函数创建设备文件   #define DEVICE_NAME s3c6410_leds   //定义设备文件名称   #define DEVICE_COUNT 1  //创建设备文件的数量   #define S3C6410_LEDS_MAJOR 0  //默认主设备号   #de
[单片机]
<font color='red'>LED</font>:控制<font color='red'>发光二极管</font>
如何用单片机LED发光二极管显示“爱心”
一、硬件图 二、元件清单 四、程序(参考) #include reg51.h void delay(unsigned int k); void main() { unsigned char i,j,h,y,w,e,t,s; while(1) { w=0x80; e=0x01; t=0x00; s=0xff; for(i=0;i 3;i++) { if (i 1) { for (j=0;j 8;j++) { P1=w; P3=t; w =1; delay(200); } } else if (i==1) { for (h=0;h 8;h++) { P3=e; P
[单片机]
如何用单片机<font color='red'>LED</font><font color='red'>发光二极管</font>显示“爱心”
ZigBee-CC2530单片机 - 实现计算机串口通讯控制LED发光二极管
程序源码 /************************************************************** * 文件名称:uart2.c * 功 能:PC机控制发光二极管亮灭 *************************************************************/ #include ioCC2530.h #include string.h //定义led灯端口 #define LED1 P1_0 // P1_0定义为P1_0 #define LED2 P1_1 // P1_0定义为P1_1 #define uint unsigned int #
[单片机]
51单片机——LED发光二极管、蜂鸣器C语言入门编程
最近在哔站学完了51单片机,准备复习的时候却发现找不到比较适合自己的一些资料,所以就想自己总结一个适合已入门学者基于51单片机的资料。 接下来将参考江科大的代码风格根据普中51单片机开发攻略在A2开发板编写程序。 LED发光二极管: 长脚为正,短脚为负。由原理图可以知道,LED的正极都接了VCC,我们需要控制的引脚就约等于LED的负极,只需给低电平,LED两端有电压差就会点亮。(低电平点亮) 1.点亮第一个LED:P2_0亮 #include REGX52.H void main() { while(1) { P2_0=0; } } 2.LED闪烁:P2_0以1S为周期
[单片机]
51单片机——<font color='red'>LED</font><font color='red'>发光二极管</font>、蜂鸣器C语言入门编程
点亮一个发光二极管LED--51的第一个程序
一、发光二极管LED的参数 要点亮LED,首先要清楚LED的参数,这样才能将它点亮。LED的压降一般为1.5~2.0 V,其工作电流一般取10~20 mA为宜。换句话说,只要我们给LED加上1.5~2.0V的正向电压,10~20mA的电流,那么就可以使LED正常发光了。 二、单片机与LED电路图如下所示: 由于51单片机的驱动能力有限,所以外接74HC245总线驱动器,加强驱动能力。当OE接地,AB/BA接Vcc时,数据流向为A到B,即当P2.0输出“1”时,B0也为“1”,这时,LED的压降为0,故LED不亮;当P2.0输出“0”时,B0也为“0”,这时,LED的压降不为为0,但为多少呢?这个取决与R1,为了LED正
[单片机]
点亮一个<font color='red'>发光二极管</font><font color='red'>LED</font>--51的第一个程序
如何用万用表判断发光二极管/LED的好坏
在日常工作和生活中,尤其是作为硬件工程师,经常遇到拿到一个LED不知道是好是坏的情况,其实是非常容易判断的,一个万用表就够啦。下面就简要介绍一下。 1、首先把万用表拨到二极管档。不同的万用表位置可能有所不同。 2、分别用黑色表笔接LED的负极,用红表笔接LED的正极,此时你会发现LED被点亮了。 这是因为驱动led发光需要的电流很小,万用表的二极管档已经足以胜任。
[测试测量]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved