找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3567|回复: 4
收起左侧

KEIL4没有报错但是却无法生成目标文件

[复制链接]
ID:134631 发表于 2016-7-22 15:37 | 显示全部楼层 |阅读模式
单片机新人,求助各位!KEIL4已经用注册机破解过了,但是现在出现了这样一个问题,编译之后没有报错,但是却无法生成目标文件。
谢谢大家!!

代码如下:(矩阵键盘)
#include<reg51.h>
#define key_port P0
sbit hc573_en=P1^3;
unsigned char key_value;
void delay(unsigned int z)
{
        unsigned int x,y;
        for(x=z;x>0;x--)
        for(y=100;y>0;y--);
}
void key_scan()
{
        unsigned char temp;
        key_port=0x7f;
        delay(5);
        temp=key_port;
        switch(temp)
        {
                case 0x77:key_value=1;break;
                case 0x7b:key_value=2;break;
                case 0x7d:key_value=3;break;
                case 0x7e:key_value=4;break;
                default:break;
        }
        while(key_port!=0x7f);
       
        key_port=0xbf;
        delay(5);
        temp=key_port;
        switch(temp)
        {
                case 0xb7:key_value=5;break;
                case 0xbb:key_value=6;break;
                case 0xbd:key_value=7;break;
                case 0xbe:key_value=8;break;
                default:break;
        }
        while(key_port!=0xbf);

        key_port=0xdf;
        delay(5);
        temp=key_port;
        switch(temp)
        {
                case 0xd7:key_value=9;break;
                case 0xdb:key_value=10;break;
                case 0xdd:key_value=11;break;
                case 0xde:key_value=12;break;
                default:break;
        }
        while(key_port!=0xdf);

        key_port=0xef;
        delay(5);
        temp=key_port;
        switch(temp)
        {
                case 0xe7:key_value=13;break;
                case 0xeb:key_value=14;break;
                case 0xed:key_value=15;break;
                case 0xee:key_value=16;break;
                default:break;
        }
        while(key_port!=0xef);
}
       
        main()
        {
        hc573_en=0;
        P1=0;
        hc573_en=1;
        P2=0;
        key_value=0xff;
        while(1)
        {
                key_scan();
                P2=~key_value;
        }
}

编译结果:
QQ图片20160722153047.png



PS:1.hc573_en=0;
           P1=0;
           hc573_en=1;
           P2=0;
          这一段是什么意思?
       2.P2=~key_value,P2为什么要取反?意义何在?



[img]file:///C:\Users\rongrong\Documents\Tencent Files\1609573405\Image\C2C\7`6[2D{SGZMIKY00I~1N1%K.png[/img]

回复

使用道具 举报

ID:134631 发表于 2016-7-22 16:03 | 显示全部楼层
1.       hc573_en=0;
           P1=0;
           hc573_en=1;
           P2=0;
           这一段是什么意思?
2.  P2=~key_value,P2为什么要取反?意义何在?
回复

使用道具 举报

ID:134631 发表于 2016-7-22 16:06 | 显示全部楼层
无法生成目标文件的问题已经解决了!哈哈哈!原因是我的.c文件的名称中有空格!
回复

使用道具 举报

ID:122633 发表于 2016-7-22 21:32 | 显示全部楼层
可以 这很BUG
回复

使用道具 举报

ID:134192 发表于 2016-7-23 11:21 | 显示全部楼层
p2取反,代表按键没有按下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表