本帖最后由 张绍能 于 2013-10-15 22:44 编辑
单片机怎么用一个按钮控制多种花样流水灯,只要一按就马上执行下一种花样?
用P3^2做按钮输入,按第一下执行第一种花样跑马灯程序,按第二下执行第二种花样跑马灯,……。P0,P1,P2口输出。一共有个18个输出口控制LED灯。大家帮我写一个这样的C程序,万分感谢!
void main(void)
{
EA=1; //开放总中断
EX0=1; //允许使用外中断
IT0=1; //选择负跳变来触发外中断
x=0;
while(1)
switch(x)
{
case 0: rzmyy();
break;
case 1:rzmzy();
break;
case 2: P0=0xfb;
break;
case 3: P0=0xf7;
break;
}
}
/**************************************************************
函数功能:外中断T0的中断服务程序
**************************************************************/
void int0(void) interrupt 0 using 0 //外中断0的中断编号为0
{
x++;
if(x==3)
x=0;
}
为什么按完按钮后他还在执行case 1: 要等case 1执行完了才执行case 2.请大家帮帮忙。
分享到:
一周热门 更多>