proteus论坛|仿真论坛
直播中

Caroline

4年用户 5经验值
擅长:嵌入式技术
私信 关注
[问答]

51单片机数码管显示输入的手机号,不管按键输入什么都显示0??

不管按下0~9哪个键都显示0,调试看没什么问题??问题写在前面,大佬救救我
4.        按键扫描(key=扫描到的按键值)、数码管显示结束一次;key赋一个无关值,不然会每个位一直显示上一个显示的数(在动态显示的情况下)**/还没找到别的解决办法
下面是我的代码,和仿真图,不管按下0~9哪个键都显示0,调试看没什么问题??
———————————
——————————————————————————————————————
#include
#define unchar unsigned char
unchar code seg[]={
  0x99,0x92,0x82,0xf8,
unchar count=0;
unchar *array;
unchar scan_key();
unchar input(unchar k);
//******************************************************
{
        P2=0xff; //段选,共阳极
  while(1)
         scan_key();//return key=扫描到的按键值
   Display(sum);
        }
//*****************************************************
{
P1=0x0f;
  delayms(10);
          {
                         {
                     case 0x0d:hang=1;break;
                                 case 0x07:hang=3;break;
                         P1=0xf0;
                         {
                           case 0xd0:lie=1;break;
                           case 0x70:lie=3;break;
                         P1=0x0f;
                         key=hang*4+lie;
               
}
unchar input(unchar k)//k=key  扫描到的按键值存入到array[]数组
if(count>8)
if(k>=0&&k<=9)
          
       
}
return count;//count :  the number of inputed digit

///*****************************************************************
{

         for(i=1,j=0;i<=S,j
                  P3=~(0x80>>j);
               
                 P2=0xff;
         }
}
void delayms(unchar t)
unchar i,j;
        for(j=120;j>0;j--);
}


  • 仿真图
  • c3.png
  • c2.png
  • c1.png

更多回帖

×
20
完善资料,
赚取积分