【51单片机32个灯,第一次亮1,2。第二次亮2,3。第三次亮3,4。。。。】2023-2-10
这段代码展示了一个基于8051单片机的循环控制程序,通过变量自增和条件判断实现P1端口输出值的周期性变化。程序使用嵌套的if语句实现多级计数器功能,当y2超过7时输出d值到P1端口,并采用d=3和d*=2的循环模式(3,6,12,24,48,96,192)。作者指出该方法可扩展用于多组IO控制,建议通过74HC595等移位寄存器实现多路输出。代码简洁地展示了嵌入式系统中的循环控制和端口操作原理。
·
缘由
#include "reg52.h"
void main()
{
unsigned char y=0,y1=0,y2=0,d=3;P1=0;
while(1)
{
if(++y==0)if(++y1==0)if(++y2>7){P1=d;if((d*=2)==128)d=3;y2=0;}
}
}
虽然写的是一组IO实现,荔枝扩展到3组、4组都一样如法炮制,送595就是把值送去即可。
更多推荐



所有评论(0)