1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế mô hình hệ thống điều khiển đèn giao thông tại ngã tư

60 2,7K 7
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 2,09 MB

Nội dung

Thiết kế mô hình hệ thống điều khiển đèn giao thông tại ngã tư

Trang 1

Phin A: CƠ SỞ LÝ THUYẾT

CHƯƠNG I: SƠ LƯỢC VỀ ĐÈN GIAO THÔNG

CHƯƠNG 2: SƠ ĐỒ KHỐI VÀ NGUYÊN LÝ HOẠT ĐỘNG 4

s* Nguyên lý họat động IIL Sơ đồ và chức năng của từng khối ¬ 6

84.00.0110 6

"204.000 na 6

3) Khối công tấc ngõ ra -csss+essssersresseeee 7 4) Khối ngu ằn . 5 5Ă S< << sseseesrzsesersee 7 5) Khối công tấc tay .- - ©5ccs se sseeseesrssessesee 7 6) Khối bàn phím . - «52s Ss se Sseseesersrke 7

7) Khối chốt . - s5 +csk+s + SEszezsersrrs 7 8) Khối màn hình hiển thị . -5 5 «<< <s<es2 8

CHƯƠNG 3: KHAO SAT BO VI DIEU KHIEN 89C51 8

I.Giới thiệu họ MSC51 (8951) << «<< 8

I.Sơ lược về họ 895 1 - 2 5< csczsczeeeeezeesse 9

1) Hệ thông giao tiếp PORT - sccseccee, a)

2) Các tín hiệu điều khiỂn - 55 5c S<< << sex 10

5.Các chỉ thị biên dịch -. - S SA se esese 44 CHƯƠNG 4: ĐỒNG HỒ (DS12887) se cccceee 47

Trang 2

3) Tín hiệuđược mô tả - 555cc s << <ccsceeeerre 48

4) Xét nguồn ngoài và nguồn trong . - 48 5) Biểu đổ địa chỉ - -scx tt sreererrereree 48

1 Giải thích chức năng của các chân - 53

2 Mô tả các chức năng <5 «se eeserre 53

3 Tập lệnh 2- + ©cs +9 9 kSEkvEEEEEEEkrrerrerrsred 54 CHƯƠNG 6: TRLAC s2 S3 S2 S3 xe cgez 57

IL.Giới thiệu về Cấu tạo của Triac -s<<<ses<- 57

CHƯƠNG 7: IC CHỐTT + +2E+2EE+22EE+++erxed 58

CHUONG 8: OPTO TRIAC ccccccesscesscesecceseccesoecees 59

1) Giới thiệu về OPTO TRIAC <2 59

2) Chức năng vế OPTO TRIAC -<- 60

3) Ứng dụng .- ¿+ <5 scscxseeerererxesssrsesee 60

PHAN B: THIET KE

THI CONG VA THIET KE PHAN CỨNG „ 62

II.Thiết kế chỉ tiết các khối 62

KẾT LUẬN

TÀI LIỆU THAM KHẢO

Trang 3

LUAN VAN TOT NGHIEP

PHAN A:

CƠ SỞ LÝ THUYẾT

SVTH: VÕ VẤN TRUNG

Trang 4

CHƯƠNG!: SƠ LƯỢC VỀ ĐÈN GIAO THONG

I Đặt vấn đề:

Trong quá trình phát triển đô thị và đô thị hóa nông thôn, các cơ sở hạ tầng

được nâng cấp một cách nhanh chóng Do đó, tạo điều kiện giao thông phát triển lên

và nhu cầu xã hội cần được cung cấp các phương tiện hiện đại hơn, vận tốc nhanh hơn, phương tiện nhiều hơn, làm cho tai nạn giao thông tăng lên và kẹt xe nhiều hơn Mỗi

ngày hàng trăm vụ tai nạn giao thông xãy ra, kẹt xe làm ách tấc giao thông

Đèn giao thông dùng để lưu thông, chống tình trạng kẹt xe giải thoát ách tấc giao

thông ngay các ngã tư , ngã năm, Người tham gia giao thông nhằm tuân thủ, chấp hành những quy định để lưu thông tốt hơn nhờ có đèn giao thông trên đường

- _ Thể hiện đúng thời gian của đèn giao thông

- _ Thể hiện và phân biệt rõ đèn nào của đèn giao thông

- - Ứng dụng vào thực tiễn mà không cần thay đổi và phần cứng cũng như phần mềm

I Giải quyết vấn đề:

Với em là sinh viên đang tìm hướng để tài sao cho phù hợp với thời gian và

khả năng của mình em chọn” ĐÈN GIAO THÔNG” để thiết kế cho nhiều con đường

thành thị, nông thôn thêm đẹp và không xấy ra kẹt xe, tai nạn giao thông Và qua quá

trình em tìm hiểu cùng với sự tư vấn của thầy giáo hướng dẫn em chọn” THIẾT KẾ

ĐÈN GIAO THÔNG TẠI NGÃ TƯ”

Mạch này điều khiển giao thông với 3 chế độ, mỗi chế độ được thực thi ở khoảng thời gian khác nhau và thời điểm khác nhau Cho phép chọn thời gian lưu thông theo từng tuyến nhất định (chế độ điều khiển bằng tay) Điều khiển tự động theo tuần tự thời gian quy định của mỗi ngày

Ví dụ: Giờ cao điểm được xác lập ở khoảng thời gian từ:

06h00+09h00 buổi sáng

17h00 +20h00 buổi tối

Giờ bình thường được xác lập ở khoảng thời gian từ:

10h00+17h00 buổi trưa 20h00+23h00 buổi tối

CHUONG 2: SO DO KHOI VA NGUYEN LY HOAT DONG

I Phương án thiết kế:

Thiết kế mạch đèn giao thông tại ngã tư có các nhiệm vụ sau:

> Chạy theo đúng trình tự quy định của luật giao thông

»> Điều khiển bằng tay theo từng trạng thái ưu tiên dành cho người

điều khiển giao thông

»> Đọc thời gian từ Dallas và xuất thời gian, lịch cho LCD hiển thị

Trang 5

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

CONG TAC (XANH,

Khi mở nguồn chương trình tự động bật 4 đèn đỏ tại các trụ đèn giao thông trong thời

gian 3 giây Lúc này chương trình sẽ ra lệnh cho dallas, bắt dallas xuất dữ liệu ngày,

tháng, năm, giờ, phút, giây cho vào bộ nhớ cho chương trình Chương trình sẽ xuất dữ

liệu ra LCD

Chương trình quét con tấc tay, cho biết trạng thái tức thời:

s% Trạng thái hướng 1 là trạng thái bật đèn xanh 1 sáng và đèn đỏ 2 sáng

luôn không thay đối, không quét bàn phím

“+ Trạng thái hướng 2 là trạng thái bật đèn xanh 2 sáng và đèn đỏ 1 sáng

luôn không thay đổi, không quét bàn phím

s* Trạng thái Auto có nhiều chế độ cập nhật:

" Chương trình quét bàn phím hoạt động, cài dat cho Dallas, cai đặt thời gian cho đèn giao thông Các đèn giao thông được tắt

" Chương trình chạy bình thường đèn giao thông sáng theo trình tự

: đỏ, xanh, vàng, theo thời gian quy định là: đèn đỏ = đèn xanh +đèn vàng

Trang 6

II SƠ ĐỒ VÀ CHỨC NĂNG CỦA TỪNG KHỐI:

1) Khối xử lý:

Đây là một khối quan trọng trong hệ thống Khối xử lý giữ nhiệm vụ tiếp

nhận xử lý trung tâm, khả năng và tiếp nhận phân tích các yêu cầu tác động, từ đó

đáp ứng thích hợp Điều này được thể hiện qua các tập lệnh của 89C51 Tập lệnh

này có khả năng hoạt động, có mức độ xử lý trung tâm, khắc phục và hạn chế điều

đó các nhà sản xuất cố gắng thiết lập tập lệnh sao cho sự kết hợp chúng lại với

nhau, với các tình huống khác mà từng lệnh riêng biệt không thể giải quyết được

Đó chính là cổ sở của chương trình hệ thống

2) Khối cách ly:

Khối có nhiệm vụ cách ly điện áp AC và DC, điều khiển lái tải, các bóng

đèn giao thông khi ta điều khiển chỉ điều khiển bằng điện áp DC không điều khiển

điện áp AC, vì vi điều khiển là một bộ não được sử dụng để điểu khiển Do đó bắt

buộc chúng ta phải dùng bộ cách ly, là cách ly điện áp cao với điện áp thấp

3) Khối công tấc ngõ ra:

Khối công tấc ngõ ra là một khối có khả năng đóng hoặc mở con tấc Để

đóng tắt các bóng đèn giao thông khi ta điều khiển chỉ điều khiển bằng điện áp AC,

vì vi điều khiển là một bộ não được sử dụng điều khiển cho qua khối cách ly, vì

khối cách ly không có khả năng lái dòng để kích cho các tải ngoài, do cấu tạo của

nó quá nhỏ (chỉ sử dụng dòng kích cho tải không được lớn nên không thể kích

được) Vì thế ta sử dụng thêm công tấc ngõ ra dùng để gánh cho tải

4) Khối nguồn:

s* Nguồn DC: là nguồn có nhiệm vụ tạo ra điện áp 5V phục vụ cho các khối

khác, như cung cấp điện áp cho LCD, cung cấp cho vi điểu khiển, Dallas và cho

các IC khác trong mạch, Các vi mạch ổn áp DC tuyến tính được sử dụng rất

rộng rải do những ưu điểm của nó như :Tích hợp toàn bộ linh kiện trong một vỗ

kích thước bé, không cần sử dụng hoặc chỉ sử dụng thêm một vài linh kiện ngoài

để tạo mạch hoàn chỉnh, mạch bảo vệ quá dòng, quá nhiệt có sẵn bên trong vi

mạch Một trong những lọai vi mạch ổn áp DC tuyến tính thông dung 1a ho vi

mạch 78xx ( ổn áp dương) và ổn áp 79xx(ổn áp âm) có ba chân Tùy theo hình

dạng vỏ, các vi mạch ổn áp ba chân có thể cung cấp dòng từ 100mA đến 1A và

cho điện áp ra cố định ở nhiều giá trị khác nhau tương ứng với mã số:

Dạng mạch điện dùng vi mạch ổn áp ba chân

-Trong đó C¡ được thêm vào khi vi mach đặt xa ,

nguồn chỉnh lưu và lọc để ổn định điện áp ngõ T ]

vào Cọ để lọc nhiễu cao tần Tuy nhiên để vi mach =

hoạt động tốt thì điện áp ngõ vào tối thiểu phải

cao hơn điện áp ngõ ra 2V Đây là một giới hạn của vi mạch ổn áp tuyến tính

Trang 7

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

s* Nguồn AC: là nguồn có nhiệm vụ cung cấp cho các bóng đèn giao thông

-_ Được điều khiển bởi khối công tấc ngõ ra dùng để lái các bóng đèn giao thông

5) Khối công tấc tay:

Là khối có tác dụng dùng để chuyển chế độ ưu tiên và nó có 3 trạng thái: chế độ

hướng 1,chế độ hướng 2 và chế độ tự động

% Hướng!: chỉ cho phép lưu thông một chiều nhất định, do người điều

khiển giao thông điều khiển theo hướng 1 thì hướng 2 bị dừng lại với

sự báo hiệu của bóng đèn cho thấy trên trụ đèn ở ngã 4

“+ Hướng2: chỉ cho phép lưu thông một chiểu nhất định, do người điều

khiển giao thông điều khiển theo hướng 2 thì hướng 1 bị dừng lại với

sự báo hiệu của bóng đèn cho thấy trên trụ đèn ở ngã 4

4 Tự động: là chế độ không cần người điểu khiển giao thông phải túc

trực ở đó Nó sẽ tự động chạy theo đúng trình tự, đúng thời gian một |

cách chính xác

6) Khối bàn phím:

Khối bàn phím là một khối mã hóa bàn phím để đổi thành mã nhị phân

Việc mã hóa tín hiệu bàn phím kiểu ma trận đòi hỏi phải dùng nhiều mạch logic, và

phải có một mạch để quét trên công tấc phím từng cột phải được quét qua để biết

phím nào được nhấn hay không nhấn nếu có mạch đếm sẽ chựng lại và con số trong

mạch đếm tương ứng, lúc đó sẽ tương ứng với mã nhị phân của phím được ấn

Đây là nguyên tắc hoạt động của bàn phím có mã hóa:

Ưu điểm của bàn phím: mã hóa với tốc độ khá nhanh nhưng mạch điện phức

tạp và độ linh hoạt không phong phú

Bàn phím được thiết kế như một công tấc thường hở việc tiếp xúc với bàn phím là

nhiễu hơn so với thiết bị nào Ở đây do yêu cầu thiết kế nên số phím có 10 phím

nhập dữ liệu thể hiện dưới dạng số thập phân từ 0 đến 9, và 6 phím chức năng

Người sử dụng bàn phím để điều chỉnh thời gian, đặt thời gian, chọn phím tăng

, giảm, điều chỉnh xóa, chọn Dallas, cài đặt neon giao thông theo thời gian thực

Sơ đồ khối kết nối như sau:

BAN PHIM

7) Khối chốt:

Khối chốt là IC 74HC574 và IC 74LS245 có khả năng chốt dữ liệu 8bit có

chân CLK tạo xung cạnh lên, để đưa dữ liệu ở ngõ ra 8 bịt IC 74HC574 chỉ được

phép chốt một chiều còn IC 74LS245 thì có thể chốt cả hai chiều Trong vi điều

| khiển có nhiều nhất 32 chân được sử dụng điều khiển mà thực tế chúng ta cố tiết

Trang 8

kiệm chân điều khiển thế nào cho đỡ tốn nhất cũng không đủ để cho chúng ta sử

dụng vì đồ mà chúng ta bắt buộc phải dùng thêm các con IC khác Do đó chốt là

một vấn để quan trọng trong mạch này

8) Khối hiển thị:

Là khối LCD có khả năng hiển thị số hay một kí tư, chuối kí tự nào đó, nó làm

nhiệm vụ quan trọng nhất để liên lạc giữa người và máy Nó giúp ích rất lớn trong

công việc hiển thị xem giờ, phút giây trong ngày, ngày, tháng, năm,

CHUONG 3: KHAO SAT BO VI DIEU KHIEN 89C51

| I Giới thiệu về họ MSCS5I1 (89C51):

MCSS1 là một họ IC vi điều khiển (Microcontroller ) do hãng Intel sản xuất Các

IC tiêu biểu cho họ MCS51 là 8051 và 8031 Đặc biệt, vi điểu khiển 8951 được sản

xuất gân đây mang các đặc điểm sau:

" 4 Kbytes EEPROM

= 128 bytes RAM

® 4 ports I/O (Input/Output)

= 2 b6 dinh théi (timer) 16 bits

= Giao tiếp nối tiếp

= 64 Kbytes không gian bộ nhớ chương trình mở rộng

= 64 Kbytes không gian bộ nhớ dữ liệu mở rộng

" Một bộ xử lí luận lí (thao tác trên các bit đơn)

® 210 bits dudc dia chỉ hóa

Oscillat scillator control Bus I/O ports or Serial port

ñddr ess⁄zData 2w 2y &lternate pin assignmenis for PL and P3

8951 Block diagram

Trang 9

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

II SƠLƯỢC VỀ HỌ MCS5I:

IC 8951 có tấc cả 40 chân có chức năng như các đường xuất nhập Trong đó có

24 chân có công dụng kép, mỗi đường có thể hoạt động như đường xuất nhập hoặc như

đường điều khiển hoặc là thành phần của bus dữ liệu và bus địa chỉ

Trang 10

a

1 Hệ thông giao tiếp PORT:

a/ Port 0:

Port 0 là một port hai chức năng trên các chân 32 — 39 Trong các thiết kế

cỡ nhỏ (không dùng bộ nhớ mở rộng) nó có chức năng như các đường I/O

Đối với các thiết kế lớn với bộ nhớ mở rộng, nó được hợp kênh giữa bus dữ liệu và byte thấp của bus địa chỉ

b/ Port 1:

Port 1 là một port LO trên các chân 1 - 8 Các chân được kí hiệu:

PI.0 ; P1.1 ; P1.2 có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần

Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với

các thiết bị ngoài

c/ Port 2:

Port 2 là một port công dụng kép trên các chân 21 —- 28 được dùng như

các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế

dùng bộ nhớ mở rộng

d/ Port 3:

Port 3 là một port công dụng kép trên các chân 10 — 17 Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có lên hệ với các đặc tính đặc biệt của 8951 như ở bảng sau:

10

Trang 11

SVTH: VO VAN TRUNG

LUAN VAN TOT NGHIEP

Bit Tén Chức năng chuyển đổi

P3.0 | RXD Dữ liệu nhận cho port nối tiếp P31 | TXD Dữ liệu phát cho port nối tiếp

P3.2 | INTO\ | Ngắt0 bên ngoài

P3.3 | INTI\ | Ngắt 1 bên ngoài

P34 | TÔ Ngõ vào của Timer/counter 0 P35 | TI Ngõ vào của Timer/counter 1 P3.6 | WR\ Xung ghi bộ nhớ dữ liệu ngoài P3.7 | RD\ Xung đọc bộ nhớ dữ liệu ngoài

2 Các tín hiệu điều khiển:

IC 8§9C51 có 4 tín hiệu điều khiển:

a/ PSEN\ (Program Store Enable):

PSEN\ là tín hiệu ra trên chân 29 Nó là tín hiệu điểu khiển cho phép bộ nhớ chương trình mở rộng, PSEN\ thường được nối đến chân OE (Output Enable) cua một

EPROM để cho phép đọc các byte mã lệnh

PSEN\ sẽ ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chương trình

được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh của 8951 để giải

mã lệnh Nếu thi hành chương trình trong ROM nội (8951) thì PSEN\ sẽ ở mức thụ

động (mức cao)

b/ ALE (Address Latch Enable):

Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bị làm việc với các vi xử lí 8085,

8088, 8086

IC 8951 dùng ALE một cách tương tự cho việc giải kênh các bus địa chỉ và dữ liệu

Khi port 0 được dùng trong chế độ chuyển đổi: vừa là bus dữ liệu vừa là byte thấp của bus địa chỉ, ALE là tín hiệu để chốt byte thấp địa chỉ vào một thanh ghi bên ngoài

trong nửa đầu chu kì bộ nhớ Sau đó, các đường port 0 dùng để xuất nhập dữ liệu trong nửa sau của chu kì bộ nhớ

11

Trang 12

Các xung tín hiệu ALE có tốc độ bằng 1/6 lần 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 Nếu xung nhịp trên

8951 là 12 Mhz thì ALE có tần số 2 Mhz Chỉ ngoại trừ khi thi hành lệnh MOVX, một

xung ALE sẽ bị mất Trong trường hợp là 8051 thì chân này cũng được làm ngõ vào cho

xung lập trình cho EPROM trong chịp

c/ EA\ (External Access):

Tín hiệu vào EA\ trên chân 31 thường được mắc lên mức cao (+5v) hoặc mức thấp

(GND) Nếu ở mức cao, 8951 thi hành chương trình từ ROM nội trong

khoảng địa chỉ thấp (4K) Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ

mở rộng

Khi dùng 8031, EA\ luôn được nối mức thấp vì 8031 không có bộ nhớ chương trình

trên chip Nếu EA\ được nối mức thấp thì bộ nhớ chương trình bên trong 8951 sẽ bị cấm

và chương trình chỉ được thi hành từ EPROM mở rộng

Người ta còn dùng EA\ làm chân cấp điện áp 21V khi lập trình cho EEPROM

trong 8051

d/ RST (Reset):

Ngõ vào RST trên chân 9 là ngõ reset của 8951 Khi tín hiệu này được đưa lên

mức cao (trong ít nhất 2 chu kì máy), các thanh ghi bên trong 8951 được tải những

giá trị thích hợp để khởi động hệ thống

e/ Các ngõ vào bộ dao động trên chip:

Như đã thấy trong các hình trên, 8951 có một bộ dao động trên chip Nó thường

được nối với một thạch anh giữa hai chân 18 và 19 Các tụ giữ cũng cần thiết như đã

vẽ Tần số thạch anh thông thường là 12 Mhz

f/ Các chân nguồn:

8951 hoạt động với nguồn đơn +5V Vcc được nối vào chân 40 và Vss (GND) được

nối vào chân 20

3 Tổ chức bộ nhớ:

3.1/ Khảo sát tổ chức bộ nhớ 8951:

IC 8951 có bộ nhớ được tổ chức theo cấu trúc Harvard : có những vùng bộ nhớ

riêng biệt cho chương trình và dữ liệu

Như đã nói ở trên, cả chương trình và đữ liệu có thể ở bên trong (8951); dù vậy

chúng có thể được mở rộng bằng các thành phần ngoài lên đến tối đa 64 Kbytes bộ

nhớ chương trình và 64 Kbytes bộ nhớ dữ liệu

Bộ nhớ bên trong bao gồm ROM (8951) và RAM trên chip bao gồm nhiều thành

phần: Phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh ghi và

các thanh ghi chức năng đặc biệt

12

Trang 13

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

=_ Các thanh ghi và các port xuất nhập đã được xếp trong bộ nhớ và có thể được

truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác

= Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoài so với bộ xử lí khác

3.2/ Chỉ tiết về bộ nhớ RAM trên chip:

Như sẽ thấy trong hình sau, RAM bên trong 8951 được phân chia thành các bank

thanh ghi (00H — 1FH), RAM địa chỉ hóa bit (20H — 2FH), RAM da dung (30H —

TFH) và các thanh ghi chức năng đặc biệt trong khoảng (80H - FFH)

“+ RAM da dung:

Mặc dù trên hình cho thấy 80 bytes RAM da dụng chiếm các địa chỉ từ 30H — 7FH,

32 bytes dưới cùng từ 00H — 1FH cũng có thể được dùng với mục đích tương tự (mặc

đù các địa chỉ này đã có mục đích khác)

Mọi địa chỉ trong vùng RAM đa dụng đêu 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 Ví dụ, để đọc nội dung ở địa chỉ 5FH của RAM

nội vào thanh ghi tích lũy, lệnh sau sẽ được dùng:

MOV A,5FH

Lệnh này di chuyển 1 byte dữ liệu dùng cách đánh địa chỉ trực tiếp để xác định

“địa chỉ nguồn” (5FH) Đích nhận dữ liệu được ngầm xác định trong mã lệnh là

thanh ghi tích lily A

RAM bên trong cũng có thể được truy xuất dùng cách đánh địa chỉ gián tiếp qua

R0 hay R1 Ví dụ, hai lệnh sau thi hành cùng nhiệm vụ như lệnh đơn ở trên:

MOV RO, #5FH

13

Trang 14

MOV A, @RO

Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi RO, va lệnh

thứ hai dùng địa chỉ gián tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào thanh ghi

“+ RAM dia chỉ hóa từng bịt:

IC 8951 chứa 210 bits được địa chỉ hóa, trong đó 128 bits là ở các địa chỉ byte 20H

đến 2FH, và phần còn lại là trong các thanh ghi chức năng đặc biệt

F F| F| Fl F| _] Fl F] Fl FI B o|7|6|s|Flz|z|ilo 4

E| E| E| E| E| E| E| E| E| ACC

Dị Dị Dị pị pị pị p[ _[ p| psw o|7|ø|z|4|3|z] lo

30 BỊ _| _[ _] BỊ BBA| BỊ B|

g C|B] |9|s 2F| 7| 7| 7| 7| 7| 7 7| 7

Trang 15

Ý tưởng truy xuất từng bit riêng rẽ bằng phần mềm là một đặc tính tiện lợi của vi

điểu khiển nói chung Các bit có thể được đặt, xóa, AND, OR, với một lệnh đơn

Trong khi đó, đa số các vi xử lí đòi hỏi một chuỗi lệnh đọc — sửa — ghi để đạt được

hiệu quả tương tự Hơn nữa, các port LO cũng được địa chỉ hóa từng bit làm đơn

giản phan mềm xuất nhập từng bit

Có 128 bits được địa chỉ hóa đa dụng ở các byte 20H đến 2FH Các địa chỉ này

được truy xuất như các byte hoặc như các bit phụ thuộc vào lệnh được dùng Ví dụ,

để đặt bit 67H, ta dùng lệnh sau:

15

Trang 16

SET 67H

Chú ý rằng “địa chỉ bit 67H” là bit có trọng số lớn nhất (MSB) ở “địa chỉ byte

2CH” Lệnh trên sẽ không tác động đến các bit khác ở địa chỉ này Các vi xử lí sẽ

- phải thi hành nhiệm vụ tương tự như sau:

ORL A, #10000000B ; set MSB

MOV 2CH,A ; ghi lai ca byte

“* Cac bank thanh ghi:

32 bytes thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi Bộ lệnh của

§951 hỗ trợ § thanh ghi (RO — R7) và theo mặc định (sau khi reset hệ thống) các

thanh ghi này ở các địa chỉ 00H — 07H Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H

vào thanh ghi tích lũy :

MOV A,R5S

Đây là lệnh một byte dùng địa chỉ thanh ghi Tấc nhiên, thao tác tương tự có thể

được thi hành bằng lệnh 2 bytes dùng địa chỉ trực tiếp nằm trong byte thứ hai:

MOV A,05H

Các lệnh dùng các thanh ghi R0 đến R7 thì ngắn hơn và nhanh hơn các lệnh tương

ứng nhưng dùng địa chỉ trực tiếp Các giá trị dữ liệu được dùng thường xuyên nên

dùng một trong các thanh ghi này

Bank thanh ghi tích cực có thể được chuyển đổi bằng cách thay đổi các bit chọn

bank thanh ghi trong từ trạng thái chương trình (PSW) Giả sử rằng bank thanh ghi 3

được tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H:

MOV R0,A

Y tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chương trình nhanh

và hiệu quả (từng phần riêng rẽ của phần mễm sẽ có một bộ thanh ghi riêng không

phụ thuộc vào các phần khác)

4/ Các thanh ghi chức năng đặc biệt:

Các thanh ghi nội của 8951 được truy xuất ngầm định bởi bộ lệnh Ví dụ lệnh “INC

A” sẽ tăng nội dung của thanh ghi tích lũy A lên 1 Tác động này được ngầm định

trong mã lệnh

Các thanh ghi trong 8951 được định dạng như một phần của RAM trên chip Vì vậy

mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi đếm chương trình và thanh ghi

16

Trang 17

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp, nên không lợi lộc gì khi đặt chúng vào trong RAM trên chip) Đó là lí do để 8951 có nhiều thanh ghi như vậy Cũng như RO đến R7, có 21 thanh ghi chức năng đặc biệt (SFR: Special Function

Register) ở vùng trên của RAM nội, từ địa chỉ 80H đến FFH, Chú ý rằng hầu hết

128 địa chỉ từ 80H đến FFH không được định nghĩa Chỉ có 21 địa chỉ SFR là được định nghĩa

Ngoại trừ thanh ghi tích lũy A có thể được truy xuất ngầm như đã nói, đa số các SFR được truy xuất dùng địa chỉ trực tiếp Chú ý rằng một vài SFR có thể được địa chỉ hóa bit hoặc byte Người thiết kế phải thận trọng khi truy xuất bit va byte Vi du

lệnh sau:

SETB 0E0H

Lệnh này sẽ set bit 0 trong thanh ghi tích lũy, các bit khác không đổi Ta thấy rằng E0H đồng thời là địa chỉ byte của cả thanh ghi tích lũy và là địa chỉ bít của bít có trọng số nhỏ nhất trong thanh ghi tích lũy Vì lệnh SETB chỉ tác động trên bit, nên

chỉ có địa chỉ bit là có hiệu quả

a/_ Từ trạng thái chương trình:

Từ trạng thái chương trình (PSW: Program Status Word) ở địa chỉ DOH chứa các

bit trạng thái như bảng tóm tắt sau:

psw.5 | — E0 D5H Cờ 0

PSW.4 RS1 D4H Bit 1 chọn bank thanh ghi

00 = bank 0 ( dia chi OOH — 07H )

01 = bank 1 ( dia chi 08H — OFH )

10 = bank 2 ( dia chi 10H - 17H)

11 = bank 3 ( dia chi 18H — 1FH )

Trang 18

sẽ trả về thanh ghi tích lũy kết quả 00H và set cờ nhớ trong PSWK

Cờ nhớ cũng có thể xem như một thanh ghi 1 bit cho các lệnh luận lí thi hành trên

bit Ví dụ, lệnh sau sẽ AND bit 25H với cờ nhớ và đặt kết quả trở vào cờ nhớ:

AND C,25H

e Cờ nhớ phụ:

Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết quả của 4 bit thấp trong

khoảng 0AH đến 0FH Nếu các giá trị được cộng là số BCD thì sau lệnh cộng cần có

DA A (hiệu chỉnh thập phân thanh ghi tích lũy) để điều chỉnh kết quả cho phù hợp

se Cờ 0:

Cờ 0 (F0) là 1 bit cờ đa dụng dành cho các ứng dụng của người dùng

e Các bit chọn bank thanh ghi :

Các bit chọn bank thanh ghi (RSO và RS1) xác định bank thanh ghi nào được tích

cực Chúng được xóa sau khi reset hệ thống và được thay đổi bằng phần mềm nếu

cần Ví dụ, 3 lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của thanh

ghi R7 (địa chỉ byte 1EFH) đến thanh ghi tích lũy:

Cờ tràn (OV) được set sau một lệnh cộng hoặc trừ nếu có phép toán bị tràn Khi các

số có dấu được cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này để xác

định xem kết quả có nằm trong tầm xác định không Khi các số không dấu được |

cộng, bit OV có thể được bỏ qua Các kết quả lớn hơn +127 hoặc nhỏ hơn -128 sẽ

set bit OV,

Ví dụ, phép cộng sau bị tràn và bit OV được set :

Trang 19

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

SE | 142

Kết quả là một số có dấu 8§EH được xem như —14, không phải là một kết quả đúng

(142), vì vậy bít OV được set

b/_ Thanh phi B:

Thanh ghi B ở địa chỉ FOH được dùng với thanh ghi tích lũy A cho các phép toán

nhân và chia

Lệnh MUL AB sẽ nhân các giá trị không dấu § bít trong A và B rồi trả về kết quả

16 bit trong A (byte thấp) và B (byte cao)

Lệnh DIV AB sẽ chia A cho B rổi trả về kết quả nguyên trong A và phần dư trong

B

Thanh ghi B cũng có thể được xem như thanh ghi đệm da dụng Nó được địa chỉ

hóa từng bit bằng các địa chỉ bit F0H đến F7H

c/ Con trỏ ngăn xếp:

Con trỏ ngăn xếp (SP) là một thanh ghi 8 bit ở địa chỉ 81H Nó chứa địa chỉ của

byte dữ liệu hiện hành trên đỉnh của ngăn xếp Các lệnh trên ngăn xếp bao gồm các

thao tác cất đữ liệu vào ngăn xếp và lấy đữ liệu ra khỏi ngăn xếp Lệnh cất dữ liệu

vào ngăn xếp sẽ làm tăng SP trước khi cất dữ liệu, và lệnh lấy dữ liệu ra khỏi ngăn

xếp sẽ đọc dữ liệu và giảm SP

Ngăn xếp của 8951 được giữ trong RAM nội và được giới hạn các địa chỉ có thể

truy xuất bằng địa chỉ gián tiếp Chúng là 128 bytes đầu của 8951

Để khởi động lại SP với ngăn xếp bắt đầu tại 60H, các lệnh sau đây được dùng:

MOV SP, #5FH

Trên 89C51 ngăn xếp bị giới hạn 32 bytes vì địa chỉ cao nhất của RAM trên chip

la 7FH Sé di ding gid trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ liệu đầu

tiên

Người thiết kế có thể chọn không phải khởi động lại con trỏ ngăn xếp mà để nó lấy

giá trị mặc định khi reset hệ thống Giá trị mặc định đó là 07H và kết quả là ngăn

đầu tiên để cất dữ liệu có địa chỉ là 08H

19

Trang 20

Nếu phần mềm ứng dụng không khởi động lại SP, thì bank thanh ghi 1 (có thể cả

-_2 và 3) sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp

Ngăn xếp được truy xuất trực tiếp bằng lệnh PUSH và POP để lưu trữ tạm thời và

lấy lại dữ liệu, hoặc được truy xuất ngầm bằng các lệnh gọi chương trình con

(ACALL, LCALL) và các lệnh trở về (RET, RETT) để cất và lấy lại bộ đếm chương

trình

d/ Con trỏ dữ liệu:

Con trỏ dữ liệu (DPTR) để truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở địa chỉ

82H (DPL: byte thấp) và 83H (DPH: byte cao)

Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H:

MOV A, #55H

MOV DPTR, #1000H

MOVX @DPTR,A

Lệnh đầu tiên dùng địa chỉ tức thời để tải dữ liệu 55H vào thanh ghi tích lũy Lệnh

thứ hai cũng dùng địa chỉ tức thời, lần này để tải dữ liệu 16 bits 1000H vào con trỏ

dữ liệu Lệnh thứ ba dùng địa chỉ gián tiếp để di chuyển đữ liệu trong A (55H) đến

RAM ngoài ở địa chỉ được chứa trong DPTR (1000H)

e/_ Các thanh ghỉ port xuất nhập:

| Các port cia 8951 bao gém Port 0 6 dia chi 80H, Port 1 ở địa chỉ 90H, Port 2 ở địa

chỉ A0H và Port 3 ở địa chi BOH

Tấc cả các port đều được địa chỉ hóa từng bit Điều đó cung cấp một khả năng giao

tiếp thuận lợi

Ví dụ, nếu một motor được nối qua một cuộn dây có transistor lái đến bit 7 của

Port 1, nó có thể được bật và tắt bằng một lệnh đơn:

SETB PI.7 ; bật motor

CLR PI.7 ;tắtmotor

Các lệnh trên dùng dấu chấm để xác định một bit trong một byte Trình hợp dịch sẽ

thi hành sự chuyển đổi cần thiết, vì vậy hai lệnh sau đây là như nhau:

CLR PI.7

CLR 97H

Trong một ví dụ khác, xem xét giao tiếp đến một thiết bị với một bit trạng thái gọi

là BUSY, được set khi thiết bị đang bận và được xóa khi thiết bị đã sẵn sàng Nếu

20

Trang 21

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

BUSY được nối tới P1.5, vòng lặp sau sẽ được dùng để chờ thiết bị trở lại trạng thái

sẵn sàng: '

WAIT : JB P1.5, WAIT

Lệnh này có nghĩa là “nếu bit P1.5 được set thì nhảy tới nhãn WAIT”

Nói cách khác “nhảy trở lại và kiểm tra lần nữa”

f/ Cac thanh ghi timer:

IC 8951 chứa hai bộ định thời/đếm 16 bits được dùng cho việc định thời hoặc đếm

sự kiện

Timer 0 6 dia chi 8AH (TLO: byte th4p) và 8CH (THO: byte cao)

Timer 1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao)

Việc vận hành timer được set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và

thanh ghi điều khiển timer (TCON) ở địa chỉ 88H

Chỉ có TCON được địa chỉ từng bit

g/ Các thanh ghi port nối tiếp:

IC8951 chứa một port nối tiếp trên chip dành cho việc trao đổi thông tin với các

thiết bị nối tiếp như máy tính, modem hoặc cho việc giao tiếp với các IC khác có

giao tiếp nối tiếp (các bộ chuyển đổi A/D, các thanh ghi dịch )

Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả hai dữ

liệu truyền và nhận

Khi truyền dữ liệu thì ghi lên SBUFE, khi nhận dữ liệu thì đọc SBUF

Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp

(SCON) (được địa chỉ hóa từng bit) ở địa chỉ 98H

h/ Các thanh ghi ngắt:

IC 8951 có cấu trúc 5 nguồn ngắt (2 mức ưu tiên)

Các ngắt bị cấm sau khi reset hệ thống và sẽ được cho phép bằng việc ghi thanh

ghi cho phép ngắt (IE) ở địa chỉ A8H

Cả hai thanh ghi được địa chỉ hóa từng bit

1⁄/_ Thanh ghi điều khiển công suất:

Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa nhiễu bit điểu khiển

Chúng được tóm tắt trong bảng sau:

Trang 22

3 GEF1 BIt cờ đa dụng 1

2 GFO Bit cờ đa dụng 0

1 PD Giảm công suất, được set để kích hoạt mode giảm công suất,

IC 8951 có khả năng mở rộng bộ nhớ lên đến 64K bộ nhớ chương trình và 64K bộ

nhớ dữ liệu ngoài Do đó, có thể dùng thêm ROM và RAM bên ngoài nếu cần

Khi dùng bộ nhớ ngoài, Port 0 không còn là một port IO thuần túy nữa Nó được

hợp kênh giữa bus địa chỉ (A0 — A7) và bus dữ liệu (DO — D7) với tín hiệu ALE để chốt byte thấp của địa chỉ khi bắt đầu mỗi chu kì bộ nhớ Port 2 thông thường được dùng cho byte cao của bus địa chỉ

Trong nửa đầu của mỗi chu kì bộ nhớ, byte thấp của địa chỉ được cấp trong Port Ö

và được chốt bằng xung ALE Một IC chốt 74HC373 (hoặc tương đương) sẽ giữ byte

địa chỉ thấp trong phần còn lại của chu kì bộ nhớ Trong nửa sau của chu kì bộ nhớ

Port 0 được dùng như bus dữ liệu và được đọc hoặc ghi tùy theo lệnh

a/ Truy xuất bộ nhớ chương trình ngoài:

Bộ nhớ chương trình ngoài là một IC ROM được cho phép bởi tín hiệu PSENI

Hình sau mô tả cách nối một EPROM vào 8951:

22

Trang 23

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

Giao tiếp giữa 8951 va EPROM

Một chu kì máy của 8951 có 12 chu kì xung nhịp Nếu bộ dao động trên chip được

lái bởi một thạch anh 12 Mhz thì một chu kì máy kéo dài 1 Hs

Trong một chu kì máy, sẽ có hai xung ALE và hai byte được đọc từ bộ nhớ chương

trình (nếu lệnh hiện hành là lệnh 2 bytes thì byte thứ hai sẽ được loại bỏ) Giản đổ

thời gian của một lần lấy lệnh được vẽ ở hình sau:

———— One machine cycle ——— >

Trang 24

| b/_ Truy xuất bô nhớ dữ liệu ngoài:

Giao tiếp giữa 8951 và RAM

Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được cho phép ghi/đọc bằng các tín hiệu

WR\ và RD\ (các chân P3.6 và P3.7 thay đổi chức năng) Chỉ có một cách truy

xuất bộ nhớ dữ liệu ngoài là với lệnh MOVX dùng con trỏ dữ liệu (DPTR) 16 bits

hoặc RO và R1 xem như thanh ghi địa chỉ

Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8951 cũng giống như EPROM và

do đó cũng có thể lên đến 64 Kbytes bộ nhớ RAM

ị Ngoài ra, chân RD\ của 8951 được nối tới chân cho phép xuất (OE\) cia RAM va

chân WR\ được nối tới chân ghi (WR\) của RAM

Giản đề thời gian cho lệnh đọc dữ liệu ngoài được vẽ trên hình sau đối với lệnh

|£ — (ne machine cụcle ——>|“——— One machine cycle —|

Trang 25

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

Giản đô thời gian của lệnh MOVX

Giản đồ thời gian cho lệnh ghi (MOVX @DPTR, A) cũng tương tự chỉ khác

đường WR\ sẽ thay vào đường RD\ và đữ liệu được xuất ra trên chân Port 0 (RD\

vẫn giữ mức cao)

c/ Giải mã địa chỉ:

Nếu có nhiều EPROM và/hoặc nhiều RAM được giao tiếp với 8951, thì cần phải

giải mã địa chỉ

Mạch giải mã cũng tương tự như các hệ vi xử lí khác Ví dụ, nếu dùng nhiều

EPROM va RAM 8Kbytes thì bus địa chỉ cần phải được giải mã để xác định IC nhớ nào được chọn

Người ta thường dùng IC giải mã 74HC138 với các ngõ ra được nối tới các ngõ vào chọn chip (CS) trên các IC nhớ Hình sau vẽ một hệ thống với nhiều EPROM

ai3|A 02 a

03

| El o4P_ os — Select other Fon EA wy eb EPRON/RAM E2B 0P —”

25

Trang 26

d/_ Xếp chồng bộ nhớ chương trình và dữ liệu bên ngoài:

Vì bộ nhớ chương trình là ROM, nên nảy sinh một vấn đề bất tiện khi phát triển

phân mềm cho 8051/8031 Đối với 8951 đã cải tiến bằng cách thay thế bằng

EEPROM, hoặc dùng một cách để khắc phục nhược điểm trên là xếp chồng các

vùng nhớ chương trình và dữ liệu

Một IC RAM có thể chứa cả chương trình và dữ liệu bằng cách nối đường OE\ của

RAM vào một mạch logic AND của PSEN\ và RD\

Mạch trên hình sau cho phép một IC RAM được dùng làm bộ nhớ chương trình và

dữ liệu:

Vậy một chương trình có thể được tải vào RAM (bằng cách ghi nó như bộ nhớ đữ

liệu) và thi hành (bằng cách truy xuất nó như bộ nhớ chương trình)

RST có thể được kích bằng tay dùng một nút bấm hoặc có thể được kích khi cấp

điện dùng một mạch R-C Trạng thái của tất cả các thanh ghi trong 8951 sau khi Reset hệ thống được tóm tắt

trong bảng sau:

Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chương trình, nó được

đặt lại 0000H

Khi RST trở lại mức thấp, việc thi hành chương trình luôn bắt đầu ở địa chỉ đầu

tiên trong bộ nhớ chương trình: địa chỉ 0000H

Nội dung của RAM trên chip không bị thay đổi bởi lệnh Reset

26

Trang 27

1/ Các chế độ đánh địa chỉ:

a/ Dia chi thanh ghi:

uC8951 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

Ngoài ra, một số thanh ghi đặc biệt như thanh ghi tích lũy, thanh ghi con trỏ đữ

liệu cũng được xác định trong các lệnh trên nên không cần bit địa chỉ

27

Trang 28

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

"Địa Chỉ rực tiếp

MãTệm - —

Địa chỉ trực tiếp

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)

Vi dụ, P0 cho Port 0, TMOD cho thanh ghi chế độ timer,

c/_Đị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

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ế đữ liệu vào mã lệnh

Trang 29

LUAN VAN TOT NGHIEP SVTH: VO VAN TRUNG

e/_ Địa chỉ tương đối:

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

IC8951 dùng giá trị § 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

Địa chỉ tương đối

f/ Đị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)

Xác định trang mã Xác định địa chỉ trong trang mã

Địa chỉ tuyệt đối

29

Trang 30

g/ Địa chỉ dài :

Địa chỉ dài chỉ dùng cho lệnh LCALL và LIIMP 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

Tuy nhiên, lệnh này chiếm nhiều byte và lệ thuộc vào vị trí vùng nhớ

Dia chi dai

h/ Dia chi 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

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 +| AC| =| Địa chỉ cần truy

Rn: Thanh ghi RO đến R7 của bank thanh ghi được chon

data : 8 bit dia chi vùng dữ liệu bên trong Nó có thể là vùng RAM dữ liệu

trong (0-127) hoặc các thanh ghi chức năng đặc biệt

@Ri: 8 bit ving RAM đữ liệu trong (0-255) được đánh địa chỉ gián tiếp qua

thanh ghi RO hoặc R1

#data : Hãng § bit chứa trong câu lệnh

#data16 : Hằng 16 bit chứa trong câu lệnh

addr16 : 16 bit dia chỉ đích được dùng trong lệnh LCALL va LJMP

30

Ngày đăng: 26/04/2013, 11:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w