原创 EDN51 板的流水等程序(c语言)

2007-10-12 16:55 3534 6 6 分类: 工程师职场

/***********************************************************
* 作者:好心情
* 日期:2007-10-11
* EDN51试验版流水灯仿真,使用proteus进行仿真验证
***********************************************************/


#include <at89x51.h>   //头文件,声明51内部的各寄存器
#define uint unsigned int   //声明一下方便使用
#define uchar unsigned char


void delay();     //延时函数声明,因为此函数定义在main的后面,所以必须先声明


void main()
{
 uchar i;


 // 声明一个数组,用来保存花样
 uint huay1[9]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; // 单灯花样
 uint huay2[4]={0xe7,0xdb,0xbd,0x7e}; // 双灯花样
 while(1)        //死循环
 {
  for(i = 0;i<9;i++) // 从P10开始逐个熄灭
  {
   P1 = huay1;
   delay();
  } 


  for(i = 9;i>0;i--) // 从P17开始逐个点亮
  {
   P1 = huay1[i-1];
   delay();
  }


  for(i = 4;i>0;i--) // 从两边开始向中间点亮
  {
   P1 = huay2[i-1];
   delay();
  }


  for(i = 0;i<4;i++) // 从P17开始逐个点亮
  {
   P1 = huay2;
   delay();
  }


  /*不知道按下面的写法为什么会出问题
  for(i = 8;i>=0;i--) // 从P17开始逐个点亮
  {
   P1 = huay1;
   delay();           
  }
  */


 }
}


void delay()   //延时函数
{
 uint i;
 for(i = 0;i<=25535;i++);  //两各for循环的内容均为空,不执行任何操作
 for(i = 0;i<=25535;i++);
 for(i = 0;i<=25535;i++);


}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条