按键选择控制流水灯效果设计.docx |
您所在的位置:网站首页 › cad灯位控制图 › 按键选择控制流水灯效果设计.docx |
按键选择控制流水灯效果设计.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 { 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 |