Tải bản đầy đủ (.pptx) (142 trang)

bai giang vi dieu khien

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (766.14 KB, 142 trang )

VI ĐIỀU KHIỂN 89C51


Chương 1

GIỚI THIỆU

PHẦN CỨNG










89C51 thuộc họ MCS51
4Kbyte EPROM (1000 chu kỳ ghi/xóa)
128 byte RAM
32 I/O
2 timer/counter 16bit
6 nguồn ngắt


SƠ ĐỒ CHÂN





MÔ TẢ CÁC CHÂN



Port 0: là port 8 bit có 2 chức năng

– Là I/O port đối với các thiết kế cỡ nhỏ ( không sử dụng bộ nhớ mở rộng)
– Là byte thấp của address/data bus khi thiết kế có sử dụng bộ nhớ mở rộng




Port 1: là I/O port 8 bit
Port 2: là port 8 bit có 2 chức năng

– Là I/O port đối với các thiết kế cỡ nhỏ ( không sử dụng bộ nhớ mở rộng)
– Là byte cao của address/data bus khi thiết kế có sử dụng bộ nhớ mở rộng




Port 3: là port 8 bit có nhiều chức năng

– Là I/O port
– Có công dụng chuyển đổi có liên hệ với các
được mô tả bởi bảng sau:

tính năng đặc biệt của 89C51



CÁC TÍN HIỆU ĐIỀU KHIỂN



PSEN ( Program Store Enable)

– Là tín hiệu để cho phép đọc bộ nhớ chương trình mở rộng ( bộ nhớ ngoài)
– Khi 89C51 đọc mã lệnh từ bộ nhớ chương trình mở rộng thì PSEN được tích
cực (mức thấp) 2 lần trong mỗi chu kỳ máy

– Khi 89C51 thi hành chương trình trong ROM

nội thì PSEN sẽ ở mức cao.




ALE/PROG ( Program Store Enable)

– ALE ( Address Latch Enable) là tín hiệu chốt

byte thấp của địa chỉ trong suốt

quá trình truy xuất bộ nhớ ngoài

– Chân này cũng được làm ngõ vào xung lập trình (PROG) cho EPROM
– Ở chế độ họat động bình thường thì xung ALE có tốc độ bằng 1/6 tần số dao
động trên chip và có thể được dùng làm nguồn xung nhịp cho các phần khác
của hệ thống





EA ( External Access)






Khi truy xuất ROM nội thì chân EA phải được nối với nguồn +5V
Khi truy xuất ROM ngoài thì chân EA phải được nối với GND ( 0V)

RST ( Reset)



Khi tín hiệu này được đưa lên mức cao trong ít nhất 2 chu kỳ máy thì sẽ khởi động lại
hệ thống



XTAL1, XTAL2 :



Đây là ngõ

vào




ngõ ra

xung nhịp



Nguồn nuôi:



Sử dụng nguồn +5V ở chân 40 và GND ở chân 20

của bộ

dao động tạo


TỔ CHỨC BỘ NHỚ



89C51 có cả ROM nội và RAM nội, tuy nhiên có thể mở rộng thêm bằng
các thiết bị nhớ bên ngoài



RAM nội bao gồm nhiều phần:


– RAM lưu trữ đa dụng
– RAM được địa chỉ hóa từng bit
– Các bank thanh ghi
– Các thanh ghi chức năng đặc biệt





RAM đa dụng có địa chỉ từ 30H đến 7FH có thể được truy xuất tự do
dùng cách đánh địa chỉ trực tiếp hoặc gián tiếp.



RAM được địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH và một phần
trong các thanh ghi chức năng đặc biệt. Các bit có thể được đặt, xóa,
and, or…với một lệnh đơn.



Có 4 bank thanh ghi, mỗi bank có 8 thanh ghi từ R0 đến R7.


– Các bit RS1 và RS0 trong thanh ghi

PSW sẽ được dùng để chọn bank

thanh ghi tích cực

– Trạng thái mặc định thì các thanh ghi này sẽ ở bank 0

– Lệnh sử dụng các thanh ghi này sẽ ngắn và nhanh hơn các lệnh
tương ứng sử dụng địa chỉ trực tiếp




Thanh
trình)

ghi

PSW

(từ

trạng

thái

chương


– Cờ carry (CY) được xác lập khi phép cộng có nhớ ở bit 7 và phép trừ có mượn
ở bit 7



Ví dụ : thanh ghi A đang chứa giá trị FFH, sau khi thực hiện lệnh ADD A,#1 thì kết quả
của phép tóan là 00H được chứa trong thanh ghi A đồng thời bit CY của thanh ghi
PSW sẽ được xác lập (đặt lên mức 1)


– Cờ AC được xác lập khi phép cộng trên số BCD có nhớ
– Cờ F0 là cờ có công dụng tổng quát dành cho các ứng dụng của người lập
trình

– Cờ báo tràn OV được xác lập khi có sự tràn

số học trong các phép toán cộng,

trừ. Khi thực hiện các phép toán với số không dấu thì không cần quan tâm
đến cờ này.


– Bit parity chẵn P: tổng số các bit 1 trong thanh ghi A và bit P phải là một số chẵn



Thanh ghi B:

– Được sử dụng cùng với thanh ghi A cho các



phép tóan nhân và chia

Con trỏ dữ liệu DPTR :

– Được dùng khi truy xuất bộ nhớ ngoài. DPTR

dùng để xác định địa chỉ của bộ


nhớ ngoài cần truy xuất



Các thanh ghi port
– P0, P1, P2, P3

– Tất cả các port này đều được địa chỉ hóa

từng bit




Thanh ghi định thời gian

– 89C51 có 2 timer/counter 16 bit có chức năng định thời gian và đếm sự kiện
– Timer 0 có 2 thanh ghi TH0 (byte cao) và TL0 (byte thấp)
– Timer 1 có 2 thanh ghi TH1 (byte cao) và TL1 (byte thấp)
– Hoạt động của timer được thiết lập bởi thanh ghi chế độ TMOD và thanh ghi
điều khiển TCON


Chương 2

TẬP LỆNH


 Các cách định địa chỉ

 Định địa chỉ thanh ghi
 Định địa chỉ trực tiếp
 Định địa chỉ gián tiếp thanh ghi
 Định địa chỉ tức thời
Tập lệnh

 Nhóm lệnh di chuyển dữ liệu
 Nhóm lệnh số học và luận lý
 Nhóm lệnh điều khiển
 Nhóm lệnh thực hiện trên bit


CÁC CÁCH ĐỊNH ĐỊA CHỈ



Định địa chỉ thanh ghi (Rn):

– 89C51 có 8 thanh ghi làm việc được kí hiệu từ R0 đến R7.
– Trong định
địa
chỉ
thanh ghi,

luôn có 3 bit để chỉ thị một thanh ghi

– Ví dụ: MOV A, R0

lệnh


luôn





Định địa chỉ trực tiếp (direct):

– Lệnh hiện hành sẽ cung cấp địa chỉ tuyệt đối
– Lệnh có ít nhất 2 byte, trong đó địa chỉ ô nhớ
– Ví dụ : MOV A, 40H

của ô nhớ sử dụng
chiếm 1byte




Định địa chỉ gián tiếp thanh ghi (@Ri):
– i = 0,1

– Ri

hoạt động như một con trỏ thanh ghi,

nội dung của Ri chỉ ra một ô nhớ trong Ram nội

– Mãlệnh




bit

thấp nhất

được

định con trỏ thanh ghi nào được sử dụng

– Ví dụ : MOV A, @R0

dùng

để

xác


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×