单片机控制点阵LED灯(利用74HC595芯片)
实现点阵LED屏的点亮以及图案显示
·
#include <REGX52.H>
#include "delay.h"
sbit RCK=P3^5; //RCLK
sbit SCK=P3^6; //SRCLK
sbit SER=P3^4; //SER
#define MATRIX_LED_POPT P0 //¶¨ÒåP0Ϊһ¸ö¿ª¹Ø·½±ãÀí½â
void _74HC595_writebyte(unsigned char byte)
{
unsigned char i;
for(i=0;i<8;i++)
{
SER=byte&(0x80>>i);
SCK=1;
SCK=0;
}
RCK=1;
RCK=0;
}
void matrixLED_showcolumn(unsigned char Column,Data)//columnΪÐèÒªÔÚµãÕóÆÁÖеãÁÁµÄÁÐÊý
{ //dataΪÁÐÖÐÏÔʾµÄÊý¾Ý
_74HC595_writebyte(Data);
MATRIX_LED_POPT=~(0x80>>Column);
delay(1);
MATRIX_LED_POPT=0xFF;
}
void main()
{
SCK=0;
RCK=0;
while(1)
{
matrixLED_showcolumn(0,0x3C);
matrixLED_showcolumn(1,0x42);
matrixLED_showcolumn(2,0xA9);
matrixLED_showcolumn(3,0x91);
matrixLED_showcolumn(4,0x91);
matrixLED_showcolumn(5,0xA9);
matrixLED_showcolumn(6,0x42);
matrixLED_showcolumn(7,0x3C);
}
}

实现的效果图
此处用到了一毫秒的延迟函数,可用软件自行生成。实现的方法主要是74HC595,将存入的数据,将每一位传入到寄存器中,再由其统一传入到点阵LED屏,后进行显示。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)