C语言1:

#include<reg52.h>//包含reg.52文件
#define?uint?unsigned?int//宏定义
#define?uchar?unsigned?char//宏定义
void?delay(uint?z);//声明延时函数
uint?a;//定义循环用变量
uchar?code?table[]={
0xff,0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};//定义循环用数据表格
void?main()//main函数
{
a=0;//给a赋初值 P1=table[a];//将a所在的table中的值赋给P1口 while(1)//while循环 { delay(1000);//1S延时子程序 if(a==8)//测试a是否等于8 a=0;//给a赋值? a++;//a的值加一 P1=table[a];//将a所在的table中的值赋给P1口 }}?
void?delay(uint?z)//1ms延时子程序,通过z值改变延时
{
uint?x,y; for(x=z;x>0;x--)for(y=110;y>0;y--);
}
C语言2:
#include<reg52.h>//包含reg.52文件
#define?uint?unsigned?int//宏定义
#define?uchar?unsigned?char//宏定义
void?delay(uint?z);//声明延时函数
uint?a;//定义循环用变量
uchar?code?table[]={
0xff,0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};//定义循环用数据表格
void?main()//main函数
{

}?
void?delay(uint?z)//1ms延时子程序,通过z值改变延时
{
uint?x,y; for(x=z;x>0;x--)for(y=110;y>0;y--);
}
C语言3:
#include<reg52.h>//包含reg.52文件
#include<intrins.h>//包含左右循环移位子函数库文件
#define?uint?unsigned?int//宏定义
#define?uchar?unsigned?char//宏定义
void?delay(uint?z);//声明延时函数
uint?a;//定义循环用变量
void?main()//main函数
{
a=0xfe;//给a赋初值 while(1)//while循环 { P1=a;? delay(1000);//1S延时子程序? a=_crol_(a,1); }}
void?delay(uint?z)//1ms延时子程序,通过z值改变延时
{
uint?x,y;
}
单片机控制八个发光二极管并使其以1S时间间隔循环点亮,C语言中,把流水灯的循环方式以数组的形式存到了表中,然后调用,是很方便的,学校实验室都提倡这么写。延时参数是毫秒单位,很准确。

