电路原理图咱不说,如果单片机IO口拉低灯亮、拉高灯灭,则设置一个定时模块,一个计数模块
while(1)
{
for(i=0;i<=18;i++)// for计数模块.7+11=18秒
{
定时模块函数()//每次1秒
P0=0xF0; //4个灯亮
if(i=7)
{P0=0x=0x0F;} //后4个灯开始亮
}
if(i=18)
{i=0;}
}
定时模块函数()//最好用中断,比较精确,当然也可以增加定时微调函数,更加精确
{……}
给你个思路吧,用调制的方法,灯在高速闪烁人眼是看不出来的,你每个循环给闪烁的熄灭时间加1,灯就会慢慢变暗,在设置熄灭时间加到一定程度就开始减一,就会渐渐变亮了,如此循环就可以了
有个晶振频率,才好定时。
用定时器定时