程序
#include <reg51.h>
#define uint8 unsigned char
#define uint16 unsigned int
#define uint32 unsigned long
uint8 key,key_count,key_count1,key_count2,key_count3,key_count4;
void Key()
{
P2=0x0f;
/*获取4个按键状态*/
for(key_count=0;key_count<3;key_count++)
{
switch(key_count)
{
case 0:key_count1=P2;break;
case 1:key_count2=P2;break;
case 2:key_count3=P2;break;
case 3:key_count4=P2;break;
default: break;
}
}
/*判断有木有按键按下或还有抖动就退出key子程序,不然就下一步“扫描按键”*/
if(0x0f==key_count1==key_count2==key_count3==key_count4) //没一个按键按下
{key=0;goto a;/*跳出key子程序*/}
if(key_count1!=key_count2){key=0;goto a;/*跳出key子程序*/}//还有抖动
if(key_count2!=key_count3){key=0;goto a;/*跳出key子程序*/}//还有抖动
if(key_count3!=key_count4){key=0;goto a;/*跳出key子程序*/}//还有抖动
if(key_count1!=key_count4){key=0;goto a;/*跳出key子程序*/}//还有抖动
/*扫描按键*/
P2=0xef;
if(P2==0xee){key=1;}
if(P2==0xed){key=5;}
if(P2==0xeb){key=9;}
if(P2==0xe7){key=13;}
P2=0xdf;
if(P2==0xde){key=2;}
if(P2==0xdd){key=6;}
if(P2==0xdb){key=10;}
if(P2==0xd7){key=14;}
P2=0xbf;
if(P2==0xbe){key=3;}
if(P2==0xbd){key=7;}
if(P2==0xbb){key=11;}
if(P2==0xb7){key=15;}
P2=0x7f;
if(P2==0x7e){key=4;}
if(P2==0x7d){key=8;}
if(P2==0x7b){key=12;}
if(P2==0x77){key=16;}
a:;
}
void Delay(uint16 c)
{
uint8 a,b;
for(;c>0;c--)
for(b=199;b>0;b--)
for(a=1;a>0;a--);
}
void main()
{
P0=0;
Delay(1);
while(1)
{
Key();
P0=key;
}
}
void Key()是大写哦!
key是变量是小写哦!
void Key()的K是大写!
key的K是小写
我知道,这样定义也是不行的。你试一下就看到结果了。按照我说的去调试一下,可以成功生成。。
追问真的耶!
Keil中出现Target not created是什么问题呢?
在Keil中出现“Target not created”通常意味着编译或链接过程中遇到了问题,导致目标文件无法被成功创建。这个问题可能由多种原因引起。首先,最常见的原因之一是源代码中存在编译错误。这包括语法错误、类型不匹配、未定义的标识符等。当编译器尝试编译源代码时,如果遇到这些问题,它将无法生成...
Keil中出现Target not created是什么原因?
在Keil中出现“Target not created”通常意味着编译或链接过程中遇到了问题,导致目标文件无法被成功创建。详细解释如下:1. 编译错误:最常见的原因是源代码中存在编译错误。这可能包括语法错误、类型不匹配、缺少包含文件或库文件等。当编译器试图编译源代码时,如果遇到这些问题,它将停止编译并...
Keil中出现Target not created,怎么办?
在Keil中出现“Target not created”错误时,通常意味着编译或链接过程中遇到了问题,导致目标文件未能成功生成。解决这一问题,可以从检查项目配置、代码错误、依赖文件以及清理和重建项目几个方面入手。检查项目配置是解决“Target not created”错误的第一步。确保项目设置中的目标设备...
Keil中出现Target not created是什么问题呢?
Keil中出现“Target not created”通常意味着在Keil开发环境中未能成功创建目标工程或编译目标文件。这个问题可能由几个原因导致。首先,检查是否已经正确设置了工程配置,包括选择了正确的微控制器型号、配置了必要的编译选项以及指定了正确的包含路径等。如果配置有误,Keil可能无法正确生成目标文件。
Keil中出现Target not created是什么问题?
一、Keil中出现Target not created,原因主要有:1、编译时出错,比如语法错误,变量未定义等等 2、连接时出错,比如调用外部函数,而由缺少相应的OBJ文件等等 3、其他原因,比如你用Demo版,限制是程序不能大于4K,结果你超过了4K等。二、解决方案:在target1 目录下C51选项 设置\\SiLabs\\MCU\\INC ...
Keil中出现Target not created,怎么办?
Keil中出现“Target not created”错误通常意味着项目配置存在问题或者软件环境设置不当。为了解决这个问题,可以尝试以下几个步骤。首先,检查项目设置。在Keil中,项目设置对于成功编译和链接至关重要。打开项目设置,确认目标芯片型号是否选择正确,以及晶振频率等参数是否与实际硬件匹配。例如,如果...
Keil中出现Targetnotcreated什么意思啊
在Keil开发环境中,遇到“Target not created”的错误信息通常意味着在尝试编译或构建项目时,最终的目标文件(通常是.hex或.bin文件,用于烧录到微控制器中)没有被成功生成。这种情况可能由多种原因引起:1. **编译错误**:如果项目中存在代码错误(如语法错误、未定义的标识符等),编译器会首先报告...
Keil中出现Target not created是什么问题呢?
Keil中出现“Target not created”通常意味着在尝试编译或链接项目时,Keil MDK-ARM环境未能成功生成目标文件。这个问题可能由多种原因造成。首先,项目配置可能存在问题。例如,如果项目的目标设置与实际使用的硬件不匹配,或者编译、链接选项设置有误,都可能导致目标文件无法生成。另外,如果项目中...
Keil中出现Target not created怎么办?
首先,这个错误可能源于项目设置不当。在Keil中,每个项目都需要正确配置其目标设备、编译器和链接器等选项。如果这些设置不正确,Keil将无法生成目标文件。例如,如果你选择了一个与你的实际硬件不匹配的目标芯片型号,或者编译器配置有误,就可能导致“Target not created”错误。因此,检查并...
Keil中出现Target not created,怎么办?
Keil中出现“Target not created”错误时,通常的解决方案是检查项目设置、确认目标芯片型号选择正确,并确保所有必需的文件都已正确添加到项目中。当在Keil开发环境中遇到“Target not created”错误时,这通常意味着项目配置存在问题。首先,用户应该检查项目的目标设置。在Keil中,每个...