Tải bản đầy đủ (.pdf) (5 trang)

Tổng quan về vi điều khiển, chương 4 pdf

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 (231.63 KB, 5 trang )

Chương 4: CẤU TRÚC BÊN TRONG CỦA VI
ĐIỀU KHIỂN
1.4.BỘ NHỚ CHƯƠNG TRÌNH- BỘ NHỚ ROM
Bộ nhớ ROM dùng để lưu chương trình do người viết chương
trình viết ra. Chương trình là tập hợp các câu lệnh thể hiện các
thuật toán để giải quyết các công việc cụ thể, chương trình do
người thiết kế viết trên máy vi tính, sau đó được đưa vào lưu trong
ROM của vi điều khiển, khi hoạt động, vi điều khiển truy xuất
từng câu lệnh trong ROM để thực hiện chương trình. ROM còn
dùng để chứa số liệu các bảng, các tham số hệ thống, các số liệu cố
định của hệ thống. Trong quá tr
ình hoạt động nội dung ROM là cố
định, không thể thay đổi, nội dung ROM chỉ thay đổi khi ROM ở
chế độ xóa hoặc nạp chương trình (do các mạch điện riêng biệt
thực hiện).
Bộ nhớ ROM được tích hợp trong chip Vi điều khiển với dung
lượng t
ùy vào chủng loại cần dùng, chẳng hạn đối với 89S52 là
8KByte, v
ới 89S53 là 12KByte.
B
ộ nhớ bên trong Vi điều khiển 89Sxx là bộ nhớ Flash ROM
cho phép xóa bộ nhớ ROM bằng điện và nạp vào chương trình mới
cũng bằng điện và có thể nạp xóa nhiều lần
Bộ nhớ ROM được định địa chỉ theo từng Byte, các byte được
đánh địa chỉ theo số hex
-số thập lục phân, bắt đầu từ địa chỉ
0000H, khi viết chương trình cần chú ý đến địa chỉ lớn nhất trên
ROM,
chương trình được lưu sẽ bị mất khi địa chỉ lưu vượt qua
vùng này. Ví dụ: AT89S52 có 8KByte bộ nhớ ROM nội, địa chỉ


lớn nhất là 1FFFH, nếu chương trình viết ra có dung lượng lớn hơn
8KByte các byte trong các địa chỉ lớn hơn 1FFFH sẽ bị mất.
Ngoài ra Vi điều khiển còn có khả năng mở rộng bộ nhớ ROM
với việc giao tiếp với bộ nhớ ROM bên ngoài lên đến 64KByte(địa
chỉ từ 0000H đến FFFFH).
1.5.BỘ NHỚ DỮ LIỆU- BỘ NHỚ RAM
Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu trữ các
kết quả trung gian và kết quả cuối cùng của các phép toán, xử lí
thông tin. Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong
các thao tác thu phát, chuyển đổi dữ liệu.
RAM nội trong Vi điều khiển được tổ chức như sau:
Các vị trí trên RAM được định địa chỉ theo từng Byte bằng
các số thập lục phân (số Hex)
Các bank thanh ghi có địa chỉ 00H đến 1FH
210 vị trí được định địa chỉ bit
các vị trí RAM bình thường
Các thanh ghi có chức năng đặc biệt có địa chỉ từ 80H đến
FFH.
Các byte RAM 8 bit c
ủa vi điều khiển được gọi là "ô nhớ", nếu các
ô nhớ có chức năng đặc biệt thường được gọi là "thanh ghi", nếu là
bit thì được gọi là "bit nhớ".
Cấu trúc bộ nhớ RAM bên trong Vi điều khiển
địa
chỉ
byte
Địa chỉ bit
địa
chỉ
byte

Địa chỉ bit

hi
ệu
7F
30
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F
18
Vùng RAM
bình th
ường
7F 7E 7D 7C 7B 7A 79 78
77 76 75 74 73 72 71 70
6F 6E 6D 6C 6B 6A 69 68

67 66 65 64 63 62 61 60
5F 5E 5D 5C 5B 5A 59 58
57 56 55 54 53 52 51 50
4F 4E 4D 4C 4B 4A 49 48
47 46 45 44 43 42 41 40
3F 3E 3D 3C 3B 3A 39 38
37 36 35 34 33 32 31 30
2F 2E 2D 2C 2B 2A 29 28
27 26 25 24 23 22 21 20
1F 1E 1D 1C 1B 1A 19 18
17 16 15 14 13 12 11 10
0F 0E 0D 0C 0B 0A 09 08
07 06 05 04 03 02 01 00
Bank 3
FF
F0
E0
D0
B8
B0
A8
A0
99
98
90
8D
8C
8B
8A
89

88
87
F7 F6 F5 F4 F3 F2 F1 F0
E7 E6 E5 E4 E3 E2 E1 E0
D7 D6D5 D4 D3 D2 D1D0
- - - BC BB BA B9 B8
B7 B6 B5 B4 B3 B2 B1 B0
AF ACABAAA9A8
A7 A6A5 A4 A3 A2 A1A0
97 96 95 94 93 92 91 90
B
ACC
PSW
IP
P3
IE
P2
SBUF
SCON
P1
TH1
TH0
TL1
TL0
TMOD
TCON
PCON
17
10
0F

08
07
00
Bank 2
Bank 1
Bank thanh ghi 0
M
ặc định được gán từ R0-
R7
83
82
81
80
8F 8E 8D 8C 8B 8A 89 88
87 86 85 84 83 82 81 80
DPH
DPL
SP
P0
B
ảng này chỉ hiện thị đúng khi xem bằng Interner Explorer

1.5.1. Các bank thanh ghi
Các bank thanh ghi có địa chỉ byte từ 00H đến 1FH, có 8
thanh ghi trong mỗi bank, các thanh ghi được đặt tên từ R0-R7, các
thanh ghi này được đặt mặc định trong bank 1. Có 4 bank thanh
ghi và tại mỗi thời điểm chỉ có một bank thanh ghi được truy xuất
với các thanh ghi từ R0 đến R7, để thay đổi việc truy xuất các
thanh ghi trên các bank thanh ghi, người d
ùng phải thay đổi giá trị

các bit chọn bank trong thanh ghi trạng thái PSW bằng các câu
l
ệnh trong chương trình.
Các l
ệnh dùng các thanh ghi từ R0 đến R7 mất khoảng không
gian lưu trữ ít hơn và thời gian thực hiện nhanh hơn so với các lệnh
dùng các ô nhớ RAM khác, ngoài ra các thanh ghi này còn có thêm
m
ột số chức năng đặc biệt khác, vì lí do này các dữ liệu sử dụng
thường thường được người viết chương tr
ình đưa vào lưu trong các
thanh ghi này.
Ngoài ra, có th
ể truy xuất thanh ghi trên các bank thanh ghi
như với các ô nhớ bình thường khác. Ví dụ: nguời dùng có thể truy
xuất đến thanh ghi R7 bằng ô nhớ 07H.
1.5.2. Vùng RAM truy xuất từng bit
Trên RAM nội có 210 ô nhớ bit được định địa chỉ và có thể
truy xuất đến từng bit, các bit nhớ này cũng được định địa chỉ bằng
các số thập lục phân- số Hex. Trong đó có 128 bit nằm trong các ô
nhớ có địa chỉ byte từ 20H đến 2FH, các bit nhớ còn lại chứa trong
nhóm thanh ghi có chức năng đặc biệt.
Mặc dù các bit nhớ và ô nhớ (byte) cùng được định bằng số
Hex, tuy nhiên chúng sẽ được nhận dạng là địa chỉ bit hay địa chỉ
byte thông qua các câu lệnh tương ứng dành cho các bit nhớ hoặc
các ô nhớ này.
Ví dụ:
mov 05H,#10111111B ;>>> lệnh này thiết lập giá trị
cho ô nhớ có địa chỉ là 05H
JB 05H,nhan01 ;>>> l

ệnh này liên quan đến
trạng thái của bit nhớ có địa chỉ 05H
1.5.3. Vùng RAM bình thường
Vùng RAM này có địa chỉ byte từ 30H đến 7FH, dùng để lưu
trữ dữ liệu, được truy xuất theo từng byte.
1.5.4. Các thanh ghi có chức năng đặc biệt
Các thanh ghi này được định địa chỉ byte, một số được định
thêm địa chỉ bit, có địa chỉ của các thanh ghi n
ày nằm trong
khoảng 80H đến FFH. Các thanh ghi đặc biệt này này được dùng
để xác lập trạng thái hoạt động cần thiết cho Vi điều khiển.

×