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