#************//头文件
unsigned char user_delay=0;
void Int_Timer(void) inrruput 0//定时器中断0,定时1ms
{ if(user_delay)user_delay--;
}
unsigned char user_mode=0;
void main()
{
init_sys();
while(1)
{read_key();
user_pro();
}
}
user_pro() //加入你的功能.
{ if(user_delay)return;
if(user_mode==1)//功能1
{ if(led_mun==1)//亮第一个灯.
{user_delay=10;//各灯点亮时间间隔.
led_mun=2;
}
if(led_mun==1)//亮第二个灯.
{user_delay=10;//各灯点亮时间间隔.
led_mun=3;
}
...........................
if(user_mode==1)//功能1
{....................................
}
}
用数列来做不就是很简单吗?给你一个用52来做的类似的,里面的花式和时间改一下就和你的那个一样了
#include
#define LED P0
sbit L=P2^0;
char TAB[10]={0xF9,0xA4,0xB0,0x99,0x92,0x82};//花式表
void delay(int);
main()
{
unsigned char i;
while(1)
for(i=0;i<6;i++)// i 是读数列数值时的顺序的个数
{
L=0;
LED=TAB[i];
delay(500);
}
}
void delay(int x)
{
int i,j;
for(i=0;i
}
///////////////////////////////////////////
当然如果你想用其他方法的话,也可以用最简单的FOR循环切换花式来做咯~
6位的变量实现,然后将此16为变量拆分为高8位和低8位,并且对应到P0和P1口上就可以了。
FOR 循环没
用查表的方式咯~~超级简单~~程序很短,只是数据量有点大