?ִ????·ͼ

核心提示C语言1:#include<reg52.h>//包含reg.52文件#define?uint?unsigned?int//宏定义#define?ucha

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函数

{

a=8;//给a赋初值

P1=table[a];//将a所在的table中的值赋给P1口

while(1)//while循环

{

delay(100);//1S延时子程序

if(a==0)//测试a是否等于8

a=8;//给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语言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;

for(x=z;x>0;x--)

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

}

单片机控制八个发光二极管并使其以1S时间间隔循环点亮,C语言中,把流水灯的循环方式以数组的形式存到了表中,然后调用,是很方便的,学校实验室都提倡这么写。延时参数是毫秒单位,很准确。

 
友情链接
鄂ICP备19019357号-22