1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. An ninh - Bảo mật >

Hình 2.4: Nguồn xung clock

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 (1.14 MB, 69 trang )


Bên trong chip 8051 có một port nối tiếp hoạt động ở một vài chế độ trên

một tầm tần số rộng. Chức năng cơ bản của port nối tiếp là thực hiện việc

chuyển đổi dữ liệu song song thành nối tiếp khi phát và chuyển đổi dữ liệu từ

nối tiếp thành song song khi thu. Đặc trưng của port nối tiếp là hoạt động song

công nghĩa là có khả năng thu và phát đồng thời. Ngoài ra port nối tiếp còn có

một đặc trưng khác, việc đệm dữ liệu khi thu của port này cho phép một ký tự

được nhận và lưu trong bộ đệm thu trong khi ký tự tiếp theo được nhận vào. Nếu

CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được nhận đầy đủ, dữ liệu sẽ

không bị mất.

Hoạt động nối tiếp sử dụng đến hai thanh ghi chức năng đặc biệt SBUF và

SCON để truy xuất port nối tiếp. Bộ đệm của port nối tiếp SBUF có địa chỉ byte

là 99h, trên thực tế bao gồm hai bộ đệm. Việc ghi lên SBUF sẽ nạp dữ liệu để

phát và việc đọc SBUF sẽ truy xuất dữ liệu đã nhận được. Điều náy có nghĩa là

ta có hai thanh ghi riêng rẽ và phân biệt. Thanh ghi điều khiển port nối tiếp

SCON có địa chỉ byte là 98h, là thanh ghi được định địa chỉ từng bit, nó có chứa

các bit trạng thái và các bit điều khiển. Các bit điều khiển sẽ thiết lập chế độ hoạt

động cho port nối tiếp còn các bit trạng thái chỉ ra sự kết thúc việc thu hoặc phát

một ký tự. Các bit trạng thái được kiểm tra bởi phần mềm hoặc được lập trình để

tạo ra ngắt.

* Bộ nhớ chương trình:

Bộ nhớ chương trình thường là ROM, bộ nhớ chương trình được sử dụng để

cất giữ chương trình điều khiển hoạt động của vi điều khiển. Bộ nhớ ROM có

một đặc trưng là không bị mất đi khi bị mất điện. Chương trình được ghi vào

trên ROM là do người sản xuất ghi vào chúng ta không thể can thiệp được vào.

* Bộ nhớ số liệu:

Bộ nhớ số liệu thường là bộ nhớ RAM, bộ nhớ số liệu dùng để cất giữ các

thông tin tạm thời trong quá trình vi điều khiển làm việc. Đây là bộ nhớ truy

xuất ngẫu nhiên dung để lưu trữ chương trình trong quá trình làm việc. Nó sẽ bị

mất dữ liệu khi mất điện.

2.2.2. Tổ chức bộ nhớ của 8051.



19



Tất cả các vi điều khiển thuộc họ 8051 đều được phân chia bộ nhớ thành hai

vùng địa chỉ cho bộ nhớ dữ liệu và bộ nhớ chương trình. Sự phân chia logic giữa

bộ nhớ dữ liệu và bộ nhớ chương trình cho phép truy nhập bộ nhớ dữ liệu bằng 8

bit địa chỉ giúp cho việc lưu trữ và thao tác dữ liệu nhanh hơn. Tuy nhiên chúng

ta cũng có thể sử dụng địa chỉ bộ nhớ dữ liệu 16 bit thông qua thanh ghi DPTR.

Do đó có thể chứa được 64K=65536 ô nhớ mỗi loại.

Bộ nhớ onchip của 8051 gồm có 4 Kbyte bộ nhớ chương trình (ROM,

EPROM, EEPROM hoặc Flash tùy loại) và 128 byte bộ nhớ dữ liệu (RAM). 4

Kbyte bộ nhớ chương trình on - chip nằm trong không gian địa chỉ 64 Kbyte

dành cho bộ nhớ chương trình (thuộc dải địa chỉ từ 0x0000 đến 0x0FFF).

Ngược lại 128 byte RAM onchip lại không nằm trong không gian địa chỉ 64

Kbyte dành cho bộ nhớ dữ liệu. Ta có thể tưởng tượng không gian bộ nhớ

chương trình là một chiếc thùng được lấp đầy 1/16 dung tích bởi 4 Kbyte bộ nhớ

onchip, còn không gian bộ nhớ dữ liệu là một thùng to dung tích 64 Kbyte rỗng

hoàn toàn và có một hộp nhỏ dung tích 128 byte (Địa chỉ từ 0x00 đến 0x7F) nằm

riêng rẽ bên cạnh.



64 K

Byte



Phần không

gian địa chỉ cho

bộ nhớ chương

trình bằng 64 K

Byte trừ đi bộ

nhớ on - chip



Phần không gian

địa chỉ cho bộ

nhớ dữ liệu

( Hoàn toàn

trống rỗng 64K

Byte dành cho

bộ nhớ dữ liệu

ghép thêm bên

ngoài nếu có



Bộ nhớ on - chip



Bộ nhớ SRAM



Dung lượng

tùy loại chip



20



Hình 2.5: Cấu trúc bộ nhớ 8051

Bộ nhớ chương trình là loại bộ nhớ chỉ cho phép đọc, không cho phép ghi.

Một số vi điều khiển được tích hợp sẵn bộ nhớ chương trình bên trong với dung

lượng khoảng 4kbyte hay 8kbyte, số còn lại phải sử dụng bộ chương trình mở

rộng mà quá trình truy nhập được thực hiện thông qua sự điều khiển bằng tín

hiệu PSEN.

Tuy nhiên vi điều khiển 8051 cho phép chúng ta sử dụng đến 64 kbyte bộ

nhớ chương trình bằng cách sử dụng cả bộ nhớ chương trình bên ngoài và bên

trong.

Bộ nhớ dữ liệu chiếm giữ vùng địa chỉ phân chia của bộ nhớ chương trình.

Dung lượng của bộ nhớ dữ liệu có thể mở rộng lên đến 64 kbyte. Trong quá

trình truy nhập bộ nhớ số liệu, CPU phát ra các tín hiệu đọc và tín hiệu viết số

liệu thông qua các chân RD và WD.

Chúng ta có thể kết hợp bộ nhớ chương trình mở rộng với bộ nhớ số liệu mở

rộng bằng cách cho hai tín hiệu RD và PSEN qua một cổng logic AND, lối ra

của cổng này sẽ tạo tín hiệu đọc cho bộ nhớ mở rộng.



Thân chương trình

( Chương trình

chính, chương trình

con, chương trình

xử lý ngắt, bảng các

hằng số….)



0x0FFF



0x0030



Véc tơ ngắt thứ n



Véc tơ ngắt thứ 1

Địa chỉ reset



21



0x0003

0x0000



Hình 2.6: Bộ nhớ chương trình 8051

* Bộ nhớ chương trình:

Sau khi reset CPU bắt đầu thực hiện chương trình từ địa 0000h. Vùng đầu

của bộ nhớ chương trình là vùng chứa các vecter ngắt, mỗi ngắt được phân chia

một vùng địa chỉ cố định trong bộ nhớ chương trình. Khi xuất hiện ngắt , CPU sẽ

nhảy tới địa chỉ này, đây cũng là địa chỉ đầu của chương trình con phục vụ ngắt.

Các vector ngắt cách nhau 8 byte, vì vậy nếu chương trình con phục vụ ngắt quá

dài(> 8 byte) thì tại vector ngắt ta phải đặt một lệnh nhảy không điều kiện tới

vùng địa chỉ khác chứa chương trình con phục vụ ngắt.

* Bộ nhớ dữ liệu:

Chúng ta có thể dùng tới 64 kbyte bộ nhớ số liệu ngoại vi. Độ rộng bus địa

chỉ của bộ nhớ số liệu ngoài có thể là 8 bit hoặc 16 bit. Bus địa chỉ rộng 8 bit

thường được sử dụng để liên kết với một hoặc nhiều đường vào ra khác để định

địa chỉ cho RAM theo trang. Trong trường hợp bus địa chỉ rộng 16 bit, cổng Port

2 sẽ phát ra 8 bit địa chỉ cao còn cổng Port 1 sẽ phát 8 bit địa chỉ thấp. Bằng

cách này ta có thể truy nhập trực tiếp lên bộ nhớ dữ liệu ngoài với độ lớn tối đa

là 64 kbyte.

Bộ nhớ số liệu được chia ra làm 3 vùng:

- 128 byte cao

- 128 byte thấp

- Vùng dành cho các thanh ghi chức năng đặc biệt SFR

Địa chỉ của bộ nhớ số liệu trong luôn là 8 bit, và có thể quản lý được 256

byte bộ nhớ. Tuy nhiên trên thực tế cách định địa chỉ của bộ nhớ RAM trong có

thể quản lý tới 384 byte.



22



Xem Thêm
Tải bản đầy đủ (.doc) (69 trang)

×