51单片机实验8:led点阵(1):点亮一个点
开发板led点阵模块电路图如下:
74HC595:74HC595是一个8位串行输入、并行输出的位移缓存器。芯片第11角为数据输入时钟线,上升沿有效。芯片第12脚为输出存储器锁存时钟线,上升沿有效。芯片第13脚为输出有效(低电平)。芯片第14脚为串行数据输入。
为表示出输入74HC595的8位二进制数,开发板加入了led模块(图一中绿色所示)。若要使led发光,则需将JP595接vcc。
OE为输出有效控制端,低电平有效,所以务必将JOE短接片短接到GND端。
_nop_();函数为延时一个机器周期,所对应头文件为intrins.h
#include<reg52.h>
#include<intrins.h>
#define uc unsigned char
sbit srclk=P3^6;
sbit rclk=P3^5;
sbit ser=P3^4;
void c74hc595(uc dat)
{
uc i;
srclk=rclk=0;
for(i=1;i<=8;i++)
{
ser=dat>>7;
dat<<=1;
srclk=1;
_nop_();
srclk=0;
}
rclk=1;
_nop_();
rclk=0;
}
void main()
{
c74hc595(0x80);
P0=0x7f;
while(1);
}