无名氏1957 发表于 2022-2-3 07:05 ![]() |
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组 |
逐行点亮595 IO组.png (10.17 KB, 下载次数: 113)
10.84 KB, 下载次数: 6, 下载积分: 黑币 -5
uid:332444