按键选择控制流水灯效果设计.docx
- 文档编号:6238781
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:9
- 大小:187.64KB
按键选择控制流水灯效果设计.docx
《按键选择控制流水灯效果设计.docx》由会员分享,可在线阅读,更多相关《按键选择控制流水灯效果设计.docx(9页珍藏版)》请在冰豆网上搜索。
按键选择控制流水灯效果设计
按键选择控制流水灯效果设计
设有一单片机控制系统:
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<8;i++)//重复执行8遍{}中的语句
{
P2=~y;//送一个控制信号字
delay(100);//延时
y=y<<1;//计算下一个控制信号字
}
}
//**********show2()单只右移***************
voidshow1()
{
uchari,y;//定义变量i、y的类型,也就是能表达的最大数
y=0x80;//设初始信号控制字
for(i=0;i<8;i++)//重复执行8遍{}中的语句
{
P2=~y;//送一个控制信号字
delay(100);//延时
y=y>>1;//计算下一个控制信号字
}
}
//**********show3()单只来回跑***************
voidshow3()
{
uchari,y;//定义变量i、y的类型,也就是能表达的最大数
y=0x01;//设左移初始信号控制字
for(i=0;i<8;i++)//重复执行8遍{}中的语句
{
P2=~y;//送一个控制信号字
delay(100);//延时
y=y<<1;//计算下一个控制信号字
}//左移完
y=0x40;//设右移初始信号控制字
for(i=0;i<6;i++)//重复执行8遍{}中的语句
{
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;
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 按键 选择 控制 流水 效果 设计