用西门子PLC300设计流水灯,跑马灯的程序。在线等!!!

用西门子PLC300设计流水灯,跑马灯的程序。在线等!!!,第1张

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流水灯,求设计流程图和接线图、解释一下这个流水灯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9423522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存