为什么按键按下没反应,求告诉哪错了.怎么改

2019-07-16 16:39发布

#include<reg51.h>
char password=000000;
char led_mod[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
char key_buf[]={0xd7,0xee,0xde,0xbe,0xed,0xdd,0xbd,0xeb,0xdb,0xbb,0xe7,0xb7,0x7e,0x7d};
char mm[];
char input()
{
        char key_scan[]={0xef,0xdf,0xbf};
  char i=0,j=0;
  for(i;i<4;i++){
                P3=key_scan[i];
                if((P3&0x0f)!=0x0f){
                for(j=0;j<=9;j++){
                        if(key_buf[j]==P3)
                        return j;}}}return -1;}
void main()
{
        char k=0,n=0;
        for(n;n<6;n++){
                k= input();while((P3&0x0f)!=0x0f){
                if(k<=9&&n==0&&k!=-1)
                {P2=0x01;P0=led_mod[k];}
                if(k<=9&&n==1&&k!=-1)
                {P2=0x02;P0=led_mod[k];}}
}}
       

电路图 电路图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
18041991563
1楼-- · 2019-07-16 21:25
 精彩回答 2  元偷偷看……
kmee
2楼-- · 2019-07-16 22:13
程序没上全
ycy111
3楼-- · 2019-07-16 23:52
18041991563 发表于 2015-11-21 01:00
如果程序没有问题的话,那可能就是电阻匹配的问题了

如果while((P3&0x0f)!=0x0f) 这个没上的话是可以显示的...请问怎么判断按键松开了 。。。就是怎么判断是第一次按键还是第二次按键
wangweijie2016
4楼-- · 2019-07-17 02:24
程序呢
xjhroy
5楼-- · 2019-07-17 06:01
我记得按键扫描没这么少的程序吧   

一周热门 更多>