数码管的数不停得循环怎么加外部中断按键程序,按一下让它停留在当前的位置,然后再按一下按键就继续循环下去。下面是我写的程序。请大侠帮帮。
#include<reg52.h>
void delay();
unsigned char table[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,0x80,0x90};
main()
{
unsigned char i;
while(1)
{
for(i=0;i<10;i++)
{
P1=table[i];
delay();
}
}
}
void delay()
{
unsigned int i;
for(i=0;i<30000;i++);
}
很感谢你,可我重写了多次老是这样,请大侠再帮帮,是不是我的软件问题keil3.
//非常不好意思,因为没有相应的硬件设备,所以没有实测,刚刚弄到keil4上编译才发现有这么多错。
//你先试试这个,若不行的话可以私信我,虽然我也是新手,但还是有点基础的
#include
void delay();
unsigned char table[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,0x80,0x90};
bit StopFlag;//中断标志
unsigned char i;
main()
{
StopFlag = 0;
EA=1; //打开总中断
IT0=1;
EX0=1; //开外部中断1
while(1)
{
for(i=0;i<10;i++)
{
P1=table[i];
delay();
while(StopFlag);//若有中断则停在此处
}
}
}
void INT0_() interrupt 0 // 外部中断服务函数
{
EA=0; //关闭外部中断
StopFlag = ~StopFlag;//标志位取反
EA=1;
}
void delay()
{
unsigned int i;
for(i=0;i<30000;i++);
}