Tập lệnh của AT89C

Một phần của tài liệu nghiên cứu, ứng dụng vi điều khiển cho hệ điều chỉnh và ổn định tốc độ động cơ điện một chiều kích từ độc lập (Trang 39 - 42)

23 1F 1E 1D 1C 1B 1A 19 18 8D không đƣợc địa chỉ hóa bit TH1 22 17 16 15 14 13 12 11 10 8C không đƣợc địa chỉ hóa bit TH

1.2.3.8Tập lệnh của AT89C

Tập lệnh 8952 có 255 lệnh gồm 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte.

Các chế độ đánh địa chỉ

40

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

AT89C52 có bốn bank thanh ghi, mỗi bank có 8 thanh ghi đánh số từ R0 đến

R7. Tại mỗi thời điểm chỉ có một bank thanh ghi đƣợc tích cực.

Muốn chọn bank thanh ghi nào ta chỉ cần gán các bít nhị phân thích hợp vào

RS1 (PSW.4) và RS0 (PSW.3) trong thanh ghi trạng thái chƣơng trình (PSW). Trong các lệnh này thanh ghi tích lũy đƣợc kí hiệu là “A”, con trỏ dữ liệu là “DPTR”, thanh ghi đếm chƣơng trình là “PC”, cờ nhớ là “C”, cặp thanh ghi tích lũy là “AB”.

+ Địa chỉ trực tiếp:

Trong chế độ này, các thanh ghi bên trong 8952 đƣợc đánh địa chỉ trực tiếp bằng 8 bits địa chỉ nằm trong byte thứ hai của mã lệnh.

Dù vậy, trình hợp dịch cho phép gọi tên các thanh ghi chức năng đặc biệt (có địa chỉ trực tiếp từ 80H đến FFH).

Ví dụ, P0 cho Port 0, TMOD cho thanh ghi chế độ timer, … + Địa chỉ gián tiếp:

R0 và R1 đƣợc dùng để chứa địa chỉ tạm ô nhớ mà lệnh tác động đến. Ngƣời ta qui ƣớc dùng dấu @ trƣớc R0 hoặc R1.

+ Địa chỉ tức thời:

Ngƣời ta dùng dấu # trƣớc các toán hạng tức thời. Các toán hạng đó có thể là một hằng số, một kí số hay một biểu thức toán học …Trình hợp dịch sẽ tự động tính toán và thay thế dữ liệu vào mã lệnh.

+ Địa chỉ tƣơng đối:

Địa chỉ tƣơng đối đƣợc dùng trong các lệnh nhảy.

AT89C52 dùng giá trị 8 bit có dấu để cộng thêm vào thanh ghi đếm chƣơng

trình (PC).

Tầm nhảy của lệnh này trong khoảng từ –128 đến 127 ô nhớ. Trƣớc khi cộng, thanh ghi PC sẽ tăng đến địa chỉ theo sau lệnh nhảy rồi tính toán địa chỉ offset cần thiết để nhảy đến địa chỉ yêu cầu.

Nhƣ vậy, địa chỉ mới là địa chỉ tƣơng đối so với lệnh kế tiếp chứ không phải bản thân lệnh nhảy. Thƣờng lệnh này có liên quan đến nhãn đƣợc định nghĩa trƣớc.

41

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

+ Địa chỉ tuyệt đối:

Địa chỉ tuyệt đối chỉ dùng trƣớc các lệnh ACALL và AJIMP.

Các lệnh 2 byte này dùng để rẽ nhánh vào một trang 2Kbyte của bộ nhớ chƣơng trình bằng cách cấp 11 bit địa chỉ thấp (A0-A10) để xác định địa chỉ đích trong trang mã. Còn 5 bit cao của địa chỉ đích chính là 5 bit hiện hành trong thanh ghi đếm chƣơng trình.

Vì vậy, địa chỉ của lệnh theo sau lệnh rẽ nhánh và địa chỉ đích của lệnh rẽ nhánh cần phải cùng trang mã 2Kbyte (có cùng 5 bits địa chỉ cao).

+ Địa chỉ dài:

Địa chỉ dài chỉ dùng cho lệnh LCALL và LJIMP. Các lệnh này chiếm 3 byte và dùng 2 byte sau (byte 2 và byte 3) để định địa chỉ đích của lệnh (16 bit). ƣu điểm của lệnh này là có thể sử dụng trong toàn bộ vùng nhớ 64 Kbyte.

+ Địa chỉ tham chiếu:

Địa chỉ tham chiếu dùng một thanh ghi cơ bản (hoặc thanh ghi đếm chƣơng trình PC hoặc thanh ghi con trỏ dữ liệu DPTR) và địa chỉ offset (trong thanh ghi tích lũy A) để tạo địa chỉ đƣợc tác động cho các lệnh JMP hoặc MOVC. (adsbygoogle = window.adsbygoogle || []).push({});

Các bảng nhảy và bảng tìm kiếm dễ dàng đƣợc tạo ra để sử dụng địa chỉ tham chiếu.

Địa chỉ cơ bản Offset PC hoặc DPTR + AC C = Địa chỉ cần truy xuất  Các nhóm lệnh của 8952 Tập lệnh của AT89C52 đƣợc chia làm 5 nhóm:  Số học  Luận lí  Chuyển dữ liệu  Chuyển điều khiển

42

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

1.3 Ứng dụng vi điều khiển trong truyền động điện

Việc ứng dụng vi xử lý đã đƣợc áp dụng đối các hệ truyền động động cơ một chiều kích từ độc lập nhƣ trong hệ thống Minisemi D3E, 3+G0. Hệ thống truyền tự động biến tần; Động cơ không đồng bộ 3 pha có ứng dụng µP Miniverter D27.. 152KVA do hãng AEG (Đức) thiết kế và chế tạo. Bên cạnh các hãng AEG thì cũng có nhiều hãng của các nƣớc trên thế giới thiết kế, chế tạo các hệ truyền động tƣơng tự. Nhƣng với sự phát triển không ngừng của khoa học kỹ thuật, thì kỹ thuật số đã đem lại cho con ngƣời những thành tựu to lớn, giúp cho con ngƣời dễ dàng đạt đƣợc mục đích của mình trong mọi thiết kế. Hoà nhập cùng xu hƣớng đó, các họ vi điều khiển đã khẳng định đƣợc vị thế vững chắc của mình trong mọi ứng dụng. Điển hình trong ngành công nghiệp, y học, công nghệ bảo quản chế biến nông sản.v.v. Vì vi điều khiển có nhiều chức năng trong đó có chức năng tính toán và điều khiển số do vậy, việc nghiên cứu và ứng dụng vi điều khiển nhất là sử dụng lại các hệ vi điều khiển sẵn có trong máy tính cũ (Intell, Pentum) vào các hệ thống truyền động điện sẽ mang lại một truyền động số hiện đại có độ chính xác cao, tác động nhanh và có chất lƣợng ngày càng tốt hơn nhiều so với các hệ truyền động điện tƣơng tự.

Một phần của tài liệu nghiên cứu, ứng dụng vi điều khiển cho hệ điều chỉnh và ổn định tốc độ động cơ điện một chiều kích từ độc lập (Trang 39 - 42)