Ký hiệu trong chương trỡnh thang.
Trong đú:
S : là word nguồn. D: là word đớch.
Khi điều kiện thực hiện ngừ vào là OFF, lệnh MOV(21) khụng thực hiện. Khi điều kiện ngừ vào là ON lệnh MOV(21) sẽ sao chộp toàn bộ
nội dung của S sang D.
Vớ dụ:
Sử dụng lệnh MOV(21) sao chộp nội dung của IR001 cho HR 05 khi IR00000 chuyển từ OFF sang ON.
Sơđồ thang.
Chương trỡnh được viết như sau:
Địa chỉ Lệnh Toỏn tử 00000 LD 00000 00001 MOV(21) 01 MOV(21) S D
Word nguồn Word đích
Trạng thái bit không thay đổi
HR05001 001 MOV(21) 00000
HR05
4.3.19 Lệnh MVN(22) Move Not:
Kớ hiệu trong chương trỡnh thang.
Trong đú:
S : là word nguồn. D: là word đớch.
Khi điều kiện thực hiện ngừ vào là ON, lệnh MVN(22) sẽ sao chộp nội dung đảo của S sang D. Mỗi bit ON của S tương ứng với bit OFF trong D và bit OFF của S tương ứng với bit ON trong D.
4.3.20 Lệnh tớnh toỏn BCD( Binary Code Decimal) – SET CARRY
STC(40)
Kớ hiệu trong chương trỡnh thang.
Khi tớn hiệu của ngừ vào là OFF, lệnh STC(40) khụng thực hiện. STC(40) chỉ thực hiện khi ngừ vào là ON.
4.3.21 Lệnh tớnh toỏn CLC – CLEAR CARRY (CLC(41) )
Kớ hiệu trong chương trỡnh thang.
Khi tớn hiệu của ngừ vào là OFF, lệnh CLC(41) khụng thực hiện. CLC(41) chỉ thực hiện khi ngừ vào là ON.
DS S MVN(22)
STC(40)
Trong đú:
Au: Augen word.(Word đó cú) Ad: Addend word.(Word bị cộng) R : Result word.( Word kết quả)
Chỉ dựng vựng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 khụng được dựng cho R.
Khi tớn hiệu của ngừ vào là OFF, lệnh ADD(30) khụng thực hiện. ADD(30) chỉ thực hiện khi ngừ vào là ON. Khi đú ADD(30) sẽ cộng nội dung của Au và Ad rồi đặt kết quả trong R.
4.3.23 Lệnh SUB(31) Trừ BCD.
Kớ hiệu dựng trong chương trỡnh thang: Trong đú:
Mi: Word bị trừ
Su: Word trừ
R : Result word.( Word kết quả)
Chỉ dựng vựng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 khụng được dựng cho R.
Khi tớn hiệu của ngừ vào là OFF, lệnh SUB(31) khụng thực hiện. SUB(31) chỉ thực hiện khi ngừ vào là ON. Khi đú SUB(31) sẽ trừ nội dung của Mi cho Su rồi đặt kết quả trong R.
4.3.24 Lệnh MUL(32) Nhõn BCD (BCD MULTIPLY).
Kớ hiệu dựng trong chương trỡnh thang:
Md: Multiolicand (BCD) Mr: Multiplier (BCD) Su M i SU B (2 1) R Mr Md MUL(32) R ADD(30) Au Ad R
R : Result word.
Chỉ dựng vựng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 khụng được dựng cho R.
Khi tớn hiệu của ngừ vào là OFF, lệnh MUL(32) khụng thực hiện. MUL(32) chỉ thực hiện khi ngừ vào là ON. Khi đú MUL(32) sẽ nhõn nội dung của Md cho Mr rồi đặt kết quả trong R và R+1:
Xột vớ dụ cú chương trỡnh thang như trờn:
Khi IR00001 mà ON thỡ nội dung của IR013 và DM00006 được nhõn và kết quả được đặt trong HR07 và HR 08.
Dữ liệu và tớnh toỏn như sau:
4.3.25 Lệnh DIV(33) BCD DIVIDE (chia BCD)
Kớ hiệu dựng trong chương trỡnh thang:
Md Mr R R+1 MUL(32) 00001 DM0006 013 HR 07 Md: IR013 3 3 5 6 5 2 0 0 Mr: DM00005 R+1: HR08 8 R: HR07 3 9 0 0 0 0 0 DIV(33)
Dd: Dividend (BCD) Mr: Divisorword (BCD) R : Result word.
Chỉ dựng vựng nhớ DM 0000 đến DM 1023. DM 6144 đến DM6655 khụng được dựng cho R.
Khi tớn hiệu của ngừ vào là OFF, lệnh DIV(33) khụng thực hiện. DIV(33) chỉ thực hiện khi ngừ vào là ON. Khi đú DIV(33) sẽ chia nội dung của Dd cho Dr rồi đặt kết quả trong R và R+1, thương số đặt trong R và số dưđặt trong R+1:
Vớ du:
Xột sơđồ thang sau:
Khi IR00000 ON, lệnh DIV(33) sẽđược thực thi
Nội dung của IR216 sẽ được chia cho nội dung của HR09 kết quả được
đặt trong DM0017 và DM0018.
4.3.26 Lệnh so sỏnh CMP(20).
Kớ hiệu dựng trong chương trỡnh thang:
00000 DM0017 DM0017 216 HR09 DIV(33) Dd: IR216 Dr: HR09 0 0 0 4 4 2 0 0 R:DM0017 1 0 5 0 0 0 Số chia Số bị chia Thuơng số Số du R+1: DM0018 0 0 CMP(20)
Trong đú:
CP1: Word so sỏnh thứ nhất: CP2: Word so sỏnh thứ hai:
Lệnh CMP(20) dựng so sỏnh dữ liệu CP1 và CP2 và xuất hiện cỏc kết quả ra cỏc cờ GL, EQ, LE trong vựng SR( Special Registers).
EQ: ON nếu CP1 = CP2. LE: ON nếu CP1 < CP2. GL: ON nếu CP1 > CP2. Bảng cỏc trạng thỏi của cỏc cờ: Cờ Địa chỉ CP1 < CP2 CP1 = CP2 CP1>CP2 GR 25505 OFF OFF ON EQ 25506 OFF ON OFF LE 25507 ON OFF OFF 4.3.27 Bộ đếm lặp lại CNTR(12).
Kớ hiệu dựng trong chương trỡnh thang:
Trong đú: N là chỉ số CNTR(12).
SV: là giỏ trị đặt trong DM, HR, LR, SR…
CNTR là một bộ đếm theo hai chiều. Nú được dựng để đếm giữa giỏ trị đặt SV và 0 theo sự chuyển đổi một trong hai điều kiện đú là ngừ vào tăng II và ngừ vào giảm DI. CNTR (12) N SV II DI R
Khi gớ trị hiện tai PV giảm đến 00 thỡ PV sẽ được đặt về giỏ trị SV và cờ hoàn toàn được bật thành ON cho đến khi giỏ trị PV giảm trở lại. Khi giỏ trị PV tăng lờn tới SV thỡ giỏ trị PV được đặt về 0 và cờ hoàn thành được bật sang ON cho đến khi giỏ trị PV tăng trở lại.
4.3.28 Lệnh High Speed Timer -TIMH (15)
Kớ hiệu dựng trong chương trỡnh thang:
Trong đú: N là chỉ số TIMH(15).
SV: là giỏ trị đặt trong DM, HR, LR, SR…
Giỏ trị SV đặt trong TIM(15) chạy từ 00,00 giõy đến 99,99 giõy. Hoạt
độnh của TIMH(15) giống như lệnh TIM.
4.3.29 Lệnh PRV(62) – High Speed Counter Pvread.
Kớ hiệu dựng trong chương trỡnh thang:
Trong đú: P :là port riờng: 001, 002, 003.
C :là dữ liệu điều khiển 001, 002, 003. D :là Word đớch đầu tiờn SR, DM, HR…
Khi điều kiện thực hiện ngừ vào là ON, lệnh PRV (62) đọc dữ liệu đó
định ở P và C rồi ghi nú vào D hay D +1.
Port riờng P xỏc định tốc độ xuất xung của Counter.
TIMH (15)N N SV C P PRV(62) D
Port (P) Chức năng
001 Chỉ định Counter tốc độ cao 0 hay xuất xung từ
một bit
002 Chỉ định Counter tốc độ cao 1 hay xuất xung từ
Port1
003 Chỉ định Counter tốc độ cao 2 hay xuất xung từ
port 2
C: Dữ liệu điều khiển xỏc định loại dữ liệu xử lý truy xuất
C Dữ liệu Word đớch
001 Giỏ trị hiện tại PV của Counter tốc độ cao D & D +1 002 Trạng thỏi của Counter tốc độ cao hay xuất
xung
D
003 Dóy kết quả so sỏnh D