电平触发方式的中断不是应该保持中断状态么?
咋我这个接地之后只是变化的慢了而不是完全不动呢?
#include
void delay(unsigned int z); //延迟子程序声明
sbit dula=P1^0; //段锁位
sbit A1=P2^2;
sbit B1=P2^3;
sbit C1=P2^4; //38译码器用的三个口
sbit E1=P2^7; //中断用的。
我将此口接到一个发光二极管上
char num;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71}; //从0-f的编码表格
void main()
{
EA=1; //开总中断
EX0=1; //开外部中断0
A1=1;
B1=1;
C1=0; //用38译码器选择第四口
while(1)
{
for(num=0;num<16;num++)
{
E1=1; //中断回复时熄灭二极管
dula=1; //锁存器导通
P0=table[num]; //我将P0口接在数码管的段选上了
dula=0; //锁存
delay(200); //延迟大概1秒
}
}
}
void delay(unsigned int z)
{
unsigned x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--); //延迟子程序大概z=1000时是一秒
}
void exter0() i
nterrupt 0
{
E1=0; //中断时点亮二极管
} /*奇怪P3^2接地之后数码管并不是中断了而是变化得慢了!取消接地则恢复速度!*/
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>