1、霓虹灯广告屏装置PLC 控制梯形图的设计与调试, 该广告屏共有8根灯管,24只流水灯,每4只灯为一组。霓虹灯广告屏装置PLC
2、控制要求:: Ⅰ341212345678Ⅳ56789 (1)该广告屏中间8根灯管亮灭的时序为:第1根亮→2亮→3亮→„„→
第8根亮,时间间隔为1s ,全亮后,显示10s ,再反过来从8→7→„„→1按1s 间隔顺序熄灭,全灭后停亮2s ;再从第8根开始亮,顺序点亮7→6→„„→1,时间间隔1s ,显示5s ,再从1→2→„„→8按1s 间隔顺序熄灭,全灭后停亮2s ,然后重复运行,周而复始。
3、24只流水灯,4个一组分成6组,从Ⅰ→Ⅱ→„„→Ⅵ按1s 时间间隔
依次向前移动,且点亮时每相隔1亮,同时Ⅰ“①、③”灭→Ⅲ“⑨、 ”亮,同时Ⅱ“⑤、⑦”灭„„,如此移动一段时间(如30s )后,再反过来移动一段时间,„„如此循环往复。
4、系统有单步/连续控制,有起动和停止按钮。
5、起动时,灯管和流水灯同时起动,关闭时,可同时也可分别关闭。
6、要求有移位指令的应用
7、在控制要求1中,若要求将全亮后显示10s 改为以05s 间隔同时闪烁5s ,试修改程序。
可以自己找软件编程试试
#include <reg51h> //此文件中定义了51的一些特殊功能寄存器
#include <intrinsh>
void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
main()
{
unsigned char LED;
LED = 0xfe; //0xfe = 1111 1110
while(1)
{
P2 = LED;
delayms(250);
LED = LED << 1; //循环右移1位,点亮下一个LED "<<"为左移位
if(P2 == 0x00 ) {LED = 0xfe; } // 0xfe = 1111 1110
}
}
这只是灯亮的初始状态不一样,如果temp=0x01为第一位先亮(先亮指初始状态,因为不知道你的是低电平还是高电平驱动),那么temp=0x7F就是第八位先亮,而且两个循环放方向不一样!一个向左,一个向右,说白了就是两段程序形成的状态是互补的形式。
错误1,p2小写不行,改成大写P2。
2,那个延时子程序delay(),不能写在主程序中,要写在主程序前面,单独写,主程序去调用它。
3,P2不能写在_corl_()函数中。
4,主程序不能写 int main()
应该这么写
#include<reg51h>
#include<intrinsh>
void delay()
{
unsigned int a=5000;
while(a--);
}
void main()
{
unsigned char light=0xfe;
P2=0xfe;
while(1)
{
P2=light;
light=_crol_(light,1);
delay();
}
}
以上就是关于用西门子PLC300设计流水灯,跑马灯的程序。在线等!!!全部的内容,包括:用西门子PLC300设计流水灯,跑马灯的程序。在线等!!!、51单片机设计8个led流水灯,求设计流程图和接线图、解释一下这个流水灯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)