Bộ lệnh và chương trình ứng dụng của hãng omron

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.

 

doc65 trang | Chia sẻ: luyenbuizn | Lượt xem: 1475 | Lượt tải: 0download
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:

  • docc67_bo_lenh_va_chuong_trinh_ung_dung_9017.doc
Tài liệu liên quan