返回该小组首页 回复主题
31449909@qq.com

31449909@qq.com

小组等级:     E币:103  (E币换礼)

#1楼主:流水灯C

文章发表于:2008-10-11 11:55

      C语言程序如下:
/* 该实验是花样流水灯(8个发光二极管以各种方式循环点亮),功能是花样流水灯(8个发光二极管以1S间隔以各种方式循环点亮) */
#include//包含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,//依次逐个点亮
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,//依次逐个叠加
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,//依次逐个递减
0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,//两边靠拢后分开
0x7e,0x3c,0x18,0x00,0x00,0x18,0x3c,0x7e,//两边叠加后递减
0x00,//全亮
};//定义循环用数据表格
/*亮的现象:先是全灭,然后依次逐个点亮,然后依次逐个叠加,
然后依次逐个递减,然后两边靠拢后分开,然后两边叠加后递减,
最后全亮。循环!*/
void main()//main函数
{
a=0;//给a赋初值
while(1)//while循环
{
P1=table[a];//将a所在的table中的值赋给P1口
delay(1000);//1S延时子程序
a++;//a的值加一
if(a==42)//测试a是否等于42
a=0;//给a赋值
}
}
void delay(uint z)//1ms延时子程序,通过z值改变延时时间
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

所有小组精华文章