#define uchar unsigned char
sbit key1=P1^0
sbit key2=P1^1
sbit key3=P1^2
sbit key4=P1^3
sbit led1=P1^4
sbit led2=P1^5
main()
{
if(key1==0)
{
while(key1==0)
led1=0
led2=1
}
if(key2==0)
{
while(key2==0)
led1=1
led2=0
}
if(key3==0)
{
while(key3==0)
led1=0
led2=0
}
if(key4==0)
{
while(key4==0)
led1=1
led2=1
}
}
细说起来很多的。1、扩充了很多关键字
2、扩充了很多数据类型
3、扩充了很多针对单片机的函数库
4、扩充了很对针对单片机的语句
5、可以对寄存器和内存直接写
具体看一个简单的教程
http://www.mcustudy.com/mcu/C51.pdf
朋友,很简单啊,看我的:第一个错误:在unsigned char array[7]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF,0x7F}
中,定义了7个元素,但在大括号中有9个元素,
第二个错误:就上面那个unsigned char array[7]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF,0x7F},后面有个分号,即为:unsigned char array[7]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF,0x7F};
第三个错误:延时函数定义错误:缺少形参名,应该定义为:
void msec (unsigned int Dlay)
后面定义为: void msec (unsigned int Delay){
unsigned char j
while((x--)!=0){
for(j=0,j<=125j++)
{}
}
}
Delay你也可换其它的名字,
最后结果为:
#include <reg51.h>
void msec (unsigned int Delay)
void main()
{
unsigned char array[8]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF}
unsigned int i
for(i=0i<=7i++)
{
P1=array[i]
msec(100)
}
}
void msec(unsigned int Delay)
{
unsigned int j
while((Delay--)!=0)
for(j=0j<=125j++)
{}
}
朋友,你还不把分给我,我就服了你了:void msec (unsigned int x)
{
unsigned char j
while((x--)!=0)
for(j=0j<=125j++)
{}
}
for(j=0j<=125j++)
j=0后面有个分号