51单片机自学笔记(十)——8×8LED点阵

LED点阵

LED点阵屏简介
LED点阵屏通过LED组成,以灯珠亮灭来显示文字、图片、动画、视频等,LED点阵显示制作简单,安装方便,被广泛应用于各种场合。
8×8LED点阵屏电路原理图
51单片机自学笔记(十)——8×8LED点阵
74HC595芯片介绍
74HC595是8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。
特点:
8位串行输入、8位串行或并行输出、存储状态寄存器,三种状态、输出寄存器可以直接清除、100MHz的移位频率。
输出能力:
并行输出,总线驱动、串行输出(标准)、中等规模集成电路。
51单片机自学笔记(十)——8×8LED点阵
实例编程
利用8×8LED点阵显示数字0:

#include <reg51.h>
#include <intrins.h>

typedef unsigned char u8;
typedef unsigned int u16;

sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;

u8 ledduan[]={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00};
u8 ledwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

void delay(u16 i)
{
	while(i--);
}

void HC595(u8 dat)
{
	u8 a;
	SRCLK=0;
	RCLK=0;
	for(a=0;a<8;a++)
	{
		SER=dat>>7;
		dat<<=1;
		SRCLK=1;
		_nop_();
		_nop_();
		SRCLK=0;
	}
	RCLK=1;
	_nop_();
	_nop_();
	RCLK=0;
}

void main()
{
	u8 i;
  while(1)
	{
		for(i=0;i<8;i++)
		{
			P0=0x7f;
			P0=ledwei[i];
			HC595(ledduan[i]);
			delay(100);
			HC595(ledduan[0x00]);
		}
	}
}
上一篇:《算法竞赛进阶指南》0x00树状数组


下一篇:USB2.0系列—HID设备