基于C51单片机的跑马灯程序设计
/************ 单片机学习板V1.0 ********************/
/*功能描述:跑马灯练习 */
*/
/*功能:控制学习板上的8个LED显示 */
/*接外部晶振11.0592 MHZ */
/**************************************************/
//P0口控制8个LED 把学习板上的4位拨码开关的 1 拨到ON
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
void delay(unsigned int count);//延时程序
void led_display(void);//LED显示子程序
//数据模式 LED_DATA[0]显示次数 LED_DATA[1]显示速度 LED_DATA[2]-[18]显示数据
uchar code LED_DATA1[18]={3,50,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//弹跳灯
uchar code LED_DATA2[18]={5,120,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3};//双灯对撞模式
uchar code LED_DATA3[18]={5,80,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81};//拉链模式
uchar code LED_DATA4[18]={3,50,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00};//LED灯柱
uchar code LED_DATA5[18]={3,100,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa};//动感灯
uchar code LED_DATA6[18]={10,40,0xFF,0x00,0xFF,0x00,0xAA,0x00,0x55,0x00,0x2A,0x00,0x54,0x28,0x00,0x28,0x00,0x10};//特殊爆闪
uchar code LED_DATA7[18]={10,50,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00};//爆闪
/***************************延时子程序start***************************/
void delay(unsigned int count)
{
unsigned int i,j;
for(i=0;i
for(j=0;j<120;j++);
}
/***************************延时子程序end***************************/
void led_display(void)
{
uchar i,j;
/****************显示模式1**********************/
for(i=0;i
{ for(j=2;j<18;j++)
{P0=~LED_DATA1[j];delay(LED_DATA1[1]);}
}
/**********************************************/
/****************显示模式2**********************/
for(i=0;i
{ for(j=2;j<18;j++)
{P0=~LED_DATA2[j];delay(LED_DATA2[1]);}
}
/**********************************************/
/****************显示模式3**********************/
for(i=0;i
{ for(j=2;j<18;j++)
{P0=~LED_DATA3[j];delay(LED_DATA3[1]);}
}
/**********************************************/
/****************显示模式4**********************/
for(i=0;i
{ for(j=2;j<18;j++)
{P0=~LED_DATA4[j];delay(LED_DATA4[1]);}
}
/**********************************************/
/****************显示模式5**********************/
for(i=0;i
{ for(j=2;j<18;j++)
{P0=~LED_DATA5[j];delay(LED_DATA5[1]);}
}
/**********************************************/
/************