#
include
<stdio.
h>
#
include
%dos.
h>
#
include
<stdlib.
h>
void
main(int
argc,char
**
argv)
{
union
REGS
regs:
unsiged
long
delay
delay
=
atoI(argv[1])
/
*
assume
that
there
is
an
argument
*
/
/
*
multiply
by
1
for
microsecond-granularity
delay
*
/
/
*
multiply
by
1000
for
millisecond-granularity
delay
*
/
/
*
multiply
by
1000000
for
second-granularity
delay
*
/
delay
*
=1000000
regs.
x.
ax
=
0x8600
regs.
x.
cx=
(unsigned
int
)((delay
&
0xFFFF0000L)>>16)
regs.
x.
dx
=
(unsigned
int
)
(delay
&
0xFFFF)
int86
(0x15,
&regs,
&regs)
}
上例通过DOS中断15H的86H功能来实现延时,延迟时间以微秒为单位,因此,上述延时程序认为你可能要使用一个非常大的数字,于是它分别用CX和DX寄存器来接受延时值的高16位和低16位。上述延时程序最多可以延时49.亿微妙---大约等于1.2小时。
上例假设延时值以微秒为单位,它把延时值乘以一百万,因此在命令行中可以输入以秒为单位的延时值。例如,“delay
10”命令将产生10秒的延时。
西门子S7-1200系列PLC的延时器是一种常用的定时器,可以在指定的时间内延迟输出信号。如果您想要实现门自动关闭的功能,可以使用S7-1200 PLC的延时器来实现。具体实现方法如下:
1. 首先,您需要将门的开关信号连接到S7-1200 PLC的输入端口上。
2. 然后,在S7-1200 PLC的程序中,使用一个延时器来延迟门关闭的时间。您可以使用S7-1200 PLC的编程软件(如TIA Portal)来编写PLC程序。
3. 在PLC程序中,将门的开关信号作为延时器的输入信号,将延时器的输出信号连接到门的控制信号上。
4. 设置延时器的延时时间为您需要的门关闭时间。
5. 当门的开关信号被触发时,延时器开始计时,当延时时间结束时,延时器的输出信号会触发,将门的控制信号关闭,从而实现门的自动关闭功能。
需要注意的是,门的自动关闭功能需要根据实际情况进行调试和测试,确保其可靠性和安全性。
#include<reg52.h>#include uahar unsigned char
#include uint undigned int
ucahr cont
void init()
{
TH0=(65536-50000)/256//赋初值
TL0=(65536-50000)%256
EA=1//开总中断
ET0=1;//开定时器中断
TR0=1//开启定时器0
}
void main()
{
init()//调用初始化子程序
}
void timer0() interrupt 2//定时程序
{
TH0=(65536-50000)/256
TL0=(65536-50000)%256
cont++
if(cont==10)
{
cont=0
此处是你需要 *** 作的数据,比如你要发光二级管亮灭, 或者数加减!!!
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)