#include <reg52.h>
sbit beep=P2^2;
sbit dula =P2^7;
sbit wela=P2^6;
unsigned char table[]={
0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
0x77, //"A"
0x7C, //"B"
0x39, //"C"
0x5E, //"D"
0x79, //"E"
0x71, //"F"
};
unsigned int num;
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for (y=114;y>0;y--);
}
void main ()
{
EA=1;
EX0=1;
wela=1;
P0=0x5;
wela=0;
while(1)
{
for (num=0;num<16;num++)
{ dula=1;
P0=table[num] ;
dula=0;
delay(500);
}
}
}
void timer() interrupt 0
{
beep=0;
}
两个都出错,无论是uint 还是uchar 程序烧入后,单片机就会响,我设置外部中断为低电平有效,为什么没给低电平程序就执行到了外部中断
不是这个问题,别人写的程序,在这个地方就是uchar型的,执行未出错
为什么我的程序一烧入就会出错,进入中断呢
P0=0x5 ?
追问位选
并没有溢出,无论是uint 还是uchar 程序烧入后,单片机就会响,我设置外部中断为低电平有效,为什么没给低电平程序就执行到了外部中断