微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 为什么按键按下没反应,求告诉哪错了.怎么改

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

时间:10-02 整理:3721RD 点击:
#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];}}
}}
       

电路图


如果程序没有问题的话,那可能就是电阻匹配的问题了

程序没上全

如果while((P3&0x0f)!=0x0f) 这个没上的话是可以显示的...请问怎么判断按键松开了 。就是怎么判断是第一次按键还是第二次按键

程序呢

我记得按键扫描没这么少的程序吧   

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top