用c语言写51单片机

Python011

用c语言写51单片机,第1张

#include<reg51.h>

#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后面有个分号