感悟网 导航

plc控制8个彩灯,从左到右依次点亮,然后又逆序灯灭,然后又是从右向左依次亮灯,最后才是从左向右灯灭. Plc控制八个彩灯,从左到右依次点亮然后又逆序灯灭,然后又是...

作者&投稿:晁树 (若有异议请与网页底部的电邮联系)
单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部熄灭后重复前面的过程~

#include
#include
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uint s;
while(1)
{
P0=0xfe;
DelayMS(150);
for(s=8;s>1;s--)
{
P0=_crol_(P0,1); //P0 的值向左循环移动
DelayMS(150);
}
P0=0x00;
DelayMS(150);
p0=0xff;
DelayMS(150);

扩展资料:
常用单片机汇编指令:
1 .MOV A,Rn 寄存器内容送入累加器
2 .MOV A,direct 直接地址单元中的数据送入累加器
3 .MOV A,@Ri (i=0,1)间接RAM 中的数据送入累加器
4 .MOV A,#data 立即数送入累加器
5 .MOV Rn,A 累加器内容送入寄存器
6 .MOV Rn,direct 直接地址单元中的数据送入寄存器
7 .MOV Rn,#data 立即数送入寄存器
8 .MOV direct,A 累加器内容送入直接地址单元
9 .MOV direct,Rn 寄存器内容送入直接地址单元
10. MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元
11 .MOV direct,@Ri (i=0,1)间接RAM 中的数据送入直接地址单元
12 MOV direct,#data 立即数送入直接地址单元
13 .MOV @Ri,A (i=0,1)累加器内容送间接RAM 单元
14 .MOV @Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元
15 .MOV @Ri,#data (i=0,1)立即数送入间接RAM 单元
16 .MOV DPTR,#data16 16 位立即数送入地址寄存器
17 .MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器
18 .MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器
19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器
20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器
21 .MOVX @Ri,A (i=0,1)累计器送外部RAM(8 位地址)
22 .MOVX @DPTR,A 累计器送外部RAM(16 位地址)
23 .PUSH direct 直接地址单元中的数据压入堆栈
24 .POP direct 弹栈送直接地址单元
25 .XCH A,Rn 寄存器与累加器交换
26 .XCH A,direct 直接地址单元与累加器交换
27 .XCH A,@Ri (i=0,1)间接RAM 与累加器交换
28 .XCHD A,@Ri (i=0,1)间接RAM 的低半字节与累加器交换
参考资料来源:百度百科-单片机汇编指令

循环指令SHR SHL

梯形图,网络1.2是启停控制和程序的初始化,网络3是用移位指令控制q0.0到q0.7八个灯



《plc控制8个彩灯,从左到右依次点亮,然后又逆序灯灭,然后又是从右向左...》
答:梯形图,网络1.2是启停控制和程序的初始化,网络3是用移位指令控制q0.0到q0.7八个灯

《急求用PLC做彩灯控制(八盏)的梯形图》
答:1、 彩灯一共8盏,要求每种方案都能实现对8盏彩灯的控制。 2、 每种控制方案用1个按钮控制。设计1个停止按钮。 设计方案: 1、 灯管点亮的顺序依次为;1号到2号...8号时间隔为1S,8根彩灯全亮后,持续10S,然后按照8号到7号...1号开始顺序依次熄灭时间为1S,灯管全部熄灭后等待2S,再重新开始上述过程的循环...

《如何用plc控制8个彩灯顺序点亮?》
答:plc控制八个彩灯顺序点亮步骤如下:1、根据的需求选择一个PLC设备。确保所选PLC具有足够的输出端口来连接八个彩灯。2、在PLC编程软件中,为每个输出端口分配一个地址。这些地址将用于后续的编程过程。确保将每个彩灯连接到相应的输出端口。3、使用PLC编程语言(如梯形图、结构化文本、功能块图等)编写程序。

《用三菱plc循环位移指令做8灯循环梯形图》
答:根据控制要求,首先应置彩灯的初始状态为QB0=1,即左边第一盏灯亮;接着灯从左到右以0.5s的速度依次点亮。即要求字节QB0中的“1”用循环左移位指令每0.5s移动一位,因此须在ROL-B指令的EN端接一个0.5s的移位脉冲(可用定时器指令实现)。

《循环移位指令怎么写呀?》
答:解析:8个彩灯循环移位控制,可以用字节的循环移位指令。用I0.0控制接在Q0.0~Q0.7上的8个彩灯循环移位,从左到右以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮,到达最右端后,再从左到右依次点亮。根据控制要求,首先应置彩灯的初始状态为QB0=1,即左边第一盏灯亮;接着灯从左到右...

《如何用PLC梯形图做一个8盏灯轮流闪烁的流水灯 求:梯形图》
答:x0为启动按钮,x1为停止按钮。y0~y7为8盏灯。程序在按下启动按钮后,灯1先亮,1秒(T0延时)后灭,1秒后(T1延时)灯2亮,依次循环。当按下x1后,循环结束。按下x0后,m0得电为1并自保持,此时1秒计时器T0计时,1秒后T0常开点闭合1秒计时器T1计时,再过1秒T1计时结束常闭点断开T0线圈。使用...

《用国产普中plc控制8个彩灯,启动时从右向左逐个点亮,全亮10秒,从左向 ...》
答:使用脉冲移位指令,灯公共端接一起com,每个灯接一个输出通道即可。以前我用晋中单片机编写过这种跑马灯程序

《欧姆龙PLC完成对艺术彩灯的控制 8组艺术彩灯》
答:如图所示,I0.00启动,I0.01停止,Q1对应8组灯。启动后8组灯以1s每个的速度,依次点亮。望采纳。。。

《8路LED彩灯,要求效果(从左到右依次亮,从右到左依次亮,全灭全亮),最好...》
答:程序如下:从左到右 ORG 0000H AJMP MAIN ORG 0030H MAIN:MOV SP,#50 MOV A,#80H MOV P1,A LCALL DELAY T1: RR A 从左到右依次亮 LCALL DELAY LJMP T1 延时一秒程序:DELAY:MOV R5,#200 D1: MOV R6,#250 D2:DJNZ R6,D2 DJNZ R5,D1 RET END 如果想从右到左依次亮一...

《用89S52单片机构件建一个彩灯控制系统,系统用P1口外接8个发光二极管...》
答:用89S52单片机构件建一个彩灯控制系统,系统用P1口外接8个发光二极管,没有键按下时,8支彩灯每隔0.5s全亮全灭一次。按K1时,8支彩灯从左至右循环点亮。按K2时,8支彩灯从右至左循环点亮。按K3时,8支彩灯先右循环点亮后左循环点亮。同时按下K1和K2时,8支彩灯从中间向外循环点亮。同时按下...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网