一亩三分地收藏
-1-
新概念
51 单片机 C 语言教程
----入门、提高、开发、拓展全攻略
郭天祥编著
电子工业出版社
例 2.2.1 编写程序,点亮第一个发光二极管(part2_1.c
#include //52 系列单片机头文件
sbit led1=P1^0;//声明单片机 P1 口的第一位
void main()//主函数
{
led1=0;/*点亮第一个发光二极管*/
}
例 2.2.2 编写程序,点亮 P1 口的若干二极管(part2_2.c
#include //52 系列单片机头文件
void main()//主函数
{
P1=0xaa;
//while(1);
}
P27 )
P39 )
例 2.5.1 利用 for 语句延时特性,编写第一个发光二极管以间隔 1S 亮灭闪动的程序(part2_3.c
P42)
#include //52 系列单片机头文件
#define uint unsigned int //宏定义
sbit led1=P1^0;//声明单片机 P1 口的第一位
uint i,j;
void main()//主函数
{
while(1)//大循环
{
led1=0;/*点亮第一个发光二极管*/
for(i=1;i>0;i--)//延时
for(j=110;j>0;j--);
led1=1;/*关闭第一个发光二极管*/
for(i=1000;i>0;i--)//延时
for(j=110;j>0;j--);
}
}
2012-1-28
一亩三分地收藏
-2-
例 2.6.1 编写程序使第一个发光二极管以间隔 500ms 亮灭闪动。(part2_4.c
#include //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--);
}
P48)
例 2.7.1 编写程序使第一个二极管以亮 200ms、灭 800ms 的方式闪动。(part2_5.c
#include //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--);
}
P49)
2012-1-28
一亩三分地收藏
-3-
例 2.8.3 利用 C51 自带库_crol_(),以间隔 500ms,实现流水灯程序(part2_6.c
#include //52 系列单片机头文件
#include
#define uint unsigned int//宏定义
#define uchar unsigned char
void delayms(uint);//声明子函数
uchar aa;
void main()//主函数
{
aa=0