|
51单片机点阵逐行点亮595+IO组
[51单片机点阵逐行点亮595+IO组]2022-2-1
#include "REG52.h"
sbit ds=P1^0; // 数据线 595的14脚
sbit shcp=P1^1; // 数据输入时钟线 595的11脚
sbit shcp=P1^2; // 输出存储器锁存时钟线 595的12脚
sbit mr=P1^3;// 数据清零
void QuDong595(unsigned char sj)
{
unsigned char aa=8;
mr=0;mr=1;
while(aa--)
{
ds=sj>>7;
sj<<=1;// 十六进制数据发送
shcp=1;// 上升沿发生移位 上升沿时数据寄存器的数据锁存。
shcp=0;
}
stcp=0;
stcp=1;// 上升沿将数据送到输出锁存器
stcp=0;
}
void main()
{
unsigned char Xd=0,ss=1,cs=0,d=0,y=0;
unsigned int ys=0;
while(1)
{
QuDong595(0x00+d);
P0=ss;
while(++Xd);
if(++y==0)
{
if((ss*=2)>128)ss=1;
++d;
}
}
}
======================================
逐行点亮595+IO组
|
|