您现在的位置: 主页 > MCU > 单片机技术应用 > 用单片机编写几种跑马灯 -
本文所属标签:
为本文创立个标签吧:

用单片机编写几种跑马灯 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]任务:
1、在电路板上实现跑马灯,一次1匹
2、在电路板上实现跑马灯,一次2匹
3、在电路板上实现4个二极管的同时闪烁
源程序1:
/***********************************信息***********************************

任务:
1、在电路板上实现跑马灯,一次1匹
2、在电路板上实现跑马灯,一次2匹
3、在电路板上实现4个二极管的同时闪烁
源程序1:
/***********************************信息****************************************
**作者:刘海涛
**版本:初始版V1.0
**描叙:用电路板实现跑马灯。
**日期:2010年7月25日
*******************************************************************************/

本文引用地址: http://www.21ic.com/app/mcu/201209/144241.htm

/**********************************头文件***************************************
**头文件"reg52.h"
*******************************************************************************/

/**********************************函数名***************************************
**函数名:延时函数delay()
**输  入:无
**输  入:无
**宏定义:无
*******************************************************************************/

/**********************************宏定义***************************************

宏定义:#define XBYTE ((unsigned char *)0x20000L)

*******************************************************************************/
#include"reg52.h"
delay(unsigned int dat)      // 延时函数定义
{
 unsigned int i,j;
 for(i=0;i<dat;i++)
 {
  for(j=0;j<10000;j++);
 }
}

 

#define XBYTE ((unsigned char *)0x20000L) //宏定义

 

void main(void)        //主函数
{
 unsigned char i;
 while(1)
    {
  for(i=0;i<4;i++)
  {
   XBYTE[0xd000]=(0x01<<i)^0xFF;   //参考电路图,点亮第一个灯,并循环左移
   delay(10);      //延时函数调用

  } 
 }
}

 

 

源程序2:

/***********************************信息****************************************
**作者:刘海涛
**版本:初始版V1.0
**描叙:用电路板实现跑马灯,一次移动2灯。
**日期:2010年7月25日
*******************************************************************************/

/**********************************头文件***************************************
**头文件"reg52.h"
*******************************************************************************/

/**********************************函数名***************************************
**函数名:延时函数delay()
**输  入:无
**输  入:无
**宏定义:无
*******************************************************************************/


/**********************************宏定义***************************************

**宏定义:#define XBYTE ((unsigned char *)0x20000L)

*******************************************************************************/


#include"reg52.h"       // 头文件
#define XBYTE ((unsigned char *)0x20000L) //宏定义

delay(unsigned int dat)      //延时函数
{
 unsigned int i,j;
 for(i=0;i<dat;i++)
 {
  for(j=0;j<10000;j++);
 }
}


void main(void)         //主函数
{
 unsigned int i;
 while(1)
    {
  for(i=0;i<3;i++)
  {
 
   XBYTE[0xd000]=(0x03<<i)^0xff;  //点亮1、2两个灯
   delay(10);
  }
   XBYTE[0xd000]=(0x09<<0)^0xff;  //点亮第一、第四个灯
   delay(10);
  
 }
}

源程序3:

/***********************************信息****************************************
**作者:刘海涛
**版本:初始版V1.0
**描叙:用电路板实现跑马灯,四个二极管同时闪烁。
**日期:2010年7月25日
*******************************************************************************/

/**********************************头文件***************************************
**头文件"reg52.h"
*******************************************************************************/

/**********************************函数名***************************************
**函数名:延时函数delay()
**输  入:无
**输  入:无
*******************************************************************************/


/**********************************宏定义***************************************

**宏定义:#define XBYTE ((unsigned char *)0x20000L)

*******************************************************************************/

#include"reg52.h"        //主函数
#define XBYTE ((unsigned char *)0x20000L)  //宏定义

delay(unsigned int dat)       //延时函数
{
 unsigned int i,j;
 for(i=0;i<dat;i++)
 {
  for(j=0;j<10000;j++);
 }
}


void main(void)         //主函数
{
 
 while(1)
    {
 
 
   XBYTE[0xd000]=(0x0f<<0)^0xff;  //
   delay(10);

   XBYTE[0xd000]=(0x0f<<4)^0xff;
   delay(10);

  
 }
}
 



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 用单片机编写几种跑马灯 -
 

"用单片机编写几种跑马灯 -"的相关文章

网站地图

围观()