按键选择控制流水灯效果设计.docx

您所在的位置:网站首页 cad灯位控制图 按键选择控制流水灯效果设计.docx

按键选择控制流水灯效果设计.docx

2023-03-25 10:48| 来源: 网络整理| 查看: 265

按键选择控制流水灯效果设计.docx

《按键选择控制流水灯效果设计.docx》由会员分享,可在线阅读,更多相关《按键选择控制流水灯效果设计.docx(9页珍藏版)》请在冰豆网上搜索。

按键选择控制流水灯效果设计.docx

按键选择控制流水灯效果设计

按键选择控制流水灯效果设计

设有一单片机控制系统:

P2口上接有8只发光二极管。

二极管的阴极分别接P2口各I/O位,阳极分别连一500Ω的电阻接+5V的高电平电源。

通过按键选择8只发光二极管闪烁效果。

电路如下图所示。

流水灯仿真电路图

流水灯系统结构框图

主控模块流程图:

0位闪烁show()流程图:

单只低位向高位移动show1()流程图:

单只高位向低位移动show2()流程图:

单只来回移动show3()流程图:

程序清单:

#include

#defineucharunsignedchar

#defineuintunsignedint

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

//*****延时Xms子函数*****

voiddelay(uintx)

{

uinti,j;

for(i=x;i>0;i--)

for(j=121;j>0;j--)

;

}

//**********show0()单只闪烁************

voidshow0()

{

P2=0xfe;//送一个亮的控制信号字

delay(100);//延时

P2=0xff;//送一个灭的控制信号字

delay(100);//延时

}

//********show1();//单只左移*****************

voidshow0()

{

uchari,y;//定义变量i、y的类型,也就是能表达的最大数

y=0x01;//设初始信号控制字

for(i=0;i

{

P2=~y;//送一个控制信号字

delay(100);//延时

y=y

}

}

//**********show2()单只右移***************

voidshow1()

{

uchari,y;//定义变量i、y的类型,也就是能表达的最大数

y=0x80;//设初始信号控制字

for(i=0;i

{

P2=~y;//送一个控制信号字

delay(100);//延时

y=y>>1;//计算下一个控制信号字

}

}

//**********show3()单只来回跑***************

voidshow3()

{

uchari,y;//定义变量i、y的类型,也就是能表达的最大数

y=0x01;//设左移初始信号控制字

for(i=0;i

{

P2=~y;//送一个控制信号字

delay(100);//延时

y=y

}//左移完

y=0x40;//设右移初始信号控制字

for(i=0;i

{

P2=~y;//送一个控制信号字

delay(100);//延时

y=y>>1;//计算下一个控制信号字

}//右移完

}

//*****主函数main*****

voidmain()

{

uchary;//说明y可以最大表示11111111B(255)

while

(1)

{

y=P0;

switch(y)

{

case0xfe:

show0();//单只闪烁

break;

case0xfd:

show1();//单只左移

break;

case0xfb:

show2();//单只右移

break;

case0xf7:

show3();//单只来回跑

break;

default:

break;

}

}

}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3