Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

LỜI NÓI ĐẦ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 con ngƣời ngày càng đƣợc nâng cao về mọi mặt trong cuộc sống,
trong sinh hoạt cũng nhƣ trong sản xuất. Với việc ứng dụng khoa học kỹ thuật vào
cuộc sống đã làm cho chất lƣợng cuộc sống nâng lên rõ rệt, đặt biệt là nâng cao
năng suất lao động trong các nhà máy, xí nghiệp. Đó là việc ứng dụng các mạch
điện tử vào trong các dây chuyền sản xuất. Các mạch điện tử này với độ chính xác
cao và dễ sử dụng đã dần dần thay thế đƣợc vai trò của ngƣời công nhân trong các
nhà máy, xí nghiệp.

2
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

LỜI CẢM ƠN
Để hoàn thành đồ án này em đã nhận đƣợc sự hƣớng dẫn và chỉ bảo tận tình
của Giáo viên hƣớng dẫn. Em xin chân thành cảm ơn thầy Nguyễn Duy Thảo đã tận
tình hƣớng dẫn và chỉ dạy cho em trong suốt quá trình thực hiện đồ án này.
Qua đây em cũng xin gửi lời cảm ơn đến các Thầy Cô trong khoa Điện- Điện
tử cũng nhƣ trong trƣờng đã cung cấp cho em những kiến thức nền tảng cũng nhƣ
chuyên ngành trong suốt những học kỳ qua. Chính những điều này đã giúp em hoàn
thành đồ án này một cách tốt đẹp.
Xin cảm ơn quí thầy cô trong thƣ viện trƣờng đã tạo điều kiện cho em có đƣợc
các tài liệu cần thiết để thực hiện đồ án này.
Sau cùng, em xin gửi lời cảm ơn chân thành đến những ngƣời thân trong gia
đình, các bạn bè trong và ngoài lớp, những ngƣời đã luôn góp ý, động viên, khuyến
khích và giúp đỡ cho đồ án này hoàn thành.

Ngày 28 tháng 11 năm 2011
Sinh viên thực hiện

Nguyễn Đông Thức

3
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

Tp Hồ Chí Minh, ngày 28 tháng 11 năm 2011
Giáo viên hƣớng dẫn

Nguyễn Duy Thảo

4
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

MỤC LỤC
PHẦN 1: GIỚI THIỆU ĐỀ TÀI
PHẦN 2: LÝ THUYẾT TỔNG QUAN
2.1 Sơ đồ khối của hệ thống.
2.2 Phân tích từng khối.
2.3 Giới thiệu linh kiện.
2.3 Sơ đồ nguyên lý.

PHẦN 3: THIẾT KẾ VÀ THI CÔNG
3.1 Lƣu đồ giải thuật.
3.2 Mã nguồn chƣơng trình(code).
3.3 Mô phỏng
3.4 Sơ đồ mạch in

PHẦN 4: KẾT LUẬN
PHẦN 5: TÀI LIỆU THAM KHẢO

5
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

PHẦN 1: GIỚI THIỆU ĐỀ TÀI
Sau 3 năm học tại khoa Điện-điện tử của trường đại học sư phạm kỹ thuật
thành phố Hồ Chí Minh, em đã có một số kiến thức nhất định về điện tử cơ bản, kỹ
thuật số, và những kỹ năng lập trình cho vi xử lý. Quan sát cuộc sống thực tế thì em
thấy đo khoảng cách là một ứng dụng thường được sử dụng. Thì bằng những kiến
thức đã có em đã tìm hiểu và từng bước cho ra đời sản phẩm là một mạch đo
khoảng cách. Mặc dù nó không được chính xác như một chiếc máy đo chuyên dụng
nhưng cũng tương đối chính xác và có thể sử dụng được.

6
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

PHẦN 2: LÝ THUYẾT TỔNG QUAN
2.1 SƠ ĐỒ KHỐI HỆ THỐNG

KHỐI NGUỒN

KHỐI
CẢM
BIẾN

KHỐI
XỬ

KHỐI
HIỂN
THỊ

7
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

2.2 PHÂN TÍCH TỪNG KHỐI
2.2.1 Khối nguồn
Sử dụng nguồn 5V cung cấp điện áp cho các linh kiện trong mạch hoạt động.
2.2.2 Khối cảm biến
Ở đây, ta sử dụng IC SRF05 phát xung tới vị trí cần đo, sau đó nó tự tạo ra một
xung ở chân ECHO, độ rộng xung này tỉ lệ với khoảng cách cần đo.
2.2.3 Khối xử lí
Sử dụng vi điều khiển AT89S52 để kích xung điều khiển SRF05 hoạt động và đo
độ rộng xung ở chân ECHO của SRF05.Sau khi đo xong vi điều khiển sẽ tính toán
và đƣa giá trị đến cho LCD hiển thị kết quả.
2.2.4 Khối hiển thị
Sử dụng LCD 16x2 để hiển thị khoảng cách đo đƣợc.

8
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

2.3 GIỚI THIỆU LINH KIỆN
2.3.1 VI ĐIỀU KHIỂN AT89S52
AT89S52 thuộc họ 8051 có 40 chân cho các chức năng khác nhau như vào
ra I/O, đọc RD, ghi WR, địa chỉ, dữ liệu và ngắt.

A/ MÔ TẢ CÁC CHÂN
Chân VCC:
Chân số 40 là VCC cấp điện áp nguồn cho chip. Nguồn điện áp là +5V.
Chân GND:
Chân số 20 là GND.

9
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

Chân XTAL1 và XTAL2:
89S52 có một bộ giao động trên chip nhƣng nó yêu cầu có một xung đồng hồ
ngoài để chạy nó. Bộ giao động thạch anh thƣờng xuyên nhất đƣợc nối tới các chân
đầu vào XTAL1 (chân 19) và XTAL2 (chân 18). Bộ giao động thạch anh đƣợc
nối tới XTAL1 và XTAL2 cũng cần hai tụ điện giá trị 33pF. Một phía của tụ điện
đƣợc nối xuống đất.
Chân Reset:
Chân số 9 là chân tái lập reset. Nó là một đầu vào tích cực mức cao(bình thƣờng
mức thấp).Nhằm làm cho đầu vào RESET có hiệu quả thì nó phải có tối thiểu 2 chu
kì máy, hay nói cách khác, xung cao phải kéo dài 2 chu kì máy trƣớc khi nó xuống
thấp.Trong 8051 một chu kì máy bằng 12 chu kì dao động.
Mạch reset:

R1
100

C1
10uF

R2
8K2

10
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

Chân EA:
Tín hiệu vào EAở chân 31 thƣờng đƣợc mất lên mức 1 hoặc mức 0.
Nếu ở mức 1, 89S52 thi hành chƣơng trình từ bộ nhớ nội.
Nếu ở mức 0, 89S52 sẽ thi hành chƣơng trình từ bộ nhớ ngoại.
Chân PSEN (program store enable): tín hiệu xuất ra từ vi điều khiển để điều
khỉên đọc bộ nhớ chƣơng trình. Nếu sử dụng bộ nhớ chƣơng trình ngoài thì PSEN
đƣợc nối với OE của ROM, nếu không sử dụng thì bỏ trống chân này.
Chân ALE ( address latch enable): cho phép chốt địa chỉ. Tín hiệu ALE sẽ đƣợc
nối với chân LE của IC chốt.
Các PORT:
Port 0 (chân 32 – 39): là port có hai 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
các thiết kế cỡ 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 (chân 1 – 8): là port IO, các chân P1.0, P1.1, P1.2, có thể dùng cho
giao tiếp với các thiết bị ngoài nếu cần. Ngoài ra chân P1.0 cũng là ngõ vào
của timer 2, chân P1.1 là ngõ vào ngắt ngoài timer 2 của 8952.
Port 2 (chân 21 – 28): là 1 port đa năng đƣợc 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 (chân 10 – 17): là port đa năng nếu không sử dụng thì port 3 dùng làm
IO; nếu có sử dụng thì có các chức năng đặc biệt sau :
 P3.0 - RxD: dùng để nhận dữ liệu nối tiếp trong khi giao tiếp UART hay giao
tiếp máy tính.
 P3.1 - TxD: dùng để truyền dữ liệu nối tiếp trong khi giao tiếp UART hay
giao tiếp máy tính.
 P3.2 - INT0: tín hiệu ngắt ngoài thứ 0.
 P3.3 - INT1: tín hiệu ngắt ngoài thứ 1.

11
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

 P3.4 - T0: ngõ vào nhận xung ngoại cho timer / counter 0.
 P3.5 - T1: ngõ vào nhận xung ngoại cho timer / counter 1.
 P3.6 - WR: điều khiển ghi dữ liệu.
 P3.7 - RD: điều khiển đọc dữ liệu.
B/ TỔ CHỨC BỘ NHỚ
Vi điều khiển 89S52 có bộ nhớ nội bên trong và có khả năng giao tiếp với bộ
nhớ bên ngoài nếu bộ nhớ bên trong không có đủ khả năng lƣu trữ chƣơng trình.
Bộ nhớ bên trong gồm có 2 loại bộ nhớ: bộ nhớ dữ liệu và bộ nhớ chƣơng
trình. Bộ nhớ dữ liệu có 256 byte, bộ nhớ chƣơng trình có dung lƣợng 8 kbyte.
Bộ nhớ mở rộng bên ngoài cũng gồm có 2 loại: bộ nhớ dữ liệu và bộ nhớ
chƣơng trình. Khả năng giao tiếp là 64kbyte cho mỗi loại. Hình sau minh hoạ khả
năng giao tiếp bộ nhớ của vi điều khiển 89S52.

Bộ nhớ mở rộng bên ngoài và bộ nhớ chƣơng trình bên trong và bộ nhớ
chƣơng trình bên trong không có gì đặc biệt – chỉ có chức năng lƣu trữ dữ liệu và
mã chƣơng trình nên không cần phải khảo sát.
Bộ nhớ chƣơng trình bên trong của vi điều khiển thuộc loại bộ nhớ FLASH
ROM cho phép xoá bằng xung điện và lập trình lại.
Bộ nhớ RAM nội bên trong là một bộ nhớ đặc biệt ngƣời sử dụng vi điều
khiển cần phải nắm rõ cách tổ chức và các chức năng đặc biệt của bộ nhớ này.

12
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

RAM bên trong 89S52 đƣợ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 80H đến FFH.

13
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

C/ CÁC THANH GHI CÓ CHỨC NĂNG ĐẶC BIỆT
Các ô nhớ có địa chỉ 80H, 90H, A0h, B0h: Là các Port của 89S52 bao gồm
port0 có địa chỉ là 80H, Port1 có địa chỉ 90H, Port2 có địa chỉ A0H và Port3 có địa
chỉ B0H. Tất cả các Port này có thể truy xuất từng bit nên rất thuận tiện trong điều
khiển IO.
Ô nhớ có địa chỉ 81H: Là thanh ghi con trỏ ngăn xếp SP (stack pointer) - có
chức năng quản lý địa chỉ của bộ nhớ ngăn xếp. Bộ nhớ ngăn xếp dùng để lƣu trữ
dữ liệu tạm thời trong quá trình vi điều khiển thực hiện chƣơng trình.
Ô nhớ có địa chỉ 82h và 83h: Là 2 thanh ghi dpl (byte thấp) có địa chỉ là 82H
và dph (byte cao) có địa chỉ 83H. Hai thanh ghi này có thể sử dụng độc lập nếu lƣu
trữ dữ liệu và có thể kết hợp lại tạo thành 1 thanh ghi 16 bit có tên là dptr và gọi là
con trỏ dữ liệu – đƣợc dùng để lƣu địa chỉ 16 bit khi truy xuất dữ liệu bên ngoài.
Ô nhớ có địa chỉ 87H: Là thanh ghi pcon (power control) có chức năng điều
khiển công xúât khi vi điều khiển làm việc hay ở chế độ chờ.
Các ô nhớ có địa chỉ từ 88H đến 8DH : Là các thanh ghi phục vụ cho 2
timer/ counter T1, T0. Thanh ghi TH0 và TL0 kết hợp lại tạo thành 1 thanh ghi 16
bit có chức năng lƣu trữ xung đếm cho timer/counter T0. Tƣơng tự cho 2 thanh ghi
TH1 và TL1 kết hợp lại lƣu trữ xung đếm cho timer/counter T1. Khả năng lƣu trữ
số lƣợng xung đếm là 65536 xung.
Các ô nhớ có chức năng 98H đến 99H : Là 2 thanh ghi scon và sbuf:scon
(series control): thanh ghi điều khiển truyền dữ liều nối tiếp. Sbuf (series buffer ):
thanh ghi đệm dữ liệu truyền nối tiếp.
Các ô nhớ có địa chỉ từ A8H đến B9H : Là 2 thanh ghi IE và IP – thanh ghi
IE (interrupt enable): thanh ghi điều khiển cho phép / không cho phép ngắt. IP
(interrupt priority): thanh ghi điều khiển ƣu tiên ngắt.

Thanh ghi trạng thái chƣơng trình (PSW: Program Status Word): Thanh ghi
trạng thái chƣơng trình có địa chỉ D0H đƣợc tóm tắt nhƣ sau:

14
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

Thanh ghi B : Thanh ghi B có địa chỉ F0H đƣợc dùng cùng với thanh ghi A
để thực hiện các phép toán nhân chia. Lệnh MUL AB: sẽ nhận giá trị không dấu 8
bit với 8 bit trong hai thanh ghi A và B, rồi trả về kết quả 16 bit trong A (byte cao)
và B(byte thấp). Lệnh DIV AB: lấy giá trị trong thanh ghi A chia cho giá trị trong
thanh ghi B, kết quả nguyên lƣu trong A, số dƣ lƣu trong B.
D/ BỘ ĐỊNH THỜI TIMER TRONG VI ĐIỀU KHIỂN
 Thanh ghi chọn kiểu làm việc cho Timer-Mode Register

15
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

 Thanh ghi điều khiển- Control Register

16
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

E/ HOẠT ĐỘNG NGẮT CỦA VI ĐIỀU KHIỂN

 Tổ chức ngắt

17
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

Vi điều khiển 89S52 có 6 nguồn ngắt

 Cho phép ngắt/cấm ngắt
Trong vi điều khiển có một thanh ghi IE ở địa chỉ 0A8H có chức năng cho
phép/ cấm ngắt. Ta sử dụng thanh ghi này để cho phép hay không cho phép đối với
từng nguồn ngắt và cho toàn bộ các nguồn ngắt.

Hoạt động của từng bit trong thanh ghi cho phép ngắt IE đƣợc tóm tắt trong
bảng dƣới đây:

18
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

 Cấu trúc ngắt của vi điều khiển

 Các vector ngắt

19
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

2.3.1 CẢM BIẾN SIÊU ÂM

A/ CÁC MODE HOẠT ĐỘNG

20
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

Sơ đồ chân SRF05

Giản đồ xung mode 1:

21
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

B/ TÍNH TOÁN KHOẢNG CÁCH

22
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

2.3.2 LCD 16X2

23
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

A/ CHỨC NĂNG CÁC CHÂN

24
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

B/ CÁC LỆNH ĐẾN THANH GHI CỦA LCD

C/ DẠNG SÓNG DIỀU KHIỂN LCD

2.4 SƠ ĐỒ NGUYÊN LÝ

25
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

PHẦN 3: THIẾT KẾ VÀ THI CÔNG
26
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

3.1 LƢU ĐỒ GIẢI THUẬT
3.1.1 LƢU ĐỒ KHỞI TẠO LCD

3.1.2 LƢU ĐỒ MAIN PROGRAM
27
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

28
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

29
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

3.2 MÃ NGUỒN CHƢƠNG TRÌNH
3.2.1 CHƢƠNG TRÌNH CHÍNH
LCD_E

BIT

P3.0

LCD_RW

BIT

P3.1

LCD_RS

BIT

P3.2

LCD_DATA

EQU P2

ECHO

BIT

P1.0

TRIGGER

BIT

P1.1

DEM

EQU R0

CHUCDONVI

EQU 10H

NGANTRAM

EQU 11H

CHUCNGAN

EQU 12H

DEMTV

EQU R3

CHUKY

EQU R4

BL

EQU R6

BH

EQU R7

ORG

000H

JMP

MAIN

ORG

000BH

INC

DEM

30
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

MOV

TH0,#HIGH(-232)

MOV

TL0,#LOW(-232)

RETI

MAIN:
MOV

TMOD,#01H

SETB

EA

SETB

ET0

CALL

KTAO_LCD

CALL

HT_HANG1

CALL

HT_HANG2

LB0: MOV

DEM,#0

SETB

TRIGGER

CALL

DELAY10US

CLR

TRIGGER

JNB

ECHO,$

MOV

TH0,#HIGH(-232)

MOV

TL0,#LOW(-232)

SETB

TR0

JB

ECHO,$

CLR

TR0

31
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

CALL

CAL_PULSE

MOV

B,23H

MOV

A,24H

CALL

HEXTOBCD

CALL

BCDTOASCII

CALL

HT_RESULT

JMP

LB0

3.2.2 CÁC CHƢƠNG TRÌNH CON
A/ CHƢƠNG TRÌNH CON KHỞI TẠO LCD
KTAO_LCD:
MOV

LCD_DATA,#38H

CALL

GHI_DIEUKHIEN

MOV

LCD_DATA,#38H

CALL

GHI_DIEUKHIEN

MOV

LCD_DATA,#38H

CALL

GHI_DIEUKHIEN

MOV

LCD_DATA,#0CH

CALL

GHI_DIEUKHIEN

32
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

MOV

LCD_DATA,#01H

CALL

GHI_DIEUKHIEN

MOV

LCD_DATA,#06H

CALL

GHI_DIEUKHIEN

RET

B/ CHƢƠNG TRÌNH CON HEXTOBCD
HEXTOBCD:
MOV

CHUCDONVI,#0

MOV

NGANTRAM,#0

MOV

CHUCNGAN,#0

MOV

BH,A

MOV

BL,B

MOV

50H,BH

MOV

51H,BL

MOV

DEMTV,#15

HEXTOBCD1:
CALL

XOAYDULIEU

33
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

;KIEM TRA HANG DON VI
MOV

A,CHUCDONVI

ANL

A,#0FH

CJNE

A,#5,$+3

JC

HEXTOBCD2

MOV

A,CHUCDONVI

ADD

A,#3

MOV

CHUCDONVI,A

;KIEM TRA HANG CHUC
HEXTOBCD2:
MOV

A,CHUCDONVI

ANL

A,#0F0H

CJNE

A,#50H,$+3

JC

HEXTOBCD3

MOV

A,CHUCDONVI

ADD

A,#30H

MOV

CHUCDONVI,A

;KIEM TRA HANG TRAM
HEXTOBCD3:
MOV

A,NGANTRAM

34
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

ANL

A,#0FH

CJNE

A,#5,$+3

JC

HEXTOBCD4

MOV

A,NGANTRAM

ADD

A,#3

MOV

NGANTRAM,A

;KIEM TRA HANG NGAN
HEXTOBCD4:
MOV

A,NGANTRAM

ANL

A,#0F0H

CJNE

A,#50H,$+3

JC

HEXTOBCD5

MOV

A,NGANTRAM

ADD

A,#30H

MOV

NGANTRAM,A

HEXTOBCD5:
DJNZ

DEMTV,HEXTOBCD1

CALL

XOAYDULIEU

RET

35
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

XOAYDULIEU:
CLR

C

MOV

A,BL

RLC

A

MOV

BL,A

MOV

A,BH

RLC

A

MOV

BH,A

MOV

A,CHUCDONVI

RLC

A

MOV

CHUCDONVI,A

MOV

A,NGANTRAM

RLC

A

MOV

NGANTRAM,A

RLC

A

MOV

CHUCNGAN,A

RET

C/ CHƢƠNG TRÌNH CON BCDTOASCII
BCDTOASCII:
MOV

A,CHUCDONVI

ANL

A,#0FH

36
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

ADD

A,#30H

MOV

30H,A

MOV

A,CHUCDONVI

ANL

A,#0F0H

SWAP

A

ADD

A,#30H

MOV

31H,A

MOV

A,NGANTRAM

ANL

A,#0FH

ADD

A,#30H

MOV

32H,A

MOV

A,25H

ADD

A,#30H

MOV

33H,A

MOV

A,26H

ADD

A,#30H

MOV

34H,A

RET

37
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

D/ CHƢƠNG TRÌNH CON CAL_PULSE
CAL_PULSE:
MOV

A,TL0

SUBB

A,#23

MOV

B,#58

DIV

AB

MOV

20H,B

MOV

21H,A

MOV

A,DEM

MOV

B,#4

MUL

AB

MOV

22H,B

ADD

A,21H

MOV

23H,A

MOV

A,22H

ADDC

A,#0

MOV

24H,A

MOV

A,20H

MOV

B,#6

DIV

AB

; SO DU CUA PHEP CHIA

;BYTE CAO CUA KET QUA PHEP NHAN

;BYTE THAP CUA KET QUA DO

;BYTE CAO CUA KET QUA DO

38
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

MOV

25H,A

MOV

A,B

MOV

B,#10

MUL

AB

MOV

A,B

MOV

B,#6

DIV

AB

MOV

26H,A

RET
D/ CHƢƠNG TRÌNH CON HIỂN THỊ KẾT QUẢ KÍCH THƢỚC ĐO ĐƢỢC
HT_RESULT:
MOV

LCD_DATA,#89H

CALL

GHI_DIEUKHIEN

MOV

LCD_DATA,32H

CALL

GHI_DATA

MOV

LCD_DATA,31H

CALL

GHI_DATA

MOV

LCD_DATA,30H

CALL

GHI_DATA

MOV

LCD_DATA,#','

CALL

GHI_DATA

MOV

LCD_DATA,33H

39
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

CALL

GHI_DATA

MOV

LCD_DATA,34H

CALL

GHI_DATA

MOV

LCD_DATA,#' '

CALL

GHI_DATA

MOV

LCD_DATA,#'C'

CALL

GHI_DATA

MOV

LCD_DATA,#'M'

CALL

GHI_DATA

RET
E/ MỘT SỐ CHƢƠNG TRÌNH CON KHÁC
// CHƢƠNG TRÌNH CON HIỂN THỊ HÀNG THỨ 1 TRÊN LCD
HT_HANG1:
MOV

LCD_DATA,#80H

CALL

GHI_DIEUKHIEN

MOV

DPTR,#DATAHANG1

CALL

WRITE

RET
// CHƢƠNG TRÌNH CON HIỂN THỊ HÀNG THỨ 2 TRÊN LCD
HT_HANG2:
MOV

LCD_DATA,#0C0H

CALL

GHI_DIEUKHIEN

40
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

MOV

DPTR,#DATAHANG2

CALL

WRITE

RET
// CHƢƠNG TRÌNH CON DÙNG ĐỂ GHI LỆNH ĐIỀU KHIỂN CHO LCD
GHI_DIEUKHIEN:
CLR

LCD_RS

CLR

LCD_RW

SETB

LCD_E

NOP
NOP
CLR

LCD_E

CALL

DELAY10MS

RET
// CHƢƠNG TRÌNH CON DÙNG ĐỂ GHI DỮ LIỆU LÊN LCD
GHI_DATA:
SETB

LCD_RS

CLR

LCD_RW

SETB

LCD_E

NOP
NOP
CLR

LCD_E

CALL

DELAY10MS

41
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

RET
// CHƢƠNG TRÌNH CON WRITE
WRITE:
MOV

A,#0

MOVC

A,@A+DPTR

CJNE

A,#99H,WRITE1

RET

WRITE1:
MOV

LCD_DATA,A

CALL

GHI_DATA

INC

DPTR

JMP

WRITE

42
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

3.3 MÔ PHỎNG

43
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

3.4 MẠCH IN

44
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

PHẦN 4: KẾT LUẬN
1. Thành quả đạt đƣợc
- Mạch chạy ổn định, hiển thi khoảng cách đến giá trị nhỏ hơn mm.
- Biết lập trình đƣợc các mạch cơ bản ứng dụng trong thực tế.
- Nắm đƣợc nguyên tắc hoạt động của mạch.
2. Nhƣợc điểm
- Chƣa xóa số 0 vô nghĩa nên nhìn hơi bị rối mắt
- Không có nút nhấn chuyển từ đơn vị này sang đơn vị khác ( từ cm qua m hoặc cm
qua inch).
3. Hƣớng phát triển
Tìm hiểu thêm phần lập trình để hoàn hiện hóa các chức năng nhƣ: xóa số
không vô nghĩa, thêm chức năng chuyển qua lại giữa các đơn vị đo và giảm thiếu
sai số đo đến giá trị nhỏ nhất.

45
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Đồ Án Môn Học 2

GVHD: Th.S Nguyễn Duy Thảo

PHẦN 5: TÀI LIỆU THAM KHẢO
1. Giáo trình vi xử lý 1-Thầy Nguyễn Đình Phú - Trƣờng Đại học Sƣ Phạm Kỹ
Thuật TPHCM.
2. Giáo trình thực tập vi xử lý-vi điều khiển –Thầy Nguyễn Đình Phú.
3. Một số trang web tham khảo:
 http://www.dientuvietnam.net/forums/cam-bien-do-khoang-cach-103/lamsao-rap-cam-bien-sieu-am-srf05-39140/
 www.datasheet.com

46
SVTH: Nguyễn Đông Thức

MSSV: 08101139

Sign up to vote on this title
UsefulNot useful