mạch ghi đọc eprom cho vi điều khiển 8951, chương 8 ppt

7 260 0
mạch ghi đọc eprom cho vi điều khiển 8951, chương 8 ppt

Đang tải... (xem toàn văn)

Thông tin tài liệu

C C h h ư ư ơ ơ n n g g 8 8 : : C C a a ù ù c c l l e e ä ä n n h h l l u u a a ä ä n n l l y y ù ù ( ( B B o o o o l l e e a a n n I I n n s s t t r r u u c c t t i i o o n n ) ) 8951 chứa một bộ xử lí luận lý đầy đủ cho các hoạt động bit đơn, đây là một điểm mạnh của họ vi điều khiển MSC-51 mà các họ vi điều khiển khác không có. RAM nội chứa 128 bit đơn vò và các vùng nhớ các thanh ghi chức năng đặc biệt cấp lên đến 128 đơn vò khác. Tất cả các đường Port là bit đònh vò, mỗi đường có thể được xử lí như Port đơn vò riêng biệt. Cách truy xuất các bit này không chỉ các lệnh rẽ nhánh không, mà là một danh mục đầy đủ các lệnh MOVE, SET, CLEAR, COMPLEMENT, OR, AND. Toàn bộ sự truy xuất của bit dùng sự đònh vò trực tiếp với những đòa chỉ từ 00H - 7FH trong 128 vùng nhớ thấp và 80H - FFH ở các vùng thanh ghi chức năng đặc biệt. Bit Carry C trong thanh ghi PSW\ của từ trạng thái chương trình và được dùng như một sự tích lũy đơn của bộ xử lí luận lý. Bit Carry cũng là bit đònh vò và có đòa chỉ trực tiếp vì nó nằm trong PSW. Hai lệnh CLR C và CLR CY đều có cùng tác dụng là xóa bit cờ Carry nhưng lệnh này mất 1 byte còn lệnh sau mất 2 byte. Hoạt động của các lệnh luận lý được tóm tắt như sau: CLR C : Xóa cờ Carry xuống 0. Có ảnh hưởng cờ Carry. CLR BIT : Xóa bit xuống 0. Không ảnh hưởng cờ Carry SET C : Set cờ Carry lên 1. Có ảnh hưởng cờ Carry. SET BIT : Set bit lên 1. Không ảnh hưởng cờ Carry. CPL C : Đảo bit cờ Carry. Có ảnh hưởng cờ Carry. CPL BIT : Đảo bit. Không ảnh hưởng cờ Carry. ANL C, BIT : (C) (C) AND (BIT) : Có ảnh hưởng cờ Carry. ANL C, /BIT : (C) (C) AND NOT (BIT):Không ảnh hưởng cờ Carry. ORL C, BIT : (C) (C) OR (BIT) : Tác động cờ Carry. ORL C, /BIT : (C) (C) OR NOT (BIT) : Tác động cờ Carry. MOVC, BIT : (C) (BIT) : Cờ Carry bò tác động. MOVBIT, C : (BIT) (C) : Không ảnh hưởng cờ Carry. 2 2 . . 6 6 C C a a ù ù c c l l e e ä ä n n h h x x e e n n v v a a ø ø o o ( ( M M i i s s c c e e l l l l a a m m o o u u s s I I n n t t s s t t r r u u c c t t i i o o n n ) ) : : NOP : Không hoạt động gì cả, chỉ tốn 1 byte và 1 chu kỳ máy. Ta dùng để delay những khoảng thời gian nhỏ. I I I I I I . . C C h h ư ư ơ ơ n n g g t t r r ì ì n n h h n n g g o o â â n n n n g g ư ư õ õ A A s s s s e e m m b b l l y y c c u u û û a a 8 8 9 9 5 5 1 1 : : 1 1 . . G G i i ơ ơ ù ù i i t t h h i i e e ä ä u u : : Ngôn ngữ assembly giữa ngôn ngữ máy và ngôn ngữ cấp cao. Ngôn ngữ cấp cao được đặc trưng như: Pascal, C Còn chương trình ngôn ngữ máy là một chuỗi các byte nhò phân được đặc trưng bởi các lệnh mà máy tính có thể thực thi. Ngôn ngữ assembly thay thế các mã nhò phân của ngôn ngữ máy để sử dụng các “thuật nhớ“ dễ dàng trong quá trình lập trình. Ví dụ lệnh cộng trong ngôn ngữ máy được đặc trưng bởi mã nhò phân “10110011” trong khi ngôn ngữ assembly là “ADD“. Một chương trình ngôn ngữ assembly không thể thực thi bởi máy tính mà nó phải được dòch sang mã nhò phân ngôn ngữ máy. Một linker là một chương trình mà nó kết hợp các chương trình đặc trưng Relocatable (modul) và thiết kế một chương trình đặc trưng tuyệt đối thực thi bằng máy tính. Segment là một phần của bộ nhớ mã hoặc dữ liệu, nó có thể tái đònh vò được (Relocatable) hoặc tuyệt đối (Absolute ). Segment Relocatable có tên, kiểu và có thể được kết nối với Segment cục bộ khác. Segment Absolute không có tên và không thể đựơc kết nối Segment khác. Modul chứa 1 hoặc nhiều segment hay các segment cục bộ . Một modul có thể là một “file” ở nhiều trường hợp cá biệt . Một chương trình Modul Absolute đơn được hòa vào toàn bộ các Segment Absolute và Segment Relocatable từ tất cả các mode nhập. Chương trình chỉ chứa các mã nhò phân thay cho các lệnh (với các đòa chỉ và các hằng dữ liệu ) được hiểu bởi máy tính. 2 2 . . H H o o a a ï ï t t đ đ o o ä ä n n g g c c u u û û a a t t r r ì ì n n h h b b i i e e â â n n d d ò ò c c h h ( ( A A s s s s e e m m b b l l e e r r O O p p e e r r a a t t i i o o n n ) ) Có nhiều trình biên dòch với mục đích khác nhau có tác dụng là dễ hiểu các ứng dụng vi điều khiển. ASM51 là tiêu biểu chuẩn biên dòch của họ MSC-51. ASM51 là trình biên dòch mạnh có tác dụng hữu hiệu trên hệ thống phát triển INTEL và họ IBM PC của máy vi tính. ASM51 được gọi hiện lên từ sự chỉ dẫn của hệ thống bởi: ASM51 Source file (Assembly Control). Trình biên dòch nhận một file nguồn với tư cách là ngõ nhập (PROGRAM.SCR) và họ phát ra một file đối tượng (PROGRAM.OBJ) và file listing (PROGRAM.LST). ASM51PROGRAM.SCR PROGRAM.OBJ PROGRAM.LST Vì hầu hết các biên dòch xem xét chương trình nguồn 2 lần trong lúc thi hành sự dòch ngôn ngữ máy, nên chúng được mô tả qua 2 Pass biên dòch là Pass1 và Pass2. Trong pass1, file nguồn được xem xét từng dòng và bảng ký hiệu xây dựng. Bộ đếm Location mặc nhiên chọn 0 hoặc được đặt bởi chỉ thò ORG (đặt Origin). Cũng như file được xem xét, bộ đếm Location được tăng lên bằng độ dài mỗi lệnh. Chỉ thò data đònh nghóa (đặc biệt hoặc DW) tăng bộ đếm Location bằng với số byte đònh rõ, các chỉ thò nhớ lưu trữ (DSO tăng bộ đếm Location bởi số byte dự trữ). Mỗi lần một nhãn được tìm thấy ở sự bắt đầu của một đường, thì nó được đặc trong bảng ký hiệu theo giá trò hiện hành của bộ đếm Location. Các ký hiệu được đònh nghóa bởi dùng các chỉ thò tương đương (EQU) được đặc trong bảng ký hiệu, được cất giữ và sau đó dùng trong pass2. Trong Pass2, file Object và file Listing được tạo ra, các thuật nhớ được biến đổi thành Opcode và đặt trong các file output. Các toán hạng được xác đònh giá trò và đặt phía sau Opcode lệnh. Ở nơi các ký hiệu xuất hiện trong toán hạng, các ký hiệu của chúng sẽ được lấy lại từ bảng ký hiệu (được tạo ra trong suốt Pass1 và dùng trong sự sắp xếp dữ liệu đúng hoặc đúng đòa chỉ bởi các lệnh). Bởi vì Pass2 được thực thi nên chương trình nguồn có thể dùng “sự tham khảo trước “ là dùng ký hiệu trước khi đònh nghóa. File Object nếu tuyệt đối thì chỉ chứa các byte nhò phân (00H - FFH) của chương trình ngôn ngữ máy. File Object Relocatable chứa một bảng ký hiệu và thông tin khác được yêu cầu bởi sự kết hợp và xác đònh đúng vò trí. File Listing chứa mã nguyên bảng ASCII (20H – 7FH) cho cả hai chương trình nguồn và các byte Hexadecimal trong chương trình ngôn ngữ máy. 3 3 . . S S ư ư ï ï s s a a é é p p đ đ a a ë ë t t c c h h ư ư ơ ơ n n g g t t r r ì ì n n h h n n g g o o â â n n n n g g ư ư õ õ A A s s s s m m e e b b l l y y : : Chương trình ngôn ngữ Asembly bao gồm: Các lệnh máy, lời chỉ chò của trình biên dòch, sự điều khiển biên dòch và các chú thích. Các lệnh máy là các kỹ xảo của lệnh có thể thực thi (ví dụ như ANL). Các chỉ thò của trình biên dòch là các lệnh để trình biên dòch đònh cấu trúc chương trình, các dữ liệu, ký hiệu, hằng, … (ví dụ Org ). Các sự điều khiển trình biên dòch set các mode của trình biên dòch và điều khiển sự chạy chương trình Assembly (ví dụ STILLE ). Các chú thích hoạt động của lệnh. Các lệnh phải ghi theo nguyên tắc rõ ràng để được trình biên dòch hiểu. Sự sắp xếp của chúng như sau: (Label:) mnemonic [operand][:operand][ ][:comment] . lý đầy đủ cho các hoạt động bit đơn, đây là một điểm mạnh của họ vi điều khiển MSC-51 mà các họ vi điều khiển khác không có. RAM nội chứa 1 28 bit đơn vò và các vùng nhớ các thanh ghi chức năng. biên dòch đònh cấu trúc chương trình, các dữ liệu, ký hiệu, hằng, … (ví dụ Org ). Các sự điều khiển trình biên dòch set các mode của trình biên dòch và điều khiển sự chạy chương trình Assembly. những đòa chỉ từ 00H - 7FH trong 1 28 vùng nhớ thấp và 80 H - FFH ở các vùng thanh ghi chức năng đặc biệt. Bit Carry C trong thanh ghi PSW của từ trạng thái chương trình và được dùng như một

Ngày đăng: 05/07/2014, 13:21

Tài liệu cùng người dùng

Tài liệu liên quan