#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++);
2021-12-06 11:54:02
36KB
霹雳灯
1