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

Thiết kế mạch đếm sản phẩm dùng vi điều khiển 8051 (nhiều chương trình đếm cho một loại sản phẩm)

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.61 MB, 53 trang )

KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA VẬT LÝ
----------------

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
NGÀNH CỬ NHÂN VẬT LÝ
Đề tài:

THIẾT KẾ MẠCH ĐẾM SẢN PHẨM DÙNG VI ĐIỀU KHIỂN
8051 ( NHIỀU CHƯƠNG TRÌNH CHO MỘT LOẠI SẢN PHẨM )
Người hướng dẫn:
ThS. Lê Xứng
Người thực hiện:

Nguyễn Thị Ngần

Đà Nẵng, tháng 5/2013

SVTH: Nguyễn Thị Ngần

Trang: 1


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG



LỜI CÁM ƠN

Em xin chân thành cảm ơn thầy giáo hướng dẫn Th.S Lê Xứng đã ln theo sát,
giúp đỡ tận tình, và có những lời khun bổ ích giúp em hồn thành luận văn “THIẾT KẾ
MẠCH ĐẾM SẢN PHẨM DÙNG VI ĐIỀU KHIỂN 8051( NHIỀU CHƯƠNG TRÌNH
CHO MỘT LOẠI SẢN PHẨM)’’ đúng thời gian quy định.

Trong suốt quá trình thực hiện luận văn “THIẾT KẾ MẠCH ĐẾM SẢN PHẨM
DÙNG VI ĐIỀU KHIỂN 8051( NHIỀU CHƯƠNG TRÌNH CHO MỘT LOẠI SẢN
PHẨM)” em cũng đã nhận được rất nhiều đóng góp và giúp đỡ của các thầy cô trong
trường và các bạn cùng lớp. Em xin chân thành gửi lời cảm ơn tới tất cả các thầy cô, và
các bạn đã giúp đỡ em trong quá trình làm luận văn.

Đặc biệt em xin chân thành gửi lời cảm ơn tới Ban Giám Hiệu Trường Đại Học Sư
Phạm, và các thầy cô trong truờng đã truyền đạt cho em những kiến thức hay và bổ ích.

Đà Nẵng, ngày 21 tháng 5 năm 2013
Sinh viên thực hiện.

Nguyễn Thị Ngần

SVTH: Nguyễn Thị Ngần

Trang: 2


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG


DANH MỤC BẢNG
Bảng 2.1: Chức năng chuyển đổi Port3.
Bảng 2.2: Cấu trúc bộ nhớ RAM bên trong vi điều khiển.
Bảng 2.3: Trạng thái các thanh ghi sau reset.
Bảng 2.4: Mã hiển thị led 7 đoạn có Anode chung (các led đơn sáng ở mức 0).
Bảng 2.5: Mã hiển thị led 7 đoạn có Cathode chung (các led đơn sáng ở mức 1).

SVTH: Nguyễn Thị Ngần

Trang: 3


KHĨA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

DANH MỤC HÌNH ẢNH
Hình 2.1: Sơ đồ khối AT89C51.
Hình 2.2: Sơ đồ chân AT89C51.
Hình 2.3: Mạch tạo dao động bằng thạch anh.
Hình 2.4: Led phát hồng ngoại.
Hình 2.5: Led thu hồng ngoại.
Hình 2.6: Tiếp giáp P-N.
Hình 2.7: Cấu tạo bên trong Led đơn.
Hình 2.8: Led 7 đoạn có Anode, Cathode chung.
Hình 2.9: Sơ đồ chân led 7 đoạn.
Hình 2.10: Trạng thái hoạt động Led 7 đoạn.
Hình 2.11: Cấu tạo diod cầu.
Hình 2.12: IC 7805.

Hình 2.13: Điện trở.
Hình 2.14: Các vịng màu thể hiện giá trị của điện trở.
Hình 2.15: Một số tụ phân cực.
Hình 2.16: Một số tụ khơng phân cực.
Hình 2.17: Tụ xoay.
Hình 3.1: Khối cảm biến hồng ngoại.
Hình 3.2: Khối điều khiển.
Hình 3.3: Khối phím nhấn.
Hình 3.4: Hiển thị qua Led 7 đoạn.
Hình 3.5: Hiển thị qua Led đơn.
Hình 3.6: Khối nguồn 5V.

SVTH: Nguyễn Thị Ngần

Trang: 4


KHĨA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

Hình 3.7: Sơ đồ ngun lý mạch đếm sản phẩm.

LỜI MỞ ĐẦU
Ngày nay với sự phát triển không ngừng của khoa học kĩ thuật, đã làm cho cuộc
sống của chúng ta ngày càng được nâng cao về mọi mặt cả trong sinh hoạt hàng ngày
cũng như trong sản xuất. Với xu hướng tự động hoá và mục tiêu tăng năng suất lao động
nhiều thiết bị máy móc và các mạch điện tử đã được nghiên cứu và ứng dụng trong thực
tế sản xuất. Với sự ra đời của các mạch điện tử đã làm tăng đáng kể năng suất lao động và
làm giảm sức lao động của con người trong quá trình sản xuất. Trong tài liệu này tôi xin

giới thiệu một mạch điện tử đã được ứng dụng nhiều trong thực tế đó là “mạch đếm sản
phẩm”. Mạch điện tử này có độ chính xác cao và dễ sử dụng, nó đã thay thế cho các công
nhân đứng máy nâng cao năng suất lao động tăng hiệu suất làm việc của máy móc.
Mục đích của mạch đếm sản phẩm là giúp cho nhà máy, xí nghiệp đếm được số
lượng sản phẩm của máy tạo ra một cách đơn giản, chính xác hiệu quả và năng suất cao
mà không cần tốn sức của công nhân, ngay cả trong nhà máy nhỏ.
Dựa trên phương pháp nghiên cứu và phân tích đặc tính chức năng của các linh
kiện điện tử, nguyên lý làm việc của các IC và áp dụng những kiến thức đã học cùng với
sự hướng dẫn của giáo viên hướng dẫn để nghiên cứu xây dựng nên một mạch có chức
năng đếm sản phẩm hoạt động tốt.
Do vấn đề về mặt thời gian cũng như trình độ có hạn, kiến thức cịn nhiều hạn chế
và chưa có kinh nghiệm nghiên cứu thực tế nên cịn gặp nhiều khó khăn trong q trình
tính tốn thiết kế và thi cơng mạch. Nên trong q trình thực hiện đề tài này khơng tránh
khỏi những thiếu xót. Rất mong được sự thơng cảm và đóng góp ý kiến của quý thầy cô
và các bạn. Em xin chân thành cảm ơn.

SVTH: Nguyễn Thị Ngần

Trang: 5


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

Phần I

GIỚI THIỆU ĐỀ TÀI
1.1. LÍ DO CHỌN ĐỀ TÀI
Ngày nay việc ứng dụng vi điều khiển vào các lĩnh vực cuộc sống khá phổ biến,

điển hình là các loại vi điều khiển họ 8051. Trong công nghiệp cũng như trong các lĩnh
vực liên quan đến sản phẩm thì đã phát huy được lợi thế khi sử dụng vi điều khiển, việc
đếm sản phẩm trở nên đơn giản hơn, giảm bớt được nhiều sức lao động và thời gian.
Được sự gợi ý của thầy Lê Xứng và qua sự tìm hiểu của em nên em đã chọn đề tài
“THIẾT KẾ MẠCH ĐẾM SẢN PHẨM DÙNG VI ĐIỀU KHIỂN 8051( NHIỀU
CHƯƠNG TRÌNH CHO MỘT LOẠI SẢN PHẨM)”. Đây cũng là một cơ hội tốt để áp
dụng những kiến thức đã học vào thực tế.

1.2. ĐẶT VẤN ĐỀ
Ngày nay với sự phát triển của khoa học kỹ thuật, tự động hóa sản xuất đang là
một yêu cầu cấp thiết để nâng cao năng suất, giảm giá thành để tăng tính cạnh tranh nên
việc ứng dụng kỹ thuật vi điều khiển, vi xử lý vào sản xuất là điều tất yếu.
Đây là một bài toán đã và đang được ứng dụng rất nhiều trong thực tế hiện nay.
Dùng sức người, cơng việc này địi hỏi sự tập trung cao và có tính lặp lại, nên các cơng
nhân khó đảm bảo được sự chính xác trong cơng việc.
Để làm được mạch này cần có 3 bộ phận chính:
+ Bộ cảm biến gồm có phần phát và phần thu, đối với phần phát dùng led phát,
phát ra ánh sáng để chống nhiễu so với các ánh sáng khác và chính xác hơn, còn
phần thu là dùng transistor quang để thu ánh sáng hồng ngoại.
+

Bộ xử lý dùng IC AT89C51.

+ Bộ hiển thị gồm có led 7 đoạn và 1 led đơn.
Ngồi ra cịn dùng các phím nhấn để thay đổi các giá trị sản phẩm cần đếm.

SVTH: Nguyễn Thị Ngần

Trang: 6



KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

1.3. MỤC TIÊU ĐỀ TÀI
Trong luận văn này chúng em thực hiện mạch đếm sản phẩm đi qua và đếm sản
phẩm bằng phương pháp đếm mức logic. Như vậy, mỗi sản phẩm đi qua cảm biến sẽ nhận
và tạo ra một tín hiệu mức 0 đưa về khối xử lí trung tâm để tăng dần số đếm đồng thời sẽ
hiển thị ra led 7 đoạn số sản phẩm đi qua. Tuy nhiên tùy thuộc vào mỗi khu vực sản xuất
mà người ta cần những yêu cầu số đếm khác nhau nên cần có sự linh hoạt trong quá trình
chuyển đổi số đếm, khi muốn thay đổi số đếm ta chỉ cần nhấn các phím nhấn và mạch sẽ
tự động đếm,khi đã đếm đủ số sản phẩm cần đếm cho một thùng sẽ được báo hiệu bởi led
đơn cho người dùng biết. Nếu không cài đặt sẵn số đếm thì khối xử lí sẽ đếm đến 99 sản
phẩm rồi sáng led đơn.
Từ đó có thể thấy được mục đích của đề tài:
+ Bộ phận hiển thị phải rõ ràng.
+ Mạch điện không quá phức tạp, đảm bảo được sự an toàn, dễ sử dụng.
+ Số đếm phải chính xác.

1.4. GIỚI HẠN ĐỀ TÀI
+ Các sản phẩm đ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 thiết bị của mạch thì chỉ có thể đếm được loại sản phẩm có thể che được ánh
sáng.
+ Đếm sản phẩm từ 00->99 sản phẩm.
+ Cài đặt trước số sản phẩm cần đếm.
+ Do chi phí, thời gian có hạn nên sản phẩm chỉ dừng lại ở mức đáp ứng được yêu
cầu của một luận văn tốt nghiệp.

SVTH: Nguyễn Thị Ngần


Trang: 7


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

Phần II

GIỚI THIỆU TỔNG QUAN VỀAT89C51 VÀ CÁC
LINH KIỆN TRONG MẠCH
2.1. KHỐI XỬ LÝ TRUNG TÂM
2.1.1. Giới thiệu về AT89C51
AT89C51 là một hệ vi tính 8 bit đơn chip CMOS có hiệu suất cao, cơng suất
nguồn tiêu thụ thấp và có 4 Kbyte bộ nhớ Rom Flash xố được, lập trình được. Chíp này
được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tích hợp cao. Nó
cũng tương thích với tập lệnh và các chân của chuẩn công nghiệp MCS-51. Flash trên
chip cho phép bộ nhớ chương trình được lập trình lại trên hệ thống hoặc bằng bộ lập trình
khơng mất nội dung qui ước. AT89C51 là IC vi điều khiển (Microcontrolled ) do hãng
Intel sản xuất. IC này có đặc điểm:


4 Kbyte ROM bên trong dùng để lưu chương trình



128 byte RAM nội




4 port xuất/nhập 8 bit



2 bộ định thời 16 bit



Mạch giao tiếp nối tiếp



Không gian nhớ chương trình ngồi 64 kbyte (bộ nhớ ROM ngoại)



Khơng gian nhớ dữ liệu ngoài 64 kbyte (bộ nhớ RAM ngoại)



Bộ xử lý bit (thao tác trên các bit riêng rẽ)



210 vị trí nhớ được định địa chỉ, mỗi vị trí một bit (bit được địa chỉ hóa)



32 đường xuất nhập




Bộ nhân chia trong 4µs

SVTH: Nguyễn Thị Ngần

Trang: 8


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

2.1.2. Sơ đồ khối của AT89C51


Ram 128 byte



TIMER 2,1, 0: Bộ định thời 2,1,0



CPU: Đơn vị điều khiển trung tâm



PORT: Các port xuất/nhập




Address/data:Địa chỉ/dữ liệu

Hình 2.1: Sơ đồ khối AT89C51
2.1.3. Sơ đồ chân và chức năng các chân của AT89C51
2.1.3.1. Sơ đồ chân của AT89C51

SVTH: Nguyễn Thị Ngần

Trang: 9


KHĨA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

Hình 2.2: Sơ đồ chân AT89C51
2.1.3.2. Chức năng các chân của AT89C51
AT89C51 có tất cả 40 chân, trong đó 32 chân chức năng xuất nhập (ngồi ra cịn
có các chức năng khác) được chia thành 4 port 8 bit và 8 chân có chức năng khác.


Các port
Port 0
Port 0 gồm 8 chân (từ chân 32 đến chân 39) có hai chức năng:
+Chức năng xuất/nhập: các chân này được dùng để nhận tín hiệu từ bên
ngồi vào để xử lý, hoặc dùng để xuất tín hiệu ra bên ngoài.
+ Chức năng làm bus dữ liệu và bus địa chỉ (AD7-AD0): 8 chân này còn

làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM bên ngoài (nếu có kết nối bộ

SVTH: Nguyễn Thị Ngần

Trang: 10


KHĨA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

nhớ ngồi), đồng thời port 0 còn được dùng để định địa chỉ của bộ nhớ
ngoài.
Port 1
Port 1 gồm 8 chân (từ chân 1 đến chân 8) chỉ có chức năng làm các đường
xuất/nhập với các thiết bị bên ngồi, khơng có chức năng khác.
Port 2
Port 2 gồm 8 chân từ chân 21 đến chân 28 có 2 chức năng:
+ Chức năng xuất/nhập.
+ Chức năng là byte cao của bus địa chỉ (A8-A15): Khi kết nối với bộ nhớ
ngồi có dung lượng lớn, cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do
P0 đảm nhận, byte cao do P2 đảm nhận.
Port 3
Port 3 gồm 8 chân từ chân 10 đến chân 17, chức năng:
+ Xuất/nhập.
+ Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau:
Bảng 2.1: Chức năng chuyển đổi port 3
Bit

Tên


Địa chỉ bit

P3.0

RXD

B0H

Chân nhận dữ liệu nối tiếp

P3.1

TXD

B1H

Chân xuất dữ liệu nối tiếp

P3.2

INT0

B2H

Ngõ vào ngắt ngoài 0

P3.3

INT1


B3H

Ngõ vào ngắt ngoài 1

P3.4

T0

B4H

Ngõ vào của bộ định thời/đếm 0

P3.5

T1

B5H

Ngõ vào của bộ định thời/đếm 1

P3.6

WR

B6H

Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài

P3.7


RD

B7H

Ngõ điều khiển đọc dữ liệu từ bộ nhớ ngoài

SVTH: Nguyễn Thị Ngần

Chức năng

Trang: 11


KHĨA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

 Các ngõ tín hiệu điều khiển
Ngõ tín hiệu RST(RESET)
Ngõ vào RST ở chân 9 là ngõ vào Reset. Khi ngõ vào tín hiệu này đưa lên cao ít
nhất 2chu 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 tự động reset.
Chân XTAL1 và XTAL2 :
Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồn xung clock từ
bên ngoài để hoạt động, thường được ghép với thạch anh và các tụ để tạo nguồn xung
clock ổn định.

Hình 2.3:Mạch tạo dao động bằng thạch anh.
C1=C2= 30pF ± 10pF ( thường được sử dụng với C1,C2 là tụ 33pF) dùng ổn định

dao động cho thạch anh.
Ngõ tín hiệu ̅̅̅̅̅̅̅̅
𝐏𝐒𝐄𝐍(Program Store Enable)
+ ̅̅̅̅̅̅̅
PSEN tín hiệu được xuất ra ở chân 29 dùng để truy xuất bộ nhớ chương trình
ngồi. Chân này thường được nối với chân cho phép xuất OE (Output Enable) của
EPROM cho phép xuất các byte mã lệnh.
+ ̅̅̅̅̅̅̅
PSEN ở mức thấp trong thời gian Microcontroler lấy lệnh. Các mã lệnh được đọc
từ EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong chíp để giải mã
̅̅̅̅̅̅̅̅sẽ ở mức 1.
lệnh. Khi AT89C51 thi hành chương trình thì ROM nội PSEN
Ngõ tín hiệu điều khiển ALE(Address Latch Enable)

SVTH: Nguyễn Thị Ngần

Trang: 12


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

+ Khi vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus
địa chỉ vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín
hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và các
đường dữ liệu khi kết nối chúng với IC chốt.
+ Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào vi điều
khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các phần
khác của hệ thống. Chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong

AT89C51.
̅̅̅̅(External Access)
Ngõ tín hiệu𝐄𝐀
̅̅̅̅(chân 31)dùng để xác định chương trình thực hiện được lấy từ ROM nội
ChânEA
hay ROM ngoại.
+ Khi ̅̅̅̅
EA nối với logic 1 (+5V) thì vi điều khiển thực hiện chương trình lấy
từ bộ nhớ nội.
̅̅̅̅ nối với logic 0 (0V) thì vi điều khiển thực hiện chương trình lấy
+ Khi EA
từ bộ nhớ ngoại.
Chân Vcc
Là chân số 40 cấp nguồn cho vi điều khiển.Nguồn điện cấp là +5V±0.5.
Chân GND
Chân số 20 nối GND ( hay nối mass).
2.1.4. Tổ chức 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 tố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.

SVTH: Nguyễn Thị Ngần

Trang: 13


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG


Bảng 2.2: Cấu trúc bộ nhớ RAM bên trong vi điều khiển.

SVTH: Nguyễn Thị Ngần

Trang: 14


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

RAM nội trong vi điều khiển đựơc tổ chức như sau:


Các bank thanh ghi có địa chỉ từ 00H - 1FH



Ram địa chỉ hóa từng bit địa chỉ từ 20H -2FH



Ram đa dụng từ 30H - 7FH



Các thanh ghi chức năng đặc biệt từ 80H - FFH




210 vị trí được định địa chỉ bit

2.1.5. Trạng thái các thanh ghi sau khi reset
Bảng 2.3: Trạng thái các thanh ghi sau khi reset
Thanh ghi

Nội dung

Đếm chương trình PC

0000H

Thanh ghi tích lũy A

00H

Thanh ghi B

00H

Thanh ghi trạng thái PSW

00H

SP

O7H

DPTR


0000H

Port 0 – Port 3

FFH

IP

xxx00000B

IE

0x0x0000B

Các thanh ghi định thời

00H

SCON

00H

SBUF

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õ ra vào là RST xuống mức thấp chương trình ln 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ị thay đổi bởi tác
động của ngõ vào Reset.

2.1.6.Tập lệnh của AT89C51

SVTH: Nguyễn Thị Ngần

Trang: 15


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

2.1.6.1. Các chế độ đánh địa chỉ
Có 8 chế độ đánh địa chỉ:
Địa chỉ thanh ghi: Mỗi bank có 8 thanh ghi định số từ R0 đến R7, có 4 bank khác
nhau, được quy định bởi RS0 (PSW.3) và RS1(PSW.4) trong thanh ghi trạng thái chương
trình (PSW). Tại mỗi thời điểm chỉ có một bank thanh ghi được tích cực. Ngồi ra, một số
thanh ghi đặc biệt như thanh ghi tích lũy, con trỏ dữ liệu… cũng được xác định trong các
lệnh nên không cần các bit địa chỉ. Trong các lệnh này thanh ghi tích lũy được gọi 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 B là “AB”.
Địa chỉ trực tiếp: các thanh ghi bên trong còn được định vị bằng địa chỉ trực tiếp
bằng 8 bit địa chỉ nằm trong byte thứ hai của mã lệnh. VD: MOV A,E4H
Địa chỉ gián tiếp: R0 và R1 dùng để chứa địa chỉ ô nhớ mà lệnh cần truy xuất.
Người ta quy ước dùng dấu @ trước R0 hoặc R1. VD: MOV A,@R0
Địa chỉ tức thời: Người ta dùng # trước toán hạng tức thời. Nạp trực tiếp vào mã
lệnh. VD: MOV A,#E7H
Địa chỉ tương đối: Được dùng trong các lệnh nhảy, giá trị nhảy 8 bit (có dấu) sẽ
được cộng thêm vào thanh ghi đếm chương trình PC. Thường lệnh này có liên quan đến
nhãn được định nghĩa trước.
Địa chỉ tuyệt đối: Dùng trong các lệnh ACALL và AJMP, các lệnh 2 byte này

dùng để rẽ nhánh vào một trang 2 Kbyte của bộ nhớ chương trình.
Địa chỉ dài: Dùng cho lệnh LCALL và LJMP chúng là những lệnh chiếm 3 byte và
dùng 2 byte sau (byte 2 và byte 3) để định địa chỉ đích của lệnh. Ưu điểm của lệnh này là
có thể sử dụng trong tồ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ớ.
Địa chỉ tham chiếu: dùng thanh ghi PC hoặc DPTR là địa chỉ cơ bản cộng với
thanh ghi A (chứa địa chỉ offset) để tạo địa chỉ được tác động cho các lệnh JMP hoặc
MOVC. VD: JMP @A+DPTR
2.1.6.2. Các nhóm lệnh trong AT89C51

SVTH: Nguyễn Thị Ngần

Trang: 16


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

Tập lệnh trong vi điều khiển được chia làm 5 nhóm :


Nhóm lệnh số học:
o Tên lệnh ADD
ADD A,source (Cộng toán hạng nguồn với A).
ADD A,#data
o Tên lệnh ADDC
ADDC A,source (Cộng toán hạng nguồn với A và cờ nhớ).
ADDC A,#data
o Tên lệnh SUBB

SUBB A,source (A trừ toán hạng nguồn và số mượn).
SUBB A,#data
o Tên lệnh INC
INC A (Tăng nội dung thanh ghi A lên 1).
INC Rn (Tăng nội dung thanh ghi Rn lên 1).
INC @Ri (Tăng nội dung ô nhớ do Ri trỏ tới lên 1).
INC DPTR (Tăng nội dung thanh ghi DPTR lên 1).
o Tên lệnh DEC
DEC A (Giảm nội dung thanh ghi A xuống 1).
DEC Rn (Giảm nội dung thanh ghi Rn xuống 1).
DEC @Ri (Giảm nội dung ô nhớ do Ri trỏ tới xuống 1).
o Tên lệnh MUL
MUL AB (Nhân nội dung thanh ghi A với thanh ghi B. Byte cao lưu trong
thanh ghi B, byte thấp lưu trong A. Nếu kết qủa lớn hơn 255 thì cờ OV bật, nếu
khơng thì bị xố. Cờ C ln bị xố).
o Tên lệnh DIV
DIV AB (Chia nội dung thanh ghi A cho thanh ghi B. Phần nguyên lưu trong
thanh ghi A, phần dư lưu trong thanh ghi B. Cờ C và cờ OV đều bị xoá).
o Tên lệnh DA

SVTH: Nguyễn Thị Ngần

Trang: 17


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

DA A (Hiệu chỉnh thập phân thanh ghi A).



Nhóm lệnh di chuyển:
o Tên lệnh MOV
MOV A,Rn (Chép nội dung thanh ghi Rn vào thanh ghi A).
MOV A,@Ri (Chép nội dung của ô nhớ do Ri trỏ tới vào thanh ghi A).
MOV A,#data (Ghi dữ liệu tức thời vào thanh ghi A).
MOV A,@A+DPTR (Chép nội dung của ơ nhớ chương trình có địa chỉ
A+DPTR vào thanh ghi A).
MOV Rn,A (Chép nội dung thanh ghi A vào thanh ghi Rn).
MOV Rn,#data (Ghi dữ liệu tức thời vào thanh ghi Rn).
MOV @Ri,A (Chép nội dung của thanh ghi A vào ô nhớ do Ri trỏ tới).
MOV @Ri,#data (Ghi dữ liệu trực tiếp vào ô nhớ do Ri trỏ tới).
MOV DPTR,#data (Ghi một hằng 16 bit vào thanh ghi DPTR).
o Tên lệnh MOVC
MOVC A,@A+PC (Chép nội dung ô nhớ chương trình có địa chỉ A+PC vào
thanh ghi A).
MOVC A,@A+DPTR(Chép nội dung ơ nhớ chương trình có địa chỉ A+DPTR
vào thanh ghi A).
o Tên lệnh MOVX
MOVX A,@Ri (Chép nội dung của ơ nhớ bộ nhớ ngồi do Ri trỏ tới vào thanh
ghi A (8 bit địa chỉ)).
MOVX A,@DPTR (Chép nội dung của ơ nhớ bộ nhớ ngồi do DPTR trỏ tới
vào thanh ghi A (16 bit địa chỉ)).
MOVX @Ri,A (Chép nội dung thanh ghi A ra ngoài).
MOVX @DPTR,A (Chép nội dung thanh ghi A ra ngoài).
o Tên lệnh PUSH
PUSH direct (Cất vào stack).
o Tên lệnh POP


SVTH: Nguyễn Thị Ngần

Trang: 18


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

POP direct (Lấy ra từ stack).
o Tên lệnh XCH
XCH A,source (Trao đổi các byte).
o Tên lệnh XCHD
XCHD A,@Ri (Trao đổi các digit thấp).


Nhóm lệnh logic:
o Tên lệnh ANL
ANL A,source (Toán hạng AND).
ANL A,#data
ANL direct,A
ANL direct,#data
o Tên lệnh ORL
ORL A,source (Toán hạng OR).
ORL A,#data
ORL direct,A
ORL direct,#data
o Tên lệnh XRL
XRL A,source (Toán hạng XOR).
XRL A,#data

XRL direct,A
XRL direct,#data
o Tên lệnh CLR
CLR A (Xóa thanh ghi A).
o Tên lệnh CPL
CPL A (Lấy bù thanh ghi A).
o Tên lệnh RL
RL A (Quay trái thanh ghi A).
o Tên lệnh RLC

SVTH: Nguyễn Thị Ngần

Trang: 19


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

RLC A (Quay trái thanh ghi A kể cả cờ nhớ).
o Tên lệnh RR
RR A (Quay phải thanh ghi A).
o Tên lệnh RRC
RRC A (Quay phải thanh ghi A kể cả cờ nhớ).
o Tên lệnh SWAP
SWAP A (Hốn đổi hai nửa 4 bit).


Nhóm lệnh rẽ nhánh:
o Tên lệnh ACALL

ACALL addr11 (Gọi chương trình con dùng địa chỉ tuyệt đối).
o Tên lệnh LCALL
LCALL addr16 (Gọi chương trình con dùng địa chỉ dài).
o Tên lệnh RET
RET (Trở về từ lệnh gọi chương trình con).

o Tên lệnh RETI
RETI (Trở về từ trình phục vụ ngắt).
o Tên lệnh AJMP
AJMP addr11 (Nhảy dùng địa chỉ tuyệt đối).
o Tên lệnh LJMP
LJMP addr16 (Nhảy dùng địa chỉ dài).
o Tên lệnh SJMP
SJMP rel (Nhảy dùng địa chỉ ngắn).
o Tên lệnh JMP
JMP @A+DPTR (Nhảy gián tiếptừ con trỏ dữ liệu).
o Tên lệnh JZ
JZ rel (Nhảy nếu thanh ghi A bằng 0).
o Tên lệnh JNZ
JNZ rel (Nhảy nếu thanh ghi A khác 0).

SVTH: Nguyễn Thị Ngần

Trang: 20


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG


o Tên lệnh CJNE
CJNE A,direct,rel (So sánh và nhảy).
CJNE A,#data,rel
CJNE Rn,#data,rel
CJNE @Ri,#data,rel
o Tên lệnh DJNZ
DJNZ Rn,rel (Giảm và nhảy nếu khác 0).
DJNZ direct,rel
o Tên lệnh NOP
NOP (Khơng làm gì cả).


Nhóm lệnh xử lí bit:
o Tên lệnh CLR
CLR C (Xóa cờ nhớ C).
CLR bit (Xóa bit).
o Tên lệnh SETB
SETB bit (Thiết lập bit bằng 1).
SETB C (Thiết lập cờ nhớ).
o Tên lệnh CPL
CPL C (Lấy bù cờ nhớ).
CPL bit (Lấy bù bit).
o Tên lệnh ANL
ANL C/bit (AND NOT bit với C).
ANL C,bit (AND bit với C).
o Tên lệnh ORL
ORL C/bit (OR NOT bit với C).
ORL C,bit (OR bit với C).
o Tên lệnh MOV
MOV C,bit (Chép một bit trực tiếp vào cờ nhớ C).


SVTH: Nguyễn Thị Ngần

Trang: 21


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

MOV bit,C (Chép trạng thái cờ nhớ C vào một bit trực tiếp).
o Tên lệnh JC
JC rel (Nhảy nếu C bằng 1).
o Tên lệnh JNC
JNC rel (Nhảy nếu C bằng 0).
o Tên lệnh JB
JB bit,rel (Nhảy nếu bit bằng 1).
o Tên lệnh JNB
JNB bit,rel (Nhảy nếu bit bằng 0).
o Tên lệnh JBC
JBC bit,rel (Nhảy nếu bit bằng 1 rồi xóa bit).
2.1.6.3. Một số qui ước khi thiết lập cú pháp các lệnh
+ Rn: Khi sử dụng thay n bằng các số từ 0 đến 7: R0 đến R7.
+ # data: Dữ liệu 8 bit chứa trong lệnh, khi sử dụng data có thể viết dưới dạng:
- Số nhị phân (Vd: #00110011b).
- Số thập lục phân (Vd: #0A6H).
- Số thập phân (Vd: #24).
+ #data16: Hằng số 16 bit.
+ Direct: Ơ nhớ có địa chỉ là direct, direct được thay bằng địa chỉ từ 00H đến FFH
khi viết chương trình. Vd: mov A, direct.

+ @Ri: Ơ nhớ có địa chỉ gián tiếp, đây là địa chỉ của một ô nhớ, địa chỉ này được
xác định gián tiếp bằng giá trị của thanh ghi R0 hoặc R1.
+ Source: Tốn hạng nguồn có thể là Rn hoặc @Ri.
+ Bit: Địa chỉ trực tiếp của một bit.
+ Rel: Offset 8 bit có dấu.
+ Addr11: Địa chỉ 11 bit trong trang hiện hành.
+ Addr16: Đia chỉ 16 bit.

2.2. KHỐI CẢM BIẾN

SVTH: Nguyễn Thị Ngần

Trang: 22


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

Ánh sáng hồng ngoại là ánh sáng khơng thể nhìn thấy được bằng mắt thường, có
bước sóng từ 0.86µm đến 0.98µm.
Tia hồng ngoại dễ bị hấp thụ, khả năng xuyên thấu kém. Trong điều khiển từ xa
bằng tia hồng ngoại, chùm tia hồng ngoại phát đi hẹp, có hướng, do đó khi thu phải đúng
hướng.
Tần số làm việc tốt nhất của tia hồng ngoại từ 30 KHz đến 60 KHz, nhưng thường
sử dụng khoảng 36 KHz. Ánh sáng hồng ngoại truyền 36 lần/1s khi truyền mức 0 hay
mức1.

Hình 2.4: Led phát hồng ngoại


Hình 2.5: Led thu hồng ngoại

2.3. KHỚI HIỂN THỊ
2.3.1. Led đơn

Hình 2.6 Tiếp giáp P-N.
Hoạt động của LED giống với nhiều loại điốt bán dẫn. Khối bán dẫn loại p (chứa

SVTH: Nguyễn Thị Ngần

Trang: 23


KHÓA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

nhiều loại lỗ trống tự do) mang điện tích dương nên khi ghép với khối bán dẫn n (chứa
các điện tử tự do) mang điện tích âmthì các lỗ trống này có xu hướng chuyển động
khuyếch tán sang khối n. Cùng lúc khối p lại nhận thêm các điện tử (điện tích âm) từ khối
n chuyển sang. Kết quả là khối p tích điện âm (thiếu hụt lỗ trống và dư thừa điện tử)
trong khi khối n tích điện dương (thiếu hụt điện tử và dư thừa lỗ trống). Ở biên giới hai
bên mặt tiếp giáp, một số điện tử bị lỗ trống thu hút và khi chúng tiến lại gần nhau, chúng
có xu hướng kết hợp với nhau tạo thành các nguyên tử trung hịa. Q trình này có thể
giải phóng năng lượng dưới dạng ánh sáng (hay các bức xạ điện từ có bước sóng gần đó).

Hình 2.7 Cấu tạo bên trong của led đơn
Tùy theo mức năng lượng giải phóng cao hay thấp mà bước sóng ánh sáng phát
khác nhau (tức màu sắc của LED sẽ khác nhau). Mức năng lượng và màu sắc của


SVTH: Nguyễn Thị Ngần

Trang: 24


KHĨA LUẬN TỐT NGHIỆP

GVHD: LÊ XỨNG

LEDhồn tồn phụ thuộc vào cấu trúc năng lượng của các nguyên tử chất bán dẫn.
2.3.2. Led 7 đoạn
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm
một led đơn hình trịn nhỏ thể hiện dấu chấm trịn ở góc dưới bên phải của led 7 đoạn.
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung
với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại
trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với
mạch điện. Nếu led 7 đoạn có Anode(cực +) chung, đầu chung này được nối với +Vcc,
các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi
tín hiệu đặt vào các chân này ở mức 0. Nếu led 7 đoạn có Cathode(cực -) chung, đầu
chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng
thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.

Hình 2.8: Led 7 đoạn có Cathode, Anode chung

SVTH: Nguyễn Thị Ngần

Trang: 25



×