单片机 编程实例Word下载.docx
《单片机 编程实例Word下载.docx》由会员分享,可在线阅读,更多相关《单片机 编程实例Word下载.docx(66页珍藏版)》请在冰点文库上搜索。
//红色3灯走马左移声明
rjl();
//红色渐亮声明
rja();
//红色渐暗声明
rdlszy();
//倒流水左移函数
//rdlsyy();
//倒流水右移函数,还未加入
zkb(unsignedchard);
voidys1ms(unsignedints);
//延时声明,修改s的数值,就可以改变时间
main()//主函数,由于模块化设计,只要修改下面各模块的排列顺序和时间,就可以实现各种变化模式
{
EA=1;
//打开中断,使用中断方便调试查看模式
EX0=1;
//允许外部中断0中断
EX1=1;
//允许外部中断1中断
PX0=1;
//外部中断0位高优先级
while
(1)//无限循环
{
rdlszy();
//倒流水左移
rja();
//渐暗
P0=0xff;
ys1ms(300);
//延时0.3秒
//rdlsyy();
//倒流水右移
//P0=0xff;
//ys1ms(300);
rzmyy();
//走马右移
rzmzy();
//走马左移
rjl();
//渐亮
rzmnwyd();
//走马内外移动
rlszy();
//流水左移
rlsyy();
//流水右移
rsdzmyy();
//3灯走马右移
rsdzmzy();
rlsnwyd();
//流水内外移动
P0=0xff;
rtbyd();
//跳变7种模式
}
}
rzmyy()//走马拖尾右移函数
{
P0=0x7f;
ys1ms(60);
P0=0xbf;
if(P0_7==1)
unsignedinta;
for(a=0;
a<
350;
a++)//调节点亮时间
{
unsignedchari;
P0_7=0;
for(i=0;
i<
15;
i++);
//调节亮度高低
P0_7=1;
for(i=0;
50;
}
P0=0xdf;
if(P0_6==1)
P0_6=0;
1;
P0_6=1;
P0_7=1;
}
P0=0xef;
if(P0_5==1)
P0_5=0;
P0_5=1;
P0_6=1;
P0=0xf7;
if(P0_4==1)
P0_4=0;
P0_4=1;
P0_5=1;
P0=0xfb;
if(P0_3==1)
P0_3=0;
P0_3=1;
P0_4=1;
P0=0xfd;
if(P0_2==1)
P0_2=0;
P0_2=1;
P0_3=1;
P0=0xfe;
if(P0_1==1)
P0_1=0;
P0_1=1;
P0_2=1;
if(P0_0==1)
P0_0=0;
P0_0=1;
P0_1=1;
}
/****************************************************************************/
rzmzy()//走马拖尾左移函数
10;
if(P0_1==1)
P0_0=1;
if(P0_2==1)
if(P0_3==1)
}
rlszy()//流水左移函数
unsignedchara,i,led;
//声明无字符整形变量a,i,led
led=0xfe;
//左移初始值定位
P0=led;
//输出
ys1ms(120);
//延时
for(i=1;
i<
8;
i++)//设置移动7次
a=led<
<
i;
//灯左移i位
P0=a;
//依次点亮
ys1ms(120);
}
/***************************************************************************/
rlsyy()//流水右移函数
led=0x7f;
a=led>
>
//灯右移i位
rdlszy()//倒流水左移函数
P0=0x7e;
P0=0x7d;
P0=0x7b;
P0=0x6f;
P0=0x5f;
P0=0x3f;
P0=0x3d;
P0=0x3b;
P0=0x37;
P0=0x2f;
P0=0x1f;
P0=0x1e;
P0=0x1d;
P0=0x1b;
P0=0x17;
P0=0x0f;
P0=0x0e;
P0=0x0d;
P0=0x0b;
P0=0x07;
P0=0x06;
P0=0x05;
P0=0x04;
P0=0x03;
P0=0x02;
P0=0x01;
P0=0x00;
/***************************************************************************
rdlsyy()//倒流水右移函数,参考上面左移
rsdzmyy()//3灯走马右移函数,可以参考单灯走马加入拖尾
P0=0x8f;
P0=0xc7;
P0=0xe3;
P0=0xf1;
P0=0xf8;
P0=0xfc;
rsdzmzy()//3灯走马左移函数,可以参考单灯走马加入拖尾
rzmnwyd()//走马内外移动函数
//
ys1ms(90);
P0=0xbd;
P0=0xdb;
P0=0xe7;
rlsnwyd()//红色流水内外移动函数
P0=0xc3;
P0=0x81;
P0=0x3c;
P0=0x18;
rtbyd()//红色跳变8模式移动函数
ys1ms(180);
P0=0xf0;
/************************************************************************