此代码需注意74HC595芯片的用法,74HC595是一个8位串行输入,并行输出的位移缓存器。主要目的还是为了减少51端口的占用。下面代码实现了简单的“心”显示,效果图及代码如下。
#include “reg51.h”
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit SRCLK = P3^6;
sbit RCLK = P3^5;
sbit SER = P3^4;
u8 ledx[] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe};
u8 ledy[] = {0x70, 0xf8, 0xfc, 0x7e, 0xfc, 0xf8, 0x70, 0x00};
void delay(u16 i)
{
while(i–);
}
void L74HC595(u8 num)
{
u8 a;
SRCLK = 0;
RCLK = 0;
for(a = 0; a < 8; a++)
{
SER = num>>7;
num<<=1;</