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

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条回答
武之魂
1楼-- · 2019-07-16 01:38
电平触发,外部中断源的有效低电平必须保持到响应时为止,否侧会漏掉。建议改为边沿触发。
爱放火的小孩
2楼-- · 2019-07-16 04:20
 精彩回答 2  元偷偷看……
聆听灬你の心
3楼-- · 2019-07-16 10:17
路过这里、、、、、
zhouwanghua1
4楼-- · 2019-07-16 16:10
不知道楼主问题解决了吗?可否帮小弟一下,最近实验按键也出问题l
horsewater
5楼-- · 2019-07-16 18:17
我觉得要考虑以下几点:
1. 你用P0口来显示, P0口是没有弱上拉的, 所以你要看有没有加上拉排阻.
2. 你用外部中断0来扫描你的按键, 那们你的按键信号有没有接到第12脚上面去.
3. 如果接上去了, 那么你看下每次按下按键时, 程序有没有进到中断里去(比如可以让P2^2这个脚电平翻转来检查).
把上面的三点都确定了, 应该后面就不是大问题了
pldtv
6楼-- · 2019-07-16 20:05
新人报道中,向前辈学习...

一周热门 更多>