Tải bản đầy đủ (.doc) (87 trang)

Thiết kế mạch đếm sản phẩm dùng vi điều khiển 8051.DOC

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 (397.29 KB, 87 trang )

Luận văn tốt nghiệp Trang 1
PHẦN I LÝ THUYẾT
CHƯƠNG I DẪN NHẬP
I. ĐẶT VẤN ĐỀ:
Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điện
tử màtrong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lónh vực khoa học kỹ
thuật, quản lí, công nghiệp tự động hóa, cung cấp thông tin…. do đó chúng ta phải nắm
bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa
học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử nói riêng.
Xuất phát từ những đợt đi thực tập tốt nghiệp tại nhà máy và tham quan các
doanh nghiệp sản xuất, chúng em đã được thấy nhiều khâu được tự động hóa trong quá
trình sản xuất. Một trong những khâu đơn giản trong dây chuyền sản xuất tự động hóa
đó là số lượng sản phẩm làm ra được đếm một cách tự động.
Tuy nhiên đối với những doanh nghiệp vừa và nhỏ thì việc tự động hóa hoàn toàn
chưa được áp dụng trong những khâu đếm sản phẩm, đóng bao bì mà vẫn còn sử dụng
nhân công.
Từ những điều đã được thấy đó và khả năng của chúng em, chúng em muốn làm
một điều gì nhỏ để góp phần vào giúp người lao động bớt phần mệt nhọc chân tay mà
cho phép tăng hiệu suất lao động lên gấp nhiều lần, đồng thời đảm bảo được độ chính
xác cao. Nên chúng em quyết đònh thiết kế một mạch đếm sản phẩm vì nó rất gần gũi
với thực tế và nó thật sự rất có ý nghóa đối với chúng em vì đã làm được một phần nhỏ
đóng góp cho xã hội.
Để làm được mạch này cần thiết kế được hai phần chính là: bộ phận cảm biến và
bộ phận đếm.
* Bộ phận cảm biến: gồm phần phát và phần thu. Thông thường người ta sử dụng
phần phát là led hồng ngoại để phát ra ánh sáng hồng ngoại mục đích để chống nhiễu
so với các loại ánh sáng khác, còn phần thu là transistor quang để thu ánh sáng hồng
ngoại.
* Bộ phận đếm có nhiều phương pháp thực thi đó la:ø
-Lắp mạch dùng kỹ thuật số với các IC đếm, chốt, so sánh ghép lại
-Lắp mạch dùng kỹ thuật vi xử lí


-Lắp mạch dùng kỹ thuật vi điều khiển
II. CHỌN PHƯƠNG ÁN THIẾT KẾ:
1. Với mạch đếm sản phẩm dùng IC rời có:
Các ưu điểm sau:
-Cho phép tăng hiệu suất lao động
-Đảm bảo độ chính xác cao
-Tần số đáp ứng của mạch nhanh, cho phép đếm với tần số cao
-Khoảng cách đặt phần phát và phần thu xa nhau cho phép đếm những sản phẩm
lớn.
-Tổn hao công suất bé, mạch có thể sử dụng pin hoặc accu
-Khả năng đếm rộng
-Giá thành hạ
-Mạch đơn giản dễ thực hiện
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 2
Với việc sử dụng kỹ thuật số khó có thể đáp ứng được việc thay đổi số đếm.
Muốn thay đổi một yêu cầu nào đó của mạch thì buộc lòng phải thay đổi phần cứng.Do
đó mỗi lần phải lắp lại mạch dẫn đến tốn kém về kinh tế mà nhiều khi yêu cầu đó
không thực hiện được bằng phương pháp này.
Với sự phát triển mạnh của nghành kỹ thuật số đặc biệt là cho ra đời các họ vi xử
lí và vi điều khiển rất đa chức năng do đó việc dùng kỹ thuật vi xử lí, kỹ thuật vi điều
khiển đã giải quyết những bế tắc và kinh tế hơn mà phương pháp dùng IC rời kết nối
lại không thực hiện được.
2. Với mạch đếm sản phẩm dùng kỹ thuật vi xử lí:
Ngoài những ưu điểm như đã liệt kê trong phương pháp dùng IC rời thì mạch
đếm sản phẩm dùng kỹ thuật vi xử lí còn có những ưu điểm sau:
-Mạch có thể thay đổi số đếm một cách linh hoạt bằng việc thay đổi phần mềm,
trong khi đó phần cứng không cần thay đổi mà mạch dùng IC rời không thể thực hiện
được mà nếu có thể thực hiện được thì cũng cứng nhắc mà người công nhân cũng khó
tiếp cận, dễ nhầm.

- Số linh kiện sử dụng trong mạch ít hơn.
-Mạch đơn giản hơn so với mạch đếm sản phẩm dùng IC rời và có phần cài đặt
số đếm ban đầu
-Mạch có thể lưu lại số liệu của các ca sản xuất
-Mạch có thể điều khiển đếm được nhiều dây chuyền sản xuất cùng lúc bằng
phần mềm
-Mạch cũng có thể kết nối giao tiếp được với máy tính thích hợp cho những người
quản lí tại phòng kỹ thuật nắm bắt được tình hình sản xuất qua màn hình của máy vi
tính.
Nhưng trong thiết kế người ta thường chọn phương pháp tối ưu nhưng kinh tế do
đó chúng em chọn phương pháp đếm sản phẩm dùng kỹ thuật vi điều khiển
3. Phương pháp đếm sản phẩm dùng vi điều khiển:
Ngoài những ưu điểm có được của hai phương pháp trên, phương pháp này còn có
những ưu điểm :
-Trong mạch có thể sử dụng ngay bộ nhớ trong đối với những chương trình có quy
mô nhỏ, rất tiện lợi mà vi xử lí không thực hiện được.
-Nó có thể giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lí cũng giao tiếp
được với máy tính nhưng là giao tiếp song song nên cần có linh kiện chuyển đổi dữ
liệu từ song song sang nối tiếp để giao tiếp với máy tính.
III. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI:
Trong đồ án này chúng em thực hiện mạch đếm sản phẩm bằng phương pháp
đếm xung. Như vậy mỗi sản phẩm đi qua trên băng chuyền phải có một thiết bò để
cảm nhận sản phẩm, thiết bò này gọi là cảm biến. Khi một sản phẩm đi qua cảm biến
sẽ nhận và tạo ra một xung điện đưa về khối xử lí để tăng dần số đếm. Tại một thời
điểm tức thời, để xác đònh được số đếm cần phải có bộ phận hiển thò. Tuy nhiên mỗi
khu vực sản xuất hay mỗi ca sản xuất lại yêu cầu với số đếm khác nhau vì thế phải có
sự linh hoạt trong việc chuyển đổi số đếm. Bộ phận chuyển đổi trực quan nhất là bàn
phím. Khi cần thay đổi số đếm người sử dụng chỉ cần nhập số đếm ban đầu vào và
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 3

mạch sẽ tự động đếm. Khi số sản phẩm được đếm bằng với số đếm ban đầu thì mạch
sẽ tự động dừng. Từ đây suy ra mục đích yêu cầu của đề tài:
-Số đếm phải chính xác, và thay đổi việc cài đặt số đếm ban đầu một cách linh
hoạt.
-Bộ phận hiển thò phải rõ ràng
-Mạch điện không quá phức tạp, bảo đảm được sự an toàn,dễ sử dụng.
-Giá thành không quá mắc
IV. GIỚI HẠN CỦA ĐỀ TÀI:
-Các sản phẩm rất đa dạng với nhiều chủng loại: đặc; rỗng, kích cỡ khác nhau.
Nhưng với khả năng của thiết bò lắp thì mạch chỉ có thể đếm đối với sản phẩm có khả
năng che được ánh sáng và có kích thước từ 10cm3 đến 30cm3.
-Đếm số sản phẩm trong một thùng phạm vi thay đổi từ 2 ( 999. Còn số thùng sản
phẩm phạm vi thay đổi từ 1(9999.
-Lưu số sản phẩm, số hộp sau mỗi ca sản xuất và cho phép xem số sản phẩm và
số hộp trong các ca sản xuất.
Từ mục đích yêu cầu của đề tài chúng em đưa ra sơ đồ khối tổng quát của mạch
điện như sau:
V. XÂY DỰNG SƠ ĐỒ KHỐI TỔNG QUÁT:

GVHD Nguyễn Việt Hùng
KHỐI XỬ

CẢM BIẾN BÀN PHÍM
KHỐI HIỂN THỊ
Luận văn tốt nghiệp Trang 4
CHƯƠNG II LÝ THUYẾT THIẾT KẾ
I. CÁC KHỐI TRONG MẠCH ĐIỆN:
1. Cảm biến:
a. Giới thiệu sơ lược về mạch cảm biến:
Để cảm nhận mỗi lần sản phẩm đi qua thì cảm biến phải có phần phát và phần

thu. Phần phát phát ra ánh sáng hồng ngoại và phần thu hấp thụ ánh sáng hồng ngoại vì
ánh sáng hồng ngoại có đặc điểm là ít bò nhiễu so với các loại ánh sáng khác. Hai bộ
phận phát và thu hoạt động với cùng tần số. Khi có sản phẩm đi qua giữa phần phát và
phần thu, ánh sáng hồng ngoại bò che bộ phận thu sẽ hoạt động với tần số khác tần số
phát như thế tạo ra một xung tác động tới bộ phận xử lí. Vậy bộ phận phát và bộ phận
thu phải có nguồn tạo dao động. Bộ phận dao động tác động tới công tắc đóng ngắt của
nguồn phát và nguồn thu ánh sáng. Có nhiều linh kiện phát và thu ánh sáng hồng ngoại
nhưng chúng em chọn led hồng ngoại và transitor quang là linh kiện phát và thu vì
transistor quang là linh kiện rất nhạy với ánh sáng hồng ngoại. Bộ phận tạo dao động
có thể dùng mạch LC, cổng logic, hoặc IC dao động. Với việc sử dụng IC chuyên dùng
tạo dao động, bộ tạo dao động sẽ trở nên đơn giản hơn với tần số phát và thu
Vì tín hiệu ở ngõ ra trasitor quang rất nhỏ nên cần có mạch khuyếch đại trước khi đưa
đến bộ tạo dao động. Chúng em chọn IC khuếch đại để khuếch đại tín hiệu lên đủ lớn.
Vậy sơ đồ khối của phần phát và phần thu là:

b. Các linh kiện trong mạch cảm biến:
b1. Cấu tạo, nguyên lí hoạt động của led hồng ngoại:
_Led được cấu tạo từ GaAs với vùng cấm có độ rộng là 1.43eV tương ứng bức xạ
900nm. Ngoài ra khi pha tạp Si với nguyên vật liệu GaAlAs, độ rộng vùng cấm có thể
thay đổi. Với cách này, người ta có thể tạo ra dải sóng giữa 800 - 900nm và do đó tạo
ra sự điều hưởng sao cho led hồng ngoại phát ra bước sóng thích hợp nhất cho điểm cực
đại của độ nhạy các bộ thu.
_Hoạt động: khi mối nối p - n được phân cực thuận thì dòng điện qua nối lớn vì sự dẫn
điện là do hạt tải đa số, còn khi mối nối được phân cực nghòch thì chỉ có dòng rỉ do sự
di chuyển của các hạt tải thiểu số. Nhưng khi chiếu sáng vào mối nối, dòng điện nghòch
tăng lên gần như tỷ lệ với quang thông trong lúc dòng thuận không tăng. Đặc tuyến volt
– ampere của led hồng ngoại như sau:




GVHD Nguyễn Việt Hùng
KHỐI
DAO
ĐỘNG
KHỐI
DAO
ĐỘNG
KHUYẾCH
ĐẠI
TRANSITOR
THU
Luận văn tốt nghiệp Trang 5


b2. Photon transistor.
Photon Transistor cũng tương tự như transistor thông thường nhưng chỉ khác ở chỗ
nó không có cực bazơ, thay cho tác dụng khống chế của dòng vào cực bazơ là sự khống
chế của chùm sáng đối với dòng colector của transitor hoặc có cực bazơ, nhưng khống
chế tín hiệu là ánh sáng.
Cấu tạo của transistor quang
_ Ký hiệu và cấu tạo:

_Hình thức bên ngoài của nó khác với transistor thông thường ở chỗ trên vỏ của
có cửa sổ trong suốt cho ánh sáng chiếu vào. Ánh sáng qua cửa sổ này chiếu lên miền
bazơ của transistor. Chuyển tiếp PN emitor được chế tạo như các transistor thông
thường, nhưng chuyển tiếp PN colector, thì do miền bazơ cần được chiếu sáng, cho nên
nó có nhiều hình dạng khác nhau, cũng có dạng hình tròn nằm giữa tâm miền bazơ. Khi
sử dụng transistor quang mắc mạch tương tự như transistor mắc chung emitor (CE).
Chuyển tiếp emitor được phân cực thuận còn chuyển tiếp colector được phân cực
nghòch. Có nghóa là transistor quang được phân cực ở chế độ khuyếch đại.

Dòng điện trong transistor:
Vì nối thu được phân cực nghòch nên có dòng rỉ Ico chạy giữa thu – nền và vì nối nền -
phát được phân cực thuận nên dòng thu là (( + 1)Ico đây là dòng tối của quang
transistor. Khi chiếu ánh sáng vào miền bazơ, trong miền bazơ có sự phát xạ cặp điện
tử lỗ trống làm xuất hiện dòng IL. Do ánh sáng khiến dòng thu trở thành:
Ic = (( + 1) .(Ico + IL)
GVHD Nguyễn Việt Hùng
ϕ = 4
ϕ = 3
ϕ = 2
ϕ = 1
ϕ = 0
U(V)
I(A)
C Cực thu (colecter)
Cực nền
(base) E
Cực phát (emiter)
Ký hiệu Cấu tạo
N P N
B
E
B
C
Luận văn tốt nghiệp Trang 6
Đặc tuyến của transistor quang


Trong đó H là mật độ chiếu sáng (mW/cm2 )
Đặc tuyến của transistor quang cũng giống như đặc tuyến Volt- ampere của

transistor thông thường mắc EC. Điều khác nhau ở đây là các tham số không phải là
dòng Ib mà là lượng chiếu sáng
Đặc tuyến Volt ampere của transistor quang ứng với khoảng Uce nhỏ cũng có thể
gọi là miền bão hòa vì khi ấy do sự tích tụ điện tích có thể coi như chuyển tiếp colector
được phân cực thuận. Cũng tương tự như trong trường hợp transistor thông thøng, độ
dốc đặc tuyến trong miền khuyếch đại.
b3. IC dao động 555
Sơ đồ chân:
Sơ đồ khối bên trong IC 555
GVHD Nguyễn Việt Hùng
U(V)
5 10 15 20 1

I(A)
H = 9
H = 7
H = 5
H = 4
H = 1
8
6
4
2
0
GND V
CC
TRI DIS
OUT THR
RES CN
FLIP

FLOP
OUTPUT
8 6
4
7
13
2
5
Luận văn tốt nghiệp Trang 7
Chức năng của các chân
Đây là vi mạch đònh thời chuyên dùng, có thể mắc thành dạng mạch đơn ổn hay bất ổn.
Điện áp cung cấp từ 3V đến 18V.
Dòng điện ra đến 200mA (loại vi mạch BJT) hay 100mA (loại CMOS).
Chân 1: Nối với masse.
Chân 2: Nhận tín hiệu kích thích (trigger).
Chân 3: Tín hiệu ra (output).
Chân 4: Phục nguyên về trạng thái ban đầu (preset).
Chân 5: Nhận điện áp điều khiển (control voltag).
Chân 6: Mức ngưỡng ( threshold ).
Chân 7: Tạo đường phóng điện cho tụ.
Chân 8: Cấp nguồn Vcc.
* IC khuyếch đại LM 324 ( QUAD OPERATIONAL AMPLIFIER).
LM 324 IC có 4 tầng khuếch đại thuật toán, IC làm việc với loại nguồn đơn.
Độ lợi trên 100dB, tuy nhiên băng thông hẹp hơn LM 3900.
Chú ý: không để ngã ra chạm vào nguồn V+ hay chạm thẳng vào masse, điều này sẽ
làm hư IC.
• IC 567 (TONE DECODER):
IC 567 Bộ giải mã âm sắc.
IC chứa một vòng khóa pha. Khi tần số phù hợp với tần số trung tâm thì chân 8 có mức
áp thấp. Do đó tín hiệu từ transistor qua tầng khuyếch đại đưa đến ngõ vào của IC 567.

Tần số hiện nay được xác lập theo mạch đònh thời R và C hay 1,1((RC). R lấy khoảng
2K đến 20K. 567 có thể tách dò tần số ngã vào từ 0,01Hz đến 500KHz.
Ghi chú: các ngã vào trong mạch lọc thấp qua tính theo (F sẽ được xác đònh bởi n/F0.
Trong đó n trong khoảng 1300 đến 62000. Tụ ngã ra lấy trò số gấp đôi tụ trong mạch
GVHD Nguyễn Việt Hùng
4
1
3
2
1 2 3 4 5 6 7
14 13 12 11 10 9 8
GND
+3 - 30V
+
+
+
+
Ngõ ra
GND
Tụ đònh thời
Điện trở đònh thời
567
8
7
6
5

1

2


3
4

Tụ ngõ ra
Tụ lọc thôngthấp
Ngõvào
+4,75-9,0V
Luận văn tốt nghiệp Trang 8
lọc thấp qua ở ngã vào.
2. Khối xử lí:
Với khối xử lí người ta có thể dùng IC rời hoặc khối vi xử lí. Nếu sử dụng vi xử lí
trong khối xử lý, người ta có thể thiết kế mạch điện giao tiếp được với máy tính nên dễ
dàng cho việc điều khiển từ xa và bằng việc thay đổi phần mềm có thể mở rộng
chương trình điều khiển mạch điện đếm nhiều dây chuyền trong cùng một thời điểm
hay lưu lại các số liệu trong các ca sản xuất, đó là lí do chúng em sử dụng vi xử lí trong
khối xử lí. Cùng với thời gian, con người đã cho ra đời nhiều loại vi xử lí từ 8 bit đến 64
bit với cải tiến ngày càng ưu việt nhưng tùy theo mục đích sử dụng mà vi xử lí 8 bit vẫn
còn tồn tại. Trong đồ án này chúng em sử dụng vi điều khiển 8051. 8051 cũng là vi xử
lí 8 bit nhưng có chứa bộ nhớ bên trong và có thêm 2 bộ đònh thời ngoài ra nó có thể
giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lí 8 bit như 8085 cũng giao tiếp được
với máy tính nhưng là giao tiếp song song nên cần có IC chuyển đổi dữ liệu từ song
song sang nối tiếp để giao tiếp với máy tính. Với bộ nhớ trong 8051 thích hợp cho
những chương trình có quy mô nhỏ,tuy nhiên 8051 có thể kết hợp được với bộ nhớ
ngoài cho chương trình có quy mô lớn. Sau đây là giới thiệu của chúng em về vi điều
khiển 8051:
a. Giới thiệu cấu trúc phần cứng 8051
a1. Sơ đồ chân 8051
8051 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này có đặc điểm
như sau:

- 4k byte ROM,128 byte RAM
- 4 Port I/O 8 bit.
- 2 bộ đếm/ đònh thời 16 bit.
- Giao tiếp nối tiếp.
- 64k byte không gian bộ nhớ chương trình mở rộng.
- 64k byte 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 bít đơn).
- 210 bit được đòa chỉ hóa.
- Bộ nhân / chia 4.
Sơ lược về các chân của 8051:




GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 9
a2. Chức năng của các chân 8051:
Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: 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 IO, đối với
thiết kế lớùn có bộ nhớ mở rộng nó được kết hợp giữa bus đòa chỉ và bus dữ liệu.
Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao tiếp với
thiết bò ngoài nếu cần.
Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một port có tác dụng kép
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 bò
dùng bộ nhớ mở rộng.
Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có tác dụng kép. Các
chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc
tính đặc biệt của 8051 như ở bảng sau :
Bit Tên Chức n
ăng chuyển đổi

P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
INT0\
INT1\
T0
T1
WR\
RD\
Ngõ vào dữ liệu nối tiếp.
Ngõ xuất dữ liệu nối tiếp.
Ngõ vào ngắt cứng thứ 0.
Ngõ vào ngắt cứng thứ 1.
Ngõ vào TIMER/ COUNTER thứ 0.
Ngõ vào của TIMER/ COUNTER thứ 1.
Tín hiệu ghi dữ liệu lên bộ nhớ ngoài.
Tín hiệu đọc bộ nhớ dữ liệu ngoài.
PSEN (Program store enable):
PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng
và thường được nối đến chân OE\ của Eprom cho phép đọc các byte mã lệnh.
PSEN ở mức thấp trong thời gian 8051 lấy lệnh. Các mã lệnh của chương trình
được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 8051 để
GVHD Nguyễn Việt Hùng

Luận văn tốt nghiệp Trang 10
giải mã lệnh. Khi 8051 thi hành chương trình trong ROM nội PSEN ở mức cao.
ALE (Address Latch Enable):
Khi 8051 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus đòa chỉ và dữ
liệu do đó phải tách các đường dữ liệu và đòa chỉ. 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à dữ liệu khi kết nối chúng
với IC chốt.
Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là đòa
chỉ thấp nên chốt đòa chỉ hoàn toàn tự động.
EA\ (External Access): Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1
hoặc mức 0. Nếu ở mức 1, 8051 thi hành chương trình từ ROM nội. Nếu ở mức 0, 8051
thi hành chương trình từ bộ nhớ mở rộng. Chân EA\ được lấy làm chân cấp nguồn 21V
khi lập trình cho Eprom trong 8051.
RST (Reset): Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ máy,
các thanh ghi bên trong được nạp những giá trò thích hợp để khởi động hệ thống. Khi
cấp điện mạch phải tự động reset.
Các ngõ vào bộ dao động X1, X2:
Bộ tạo dao động được tích hợp bên trong 8051. Khi sử dụng 8051, người ta chỉ cần
nối thêm tụ thạch anh và các tụ. Tần số tụ thạch anh thường là 12 Mh
b. Cấu trúc bên trong của 8051
b1. Sơ đồ khối bên trong 8051:

GVHD Nguyễn Việt Hùng
T1
T0
Điều khiển
ngắt
Các thanh
ghi khác
128

byte RAM
MRO nội
Timer
2Timer
1Timer 0
CPU
Oscillator Điều khiển bus
Các port I/O
Port nối tiếp
Port nối tiếp
Timer 0
Timer 1
Timer 2
INT0
INT1
EA
RST
PSEN
ALE
P0 P2 P1 P3
TxD RxD
T2
EX
TE
RN
AL
Luận văn tốt nghiệp Trang 11
b2. Khảo sát các khối nhớ bên trong 8051:
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 12

*Tổ chức bộ nhớ:
GVHD Nguyễn Việt Hùng
7F
RAM ĐA DỤNG
30
2F 7F 7E 7D 7C 7B 7A 79 7
8
2E 77 76 75 74 73 72 71 7
0
2D 6F 6E 6D 6C 6B 6A 69 6
8
2C 67 66 65 64 63 62 61 6
0
2B 5F 5E 5D 5C 5B 5A 59 5
8
2A 57 56 55 54 53 52 51 5
0
29 4F 4E 4D 4C 4B 4A 49 4
8
28 47 46 45 44 43 42 41 4
0
27 3F 3E 3D 3C 3B 3A 39 3
8
26 37 36 35 34 33 32 31 3
0
25 2F 2E 2D 2C 2B 2A 29 2
8
24 27 26 25 24 23 22 21 2
0
23 1F 1E 1D 1C 1B 1A 19 1

8
22 17 16 15 14 13 12 11 1
0
21 0F 0E 0D 0C 0B 0A 09 0
8
20 07 06 05 04 03 02 01 0
0
1F
BANK 3
18
17
BANK 2
10
0F
BANK 1
08
07
Bank thanh ghi 0 ( mặc đònh cho R0-R7)
00
F0 F7 F6 F5 F4 F3 F2 F1 F0
E0 E7 E6 E5 E4 E3 E2 E1 E0
D0 D7 D6 6D 6C 6B 6A 69 68
B8 - - - BC BB BA B9 B8
B0 B7 B6 B5 B4 B3 B2 B1 B0
A8 AF AE AD AC AB AA A9 A8
A0 A7 A6 A5 A4 A3 A2 A1 A0
99 Không có đòa chỉ hóa từng bit
98 9F 9E 9D 9C 9B 9A 99 98
90 97 96 95 94 93 92 91 90
8D Không được đòa chỉ hóa từng bit

8C Không được đòa chỉ hóa từng bit
8B Không được đòa chỉ hóa từng bit
8A Không được đòa chỉ hóa từng bit
89 Không được đòa chỉ hóa từng bit
88 8F 8
E
8D 8C 8B 8A 89 88
87 Không được đòa chỉ hóa từng bit
83 Không được đòa chỉ hóa từng bit
82 Không được đòa chỉ hóa từng bit
81 Không được đòa chỉ hóa từng bit
80 87 86 8
5
84 83 82 81 80
THANH GHI CHỨC NĂNG ĐẶC BIỆT
Luận văn tốt nghiệp Trang 13
Bộ nhớ bên trong 8051 bao gồm ROM và RAM. RAM 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.
8051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chương
trình và dữ liệu. Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng 8051 vẫn có
thể kết nối với 64 k byte bộ nhớ chương trình và 64 k byte bộ nhớ dữ liệu mở rộng.
Ram bên trong 8051 được phân chia như sau:
- Các bank thanh ghi có đòa chỉ từ 00H đến 1Fh.
- Ram đòa chỉ hóa từng bit có đòa chỉ từ 20H đến 2FH.
- Ram đa dụng từ 30H đến 7FH.
- Các thanh ghi chức năng đặc biệt từ 80H đến FFH.
-Ram đa dụng:
Mọi đòa chỉ trong vùng ram đa dụng đều có thể được truy xuất tự do dùng kiểu
đòa chỉ trực tiếp hay gián tiếp. Ví dụ để đọc nội dung ô nhớ ở đòa chỉ 5FH của ram nội

vào thanh ghi tích lũy A : MOV A,5FH.
Hoặc truy xuất dùng cách đòa chỉ gián tiếp qua R0 hay R1. Ví dụ 2 lệnh sau sẽ thi hành
cùng nhiệm vụ như lệnh ở trên:
MOV R0, #5FH
MOV A , @R0
-Ram có thể truy xuất từng bit:
8051 chứa 210 bit được đòa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte có
đòa chỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt.
Ýtưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều
khiển nói chung. Các bit có thể được đặt, xóa, and, or,… với 1 lệnh đơn. Ngoài ra các
port cũng có thể truy xuất được từng bít làm đơn giản phần mềm xuất nhập từng bit.
Ví dụ để đặt bit 67H ta dùng lệnh sau: SETB 67H.
-Các bank thanh ghi:
Bộ lệnh 8051 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc đònh (sau khi
reset hệ thống), các thanh ghi nàû các đòa chỉ 00H đến 07H. lệnh sau đây sẽ đọc nội
dung ở đòa chỉ 05H vào thanh ghi tích lũy: MOV A, R5.
Đây là lệnh 1 byte dùng đòa chỉ thanh ghi. Tuy nhiên có thể thi hành bằng lệnh 2
byte dùng đòa chỉ trực tiếp nằm trong byte thứ 2: MOV A, 05H.
Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn nhiều so với
lệnh tương ứng dùng đòa chỉ trực tiếp.
Bank thanh ghi tích cực bằng cách thay đổi các bit trong từ trạng thái chương
trình (PSW). Giả sủ thanh ghi thứ 3 đang được truy xuất, lệnh sau đây sẽ di chuyển nội
dung của thanh ghi A vào ô nhớ ram có đòa chỉ 18H: MOV R0, A.
* Các thanh ghi có chức năng đặc biệt:
8051 có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở vùng trên
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 14
của RAM nội từ đòa chỉ 80H đến FFH.
Chú ý: tất cả 128 đòa chỉ từ 80H đến FFH không được đònh nghóa, chỉ có 21 thanh ghi
chức năng đặc biệt được đònh nghóa sẵn các đòa chỉ.

-Thanh ghi trạng thái chương trình:
Thanh ghi trạng thái chương trình PSW (Program Status Word ) ở đòa chỉ DOH chứa các
bít trạng thái như bảng sau:
Bit Ký hiệu Đòa chỉ Ý nghóa
PSW.7
PSW.6
PSW.5
PSW.4
PSW.3
PSW.2
PSW.1
PSW.0
CY
AC
F0
RS1
RS0
0V
_
P
D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H
Cờ nhớ
Cờ nhớ phụ

Cờ 0
Bit 1 chọn bank thanh ghi
Bit 0 chọn bank thanh ghi
00=bank 0: đòa chỉ 00H – 07H
01=bank 1: đòa chỉ 08H – 0FH
10=bank 2: đòa chỉ 10H – 1FH
11=bank 3: đòa chỉ 18H –1FH
Cờ tràn
Dự trữ
Cờ parity chẵn lẽ.
+ Cờ nhớ:
C = 1 nếu phép toán cộng có tràn hoặc phép toán trừ có mượn và ngược lại C =
0. Ví dụ nếu thanh ghi A có giá trò FF thì lệnh sau:
ADD A, #1
Phép cộng này có tràn nên bit C = 1 và kết quả trong thanh ghi A = 00H
Cờ nhớ có thể xem là thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit.
ANL C, 25H
+ Cớ nhớ phụ:
Khi cộng các số BCD, cờ nhớ phụ AC = 1 nếu kết quả 4 bit thấp trong khoảng 0AH đến
0FH. Ngược lại AC = 0.
+ Cờ 0:
Cờ 0 là một bit cờ đa dụng dành cho các ứng dụng của người dùng.
+ Các bit chọn bankthanh ghi truy xuất:
Các bit chọn bank thanh ghi (RS0 và RS1) xác đònh bank thanh ghi được truy xuất.
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ụ lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của bank thanh ghi R7
(đòa chỉ bye 1FH) vào thanh ghi A:
SETB RS1
SETB RS0
MOV A,R7

-Thanh ghi B:
Thanh ghi B ở đòa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho các phép
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 15
toán nhân và chia. Lệnh MUL AB sẽ nhân các giá trò không dấu 8 bit trong A và B rồi
trả kết quả về 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB sẽ chia A cho B
rồi trả kết quả nguyên trong A và phần dư trong B. thanh ghi cũng có thể xem như
thanh ghi đệm đa dụng.
-Con trỏ ngăn xếp:
Con trỏ ngăn xếp SP là một thanh ghi 8 bit ở đòa chỉ 18H. 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
lệnh cất dữ liệu vào ngăn xếp và lấy dữ 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 ghi dữ liệu và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ
làm giảm SP. Ngăn xếp của 8051 được 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 8051
Để khởi động SP với ngăn xếp bắt đầu tại đòa chỉ 60 H, các lệnh sau đây được dùng:
MOV SP,#5FH
Khi reset 8051, 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ỉ là 08 H. 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 trình con ACALL,LCALL và các lệnh trở về (RET. RETI) để 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
Con trỏ dữ liệu DPTR được dùng để 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). 3 lệnh sau sẽ ghi 55H vào
ram ngoài ở đòa chỉ 1000H:
MOV A,#55H
MOV DPTR, #1000H
MOVX @DPTR,A

-Các thanh ghi port xuất nhập:
Các port của 8051 bao gồm port 0 ở đòa chỉ 80H, port 1 ở đòa chỉ 90H, port 2 ở đòa chỉ
A0H, và port3 ở đòa chỉ B0H. tất cả các port này đều có thể truy xuất từng bit nên rất
thuận tiện trong khả năng giao tiếp.
-Các thanh ghi timer:
8051 có chứa 2 bộ đònh thời/ đếm 16 bit được dùng cho việc đònh thời hoặc đếm
sự kiện. Timer 0 ở đòa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer 1 ở đòa
chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc khởi động timer được Set bởi
Timer Mode (TMOD) ở đòa chỉ 89H và thanh ghi điều khiển timer (TCON) ở đòa chỉ
88H, chỉ có TCON được đòa chỉ hóa từng bit.
-Các thanh ghi port nối tiếp:
8051 chứa một port nối tiếp 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 giao tiếp nối tiếp với các IC khác. Một thanh ghi gọi là
bộ đệm dữ liệu nối tiếp (SBUF) ở đòa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữ liệu
nhận. Khi truyền dữ 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 ở đòa
chỉ 98H.
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 16
-Các thanh ghi ngắt:
8051 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ả 2 thanh ghi được đòa chỉ hóa từng bit.
-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 các bit điều khiển.
-Tín hiệu Reset:
8051 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ,
sau đó xuống mức thấp để 8051 bắt đầu làm việc. RST có thể kích bằng tay bằng một
phím nhấn thường mở, sơ đồ mạch reset như hình trên (hình a)
sau khi reset hệ thống được tóm tắt như sau:

Thanh ghi Nội dung
Đếm chương trình PC
Thanhghi tích lũy A
Thanh ghi B
Thanh ghi trạng thái
SP
DPTR
Port 0 đến Port 3
IP
IE
Các thanh ghi đònh thời
0000H
00H
00H
00H
07H
0000H
FFH
XXX0000 B
0XX00000 B
00H
Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC được Reset tại
đòa chỉ 0000H. Khi ngõ vào RST xuống mức thấp, chương trình luôn bắt đầu tại đòa chỉ
0000H của bộ nhớ chương trình. Nội dung của Ram trong chip không bò hay đổi bởi tác
động của ngõ vào Reset
c.Hoạt động thanh ghi TIMER
8051 có hai timer 16 bit, mỗi timer có bốn cách làm việc. Người ta sử dụng các timer
để:
- Đònh khoảng thời gian.
- Đếm sự kiện.

- Tạo tốc độ baud cho port nối tiếp trong 8051.
Trong các ứng dụng đònh khoảng thời gian, người ta lập trình timer ở những khoảng đều
đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ hóa chương trình để thực hiện một
tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra các ngõra. Các
ứng dụng khác có thể sử dụng việc tạo xung nhòp đều đặn của timer để đo thời gian trôi
qua giữa hai sự kiện (ví dụ đo độ rộng xung ).
Truy xuất các timer của 8051 dùng sáu thanh ghi chức năng đặc biệt cho trong bảng
sau:
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 17
SFR Mục Đích Đòa chỉ Đòa chỉ hóa từng bit
TCON Điều khiển Timer 88H Có
TMOD Chế độ Timer 89H Không
TL0 Byte thấp của Timer 0 90H Không
TL1 Byte thấp của Timer 1 91H Không
TH0 Byte cao của Timer 0 92H Không
TH1 Byte cao của Timer 1 93H Không
Các thanh ghi chức năng của timer trong 8031.
Thanh ghi chế độ timer (TMOD):
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0,
và Timer 1.
Bit Tên Timer Mô tả
7 GATE 1 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT1 ở mức cao
6 C/T 1 Bit chọn chế độ Count/Timer
1 = bộ đếm sự kiện
0 = bộ đònh khoảng thời gian
5 M1 1 Bit 1 của chế độ mode
4 M0 1 Bit 0 của chế độ mode
3 GATE 0 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT0 ở mức cao
2 C/T 0

Bit chọn chế độ Count/Timer
1 M1 0 Bit 1 của chế độ mode
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 18
0 M0 0 Bit 0 của chế độ mode
Tóm tắt thanh ghi chức năng TMOD.
Thanh ghi điều khiển timer(TCON)
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 1,
Timer 0.
Bit Ký hiệu Đòa chỉ Mô tả
TCON.7 TF1 8FH Cờ báo tràn timer 1. Đặt bởi phần cứng khi tràn,
được xóa bởi phần mềm, hoặc phần cứng khi bộ
xử lý chỉ đến chương trình phục vụ ngắt.
TCON.6 TR1 8EH Bit điều khiển timer 1 chạy đặt xóa bằng phần
mềm để cho timer chạy ngưng.
TCON.5 TF0 8DH Cờ báo tràn Timer 0.
TCON.4 TR0 8CH Bit điều khiển Timer 0 chạy
TCON.3 IE1 8BH Cờ cạnh ngắt 1 bên ngoài. Đặt bởi phần cứng khi
phát hiện một cạnh xuống ở INT1 xóa bằng phần
mềm họăc phần cứng khi CPU chỉ đến chương
trình phục vụ ngắt.
TCON.2 IT1 8AH Cờ kiểu ngắt 1 bên ngoài. Đặt xóa bằng phần
mềm để ngắt ngoài tích cực cạnh xuống /mức
thấp.
TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngòai
TCON.0 IT0 88h Cờ kiểu ngắt 0 bên ngoài
Tóm tắt thanh ghi chức năng TCON
Khởi động và truy xuất thanh ghi timer:
Thông thường các thanh ghi được khởi động một lần đầu ở chương trình để đặt ở
chế độ làm việc đúng. Sau đó, trong thân chương trình, các thanh ghi timer được cho

chạy, dừng, các bit được kiểm tra và xóa, các thanh ghi timer được đọc và cập nhật….
theo đòi hỏi các ứng dụng.
TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động. Ví dụ,
các lệnh sau khởi động Timer 1 như timer 16 bit (chế độ 1) có xung nhòp từ bộ dao động
tên chip cho việc đònh khoảng thời gian:
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 19
MOV TMOD, #1B
Lệnh này sẽ đặt M1 = 1 và M0 = 0 cho chế độ 1, C/ T= 0 và GATE = 0 cho xung
nhòp nội và xóa các bit chế độ Timer 0. Dó nhiên, timer không thật sự bắt đầu đònh thời
cho đến khi bit điều khiển chạy TR1 được đặt lên 1.
Nếu cần số đếm ban đầu, các thanh ghi TL1/TH1 cũng phải được khởi động.
Một khoảng 100(s có thể được khởi động bằng cách khởi động giá trò cho TH1/TL1 là
FF9CH:
MOV TL1, #9CH
MOV TH1, #0FFH
Rồi timer được cho chạy bằng cách đặt bit điều khiển chạy như sau:
SETB TR1
Cờ báo tràn được tự động đặt lên 1 sau 100(s. Phần mềm có thể đợi trong 100 (s bằng
cách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ báo tràn chưa
được đặt lên 1:
WAIT: JNB TF1, WAIT
Khi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:
CLR TR1
CLR TF1

d. Ngắt ( INTERRUPT)
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời thời
chương trình chính trong khi điều kiện đó được phục vụ bởi một chương trình khác.
Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng vi

điều khiển. Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và giải
quyết sự kiện đó trong khi một chương trình khác đang thực thi.
Tổ chức ngắt của 8051:
Có 5 nguồn ngắt ở 8031: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp.
Tất cả các ngắt theo mặc nhiên đều bò cấm sau khi reset hệ thống và được cho phép
từng cái một bằng phần mềm.
Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khác
đang được phục vụ, có cả hai sự tuần tự hỏi vòng và sơ đồ ưu tiên hai mức dùng để xác
đònh việc thực hiện các ngắt. Việc hỏi vòng tuần tự thì cố đònh nhưng ưu tiên ngắt thì có
thể lập trình được.
- Cho phép và cấm ngắt :
Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặt
biệt có đònh đòa chỉ bit IE ( Interrupt Enable : cho phép ngắt ) ở đòa chỉ A8H.
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 20
Bit Ký hiệu Đòa chỉ bit Mô tả
IE.7 EA AFH Cho phép / Cấm toàn bộ
IE.6 _ AEH Không được mô tả
IE.5 ET2 ADH Cho phép ngắt từ Timer 2 (8052)
IE.4 ES ACH Cho phép ngắt port nối tiếp
IE.3 ET1 ABH Cho phép ngắt từ Timer 1
IE.2 EX1 AAH Cho phép ngắt ngoài 1
IE.1 ET0 A9H Cho phép ngắt từ Timer 0
IE.0 EX0 A8H Cho phép ngắt ngoài 0
Tóm tắt thanh ghi IE
- Các cờ ngắt :
Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt lên
một để xác nhận ngắt.
Ngắt Cờ Thanh ghi SFR và vò trí bit
Bên ngoài 0 IE0 TCON.1

Bên ngoài 1 IE1 TCON.3
Timer 1 TF1 TCON.7
Timer 0 TF0 TCON.5
Port nối tiếp TI SCON.1
Port nối tiếp RI SCON.0
Các lọai cờ ngắt
- Các vectơ ngắt :
Khi chấp nhận ngắt, giá trò được nạp vào PC được gọi là vector ngắt. Nó là đòa
chỉ bắt đầu của ISR cho nguồn tạo ngắt, các vector ngắt được cho ở bảng sau :
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 21
Ngắt Cờ Đòa chỉ vector
Reset hệ thống RST 0000H
Bên ngoài 0 IE0 0003H
Timer 0 TF0 000BH
Bên ngoài 1 IE1 0013H
Timer 1 TF1 001BH
Port nối tiếp TI và RI 0023H
Timer 2 002BH
Vector reset hệ thống (RST ở đòa chỉ 0000H) được để trong bảng này vì theo nghóa này,
nó giống ngắt : nó ngắt chương trình chính và nạp cho PC giá trò mới.
e. Kết hợp 8051 với bộ nhớ ngoài
Vi xử lý (Microprocessor) là IC chuyên dụng về xử lý dữ liệu, điều khiển theo
một chương trình, muốn Microprocessor thực hiện một công việc gì người sử dụng phải
lập trình hay viết chương trình. Chương trình phải lưư trữ ở đâu để Microprocessor nhận
lệnh và thi hành, đôi khi trong lúc xử lý chương trình Microprocessor cần nơi lưư trữ
tạm thời các dữ liệu sau đó lấy ra để tiếp tục xử lý. Nơi lưu trữ chương trình cho
Microprocessor thực hiện và nơi lưu trữ tạm thời dữ liệu chính là bộ nhớ. Các bộ nhớ
của Microprcessor là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi dữ liệu vào hoặc
chỉ đọc dữ liệu ra. Đôi khi bộ nhớ của Microprocessor không đủ để lưu trữ những thông

tin cần thiết khi chạy chương trình, khi đó phải dùng kỹ thuật mở rộng bộ nhớ. 8051 có
khả năng mở rộng bộ nhớ đến 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu
bên ngoài. Bộ nhớ chương trình là bộ nhớ Rom còn bộ nhớ dữ liệu là bộ nhớ Ram.
_ Bộ nhớ Ram chia ra làm 2 loại Sram và Dram. Dram được chế tạo dùng kỹ
thuật MOS, có dung lượng bộ nhớ lớn, công xuất tiêu tán thấp và tốc độ hoạt động
trung bình. Sram dữ liệu lưu trữ vào các Flip- Flop còn Dram dữ liệu lưu trữ mức 0 và
1 tương đương với quá trình nạp và xả của một tụ điện khoảng vài pF. Bởi vì điện áp
của tụ sẽ suy giảm dần do đó Dram đòi hỏi chu kỳ nạp lại nếu không muốn mất dữ liệu
và được gọi là quá trình làm tươi Ram, đây chính là khuyết điểm của Dram so với
Sram. Bộ nhớ Rom có nhiều loại: PROM, EPROM, EEPROM nhưng EPROM có thể
lập trình bởi người dùng, có thể xóa và lập trình lại nhiều lần nên trong đồ án này
chúng em dùng EPROM 2764 và dùng SRAM 6264. Đặc điểm, sơ đồ chân và bảng sự
thật của 2764 và 6264 ở hình dưới đây
SRAM 6264: là bộ nhớ được chế tạo theo công nghệ CMOS, có dung lượng
GVHD Nguyễn Việt Hùng
Luận văn tốt nghiệp Trang 22
65536 bit được tổ chức thành 8192x8 bit (8KByte), điện áp cung cấp là +5V, thời gian
truy cập khoảng 150ns. Ngõ vào/ra dữ liệu được dùng chung, các ngõ vào/ra này tương
thích TTL. Công suất tiêu tán ở trạng thái chờ rất thấp chỉ khoảng 0,1mW so với khi
hoạt động bình thường là 200mW.
Sơ đồ chân và sơ đồ logic của 6264 như sau:
Từ sơ đồ chân cho ta thấy cá chân được chia thành 4 nhóm:
+ Vcc, GND : chân nguồn
+ Do đến D7 : chân dữ liệu
+ Ao đến A12 : chân đòa chỉ
+
EPROM 2764: là bộ nhớ chỉ đọc được chế tạo theo công nghệ NMOS, dùng một
nguồn đơn +5V, dung lượng bộ nhớ là 65536 bit, được tổ chức thành 8192x8 bit
(8KByte). 2764 là loại EPROM có thể xóa bằng tia cực tím và có thể ghi lại được nhiều
lần. Có hai kiểu họat động: bình thường và chờ. Ở trạng thái chờ, công suất tiêu thụ là

132mW so với 525mW khi ở trạng thái đọc dữ liệu, thời gian truy xuất là 200ns. Sơ đồ
chân và sơ đồ logic của 2764 như sau:
GVHD Nguyễn Việt Hùng
DQ
0
-DQ
7
6264
A
0
-A
12
CE
1
\
CE
2
OE\
WE\
N.C
A
12
A
7
A
6
A
5
A
4

A
3
A
2
A
1
A
0
DQ
0
DQ
1
DQ
2
V
ss
6264
V
cc
WE\
CE
2
A
8
A
9
A
11
OE\
A

10
CE
1
\
DQ
7
DQ
6
DQ
5
DQ
4
DQ
3
Mode \ Pin WE\ CE
1
\ CE
2
OE\ Output
Not Select
x H x x
Hi-Z
x x L x
Output
Disable
H L H H Hi-Z
Read H L H L D
out
Write L L H H D
in

V
pp
A
12
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
O
0
O
1
O
2
GND
2764
Vcc
PGM\

N.C
A
8
A
9
A
11
OE\
A
10
CE\
O
7
O
6
O
5
O
4
O
3
2764
CE\
OE\
V
PP
D
0
-D
7

A
0
-A
12
WE, OE, CS1, CS2 : chân điều khiển
Luận văn tốt nghiệp Trang 23
- EPROM có thể được lập bởi người lập trình sử dụng và nó cũng có thể xóa để lập
trình lại khi nào muốn.
-EPROM dùng trong mạch được chứa sẵn chương trình điều khiển, tức là chỉ xuất Data
mỗi khi CPU tham khảo đến, do đó ta chỉ quan tâm đến chế độ đọc và chờ. Dựa vào
các Mode hoạt động trên thì EPROM được điều khiển các chân sau:
- PGM = 5 Volt (Vcc )
- OE\ nối chân PSEN của CPU
- CE\ nối xuống CSO
+ Chế độ đọc (Read Mode ): Chế độ này được thiết lập khi CE\ và OE\ ở mức thấp,
PGM ở mức cao. Có hai ngõ vào điều khiển dùng để truy xuất Data từ ROM là CE\ và
OE\ dùng để kiểm soát ngõ ra Data, đưa Data lên Data bus.
+ Chế độ chờ (Stanby Mode ): Chế độ này làm giảm công suất tiêu thụ được thiết lập
khi CE\ ở mức cao, ở chế độ này Data ở trạng thái trở kháng cao độc lập.
*Giải mã đòa chỉ:
Do 8051 thiết kế cần quản lý nhiều thiết bò ngoại vi, nhiều ô nhớ, muốn làm được
việc này người ta phải cung cấp cho mỗi ô nhớ và thiết bò ngoại vi tầm đòa chỉ cho thiết
bò đó. Vì vậy cần có mạch giải mã đòa chỉ trong mạch điệ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ớ. Sau đây là sơ đồ chân, bảng sự thật và đặc điểm của 74138:
GVHD Nguyễn Việt Hùng
Mode (chế độ) CE\ OE\ PGM\ V
PP
Ra
(Output)

Đọc L L H V
cc
Dout
Chờ H x x V
cc
Hi-Z
Lập trình L x L V
pp
Din
Kiểm tra L L H V
pp
D
o ut
Cấm lập trình H x x V
pp
Hi-Z
Bảng trạng thái
A
B
C
G
2A
G
2B
G
1
Y
7
GND
V

cc
Y
0
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
74138
74138
A
B
C
Y
0
Y
7
G
2A\
G
2B
G
1

Sơ đồ chân
Luận văn tốt nghiệp Trang 24
sơ lược về các chân:
- Ngõ vào A,B,C là các chân ngõ vào số nhò phân 3 bit. C là bit có trọng số lớn
nhất, A là bit có trọng số nhỏ nhất
- Các chân ngõ ra: Yo ( Y7, tích cực mức thấp.
- Các chân điều khiển: G1,G2A, G2B. IC chỉ hoạt động giải mã khi các chân điều
khiển đồng thời tích cực. G1 tích cực ở mức cao; G2A\ và G2B\ tích cực ở mức
thấp Khi một trong 3 chân này không tích cực các ngõ ra từ Yo ( Y7 ở mức cao.
*Giải đa hợp các đường dữ liệu và đường đòa chỉ:
Khi dùng bộ nhớ ngoài, port 0 không còn là port IO thuần túy. Nó được kết hợp
giữa bus đòa chỉ và bus dữ liệu nên dùng tín hiệu ALE và IC chốt để chốt byte thấp của
bus đòa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ. Port2 cho byte cao của bus đòa chỉ. đây
chúng em dùng IC chốt 74373. Sơ đồ chân, đặc điểm và bảng trạng thái của 74373
Sơ đồ chân
Bảng trạng thái
GVHD Nguyễn Việt Hùng
INPUTS
OUTPUTS
ENABLE SELECT
G
1
G
2
C B A Y
0
Y
1
Y
2

Y
3
Y
4
Y
5
Y
6
Y
7
x H x x x H H H H H H H H
L x x x x H H H H H H H H
H L L L L L H H H H H H H
H L L L H H L H H H H H H
H L L H L H H L H H H H H
H L L H H H H H L H H H H
H L H L L H H H H L H H H
H L H L H H H H H H L H H
H L H H L H H H H H H L H
H L H H H H H H H H H H L
G
2
= G
2A
+ G
2
Bảng trạng thái
74373
D
0

-D
7
Q
0
-Q
7
OC \
G
Output
Control (OC)
Enable
G
D OUTPUT
L H H H
L H L L
L L x Q
0
H x x HI-Z
V
cc
Q
0
Q
1
Q
2
Q
3
Q
4

Q
5
Q
6
Q
7
G
OE\
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
GND
74373
Luận văn tốt nghiệp Trang 25
Đặc điểm
_ 74LS373 gồm 8 D-FF có ngõ ra 3 trạng thái được điều khiển chốt và xuất dữ
liệu bằng chân G và OC. Trong ứng dụng này chân G được nối với chân ALE của 8051,

chân OC nối mass.
_ là IC chốt 8 bit
_ Các bộ đệm ngõ ra 3 trạng thái
_ Tín hiệu điều khiển ngõ ra 3 trạng thái chung.
*Xếp chồng các vùng nhớ chương trình và dữ liệu bên ngoài:
Vì bộ nhớ chương trình là Rom nên xảy ra vấn đề bất tiện khi phát triển phần
mềm cho 8051 là tổ chức bộ nhớ như thế nào để có thể sửa đổi chương trình và có thể
ghi trở lại khi nó được chứa trong bộ nhớ Rom. Cách giải quyết là xếp chồng các vùng
dữ liệu và chương trình. Một bộ nhớ 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 đến ngõ ra cổng AND có 2 ngõ vào là PSEN\ và RD\. Sơ
đồ mạch như hình sau cho phép bộ nhớ Ram có 2 chức năng vừa là bộ nhớ chương trình
vừa là bộ nhớ dữ liệu.
Vậy 1 chương trình có thể được tải vào Ram (bằng cách ghi nó như bộ nhớ dữ
liệu) và thi hành chương trình (bằng cách truy xuất nó như bộ nhớ chương trình)




3. Khối hiển thò:
a.Sơ đồ khối của mạch hiển thò:
Bộ phận hiển thò gồm 8 led 7 đoạn anod chung. Vì các vi xử lí xử lí các dữ liệu là
số nhò phân (1,0 ) nên cần có sự giãi mã từ số nhò phân sang số thập phân. Sự giải mã
có thể dùng giải mã bằng phần cứng (IC giải mã). Tuy nhiên với phần mềm quét led
người ta có thể giảm bớt được các IC giải mã giảm giá thành của mạch điện. Nhưng để
kết nối với mạch hiển thò phải cần có IC giao tiếp vào ra vì các port của 8051 đã dùng
cho mục đích khác. 8255 là IC giao tiếp vào ra song song thông dụng và có thể điều
khiển được bằng phần mềm nên chúng em sử dụng 8255 để giao tiếp với các thiết bò
ngoại vi (phần hiển thò…). Vì dòng ra các port của 8255 rất nhỏ (lớn nhất là port A
khoảng 5mA) nên cần có IC đệm dòng để nâng dòng lên đủ kéo cho led sáng. Chúng
em chọn IC đệm 74245. Khi đưa dữ liệu ra để hiển thò tất cả các led đều nhận nhưng tại

một thời điểm chỉ cho phép một led được nhận dữ liệu nên phải có mạch giải mã để
chọn led.
GVHD Nguyễn Việt Hùng
WR
RAM
OE\

WR
RD
PSEN

×