51单片机疑惑,求解答! 点击:372 | 回复:3



nd2012rkly

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:10帖 | 68回
  • 年度积分:0
  • 历史总积分:312
  • 注册:2014年6月27日
发表于:2015-08-08 13:19:46
楼主

疑点,外部中断0采用电平触发方式,一直将P3.2插在GND上,P1.2连接LED1,但是数码管还是会闪烁前进(从0到F),只是比未插到GND时的间隔时间变长了而已。
#include<reg52.h>
void delay(uint);
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uint i=0;
sbit Dx=P2^2;
sbit Wx=P2^3;
sbit D1=P1^2;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void main()
{
EA=1;
EX0=1;
IT0=0;
for(i=0;i<16;i++)
{
temp=table;
P0=temp;
Dx=1;
Dx=0;
temp=0x55;
P0=temp;
Wx=1;
Wx=0;
delay(100);
}
while(1);
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=1000;y>0;y--);
}
void EXTER0() interrupt 0
{
D1=!D1;
}




Tim_duncan

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2014年12月12日
发表于:2015-08-13 16:00:22
1楼

temp = table;这句话不对吧

nd2012rkly

  • 精华:0帖
  • 求助:3帖
  • 帖子:10帖 | 68回
  • 年度积分:0
  • 历史总积分:312
  • 注册:2014年6月27日
发表于:2015-08-14 09:31:20
2楼


回复内容:temp=table[i];复制过来的出现错误了

对: Tim_duncan temp = table;这句话不对吧 内容的回复!



燃冰冻火

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2015年9月04日
发表于:2015-09-04 13:03:15
3楼

顶一下帖子,  自己不会啊啊啊啊


热门招聘
相关主题

官方公众号

智造工程师