天天看点

51单片机c语言编程20个实例,51单片机C语言编程-20个实例..pdf

《单片机C 语言程序设计实训 100 例基于8051 和PROTEUS 仿真》案例

《单片机C语言程序设计实训100 例—基于8051+Proteus仿真》案例

第 01 篇 基础程序设计

01 闪烁的LED

#include

#define uchar unsigned char

#define uint unsigned int

sbit LED=P1^0;

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

void main()

{

while(1)

{

LED=~LED;

DelayMS(150);

}

}

02 从左到右的流水灯

#include

#include

#define uchar unsigned char

#define uint unsigned int

1

上海师范大学信息与机电工程学院—倪继锋

《单片机C 语言程序设计实训 100 例基于8051 和PROTEUS 仿真》案例

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

void main()

{

P0=0xfe;

while(1)

{

P0=_crol_(P0,1); //P0 的值向左循环移动

DelayMS(150);

}

}

03 8 只LED 左右来回点亮

#include

#include

#define uchar unsigned char

#define uint unsigned int

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

void main()

{

uchar i;

P2=0x01;

while(1)

{

2

上海师范大学信息与机电工程学院—倪继锋

《单片机C 语言程序设计实训 100 例基于8051 和PROTEUS 仿真》案例

for(i=0;i<7;i++)

{

P2=_crol_(P2,1); //P2 的值向左循环移动

DelayMS(150);

}

for(i=0;i<7;i++)