background image

2

#include <reg52.h>    

//52 系列单片机头文件

#define uint unsigned int 

//宏定义

sbit led1=P1^0;

     

 //声明单片机 P1 口的第一位

void delay1s();

//声明子函数

void main()

      

//主函数

{

while(1)

 

 //大循环

{

led1=0;

/*点亮第一个发光二极管*/

delay1s();

//调用延时子函数

led1=1;

/*关闭第一个发光二极管*/

delay1s();

//调用延时子函数

}

}
void delay1s()

//子函数体

{

uint i,j;
for(i=500;i>0;i--)

for(j=110;j>0;j--);

}

例 2.7.1 编写程序使第一个二极管以亮 200ms、灭 800ms 的方式闪动。(part2_5.c  P49)
#include <reg52.h>    

//52 系列单片机头文件

#define uint unsigned int 

//宏定义

sbit led1=P1^0;

     

 //声明单片机 P1 口的第一位

void delayms(uint);

//声明子函数

void main()

      

//主函数

{

while(1)

 

 //大循环

{

led1=0;

/*点亮第一个发光二极管*/

delayms(200);

//延时 200 毫秒

led1=1;

/*关闭第一个发光二极管*/

delayms(800);

//延时 800 毫秒

}

}
void delayms(uint xms)
{

uint i,j;
for(i=xms;i>0;i--)

      //i=xms 即延时约 xms 毫秒

for(j=110;j>0;j--);

}
例 2.8.3 利用 C51 自带库_crol_(),以间隔 500ms,实现流水灯程序(part2_6.c  P53
#include <reg52.h>    

//52 系列单片机头文件

2013-6-14