Lệnh SET dùng để ON bit toán tử khi điều kiện thực hiện ngõ vào là ON và không ảnh hưởng trạng thái bit toán tử khi điều kiện thực hiện ngõ vào là OFF.
Lệnh RESET dùng để OFF bit toán tử khi điều kiện thực hiện là ON và không ảnh hưởng trạng thái của toán tử khi điều kiện thực hiện là OFF.
65 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1475 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bộ lệnh và chương trình ứng dụng của hãng omron, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG VI: BỘ LỆNH CỦA HÃNG OMRON
CÁC LỆNH LƯỢC ĐỒ HÌNH THANG ( LADDER DIAGRAM INSTRUCTION):
Lệnh LD ( load):
Lệnh này nạp một công tắc thường hở nối với phía bên trái đường dây điện
B
Ký hiệu hình thang:
Vùng dữ liệu toán tử:
B: Bit
IR,SR,AR,HR,TC,LR
B
Lệnh LD Not ( Load Not):
B: Bit
IR, SR, AR, HR, TC, TV
Lệnh này giống lệnh LD nhưng ở đây là công tắc thường đóng
Lệnh AND, AND NOT
Lệnh AND dùng để nối tiếp một công tắc thường hở với một công tắc đứng trước nó.
B
Ký hiệu hình thang:
B: Bit
IR, SR, AR, HR, TC, TR
Vùng dữ liệu toán tử
Lệnh AND NOT : dùng để nối tiếp một công tắc thường đóng với một công tắc đứng trước nó
B
Ký hiệu hình thang:
B: Bit
IR, SR, AR, HR, TC, TR
Vùng dữ liệu toán tử:
Lệnh OR, ORNOT:
Lệnh OR dùng để nối một công tắc thường hở với một đường dây điện bên trái song song với một hoặc nhiều công tắc đứng trong cùng một nhánh.
Lệnh ORNOT : Giống như lệnh OR nhưng công tắc nối vào là công tắc thường đóng.
Ký hiệu hình thang:
B
B
OR
ORNOT
B: Bit
IR, SR, AR, HR, TC, TR
Vùng dữ liệu toán tử:
6.1.5 Lệnh ANDLD (AND LOAD) và ORLD (OR LOAD):
Lệnh ANDLD: Là lệnh dùng để liên kết hai khối công tắc liên tiếp với nhau.
Ký hiệu hình thang
01000
00000
00002
00001
00003
Ví dụ:
Viết chương trình cho sơ đồ hình thang trên:
Địa chỉ Lệnh Dữ liệu
00000 LD 00000
00001 OR 00001
00002 LD 00002
00003 ORNOT 00003
00004 ANDLD -------
00005 OUT 01000
01000
00000
00002
00001
00003
Lệnh ORLD : Dùng để liên kết hai khối song song nhau
Viết chương trình cho sơ đồ hình thang trên:
Địa chỉ Lệnh Dữ liệu
00000 LD 00000
00001 AND 00002
00002 LD 00001
00003 ANDNOT 00003
00004 ORLD -------
00005 OUT 01000
LỆNH ĐIỀU KHIỂN BIT :
Lệnh OUT ( OUTPUT) và OUT NOT ( OUTPUT NOT)
Ký hiệu hình thang:
B
B
OUT
OUTNOT
B: Bit
IR, SR, AR, HR, TC, TR
Vùng dữ liệu toán tử:
Lệnh OUT và OUT NOT dùng để điều khiển trạng thái của Bit đã chỉ định theo điều kiện thực hiện ngõ vào là ON thì Bit OUT sẽ ON, còn Bit OUT NOT sẽ OFF và nguược lại.
Lệnh SET và RESET:
Ký hiệu hình thang:
SET B
RESET B
B: Bit
IR, SR, AR, HR, TC, TR
Vùng dữ liệu toán tử:
Lệnh SET dùng để ON bit toán tử khi điều kiện thực hiện ngõ vào là ON và không ảnh hưởng trạng thái bit toán tử khi điều kiện thực hiện ngõ vào là OFF.
Lệnh RESET dùng để OFF bit toán tử khi điều kiện thực hiện là ON và không ảnh hưởng trạng thái của toán tử khi điều kiện thực hiện là OFF.
Lệnh KEEP ( 11) :
Ký hiệu hình thang:
B: Bit
IR, SR, AR, HR, TC, TR
S
KEEP (11)
B
R
Vùng dữ liệu toán tử:
Lệnh KEEP (11) dùng để duy trì trạng thái bit đã định theo hai điều kiện thực hiện ngõ vào là S và R. S là ngõ vào SET; R là ngõ vào RESET. Lệnh KEEP (11) hoạt động giống như một Relay chốt mà được Set bởi S và Reset bởi R.
Minh hoạ bằng sóng:
Điều kiện thực hiện S
Điều kiện thực hiện R
Trạng thái bit B
Lệnh DIFU ( 13) và DIFD ( 14):
DIFU (13) B
DIFD (14) B
Ký hiệu hình thang:
B: Bit
IR, SR, AR, HR, TC, TR
Vùng dữ liệu toán tử:
Lệnh DIFU (13) và DIFD (14) được dùng để bật ON bit đã định trrong một chu kỳ.
Mỗi khi thực hiện DIFU (13) so sánh điều kiện thực hiện tại ngõ vào với điều kiện trước đó của nó. Nếu điều kiện thực hiện trước đó là OFF và hiện tại là ON, DIFU (13) sẽ bật ON bit đã định. Nếu điều kiện thực hiện trước đó là ON và điều kiện thực hiện hiện tại là ON hay OFF lệnh DIFU (13) sẽ OFF bit đã định.
Còn đối với lệnh DIFD (14) khi thực hiện sẽ so sánh điều kiện thực hiện ngõ vào hiện tại với điều kiện trước đó. Nếu điều kiện trước đó là ON và hiện tại là OFF thì lệnh DIFD (14) sẽ bật ON bit đã định. Nếu điều kiện thực hiện tại ngõ vào là ON bất chấp điều kiện trước đó là ON hay OFF, lệnh DIFD (14) sẽ OFF bit đã định.
Hai lệnh này không ảnh hưởng đến cờ trạng thái.
DIFU (13)
10014
DIFU (13)
10014
Ví dụ :
Cho sơ đồ hình thang
Viết chương trình cho sơ đồ hình thang trên
Địa chỉ Lệnh Dữ liệu
00000 LD 00000
00001 DIFU(13) 10014
00002 DIFD(14) 10015
Minh họa bằng dạng sóng:
Điều kiện nhập:0000
DIFU (13)
DIFD (14)
LỆNH ĐIỀU KHIỂN CHƯƠNG TRÌNH:
Lệnh IL (02) (Interlock) và ILC (03) (Interlock clear):L
Lệnh IL (02) luôn được dùng kết hợp với ILC (03) để tạo thành một khối khoá trong. Nếu điều kiện thực hiện ngõ vào cho IL (02) là OFF thì tất cả các ngõ ra và tất cả các giá trị hiện tại của TIMER ở trong IL (02) và ILC (03) được OFF hay Reset. Một số lệnh khác thì không hoạt động. Giá trị hiện tại của COUNTER được duy trì. Nếu điều kiện thực hiện ngõ vào là ON thì sự thực hiện của lệnh IL (02) và ILC (03) không ảnh hưởng, chương trình tiếp tục bình thường.
Lệnh JMP (04) (JUMP) và JME (05) (JUMP END):
Ký hiệu hình thang:
JMP (04) N
JME (05) N
N : là số nhảy
Số nhảy N trong lệnh là từ 00 đến 99
JMP (04) luôn luôn được dùng kết hợp với JME (05) để tạo thành lệnh nhảy, để nhảy từ một điểm trong sơ đồ hình thang đến một điểm khác. JMP (04) được định nghĩa là điểm mà tại đó lệnh nhảy được tạo. JME (05) được định nghĩa là điểm đích của lệnh nhảy. Khi điều kiện thực hiện ngõ vào cho JMP (04) là ON thì bước nhảy không được tạo và chương trình được thực hiện liên tục như đã lập trình. Khi điều kiện thực hiện ngõ vào cho JMP (04) là OFF thì một bước nhảy được thi hành, khi đó chương trình tiếp tục thực hiện tại JME (05).
Khi số nhảy N của JMP (04) từ 01đến 99 thì con trỏ lập tức chuyển đến JME(05) với cùng số nhảy N tương ứng. Tất cá các lệnh ở giữa JMP (04) và JME(05) không thực hiện. Trạng thái của những Timer, Counter, Bit Out, Out Not và tất cả trạng thái của bit điều khiển khác sẽ không thay đổi. Số nhảy này chỉ định nghĩa cho một lần nhảy.
Khi số nhảy N cho JMP (04) là ON, CPU sẽ tìm đến JME (05) kế có sốn nhảy N = 00. Để thực hiện nó kiểm tra toàn bộ chương trình tất cả những lệnh và bit điều khiển nằm ở giữa JMP (04) 00 và JME (05) 00 được giữ nguyên. Số nhảy 00 có thể được suử dụng nhiều lần đối với JMP (04) mà chỉ cần một đích nhảy đến JME (05).
Ví dụ:
Sơ đồ hình thang
JMP(04) 01
00000
Lệnh 1
00001
Lệnh 2
00002
JME(05) 01
Viết chương trình ccho sơ đồ hình thang trên:
Địa chỉ Lệnh Dữ liệu
00000 LD 00000
00001 JMP(04) 01
00002 LD 00001
00003 Lệnh 1
00004 LD 00002
00005 Lệnh 2
00006 JMP(05) 01
Giải thích lược đồ trên: khi IR 00000 = ON thì chương trình thực hiện từ lệnh 1 đến lệnh 2. Khi IR00000 = OFF thì lệnh 1 và lệnh 2 không thực hiện.
Lệnh STEP(08) (Step define) và SNXT(09) (Step start)
Ký hiệu hình thang
STEP (08) B
SNXT (09) B
Vùng dữ liệu toán tử:
B : bit
IR, AR, LR, HR
Lệnh bước Step (08) và SNXT (09) được dùng kết hợp với nhau để đặt điểm dừng giữa những phần trong một chương trình lớn vì vậy những phần có thể thực hiện như những khối và được đặt lại lúc hoàn thành. Step (08) dùng một Bit điều khiển trong vùng IR hay HR … để định nghĩa cho phần bắt đầu của đầu chương trình gọi là bước. Step (08) không cần điều kiện thực hiện, tức là sự thực hiện của nó được điều khiển thông qua bit điều khiển B đặt trong SNXT (09). SNXT (09) là lệnh bắt đầu bước cho phép STEP (08) thực hiện. Nếu điều kiện thực hiện ngõ vào của SNXT (09) (có dùng bit điều khiển B trong STEP (08) là ON. Thì bước sẽ được thực hiện. Nếu điều kiện thực hiện ngõ vào của SNXT (09) là OFF thì bước định nghĩa sẽ không được thực hiện lệnh SNXT (09) phải được con trỏ đọc trước khi bắt đầu bước. Bất kỳ một bước nào trong chương trình mà không được bắt đầu với SNXT (09) thì bước đó sẽ không thực hiện.
Một SNXT (09) được dùng trong chương trình thì sẽ thực hiện bước sẽ tiếp diễn cho đến khi STEP (08) được thực hiện mà không có bit điều khiển STEP (08). STEP (08) không có bit điều khiển được đứng trước bởi SNXT (09) với một bit điều khiển giả, bit điều khiển giả có thể là những bit bất kỳ không sử dụng trong IR hay HR. Vì vậy nó không thể là bit điều khiển dùng cho STEP (08).
Sư thực hiện của một bước được hoàn thành khi có sự xuất hiện của SNXT(09) kế hay bit điều khiển cho bước được Reset. Khi bước được hoàn thành tất cả những bit của IR và HR trong bước được bật trở về OFF và tất cả các Timer trong bước được Reset về giá trị đặt của nó. Các Counter, thanh ghi dịch những bit dùng KEEP giữ nguyên trạng thái.
NHỮNG LỆNH VỀ TIMER / COUNTER
Lệnh TIM (Timer):
Ký hiệu hình thang
TIM N SV
N: là số Timer TC #
SV : là giá trị đặt (word, BCD): IR, SR, AR, DM, HR, LR, #
N: là chỉ số Timer chạy từ 000 đến 511
SV : là giá trị đặt cho Timer được đặt từ 000,0đến 999,9 với đơn vị là 0,1 giây. Một Timer được kích là điều kiện thực hiện ngõ vào của nó được chuyển sang ON và nó được Reset về giá trị đặt khi điều kiện thực hiện chuyển sang OFF. Nếu điều kiện cho Timer duy trì trong một khoảng thời gian dài thì giá trị đặt của Timer sẽ giảm về 0, cờ hoàn thành cho số TC dùng được bật ON và duy trì trạng thái cho đến khi Timer được Reset (đến khi điều kiện thực hiện ngõ vào chuyển sang OFF)
Sau đây minh họa dạng sóng liên hệ giữ điều kiện thực hiện cho Timer
Điều kiện thực hiện ngõ vào
Cờ hoàn thành
SV
SV
ON
OFF
ON
OFF
CNT (Counter)
Ký hiệu hình thang
CNT N
SV
N là chỉ số TC của CNT chạy từ 000 tới 511
CNT dùng để đếm xuống từ giá trị đặt SV khi điều kiện thực hiện xung đếm chuyển từ trạng thái OFF sang ON, giá trị hiện tại (PV) sẽ được giảm xuống bằng một lần CNT thực hiện một xung đếm CP từ OFF sang ON. Nếu điều kiện xung đếm thay đổi hay chuyển từ trạng thái ON sang OFF thì giá trị PV của CNT không thay đổi, cờ hoàn thành cho một Counter được bật ON khi giá trị hiện tại PV bằng 0 và ở trạng thái ON cho đến khi Counter được Reset.
Counter được Reset với một ngõ vào RESET R khi R chuyển từ OFF sang ON, và PV được Reset về SV. Giá trị hiện tại PV sẽ Không giảm khi R đang ON và chỉ đếm xuống khi R chuyển sang OFF. Giá trị hiện tại PV của CNT sẽ không Reset trong phần chương trình khác trong hay bởi sự ngắt nguồn.
Lệnh đếm lặp lại CNTR (12) – Reversible Counter
Kí hiệu hình thang
CNTR (12)
N
SV
N: chỉ số CNTR (12)
SV: là giá trị đặt ở trong IR, SR, AR, DM, HR, LR, #
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.
Giá trị hiện tại (PV) sẽ tăng nếu điều kiện đếm được đưa vào ngõ II và sẽ giảm nếu điều kiện đếm được đưa vào ngõ DI. Nếu điều kiện đếm được đưa vào cả hai ngõ II và DI thì giá trị hiện tại PV của CNTR (12) sẽ giữ nguyên không thay đổi.
Khi giá trị hiện tại PV giảm tới 00 thì PV được đặt về giá trị đặt SV và cờ hoàn thành được bật ON cho đến khi giá trị PV giảm trở lại. Khi giá trị hiện tại 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.
R là ngõ vào Reset của CNTR (12) khi R chuyển từ OFF sang ON, giá trị PV được Reset về 0. Giá trị PV sẽ không tăng không giảm khi R đang ON. Counter sẽ đếm trở lại khi R là OFF.
Lệnh TIMH (15) – High Speed Timer
Kí hiệu hình thang
TIMH (15)
SV
N: là chỉ số Timer
SV: là giá trị (word, BCD) ở trong IR, SR, AR, DM, HR, LR, #
Giá trị SV đặt trog TIMH (15) chạy từ 00,00 đến 99,99 giây. Hoạt động của TIMH (15) giống như TIM.
Lệnh PRV (62) – High Speed Counter Pvread
Kí hiệu hình thang
PRV (62)
P
C
D
P: là port riêng 000,001,002
C: dữ liệu điều khiển: 000,001,002
D: word đích đầu tiên: IR, SR, AR, 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 Counter tốc độ cao hay xuất xung.
P
Chức năng
000
Chỉ định Counter tốc độ cao 0 hay xuất xung từ một Bit
001
Chỉ định Counter tốc độ cao 1 hay xuất xung từ port 1
002
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
000
Giá trị hiện tại PV của Counter tốc độ cao
D và D+1
001
Trạng thái của Counter tốc độ cao hay xuất xung
D
002
Dãy kết quả so sánh
D
LỆNH DI CHUYỂN DỮ LIỆU
6.5.1 Lệnh MOV (21) – Move
Kí hiệu hình thang
MOV (21)
S
D
S: là word nguồn : IR, SR, AR, DM, HR, TC, LR, #
D: word đích : IR, SR, AR, DM, HR, TC, LR, #
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ẽ chép nội dung của S ang D.
Minh hoạ
Word nguồn
Word đích
Trạng thái Bit không thay đổi
Cờ EQ : ON khi số zero được chuyển cho D
Ví dụ: sau khi trình bày sự thực hiện của lệnh MOV (21) chép nội dung của IR 001 cho HR 05 khi IR00000 chuyển từ OFF sang ON
Sơ đồ hình thang
MOV (21)
001
HR05
00000
Chương trình được viết như sau:
Địa chỉ Lệnh Toán tử
00000 LD 00000
00001 MOV (21) 01
HR05
IR001
HR05
Lệnh MVN (22) – Move Not
Kí hiệu hình thang
MVN (22)
S
- D
S: là word nguồn : IR, SR, AR, DM, HR, TC, LR, #
D: word đích : IR, SR, AR, DM, HR, TC, LR, #
Khi điều kiện thực hiện ngõ vào là ON lệnh MVN (22) sẽ truyền nội dung đảo của S cho D. Mỗi Bit ON của S thì tương ứng là với bit OFF trong D và bit OFF trong S tương ứng với bit ON trong D.
Lệnh BSET (71) – Block Set
Kí hiệu hình thang
BSET (71)
S
St
E
S: là dữ liệu nguồn : IR, SR, AR, DM, HR, TC, LR, #
St: word bắt đầu: IR, SR, AR, DM, HR, TC, LR,
E: word cuối: IR, SR, AR, DM, HR, TC, LR,
St phải nhỏ hơn hay bằng E và St và E phải cùng một vùng dữ liệu, DM6144 tới DM6655 không dùng cho St và E
Khi điều kiện thực hiện ngõ vào là OFF, BSET (71) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, BSET (71) chép nội dung của S cho tất cả các word tứ St tới E
Minh hoạ
S
3
4
5
6
St
3
4
5
2
St +1
3
4
5
2
S +2
3
4
5
2
E
3
4
5
2
Lệnh BSET (71) có thể dùng để chuyển giá trị hiện tại PV của Timer, Counter (Điều này không thể thực hiện với lệnh MOV (21) hay MVN (22)).
Cờ lỗi ER : sẽ lên 1 khi St và E không ùng vùng dữ liệu hay St lớn hơn E.
Lệnh Coll (81) – Data Collect
Kí hiệu hình thang
Coll (81)
SBS
C
D
SBS: Word nguồn gốc: IR, SR, AR, DM, HR, TC, LR
C: Word điều khiển: IR, SR, AR, DM, HR, TC, LR
D: Word đích: IR, SR, AR, DM, HR, TC, LR
C phải là BCD
DM 6144 tới DM 6655 không thể dùng cho D
Lệnh Coll (81) được dùng để thu thập dữ liệu hoạt động theo kiểu xếp chồng vào trước ra trước FIFO (First In First Out) hay kiểu vào sau ra trước (First In Last Out) tuỳ theo nội dung của word C
Khi Bit 12 tới Bit 15 của C word bằng 0 tới 7, lệnh Coll (81) được dùng để chọn dữ liệu. Toàn bộ nội dung của C xác định phần bù, kí hiệu là Of.
Khi điều kiện thực hiện ngõ vào là OFF lệnh Coll (81) không thực hiện, khi điều kiện thực hiện ngõ vào là ON thì lệnh Coll (81) chép nội dung word nguồn cho D. Word nguồn có địa chỉ là địa chỉ của SBS cộng với nội dung của Of. SBS và SBS + Of phải cùng một vùng dữ liệu
Ví dụ:
Ví dụ sau trình bày cách sử dụng lệnh Coll (81) để chép nội dung của DM100000 + Of cho IR 001. Nội dung của 010 là #0005, vì thế nội dung của DM 0005 (DM 0005 = DM 0000 + 5) được phép cho IR 00001 khi IR 00001 là ON.
Sơ đồ hình thang
Coll (81)
DM0000
010
001
00001
010
0
0
0
5
DM0000
0
0
0
0
001
0
0
F
DM0005
0
0
F
F
Viết chương trình cho sơ đồ hình thang
Địa chỉ Lệnh Toán tử
0000 LD
0001 Coll (81)
0000
010
001
Hoạt động xếp chồng ngăn xếp FIFO
Khi bit thứ 12 đến bit thứ 15 của C bằng 9, lệnh Coll (81) dùng để truy xuất dữ liệu kiểu xếp chồng FIFO. 3 số còn lại của C (từ bit 00 đến bit 11) cho biết số word ngăn xếp (từ 000 đến 999). Nội dung của SBS là ngăn xếp con trỏ.
Khi điều kiện thực hiện ngõ vào là On, lệnh Coll (81) dịch nội dung của mỗi word bên trong ngăn xếp vào ngăn xếp kế có địa chỉ nhỏ hơn 1 và dữ liệu của BSS+1 (ngăn xếp đầu tiên cho word đích D. Nội dung của ngăn xếp con trỏ SBS sau đó giảm đi 1.
Ví dụ: Trình bày cách sử dụng lệnh Coll (81) để tạo một ngăn xếp giữa DM0001 và DM 0005. DM0000 hoạt động như một con trỏ ngăn xếp.
Khi IR00000 chuyển từ OFF sang ON, lệnh Coll (81) dịch nội dung của DM0002 tới DM0005 xuống một địa chỉ và dịch dữ liệu từ DM0001 sang IR001. Nội dung con trỏ ngăn xếp DM0000 sau đó được giảm đi 1.
Sơ đồ hình thang:
Coll (81)
DM0000
216
001
00000
Chương trình của hình thang
Địa chỉ Lệnh Toán tử
0000 LD 00000
0001 Coll (81) DM0000
216
001
IR 216 9005
Ngăn xếp con trỏ giảm
DM0000
005
DM0000
00004
IR001
AAAA
DM0001
AAAA
DM0001
AAAA
DM0002
BBBB
DM0002
BBBB
DM0003
CCCC
DM0003
CCCC
DM0004
DDDD
DM0004
DDDD
DM0005
EEEE
DM0005
EEEE
Hoạt động xếp chồng của ngăn xếp kiểu LIFO: khi bit thứ 12 ÷15 của C = 8 lệnh Coll (81) dùng để truy xuất dữ liệu kiểu xếp chồng LIFO. 3 số còn lại của C (từ bit 00 đến bit 11) cho biết số word ngăn xếp (từ 000 đến 999). Nội dung của SBS là ngăn xếp con trỏ.
Khi điều kiện thực hiện ngõ vào là On, lệnh Coll (81) dịch nội dung của mỗi word bên trong ngăn xếp vào ngăn xếp kế có địa chỉ nhỏ hơn 1 và dữ liệu của BSS+ nội dung của SBS cho word đích D. Nội dung của ngăn xếp con trỏ SBS sau đó giảm đi 1.
Ví dụ: trình bày cách sử dụng lệnh Coll (81) để tạo một ngăn xếp giữa DM0001 và DM 0005. DM0000 hoạt động như một ngăn xếp.con trỏ
Khi IR00000 chuyển từ OFF sang ON, lệnh Coll (81) chép nội dung của DM0005 (DM0000 + 5)cho IR 001. Nội dung con trỏ ngăn xếp DM0000 sau đó được giảm đi 1.
Sơ đồ hình thang:
Bit đầu tiên trong S (từ 0 đến F)
Coll (81)
DM0000
216
001
00000
Chương trình của hình thang
Địa chỉ Lệnh Toán tử
0000 LD 00000
0001 Coll (81) DM0000
216
001
IR 216 8005
Ngăn xếp con trỏ giảm
DM0000
0005
DM0000
00004
IR001
EEEE
DM0001
AAAA
DM0001
AAAA
DM0002
BBBB
DM0002
BBBB
DM0003
CCCC
DM0003
CCCC
DM0004
DDDD
DM0004
DDDD
DM0005
EEEE
DM0005
EEEE
Cờ EQ: ON khi nội dung của S là 0, ngược lại là OFF
Lệnh MOVB (82) – Move Bit
Kí hiệu hình thang
MOVB (82)
S
B
D
S: là dữ liệu nguồn : IR, SR, AR, DM, HR, TC, LR, #BI: bit chỉ định: IR, SR, AR, DM, HR, TC, LR, #D: word bắt đầu: IR, SR, AR, DM, HR, TC, LR, #
Hai số bên phải và hai số bên trái của BI phải ở trong khoảng từ 00 tới 15.
DM6144 tới DM665 không được dùng cho BI hay D
Khi điều kiện thực hiện ngõ vào là OFF lệnh MOVB (82) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON lệnh MOVB (82) chép nội dung đã định của Bit S cho bit đã định trong D. Bit trong S và D được xác định bởi BI hai số bên phải bit chỉ định Bit nguồn và hai số bên trái bit chỉ định Bit đích.
Minh hoạ
BI
1
2
0
1
Bit nguồn S (00 tới 15): ở đây là bit số 01
Bit đích D (00 tới 15): ở đây là bit số 12
Bit
Bit
15
00
BI
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
Bit
Bit
15
00
S
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
Bit
Bit
15
00
D
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
Lệnh XFRB (--)
Kí hiệu hình thang
XFRB (--)
C
B
D
C: Word nguồn : IR, SR, AR, DM, HR, TC, LR, #BI: bit chỉ định (BCD): IR, SR, AR, DM, HR, TC, LR, #
D: word đích đầu tiên: IR, SR, AR, DM, HR, TC, LR
Những bit nguồn phải cùng vùng dữ liệu.
DM6144 tới DM6655 không dùng cho D
Khi thực hiện ngõ vào là OFF, lệnh XFRB (--) không thực hiện. Khi thực hiện ngõ vào là ONN lệnh XFRB (--) chép những bit nguồn đã định của Bit S thành những bit đích đã định trong D. Hai số bên phải của C xác định bit bắt đầu trong S và D hai số bên trái xác định số bit sẽ được chép.
C
MSB
LSB
bit đầu tiên trong S (từ 0 đến F)
bit đầu tiên trong D (từ 0 đến F)
số lượng bit được chép (từ 00 đến FF)
Ví dụ: Trong ví dụ sau, lệnh XFRB (--) được dùng để truyền 5 bit từ IR020 và IR021 cho LR00 và LR01. Bit bắt đầu trong IR020 là D (số13) và Bit bắt đầu trong LR00 là E (số 14), vì thế tới IR0210 được chép từ LR0014 tới LR0102.
Lược đồ hình thang
XFRB (--)
#05ED
IR020
LR00
00000
Chương trình của hình thang
Địa chỉ Lệnh Toán tử
0000 LD 00001
0001 XFRB (--) #05ED
020
00
Minh họa
Bit
S+1:021
Bit
15
00
1 0 1 0 1 0 0 0 0 0 0 0 0 1 0
Bit
S:020
Bit
15
00
1 1 1 0 1 0 0 0 0 0 1 0 1 0 0
D+1:LR01
1 1 1 0 0 0 0 1 0 0 1 1 1 1 0 1
D:LR00
1 1 0 0 0 1 0 0 1 0 1 0 0 0 0
LỆNH DỊCH
6.6.1 Lệnh SFT (10) – Shift Register
Kí hiệu hình thang
SFT (10)
St
E
St: làword bắt đầu: IR, SR, AR, HR, LR
E: word cuối: IR, SR, AR, HR, LR
E phải lớn hơn St, E và St phải cùng vùng dữ liệu
Lệnh SFT (10) được điều khiển bởi 3 điều kiện thực hiện I, R và R. SFT (10) thực hiện khi điều kiện cho P là ON trước đó là OFF và R là OFF. Khi đó điều kiện thực hiện I được dịch vào bit bên phải của một thanh ghi dịch đã định nằm trong St là E. nếu I là ON thì [1] được dịch vào trong thanh ghi, nếu I là OFF thì [0] được dịch vào. Khi I được dịch vào trong thanh ghi tất cả các bit trước trong thanh ghi sẽ được dịch sang trái và bit cuối cùng bên trái của thanh ghi sẽ bị mất đi.
Nếu điều kiện thực hiện P không thay đổi (hoặc On hoặc OFF) hay chuyển từ ON sang OFF thì thanh ghi dịch sẽ không ảnh hưởng.
Nếu điều kiện thực hiện R là ON tất cả các bit trong thanh ghi dịch sẽ Reset và thanh ghi dịch sẽ không thực hiện cho đến khi R được OFF trở lại.
Minh họa lúc thanh ghi dịch thực hiện:
St
St+1, St+2 …
E
Ví dụ: Ví dụ sau dùng xung clock 1 giây (Bit SR25502) cho ngõ vào Pp để dịch dữ liệu từ ngõ vào I cho IR010 để bật ON khi bit OUT 10000 khi bit IR01007 là 1 thông qua bit điều khiển IR00000
Kí hiệu hình thang
SFT (10)
St
E
00000
10000
Chương trình được thực hiện như sau:
Địa chỉ Lệnh toán tử
00000 LD 00000
00001 LD 25502
00002 LD 00001
00003 SFT (10)
010
010
00004 LD 01007
00005 OUT 10000
6.6.2 Lệnh WSFT (16) – Word Shift
Kí hiệu hình thang
WSFT (16)
St
E
St: làword bắt đầu: IR, SR, AR, DM, HR, LR
E: word cuối: IR, SR, AR, DM, HR, LR
E phải lớn hơn St, E và St phải cùng vùng dữ liệu
DM6144 tới DM6655 không được dùng cho St và E
Khi điều kiện thực hiện ngõ vào là OFF, lệnh WSFT (16) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh WSFT (16) dịch dữ liệu trong từng word giữa St và E trong khối word.
Minh họa
St + 2
St + 1
St
F
0
C
2
3
4
5
6
7
8
9
A
1
0
2
9
vào
E
St + 2
St + 1
St
3
4
5
6
7
8
9
A
1
0
2
9
0
0
0
0
Lệnh ASL (25) – Arthmetk Shift Left
Kí hiệu hình thang
ASL (25)
Wd
Wd : word dịch (Shift word):IR,SR,AR,DM,HR,LR
DM6144 tới 6655 không sử dụng cho Wd
Khi điều kiện thực hiện ngõ vào là OFF, ASL (25) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, ASL (25) dịch số 0 vào cho bit 15 của Wd và từng bit một trong Wd được dịch sang phải
15
00
Lệnh ROL (27) – Rotate Left
Kí hiệu hình thang
ROL (27)
Wd
Wd : word xoay (Shift word):IR,SR,AR,DM,HR,LR
DM6144 tới 6655 không sử dụng
Khi điều kiện thực hiện ngõ vào là OFF, ROL (27) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, ROL (27) dịch tất cả từng bit một của Wd sang trái. Bit được dịch vào 00 cho Wd và Bit thứ 15 của Wd được dịch cho ……..
CY
15
00
Lệnh ROR (28) – Rotate Right
Kí hiệu hình thang
ROR (28)
Wd
Wd : word dịc
Các file đính kèm theo tài liệu này:
- c67_bo_lenh_va_chuong_trinh_ung_dung_9017.doc