各位高手帮我看看这段代码为什么实现不了按一下按键,.....

2019-07-16 01:12发布

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code S[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

sbit P21=P2^1;
uint i=0;

void delay(uint t)
{
uchar j;
while(t--)
{
for(j=0;j<115;j++);
}
}


SHUMA()
{
P21=0;
}


void shuma0() interrupt 0
{

P0=S[i++];
delay(500);
if(i>=16)
i=0;

}

wzd0()
{
EA=1;
EX0=1;
IT0=1;
}

void main()
{
wzd0();
SHUMA();
while(1);

}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
horsewater
2019-07-16 18:17
我觉得要考虑以下几点:
1. 你用P0口来显示, P0口是没有弱上拉的, 所以你要看有没有加上拉排阻.
2. 你用外部中断0来扫描你的按键, 那们你的按键信号有没有接到第12脚上面去.
3. 如果接上去了, 那么你看下每次按下按键时, 程序有没有进到中断里去(比如可以让P2^2这个脚电平翻转来检查).
把上面的三点都确定了, 应该后面就不是大问题了

一周热门 更多>