BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRUONG DAI HOC DAN LAP KY THUẬT CÔNG NGHỆ
THANH PHO HO CHi MINH
SRR eR OR eo RR RE
KHOA DIEN - DIEN TU
LUAN AN TOT NGHIEP
ĐỀ TÀI:
THIẾT KẾ VÀ THI CONG MACH
MENU ĐIỆN TỬ
Nn
: Th.s NGUYEN TH] NGQC ANH
SVTH : NGUYEN PHAT DAT
LỚP
TRUGNG BHDL
~ KTCÑ|
:OIĐĐT 03
MSSV : 10101041
THU VIEN |
*
'sẽ.J04Q62986— )
Thành Phố Hồ Chí Minh, tháng 7 năm 2006
LUẬN VĂN TỐT NGHIỆP
GVHD : Th.S Nguyễn Thị Ngọc Anh
MỤC
LỤC
Trang
LỜI CẢM ƠN.
1
LỜI MỞ ĐẦU
2
MỤC LỤC
7
PHAN I: CO SO LY THUYET
9
CHUONG I. KHAO SAT VI DIEU KHIEN AT 89C51
A. GIỚI THIỆU VỀ HỌ MCS-51..............................
9
B. BỘ VI XỬ LÝ AT 89C51
9
11.7) 086...
..........
IN®:(0(9/9/cEu//.09 (ae. 90...
In tg
11
...........
12
tà... .............................
12
2. Các ngõ tín hiệu điều khiển.............................
-- -- 5 sành ng
12
HI. TỔ CHỨC BÊN TRONG VI ĐIỀU KHIỂN.............................-----22
22222222 14
uy f0 5)
7a ỒỀỒỒDẦ.........
2. Bộ nhớ ngoài
14
..20
3. Các chế độ của 8951
23
a. Chế độ giảm cơng suấtt.........................................«rreriiiiiiirrrririie
23
b. Chế độ nghỉ........................-coeccceeserxirrerercee
24
À 0:(07.0610)(0/90 1127:1060... 018... .............
c8.
Na...
24
24
2. Các thanh ghi điều khiển 'Timer..............................
- GÀ nhe
25
3. Các nguồn xung nhịp cho 'Timer....................................... HH...
4. Sự bắt đầu , kết thúc và sự điều khiển 'Timer...........................................----Seeerrree
CC
SVTH : Nguyễn Phát Đạt
GHI
nsaYSY'yxyyyyxn
LUẬN VĂN TỐT NGHIỆP
GVHD : Th.S Nguyễn Thị Ngọc Anh
—nn-——S—_
|——————EằẦ-—
6. Chế độ Timer và cờ trần.....................................-..-----.rrrririiiririrrrirdriiiriiiirimiriee 29
6ï: 77
'Z+0:30
1. Giới thiệu......
......ÔỎÔ
sn
_
3]
2. Thanh ghi điều khiển port nối tiếp SCON
VI. HOAT DONG NGAT
33
_
svn
33
re
1. Tổ chức ngắt. . . . . . . . . . . . . . . . . . .
33
secon
a. Cho phép và cấm ngắt
31
31
b. Uu tién ngdtt..
34
c. Hỏi vòng tuần tự.............................-eceeeereerree
34
34
;
2. Các cờ ngắt......................................eersreeree
35
sete
3. Ngắt do port nối tiếp......................................
36
CHƯƠNG II: GIAO TIEP VAT Ls
36
_
I. TONG QUAN...
a
¬
II. MƠ TRƯỜNG TRUYỀN
van
1. Cáp kim loại
36
37
2. Cáp quang......................................-e-ceerririiiiiirirrriiiiirirrrrirke
we
3. Đường truyền vô tuyến...................................
Hee
37
Snnnrrmrre 38
HI. SỰ SUY HAO VÀ MÉO DẠNG TÍN HIỆU.............................22.......----ce 38
trlmrritereri
....--trimtntitiiTl
.......
10 .n.HlmiiiHrim
.......
HH...
1. Sự suy haO..................
2. Giới hạn băng thơng...............................
"-........ƠƠ1ƠỎƠ 38
3. Sự biến dạng do trễ pha....................................---eeerrirrrrririririerirrriirriirriimrmrr 38
HH
4. Sự can nhiễu
ke
seceuseesesvnssessuneenivasseeuneseenasases 39
.2.-22tt
........rirreiiraooo.
me... mrrrrrrrrrrri
TV. CÁC LOẠI TÍN HIỆU............................
1. Chuẩn V.28..........
a
SVTH : Nguyén Phat Dat
¬
"
DD
sessessesessosseususssensssesesssussnsonsnesse
Trang 4
GVHD : Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
2. Dòng 20mA......................................... cai
”a:. 27V
an n
......111 kh HhHHhn..esrrrersed 41
V. CHUẨN GIAO TIẾP NỐI TIẾP RS-232.......
„4Ì
1. Giới thiệu chuẩn RS-232
41
2. Chuẩn giao tiếp RS-232C
43
a. Vai nét co ban về cổng nối tiếp
43
b. Đặc điểm kỹ thuật của RS-232C............
45
3. Giao tiếp RS-232 với TTL
45
4. Kết nối RS-232 với các thiết bị......
46
VI. GIỚI THIỆU CÁC IC TRUYỀN TÍN HIỆU
47
1.MAX232
47
2. DS75176B ( RS485)
47
CHUONG IIL.
GIAO TIẾP KẾT NỐI SỐ LIÊỤ,..............................................---c-s
I. CÁC KHÁI NIỆM CƠ BẢN.................................
1. Các chế độ thơng tin
2. Các chế độ truyền
3. Kiểm sốt lỗi..................................................--see
4. Các hình thức truyền......................................
........e
HH .,..mnrrrirririii
5S ...........
5. Mã truyền................
6. Đơn vị đo lường.
II. THÔNG TIN NỐI TIẾP BẤT ĐỒNG BỘ,....................................
1. Nguyên tắc đồng bộ biL........................................--errrirrrrre
2. Nguyên tắc đồng bộ ký "mm .........ƠỎ
3. Ngun tắc đơng bộ frame...................................--2...r.rrmrriimmiHHmmrrirrreiie 53
„`...
SVTH : Nguyễn Phát Dat
—.—...=.sxsasaẽaẽễẽäsaazờnnn
Trang
5
GVHD : Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
II. THÔNG TIN NỔI TIẾP ĐỒNG BỘ.......................................-2-222..mmmrre 53
................ 53
sen
1. Nguyên tắc đồng bộ biL.....................
2. Nguyên tắc đồng bộ thiên hướng ký tự
H-eneeree
53
Hee
54
3. Nguyên tắc đồng bộ thiên hướng bit...
54
TY. CÁC NGHỊ THỨC TRUYỀN DỮ LIỆU.....................................
54
.
1. Kiểm tra lỗi
55
sass
2. Điều khiển lứu lượng.
PHẲN II: TÍNH TỐN THIẾT KẾ VÀ THỊ CƠNG
`.
8i 8n
.................ố.
. 22th
2. Thiết kế moduÌe. . . . . . . . . . . . . . . . . .
a. Sơ đ
58
secu
A. PHẦN CỨNG....................................
khối
1..711 7... r-1..27. 0..-0.0.100001.11..m10011..1000..000.91E, 59
59
“
“
58
b. Tính tốn thiết kế cho từng khối...................................e-eeeesrnrerrrrririmririiiiiiririrriiiiiee 59
63
c. Sơ đơ ngun lý
64
3. Thiết kế mạch giao tiếp.........
nà
ÿNe,7...1.00B8BẺ8B8886 1111111...
b. Sơ đồ khối
ve
.64
_—...-
c. Sơ đỗ chỉ tiết...................................-.«d. Tính tốn và thiết kế...................................-...-e..e.
64
..64
"
a
65
4. Phương án kết nGL......cscssoscssecscsecsntieememenusunsussnnesmessnesennnsseenensninnersnenenasenanenestanst 65
5. Sơ đồ toàn bộ hệ thống.................................. c1...
66
tri
a. Sơ đồ nguyên Ïý....................................---eererriereHirrrieriirriiirrrriirrirrrirrtiiirimirimrrirtrrtrrirtrre 66
b. Nguyên lý làm 2m8
14
..........Ô
ae
SVTH : Nguyén Phat Dat
Trang 6
LUẬN VĂN TỐT NGHIỆP
B. PHẨNMỀM
GVHD : Th.S Nguyễn Thị Ngọc Anh
68
1. Chương trình điều khiển modute...............
68
2. Chương trình quản lý các module.............
76
KẾT LUẬN
81
TÀI LIỆU THAM KHẢO
82
SVTH : Nguyễn Phát Đạt
LUẬN VĂN TỐT NGHIỆP
GVHD :Th.S Nguyễn Thị Ngọc Anh
a
PHANI:
LY THUYET
SVTH :Nguyén Phat Dat
Trang 8
LUẬN
GVHD
VĂN TỐT NGHIỆP
CHUONGI:
KHAO
:Th.S Nguyễn Thị Ngoc Anh
SAT VI DIEU KHIỂN
AT 89C51
A. GIGI THIEU VE HO MCS - 51
> Dac diém chung
Microcontroller là một mạch tổ hợp bao gồm :
1 bộ vi xử lý, bộ nhớ ROM, RAM,
L/O, các Port, Timet va Clock. Họ vi điều khiển MCS - 51 gồm các IC : pP8031, pP8051
, P8751, uP8951, "P8032, "P8052, nP8752.
Các IC tiêu biểu của họ MCS - 51 được để cập là nP8051 và "P8951. Chúng đều
có các đặc điểm chung sau :
- 128 Bytes RAM nội .
- 4 KBytes ROM.
- 4 Port xuất nhập ƯO 8 bít.
- 2 bộ Timer / Counter 16 bit .
- 1 Port giao tiếp nối tiếp.
- 64 KB khơng gian bộ nhớ chương trình ngồi ( có thể mở rộng lên đến 256 KB ) .
- 64 KB vùng nhớ đữ liệu ngoài ( có thể mở rộng lên đến 256 KB ) .
- Bộ xử lý Boolean ( thao tác trên các bít đơn ).
- 210 vị trí nhớ có thể định vị bit .
- 4 us cho hoạt động nhân hoặc chia .
B. BỘ VI XỬ LÝ AT 89C5I :
AT 89C51 là một bộ vi xử lý 8 bit kiểu CMOS có tính năng hoạt động tốt với 4KB
bộ nhớ EPROM
( bộ nhớ chỉ đọc có thể xố và lập trình được ). Bộ xử lý này được chế
tạo áp dụng công nghệ sản xuất bộ nhớ ổn định dung lượng lớn của hãng ATMEL, tương
thích với chân ra và bộ chỉ thị theo tiêu chuẩn công nghé MCS - 51.
Bộ nhớ Flash cho phép nhớ chương trình cài đặt trong hệ thống hoặc do ngơn ngữ
lập trình có bộ nhớ ổn định theo quy ước. Bằng cách kết hợp một CPU 8 bit đa năng với
bộ nhớ Flash trên cùng một chip đơn thể. AT 8951 trở thành một bộ vi xử lý hoạt động
mạnh, cung cấp một giải pháp hiệu quả về kinh tế và có tính linh hoạt cao trong nhiều
ứng dụng điều khiển liên quan.
SVTH :Nguyễn Phát Đạt
Trang 9
GVHD :Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
INT
INTO
Timerl
TimerO0
SERIAL PORT
Ỷ
vv
RAM |
OTHER
INTERRUPT
CONTROI.
REGISTER
OSCILATOR
BUS
CONTROL
128
*
A
T
+
Ww
“
4KB
TIMERo |«@10
SERIAL
PORT
VO PORT
t
A
—EA
AUF
|ROM | |TIMERI 4T
y
ab E
1
B80
TXD
Pa
|
RXD
PIP2 P3
ADDRESS/DATA
Hình 1.1 : Sơ đồ cấu tạo bên trong của họ MCS - 51
Bảng mô tả sự khác nhau giữa các IC trong họ MCS - 51
Loại | Bộ nhớ ROM | Bộ nhớ RAM | Timer
uP8031
uP8051
OK
4K
uP8032
OK
8K
uP8751 | 4K EPROM
uP8951 | 4K EPROM
pP8052
P8752 | 8 K EPROM
SVTH :Nguyén Phat Dat
128 Bytes
128 Bytes
2
2
128 Bytes
128 Bytes
2
2
256 Bytes
256 Bytes
3
3
256 Bytes
1
3
GVHD
LUẬN VĂN TỐT NGHIỆP
|
:Th.S Nguyén Thi Ngoc Anh
AT 89C51 có đặc tính tiêu chuẩn sau : bộ nhớ Flash 4 KB, bộ nhớ RAM 128 Bytes,
32 đường LO, bộ đếm 16 bit, cấu trúc ngắt hai mức 5 vector, một cổng serial đơi hồn
|
chỉnh, có bộ dao động gắn trên chip và mạch đồng hồ. Hơn nữa, AT 89C51 còn được thiết
|
phần
kế cổng logic tĩnh để hoạt động ở tân số Zero, hỗ trợ hai chế độ lưu nguồn chọn lọc
|
mém. Ché dé nghi ( Idle ) vừa ngắt CPU; vừa cho phép RAM, bộ định thời / bộ đếm, cổng
serial và hệ thống ngắt liên tục làm việc. Chế độ Power Down lưu các nội dung trong
|
RAM
|
nhưng cản trở bộ dao động làm việc, vơ hiệu hóa các chức năng khác của chip cho
đến khi nhấn RESET phần cứng kế tiếp .
|
1. SƠ ĐỒ CHAN
8951 có tất cả 40 chân, chức năng như các đường xuất nhập. Trong đó 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ỉ.
|
|
|
|
H— 2|
o—34
o—44
+—
H—Ê|
o—L}
H—`
nA]
P1.0
P11
p42
p43
P14
P15
P16
p.7
nor
n—10Ìp3o/RXD
—LL| p3.1/1XD
p12) 53 20NT0
p13 B3°3/INTI
p14} 53 4/T0
D—13Ì P3.5/T1
—18' P3.6ANR
d— 1“ P3.7/RD
n—‡8}XTAL2
TẤT XTALT
GND
VCC 40
PO.0/ADG
POV/AD Peo
PO.2/ADF
PO 3/ADG
P0.4/AD4-22-g
P0 5/ADđ+-sg
PO.6/ADQ
PO.7/ADP
EAMPRR ao
ALE/PROd-si-n
PSENL2—n
P27/A13 22H
P2 6/A14- 2a
P2 5/A14 20-0
P2 4/A14-22—0
P23/A1+ 20
P2 2/A1đ 2-0
P2.1/A4-220
P2.0/A8 “Ta
AT89C51
Hinh 1.2
SVTH :Nguyén Phat Dat
GVHD :Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
Il. CHUC NANG CUA CAC CHAN:
1.Cac Port :
> Port 0
Bao gồm các chân từ 32 đến 39 ( P0.0 + P0.7 ). Đây là Port có hai chức năng :
- Sử dụng bộ nhớ nội: là Port ƯO thông dụng, dùng trong các thiết kế cỡ nhỏ (
không dùng bộ nhớ mở rộng ) .
- Sử dụng bộ nhớ ngoài: là Bus phân kênh Address / Data Bus đối với thiết kế lớn .
Chú ý: khi thiết kế Port 0 thì phải có điện trở kéo lên .
> Port 1
Đây là Port /O trên các chân 1 + 8 ( P1.0 + P1.7 ) . Port này chỉ có một chức năng
duy nhất là dùng để giao tiếp LO. Đối với „P8032 / uP8052 còn sử dụng P1.0 như ngõ
vào điều khiển Timer 2 .
> Port 2
Đây là Port có cơng dụng kép trên các chân 21 + 28 ( P2.0 + P2.7 ), được dùng như
các đường xuất nhập là Bytes cao của Bus địa chỉ đối với các thiết kế dùng bộ nhớ mở
rong .
> Port 3
Đây là Port có 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ó liên hệ với các đặc tính đặc biệt của 8951
như bảng sau :
Bit
P20 |
Tén
RXD
Chức năng chuyển đổi
Dữ liệu nhận cho Port nối tiếp
P3.2 |
INTO
Ngõ vào ngắt ngoài 0
P31 |
P3.3
P3.4
P3.5
JNTI
T0
Tl
P3.7
RD
P3.6
Dữ liệu phát cho Port nối tiếp
TXD
WR
Ngõ vào ngắt ngồi Í
Ngõ vào của Timet / Counter 0
Ngõ vào của Timet / Counter 1
| Tín hiệu ghi dữ liệu lên bộ nhớ ngồi
Tín hiệu đọc bộ nhớ dữ liệu ngồi
2. Các ngõ tín hiệu điều khiển
> Ngõ tín hiệu PSEN ( Program Store Enable )
PSEN
là tín hiệu ngõ ra ở 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, thường được nối đến chân OE ( Output Enable ) cia EPROM dé
cho phép đọc các byte mã lệnh.
PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh. Các mã lệnh của
chương trình được đọc từ EPROM
eg
SVTH :Nguyén Phat Dat
qua Bus dữ liệu và được chốt vào thanh ghi lệnh bên
Trang 12
LUẬN VĂN TỐT NGHIỆP
GVHD :Th.S Nguyễn Thị Ngọc Anh
----—>>>>>am——=
———————TmmyTmTmmmTmrmrr———---r
trong 8951 để giải mã lệnh. Khi 8951 thực thi chương trình trong ROM
mức logic Ì.
nội thì PSEN ở
> Ngõ tín hiệu điều khiển ALE / PROG ( Address Latch Enable)
Khi 8951 truy xuất bộ nhớ bên ngồi, Port 0 có chức năng là Bus đữ liệu và Bus địa
chỉ. Do đó, phải tách các đường địa chỉ và dữ liệu. Tín hiệu ra ALE ở chân thứ 30 dùng
làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và đữ liệu khi kết nối chúng với
IC chốt.
Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian nửa chu kỳ đầu Port 0
đóng vai trị là byte thấp của Bus địa chỉ, nên việc chốt địa chỉ là hồn tồn tự động. Sau
đó các đường Port 0 dùng để xuất / nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ.
®
]
>
^
.
Các xung tín hiệu ALE có tốc độ bằng ~6 lần tần số dao động trên chip, và có thể
dùng làm tín hiệu Clock cho các phần khác của hệ thống. Ngoại trừ khi thi hành lệnh
MOVX thì một xung ALE sẽ mất. Chân ALE được dùng làm ngõ vào xung lập trình cho
‘EPROM trong 8951.
> Ngõ tín hiệu E4 / VPP ( External Access)
-Tín hiệu vào E4 ở chân 31 thường được mắc lên mức cao ( +5V ) hoặc xuống
mức thấp ( GND ).
- Nếu mắc ở mức cao thì 8951 sẽ thi hành chương trình từ ROM nội.
- Nếu ở mức thấp thì 8951 sẽ thực thi chương trình từ bộ nhớ mở rộng.
Chân #44 còn được dùng làm chân cấp nguồn 12 V khi lập trình cho EPROM trong
8951.
> Ngõ tín hiệu RST ( Reset )
Ngõ vào RŠST 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 ( ít nhất là hai 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. Khi cấp điện, mạch tự động Reset.
> Các ngõ vào dao động XTAL1 , XTAL2
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. Tần số thạch anh thông thudng 14 12 MHz.
> Các chân nguồn
8951 vận hành với nguồn đơn +5 V. Vcc nối vào chân 40 và Vạ; ( GND ) nối vào
chân 20.
SVTH :Nguyễn Phát Đạt
l
Trang 13
GVHD :Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
II. TỔ CHỨC BÊN TRONG VI ĐIỀU KHIỂN:
1. Tổ chức bộ nhớ :
FFFF
FF
00
On — Chip
Memory
0000
FFFF
CODE
Memory
DATA
Memory
Enable
via
PSEN
Enable
via RD &
WR
0000
Hinh 4.3 : External Memory
Bộ nhớ 8951 theo cấu trúc Harvard : có những vùng bộ nhớ riêng biệt cho chương
trình va đữ liệu , chúng có thể mở rộng bằng các thanh phan ngồi lên đến tối đa 64 KB
bộ nhớ chương trình và 64 KB bộ nhớ dữ liệu .
Bộ nhớ bên trong bao gồm EPROM và RAM trên chip . 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 chức năng đặc biệt .
Có hai đặc tính cần chú ý :
Các thanh ghi trong Port xuất nhập đã được xếp trong bộ nhớ và có thể 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 như trong các bộ vi xử
lý khác .
i
SVTH :Nguyén Phat Dat
ee
Trang
14
GVHD :Th.S Nguyén Thi Ngoc Anh
LUAN VAN TOT NGHIEP
>
Bảng tóm tắt các vùng nhớ 6951
Địa
Địa
chỉ
chỉ
7F
F0
PREARBRRS
RAM da dung
7F
77
6F
67
SF
57
7E
76
6E
66
5E
56
7D
29
28
27
26
25
24
23
22
21
20
1F
18
17
10
OF
08
07
00
4F
4E
46
3E
36
2E
26
4D
1E
1D
16
OE
15
0D
06
05
47
3F
37
2F
27
1F
17
OF
07
75
6D
65
5D
55
7C
74
6C
64
5C
7B
73
6B
63
5B
53
7À
72
6A
62
SA
52
79
7
69
61
59
51
78
70
68
60
58
50
4C
4A
49
42
41
3A
32
2A
22
1A
39
31
29
21
19
48
40
38
30
28
20
18
12
11
10
0A
02
09
01
08
00
54
45
44
3D
35
3C
34
2C
24
1C
4B
43
3B
33
2B
23
1B
14
13
0C
04
0B
03
2D
25
Bank 3
Bank 2
Bank 1
Bank thanh ghi 0
( mặc định cho R0 — R7 )
RAM
Dia chi bit
byte
Dia chi bit
byte
F7 | F6| F5 | F4 | F3] F2 | Fi
E6|E5 | E4 | E3| E2 | Bl
E0
E7
E0
ACC
D0
D7 | Dó| Ds | D4 | D3| D2 | DI| D0
PSW
B8
BC|BB| BA | B9
B8
B0
B7 | Bó| B5 | B4 | B3| B2 | B1
BO
|
AA |A9
|AC|AB
A8
A8
AF |
A0
A7
A6
|A5
|A4|A3|LA2
1A
1
P3
P2
A0
99
98
Không được địa chỉ hóa bit
9F | 9E] 9D | 9C [ 9B] 9A | 99| 98
SBUF
SCON
90
97 | 96] 95 | 94 | 93| 92 | 91| 90
PI
Khơng được địa chỉ hóa bít
Khơng được địa chỉ hóa bịt
Khơng được địa chỉ hóa bít
THỊ
8D
8C
8B
8A
89
88
87
83
82
81
80
THO
Khơng được địa chỉ hóa bit
TLO
TMOD
TCON
PCON
Khơng được địa chỉ hóa bịt
DPH
Khơng được địa chỉ hóa bịt
Khơng được địa chỉ hóa bịt
§F |8E| 8D | 8C |8B] 8A | 89
88
DPL
SP
Không được địa chỉ hóa bit
Khơng được địa chỉ hóa bịt
87 | 86| 85 | 84 | 83| 82 | 81|80
PO
Các thanh ghi chức năng đặc biệt
m
———>
SVTH :Nguyễn Phát Đạt
FO
Trang
15
GVHD :Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
Chi tiết về RAM nội trên chịp :
- Các Bank thanh ghi ( 00H + 1FH ).
- RAM địa chỉ hóa từng bịt ( 20H + 2FH ).
- RAM da dung ( 30H + 7FH ).
- CAc thanh ghi chifc nang dac biét ( 80H + FFH) .
> RAM da dung
Moi dia chỉ trong vùng RAM đa dụng đều có thể truy xuất tự do, dùng kiểu truy
xuất địa chỉ trực tiếp hay gián tiếp .
32
Trong bảng tóm tắt trên, 80 bytes đa dụng chiếm các địa chỉ từ 30H đến 7FH,
tự ( mặc dù các địa
bytes bên dưới từ 00H đến 1FH cũng có thể dùng với mục đích tương
chỉ này đã có mục đích khác ) .
> RAM có thể truy xuất từng bit
byte có địa chỉ
8951 chứa 210 bit được địa chỉ hóa, trong đó có 128 bịt có chứa các
biệt .
từ 20H đến 2FH và các bit còn lại chứa trong nhóm thanh ghi có chức năng đặc
Ý tưởng truy xuất từng bit bằng
phẩn
mềm
là các đặc tính mạnh
của
một lệnh đơn. Đa số
microcontroller xử lý chung. Các bịt có thé dat, x6a, AND, OR, ... với
được mục đích
các microcontroller xử lý đòi hỏi một chuỗi lệnh đọc - sửa - ghi để đạt
tương tự . Ngoài ra, các Port cũng có thể truy xuất được từng bit.
128 bit truy xuất từng bit này cũng có thể truy xuất như các byte hoặc như các bit
phụ thuộc vào lệnh được dùng .
>
Các Bank thanh ghỉ
Bộ lénh 8951 hỗ
32 bytes thấp của bộ nhớ nội được dành cho các Bank thanh ghi.
hệ thống, các
trợ 8 thanh ghi có tên là RO, RI,..., R7 và theo mặc định sau khi Reset
thanh ghi này có địa chi là OOH, 01H, ..., 07H.
các
Các lệnh dùng cho các thanh ghi R0 đến R7 sẽ ngắn hơn và nhanh hơn so với
lệnh có chức năng tương ứng dùng kiểu địa chỉ trực tiếp. Nếu các dữ liệu được dùng
thường xuyên thì nên dùng một rong các thanh ghi nay.
được truy
Do có 4 Bank thanh ghi, nên tại một thời điểm chỉ có một Bank thanh ghi
ta
xuất bởi các thanh ghi R0 đến R7. Để chuyển đổi việc truy xuất các Bank thanh ghi,
phải thay đổi các bit chọn Bank trong thanh ghi trạng thái .
> Các thanh ghỉ có 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 .
RAM
Các thanh ghi trong 8951 đã định dạng được xem như là một phần của
trên
và
chip. Vì vậy, mỗi thanh ghi sẽ có một địa chỉ ( ngoại trừ thanh ghi bộ đếm chương trình
đến R7,
thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp ). Cũng như R0
) ở vùng
8951 có 21 thanh ghi có chức năng đặc biệt ( SFR : Special Function Register
trên của RAM nội từ địa chỉ S0H đến FFH .
thanh
Lưu ý :tất cả 128 địa chỉ từ 80H đến FFH khơng được định nghĩa, chỉ có 21
ghi có chức năng đặc biệt SFR có thể địa chỉ hóa từng bít hoặc từng byte .
SVTH :Nguyễn Phát Đạt
Trang
16
GVHD :Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
> Thanh chi trang thái chương trinh PSW( Program Status Word ):
Bit
|
|
|
psw.7|
|
psw.6|
PSW.5|
|
Dia chi
Chức năng
CY |
D7H
Cờ nhớ
F0
D5H
Ky
hiệu
AC
PSW.4|
RSI
PSW.3 |}
RSO
D6H
Cờ nhớ phụ
D4H
Register Bank Select 1
D3H
Cờ 0
Register Bank Select 0
00 = Bank 0 ; address 00H +
07H
01 = Bank 1 ; address 08H +
0FH
10 = Bank 2 ; address 10H +
17H
11 = Bank 3 ; address 18H +
1FH
PSW.2
OV
D2H
Cờ tràn
PSW.1
-
DIH
Dự trữ ( Reserved )
PSW.0
P
DOH
Cd Parity chấn
Trong đó :
xem như
CY : cờ nhớ thường dùng cho các lệnh số học. Ngồi ra, nó cịn được
thanh ghi 1 bịt cho các lệnh luận lý thi hành trên bịt.
C =1: có mượn ( đối với phép trừ ); có tràn ( đối với phép cộng ) .
C =0: khơng có mượn ( đối với phép trừ ); khơng có tràn ( đối với phép cộng) .
cờ AC
AC ( Auxiliary Carry Flag ): cờ nhớ phụ được sử dụng khi cộng các số BCD,
được set nếu kết quả 4 bit thấp nằm trong phạm vi điều khiển 0AH + 0FH .
F0 ( Flag 0 ): cờ đa dụng được đùng cho các ứng dụng của người dùng .
Các bit chọn Bank thanh ghi truy xuất :
|
- RS0 và RS1 quyết định dãy thanh ghi tích cực. Chúng được xố sau khi reset hệ
thống và được thay đổi bởi phần mềm khi cần thiết .
là Bank
- Tùy theo RS1 RSO =00, 01, 10, 11 sẽ được chọn Bank tích cực tương ứng
0, Bank 1, Bank 2, Bank 3 .
SVTH :Nguyễn Phát Đạt
Trang
17
LUẬN VĂN TỐT NGHIỆP
OV
GVHD :Th.S Nguyễn Thị Ngọc Anh
trừ nếu có sự
( Overlow flag ): cờ tràn được set sau một hoạt động cộng hoặc
kiểm tra
trần toán học. Khi các số có dấu được cộng hoặc trừ với nhau, phần mềm có thể
khơng
bit này để xác định xem kết quả có nằm trong tầm xác định hay khơng ? Khi các số
hơn — 128 thì
dấu được cộng thì bit OV được bổ qua. Các kết quả lớn hơn +127 hoặc nhỏ
bit OV sẽ là 1.
lập
P ( Evev Parity Flag ) :bit tự động được Set hay Clear ở mỗi chu kỳ máy để
luôn
Parity chấn với thanh ghi A. Việc đếm các bit 1 trong thanh ghi A cộng với bịt Parity
ln là số chắn .
Ví dụ : Với chuỗi 10100011 thì P= 1.
Bit Parity thường được dùng trong sự kết hợp với những thủ tục của Port nối tiếp để
tạo ra bit Parity trước khi phát đi hoặc kiểm tra bit Parity sau khi thu .
.
> Thanh ghỉ A (ACC) : là thanh ghi tích ở địa chỉ EOH, được địa chỉ hóa từng bịt
> Thanh ghi B: là thanh ghỉ đệm đa dụng ở địa chỉ F0H, được địa chỉ hóa từng bịt .
Nó được dùng cùng với thanh ghi A trong các phép toán nhân, chia .
- Đối với phép nhân: lệnh MUL AB sau khi được thi hành, sẽ trả về kết quả 16 bịt
với byte cao đặt vào A ( 8 bít ), cịn byte thấp thì đặt vào B ( 8 bít ) .
- Đối với phép chia: lệnh DIV AB sau khi được thi hành, sẽ trả về kết quả với
thương số đặt vào A (8
bit ), cịn số dư thì đặt vào B ( 8 bít ).
chỉ 81H. Nó
> Con trỏ ngăn xếp SP ( Stack Poirter ): là một thanh ghi 8 bit ở địa
chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh ngăn xếp . Các lệnh trên ngăn xếp bao
( POP )
gồm các lệnh cất dữ liệu vào ngăn xếp ( PUSH ), và lấy dữ liệu ra khỏi ngăn xếp
ra khỏi
. Lệnh cất đữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, và lệnh lấy
ngăn xếp sẽ làm giảm SP. Ngăn xếp được lưu giữ trong RAM nội và 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 byte đầu của 8951 .
đùng:
- Để khởi động SP với ngăn xếp bắt đầu tại địa chỉ 60H, các lệnh sau đây được
MOV SP,
#5F
- Với lệnh trên thì ngăn xếp của 8951 chi c6 32 byte vi địa chỉ cao nhất của RAM
byte
trên chip là 7FH. Sở đĩ giá trị 5FH được nạp vào SP ví SP tăng lên 60H trước khi cất
dữ liệu .
- Khi Reset 8951, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ được
cất vào ô nhớ ngăn xếp có địa chỉ 08H. Nếu phần mềm ứng dụng khơng khởi động SP
RAM
một giá trị mới thì bank thanh ghi 1 có thể cả 2 và 3 sẽ khơng dùng được vì vùng
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 các lệnh PUSH
và POP để lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương
a
SVTH :Nguyễn Phát Đạt
Trang 18
LUẬN VĂN TỐT NGHIỆP
————
GVHD :Th.S Nguyễn Thị Ngọc Anh
TT TTmymmTTETETTTTEEmmm>———>>—>n--nennm
trình con ( ACALL, LCALL ) và các lệnh trở về ( RET, RETD để lưu trữ giá trị của bộ
đếm chương trình khi bắt đầu thực hiện chương trình con và lấy lại khi kết thúc chương
trình con ..
> Con trỏ dữ liêu DPTR ( Data Poiuer ): được dùng để truy xuất bộ nhớ ngoài .
DPTR là một thanh ghi 16 bit và được phân ra ở các địa chỉ 82H ( DPL: byte thấp ) và
83H ( DPH : byte cao ). Ba lệnh sau đây ghi 55H vào RAM ngoài ở địa chi 1000H :
MOV A, #55H
MOV DPTR, #1000H
MOV @DPTR, A
Lệnh đầu tiên sử dụng kiểu định địa chỉ tức thời để nạp hằng dữ liệu 55H vào
thanh chứa A. Lệnh thứ hai cũng sử dụng kiểu định địa chỉ tức thời, nạp hằng địa chỉ 16bit 1000H cho con chỏ dữ liệu DPTR. Lệnh thứ ba sử dụng kiểu định địa chỉ gián tiếp di
chuyển giá trị 55H chứa trong thanh ghi A đến RAM ngoài tại địa chỉ chứa trong DPTR(
1000H ).
> Céc thanh
ghi Port ( Port Register ): gsm b6n thanh ghi dugc dia chi hóa từng bịt :
- PO 6 dia chi 80H .
- Pl ở địa chỉ 90H.
- P2 ở địa chỉ A0H.
- P3 ở địa chỉ BOH .
> Cac thanh ghi Timer ( Timer Register ): 8951 có hai bộ Timer / Counter 16 bit
dùng cho việc định thời hay đếm sự kiện .
- Timer 0 : 8AH ( TLO: byte thap ) va 8CH ( THO).
- Timer 1 : 8BH ( TLI : byte thấp ) và 8DH ( THỊ ).
Việc vận hành Timer được Set bởi thanh ghi khởi động TMOD ( 89H ) và thanh ghi
điều khiển TCON ( 88H ). Chỉ có thanh ghi TCON được địa chỉ hóa từng bịt .
> Các thanh
ghỉ Port nối tiếp (_ Serial Port Register ): 8951
chứa một Port nối tiếp
để trao đổi thông tin với các thiết bị viễn thông hoặc các IC giao tiếp nối tiếp. Một thanh
ghi đệm dữ liệu nối tiếp SBUF ( 99H ) sẽ giữ cả hai dữ liệu truyền và đữ liệu nhập . Khi
truyền đữ liệu thì ghi lên SBUF, 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 6 dia chi 98H .
> Các thanh ghi ngắt ( Ierrupt Register) : 8951 có 5 nguồn ngắt, trong đó có hai
- mức ưu tiên . Các ngất bị cấm sau khi Reset hệ thống và sẽ cho phép ngắt bởi thanh ghỉ
IE ( A8H ) , cdc thanh ghi này được địa chỉ hóa .
SVTH :Nguyễn Phát Đạt
Trang
19
Nguyễn Thị Ngọc Anh
GVHD :Th.Seee
LUẬN VĂN TỐT NGHIỆP
> Thanh ghi diéu khién nguon PCON ( Power Control Register) :
Thanh ghi PCON ( 87H ) chứa nhiều bit điều khiển được tóm tắt như sau :
Bit]
Ký
Ý nghĩa
hiệu
7 | SMOD |
6
5
4
3
GEFl
2
GFO
1
PD
0 |
IDL
Bit tăng tốc độ Baud , nế được Set thì tốc độ Baud tăng
gấp đôi trong các mode 1, 2, 3
Không
Không
Không
Bit cd
định nghĩa
định nghĩa
định nghĩa
đa năng Í
Bit cd da nang 0
| Set để khởi động mode giảm công suất ( Power Down ) ,
chỉ thoát khi Reset hệ thống
Set để khởi động mode chờ ( IDLE ) và thoát khi ngắt
mach hoac reset
Các bit điều khiển Power Down và IDLE có tác dụng chính trong tất cả các IC họ
MSC - 51, nhưng chỉ được thi hành trong sự biên dịch của CMOS .
2. Bộ nhớ ngoài ( external memory ) :
AT 8951 có khả năng mở rộng bộ nhớ đến 64K byte bộ nhớ chương trình và 64K
byte bộ nhớ đữ liệu ngồi. Do đó có thể dùng thêm RAM và ROM nếu cần .
Khi dùng bộ nhớ ngoài, Port0 khơng cịn chức năng I/O nữa . Nó được kết hợp giữa
bus địa chỉ ( A0 — A7 ) và bus dữ liệu ( D0 ~- D7 ) với tín hiệu ALE để chốt byte của bus
địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ. Port được cho là byte cao của bus địa chỉ
> Truy Xuất bô nhớ chương trình ngồi :
_ Bộ nhớ chương trình ngồi là bộ nhớ ROM được cho phép của tín hiệu PSEN. Sự
kết nối phần cứng của bộ nhớ EPROM như sau :
SVTH :Nguyễn Phát Đạt
Trang 20
GVHD :Th.S Nguyễn Thị Ngọc Anh
LUẬN VĂN TỐT NGHIỆP
a
l7
Port 0).
!
EA
Ni
`_D0
"
|
Đ
8951
24HC373
D
i
:
ALE
:Ð7
“
Q
À.
⁄
A0 +A7
G
EPROM.
A8 +A12
>»
Port 2 |
«| OE
PSENb_——
-Trong một chu kỳ máy tiêu biểu, tín hiệu ALE tích 2 lần, Lần thứ nhất cho phép
74HC373 mở cổng chốt địa chỉ byte thấp, khi ALE xuống 0 thì byte thấp và byte cao cua
bộ đếm chương trình đều có nhưng EPROM chưa xuất vì PSEN chưa tích cực, khi tín hiệu
lên 1 trở lại thì port0 đã có dữ liệu là Opcode. ALE tích cực lần thứ hai được giải thích
tương tự và byte được đọc từ bộ nhớ chương trình. Nếu lệnh đang hiện hành là lệnh 1 byte
thì CPU chỉ đọc Opcode, còn byte thứ hai bỏ di .
> Truy xuất bộ nhớ dữ liêu ngoài ( Accessig External Data Memory ) :
- Bộ nhớ đữ liệu ngoài là một bộ nhớ RAM đựơc đọc hoặc ghi khi được cho phép
của tín hiệu RD và WR. Hai tín hiệu này nằm ở chân P3.7 ( RD ) và P3.6 ( WR ). Lệnh
MOVX
được
dùngđể
truy xuất bộ
nhớ
dữ liệu ngoài
và
dùng bộ
đệm
dif liéu
(DPTR), R0 hoặc R1 như là một thanh ghi địa chỉ.
- Các RAM có thể giao tiếp với 8951 tương tự cáhc thức như EPROM
16 bit
ngoại trừ
chân RD của 8951 nối với chân OE ( Output Enable ) của RAM và chân WR của 8951 nối
với chân WE
EPROM .
> Su
của RAM.
Sự nối các bus địa chỉ và dữ liệu tương tự như cách nối của
giải mã địa chỉ (Address Decodin
- Sự giải mã địa chỉ là một yêu cầu tất yếu để chọn EPROM, RAM,.....Sự giải mã
địa chỉ đối với 8951 để chọn các vùng nhớ ngoài như các vi điều khiển .Nếu các con
EPROM hoặc RAM 8K được dùng thì các bus địa chỉ phải d8ược giải mã để chọn các IC
nhớ nằm trong phạm vi giới hạn 8K: 0000H-1FFFH, 2000H-3FFFH...
- Một cách cụ thể, IC giải mã 74HC138 được dùng với những ngõ ra của nó được
nối với những ngõ vào chọn chip CS (Chip Selet) trên những IC nhớ EPROM,RAM,...Hình
sau đây cho phép kết nối nhiều EPROM và RAM.
THỨ VIỆN.
sé luca
eas
|