?? ldmicro.txt
字號:
applications. Type in the frequency of the crystal that you will use
with the microcontroller (or the ceramic resonator, etc.) and click okay.
Now you can generate code from your program. Choose Compile -> Compile,
or Compile -> Compile As... if you have previously compiled this program
and you want to specify a different output file name. If there are no
errors then LDmicro will generate an Intel IHEX file ready for
programming into your chip.
Use whatever programming software and hardware you have to load the hex
file into the microcontroller. Remember to set the configuration bits
(fuses)! For PIC16 processors, the configuration bits are included in the
hex file, and most programming software will look there automatically.
For AVR processors you must set the configuration bits by hand.
INSTRUCTIONS REFERENCE
======================
> CONTACT, NORMALLY OPEN Xname Rname Yname
----] [---- ----] [---- ----] [----
If the signal going into the instruction is false, then the output
signal is false. If the signal going into the instruction is true,
then the output signal is true if and only if the given input pin,
output pin, or internal relay is true, else it is false. This
instruction can examine the state of an input pin, an output pin,
or an internal relay.
> CONTACT, NORMALLY CLOSED Xname Rname Yname
----]/[---- ----]/[---- ----]/[----
If the signal going into the instruction is false, then the output
signal is false. If the signal going into the instruction is true,
then the output signal is true if and only if the given input pin,
output pin, or internal relay is false, else it is false. This
instruction can examine the state of an input pin, an output pin,
or an internal relay. This is the opposite of a normally open contact.
> COIL, NORMAL Rname Yname
----( )---- ----( )----
If the signal going into the instruction is false, then the given
internal relay or output pin is cleared false. If the signal going
into this instruction is true, then the given internal relay or output
pin is set true. It is not meaningful to assign an input variable to a
coil. This instruction must be the rightmost instruction in its rung.
> COIL, NEGATED Rname Yname
----(/)---- ----(/)----
If the signal going into the instruction is true, then the given
internal relay or output pin is cleared false. If the signal going
into this instruction is false, then the given internal relay or
output pin is set true. It is not meaningful to assign an input
variable to a coil. This is the opposite of a normal coil. This
instruction must be the rightmost instruction in its rung.
> COIL, SET-ONLY Rname Yname
----(S)---- ----(S)----
If the signal going into the instruction is true, then the given
internal relay or output pin is set true. Otherwise the internal
relay or output pin state is not changed. This instruction can only
change the state of a coil from false to true, so it is typically
used in combination with a reset-only coil. This instruction must
be the rightmost instruction in its rung.
> COIL, RESET-ONLY Rname Yname
----(R)---- ----(R)----
If the signal going into the instruction is true, then the given
internal relay or output pin is cleared false. Otherwise the
internal relay or output pin state is not changed. This instruction
instruction can only change the state of a coil from true to false,
so it is typically used in combination with a set-only coil. This
instruction must be the rightmost instruction in its rung.
> TURN-ON DELAY Tdon
-[TON 1.000 s]-
When the signal going into the instruction goes from false to true,
the output signal stays false for 1.000 s before going true. When the
signal going into the instruction goes from true to false, the output
signal goes false immediately. The timer is reset every time the input
goes false; the input must stay true for 1000 consecutive milliseconds
before the output will go true. The delay is configurable.
The `Tname' variable counts up from zero in units of scan times. The
TON instruction outputs true when the counter variable is greater
than or equal to the given delay. It is possible to manipulate the
counter variable elsewhere, for example with a MOV instruction.
> TURN-OFF DELAY Tdoff
-[TOF 1.000 s]-
When the signal going into the instruction goes from true to false,
the output signal stays true for 1.000 s before going false. When
the signal going into the instruction goes from false to true,
the output signal goes true immediately. The timer is reset every
time the input goes false; the input must stay false for 1000
consecutive milliseconds before the output will go false. The delay
is configurable.
The `Tname' variable counts up from zero in units of scan times. The
TON instruction outputs true when the counter variable is greater
than or equal to the given delay. It is possible to manipulate the
counter variable elsewhere, for example with a MOV instruction.
> RETENTIVE TIMER Trto
-[RTO 1.000 s]-
This instruction keeps track of how long its input has been true. If
its input has been true for at least 1.000 s, then the output is
true. Otherwise the output is false. The input need not have been
true for 1000 consecutive milliseconds; if the input goes true
for 0.6 s, then false for 2.0 s, and then true for 0.4 s, then the
output will go true. After the output goes true it will stay true
even after the input goes false, as long as the input has been true
for longer than 1.000 s. This timer must therefore be reset manually,
using the reset instruction.
The `Tname' variable counts up from zero in units of scan times. The
TON instruction outputs true when the counter variable is greater
than or equal to the given delay. It is possible to manipulate the
counter variable elsewhere, for example with a MOV instruction.
> RESET Trto Citems
----{RES}---- ----{RES}----
This instruction resets a timer or a counter. TON and TOF timers are
automatically reset when their input goes false or true, so RES is
not required for these timers. RTO timers and CTU/CTD counters are
not reset automatically, so they must be reset by hand using a RES
instruction. When the input is true, the counter or timer is reset;
when the input is false, no action is taken. This instruction must
be the rightmost instruction in its rung.
> ONE-SHOT RISING _
--[OSR_/ ]--
This instruction normally outputs false. If the instruction's input
is true during this scan and it was false during the previous scan
then the output is true. It therefore generates a pulse one scan
wide on each rising edge of its input signal. This instruction is
useful if you want to trigger events off the rising edge of a signal.
> ONE-SHOT FALLING _
--[OSF \_]--
This instruction normally outputs false. If the instruction's input
is false during this scan and it was true during the previous scan
then the output is true. It therefore generates a pulse one scan
wide on each falling edge of its input signal. This instruction is
useful if you want to trigger events off the falling edge of a signal.
> SHORT CIRCUIT, OPEN CIRCUIT
----+----+---- ----+ +----
The output condition of a short-circuit is always equal to its
input condition. The output condition of an open-circuit is always
false. These are mostly useful for debugging.
> MASTER CONTROL RELAY
-{MASTER RLY}-
By default, the rung-in condition of every rung is true. If a master
control relay instruction is executed with a rung-in condition of
false, then the rung-in condition for all following rungs becomes
false. This will continue until the next master control relay
instruction is reached (regardless of the rung-in condition of that
instruction). These instructions must therefore be used in pairs:
one to (maybe conditionally) start the possibly-disabled section,
and one to end it.
> MOVE {destvar := } {Tret := }
-{ 123 MOV}- -{ srcvar MOV}-
When the input to this instruction is true, it sets the given
destination variable equal to the given source variable or
constant. When the input to this instruction is false nothing
happens. You can assign to any variable with the move instruction;
this includes timer and counter state variables, which can be
distinguished by the leading `T' or `C'. For example, an instruction
moving 0 into `Tretentive' is equivalent to a reset (RES) instruction
for that timer. This instruction must be the rightmost instruction
in its rung.
> ARITHMETIC OPERATION {ADD kay :=} {SUB Ccnt :=}
-{ 'a' + 10 }- -{ Ccnt - 10 }-
> {MUL dest :=} {DIV dv := }
-{ var * -990 }- -{ dv / -10000}-
When the input to this instruction is true, it sets the given
destination variable equal to the given expression. The operands
can be either variables (including timer and counter variables)
or constants. These instructions use 16 bit signed math. Remember
that the result is evaluated every cycle when the input condition
true. If you are incrementing or decrementing a variable (i.e. if
the destination variable is also one of the operands) then you
probably don't want that; typically you would use a one-shot so that
it is evaluated only on the rising or falling edge of the input
condition. Divide truncates; 8 / 3 = 2. This instruction must be
the rightmost instruction in its rung.
> COMPARE [var ==] [var >] [1 >=]
-[ var2 ]- -[ 1 ]- -[ Ton]-
> [var /=] [-4 < ] [1 <=]
-[ var2 ]- -[ vartwo]- -[ Cup]-
If the input to this instruction is false then the output is false. If
the input is true then the output is true if and only if the given
condition is true. This instruction can be used to compare (equals,
is greater than, is greater than or equal to, does not equal,
is less than, is less than or equal to) a variable to a variable,
or to compare a variable to a 16-bit signed constant.
> COUNTER Cname Cname
--[CTU >=5]-- --[CTD >=5]--
A counter increments (CTU, count up) or decrements (CTD, count
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -