霹雳灯双灯c语言程序,单片机霹雳游侠灯源程序

#include

rzmzy();  //走马拖尾右移函数

rzmyy();  //走马拖尾左移函数

sbit P1_0 = P1^0;//定义按键端口

sbit P1_1 = P1^1;//定义按键端口

sbit P1_2 = P1^2;//定义

sbit P1_3 = P1^3;//定义按键端口

sbit P1_4 = P1^4;//定义按键端口

sbit P1_5 = P1^5;//定义

sbit P1_6 = P1^6;//定义按键端口

sbit P1_7 = P3^3;//定义按键端口

void ys1ms(unsigned int s);     //延时声明,修改s的数值,就可以改变时间

void delayms(unsigned int x)

{

unsigned int i;

while(x--)

{

for(i=0;i<113;i++);

}

}

void main(void) //主函数,由于模块化设计,只要修改下面各模块的排列顺序和时间,就可以实现各种变化模式

{

P1=0xFF;

EA=1;//打开中断,使用中断方便调试查看模式

EX0=1; //允许外部中断0中断

EX1=1; //允许外部中断1中断

PX0=1; // 外部中断0位高优先级

while(1)  //无限循环

{

rzmyy();  //走马拖尾左移函数

ys1ms(100);

rzmzy();  //走马拖尾左移函数

ys1ms(100);

}

}

rzmyy()  //走马拖尾右移函数

{

P1=0x7f;

ys1ms(60);

P1=0xbf;

if(P1_7==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_7 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_7 = 1;

for(i = 0; i < 50; i++);

}

}

P1=0xdf;

if(P1_6==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_6 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_7 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_6 = 1;

P1_7 = 1;

for(i = 0; i < 50; i++);

}

}

P1=0xef;

if(P1_5==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_5 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_6 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_5 = 1;

P1_6 = 1;

for(i = 0; i < 50; i++);

}

}

P1=0xf7;

if(P1_4==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_4 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_5 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_4 = 1;

P1_5 = 1;

for(i = 0; i < 50; i++);

}

}

P1=0xfb;

if(P1_3==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_3 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_4 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_3 = 1;

P1_4 = 1;

for(i = 0; i < 50; i++);

}

}

P1=0xfd;

if(P1_2==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_2 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_3 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_2 = 1;

P1_3 = 1;

for(i = 0; i < 50; i++);

}

}

P1=0xfe;

if(P1_1==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_1 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_2 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_1 = 1;

P1_2 = 1;

for(i = 0; i < 50; i++);

}

}

P1=0xff;

if(P1_0==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_0 = 0;

for(i = 0; i < 15; i++);  //调节亮度高低

P1_1 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_0 = 1;

P1_1 = 1;

for(i = 0; i < 50; i++);

}

}

if(P1_7==1)

{

unsigned int a;

for(a=0;a<350;a++)    //调节点亮时间

{

unsigned char i;

P1_0 = 0;

for(i = 0; i < 1; i++);  //调节亮度高低

P1_0 = 1;

for(i = 0; i < 50; i++);

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值