标题: 师傅们帮忙看一下,这是错在哪里了?为什么提示未定义标识符呢? [打印本页]

作者: 征程吧    时间: 2017-5-3 20:02
标题: 师傅们帮忙看一下,这是错在哪里了?为什么提示未定义标识符呢?
本帖最后由 征程吧 于 2017-5-3 20:05 编辑

#include <reg51.h>
#define uchar unsigned char
sbit L1=P1^0;                         // 定义列
sbit L2=P1^1;
sbit L3=P1^2;
sbit L4=P1^3;         
uchar dis[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e };                //共阳极字符0~F的段码
unsigned int time;
delay(time)                           //延时子程序
{
    unsigned int i;
           for(j=0;j<time;j++)
   {}
}
main()                                                      //主程序
{
        uchar temp;
     uchar k,i;
        while(1)
        {
                    P1=0xef;                      //行扫描初值,P1.4=0,P1.5、P1.6、P1.7=1
                    for(i=0;i<=3;i=i++)                  //逐行为低,按行扫描,一共4行
                    {  
                if (L1==0) P0= dis [i*4+0];             //判第1列有无键按下,若有,键值可能为0,4,8.C,送显示
              if (L2==0) P0= dis [i*4+1];         //判第2列有无键按下,若有,键值可能为1,5,9,d,送显示
                if (L3==0) P0= dis [i*4+2];         //判第3列有无键按下,若有,键值可能为2,6,A,E,送显示                  
               
        if (L4==0) P0=dis [i*4+3];        //判第4列有无按键按下,若有,键值可能为3,7,b,F,送显示
        delay(500);
        temp11=P1;                //读入P1口的状态
        temp=temp|0x0f;         //置P1.3~P1.0为1,输入状态
        temp=temp<<1;         //P1.7~ P1.4左移1位,准备下一行扫描
        temp=temp|0x0f;         //置P1.3~P1.0为1,输入状态
        P1=temp;                 //下一行行扫描值送P1口,为下一行扫描做准备
         }
      }
}

N@PM2A7O67{0T)9G~6TRO)R.png (70.94 KB, 下载次数: 57)

N@PM2A7O67{0T)9G~6TRO)R.png

作者: w1179benp    时间: 2017-5-3 21:09
就单说程序的提示,需修改:11行的 i 改为 j ; 30行的temp11改为 temp 即可。
作者: w1179benp    时间: 2017-5-3 22:19
LZ的程序乱,除一些书写不规范、错外,貌似还缺点什么。如果需要,给你个现成的扫描键盘矩阵并显示键盘号的程序及仿真。
作者: 灰蒙天空    时间: 2017-5-4 14:43
楼主解决问题能力有待提高,双击错误提示即可跳到错误位置,仔细查看就知道自己错在哪里!
作者: pengzhibang    时间: 2017-5-4 14:47
11行的 i 改为 j ; 30行的temp11改为 temp 即可
作者: pengzhibang    时间: 2017-5-4 14:47
需修改:11行的 i 改为 j ; 30行的temp11改为 temp 即可。就是这样的,keil字体颜色设为默认




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1