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

ỨNG DỤNG VI điều khiển đo KHOẢNG THỜI GIAN

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 (198.93 KB, 25 trang )

Ph ạ m Thanh Bình L ớ p: ĐTĐ50- Đ H2

Mục Lục
Trang
Lời Nói Đầu
2
CHƯƠNG 1: GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051 3
1.1. Cấu trúc phần cứng. 3
1.2. Sơ đồ chân và chức năng từng chân. 4
CHƯƠNG 2: ỨNG DỤNG ĐO KHOẢNG THỜI GIAN
GIỮA 2 XUNG ( F < 1000 HZ ) 7
2.1. Mạch tạo xung sử dụng Time 555. 7
2.2. Giới thiệu về LCD. 7
2.3. Lưu đồ thuật toán. 10
2.4. Mạch đo và chương trình hợp ngữ. 10
Kết Luận
17
Tài Liệu Tham Khảo
18
Chuyên nghành: Điện Tự Động-CN
1
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

LỜI NÓI ĐẦU
Bộ Vi xử lí là hạt nhân của hệ VXL,nó thực hiện các phép tính logic hoặc số
học để điều khiển toàn bộ hoạt động của hệ:
- Đọc các lệnh từ ô nhớ,giải mã lệnh và thực hiện lệnh
- Trao đổi số liệu với bộ nhớ và các thiết bị vào ra
- Có thể được điều khiển từ 1 số tín hiệu bên ngoài đẻ thực hiện 1 số chức
năng đặc biệt như thâm nhập bộ nhớ,ngắt và treo


Một hệ VXL bao gồm 2 phần:
- Phần cứng
- Phần mềm
*) Phần cứng là toàn bộ các kết cấu vật lí cấu thành nên hệ như ROM, RAM,

P…
*) Phần mềm:Phần logic bao gòm hệ điều hành va chương trình ứng dụng(do
người sử dụng viết)chương trình được lưu trữ trong bộ nhớ bằng mã nhị phân
của máy tính.Một chương trình viết bằng ngôn ngữ máy là 1 chuỗi các byte nhị
phân biểu diễn các lệnh mã máy tính thực hiện được.Hợp ngữ thay thế các mã
nhị phân của ngôn ngữ máy bằng các mã gợi nhớ giúp ta dễ nhớ hơn và dễ lập
trình hơn.
BTL bao gồm:
CHƯƠNG 1: Giới thiệu họ vi điều khiển 8051
1.1. Cấu trúc phần cứng.
1.2. Sơ đồ chân và chức năng từng chân.
CHƯƠNG 2: Ứng dụng đo khoảng thời gian giữa 2 xung ( f < 1000 Hz )
2.1. Mạch tạo xung sử dụng time 555
2.2. Giới thiệu về LCD.
2.3. Lưu đồ thuật toán
2.4. Mạch đo và chương trình hợp ngữ.
Chuyên nghành: Điện Tự Động-CN
2
Đại Học Hàng Hải
Ph ạ m Thanh Bình

L ớ p: ĐTĐ50-ĐH2

CHƯƠNG 1: GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051
1.1. Cấu trúc phần cứng.

Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn
tương tự như nhau. Ở đây giới thiệu IC8951 là một họ IC vi điều khiển do hãng
Intel của Mỹ sản xuất. Chúng có các đặc điểm chung như sau:
Các đặc điểm của 8951 được tóm tắt như sau :
• 8 KB EPROM bên trong.
• 128 Byte RAM nội.
• 4 Port xuất /nhập I/O 8 bit.
• Giao tiếp nối tiếp.
• 64 KB vùng nhớ mã ngoài
• 64 KB vùng nhớ dữ liệu ngoại.
• Xử lí Boolean (hoạt động trên bit đơn).
• 210 vị trí nhớ có thể định vị bit.
• 4 µs cho hoạt động nhân hoặc chia.
Sơ đồ khối của 8951:
INT1\
INT0\
SERIAL
PORT
TIMER 0
TIMER 1
INTERR OTHER
UPT REGIST
CPU
BUS
CONTRO
OSCILAT
EA\
RS
128 byte ROM
RAM 4K:

8051\80 8031
128 byte 4K:
RAM 8051
I/O PORT
ALE\
PSEN P
0
P
1
P
2
P
3
\ Address\Data
TIMER
2
TIMER1
TIMER1
SERIA
L PORT
TXD
Chuyên nghành: Điện Tự Động-CN
3 Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

1.2. Sơ đồ chân và chức năng từng chân.
1.2.1 Sơ đồ chân 8951:
5v
+ C3
10MF

R3
10K
12M
C4
30P
C4
30P
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Y2
19
5v
U4
P1.0

P0.0/AD0
P1.1
P0.1/AD1
P1.2
P0.2/AD2
P1.3
P0.3/AD3
P1.4
P0.4/AD4
P1.5
P0.5/AD5
P1.6
P0.6/AD6
P1.7
P0.7/AD7
RST
EA/VPP

P3.0/RXD ALE/PROG
P3.1/TXD PSEN
P3.2/INT0
P3.3/INT1
P3.4/T0 P2.7/A15
P3.5/T1
P2.6/A14
P3.6/WR
P2.5/A13
P3.7/RD
P2.4/A12
P2.3/A11

XTAL2 P2.2/A10
XTAL1 P2.1/A9
P2.0/A8
AT89C51
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Sơ đồ chân IC 89C51
1.2.2. Chức năng các chân của 8951:
- 8951 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó có
24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), 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 các
bus dữ liệu và bus địa chỉ.
a. Các Port:

Port 0 :
- Port 0 là port có 2 chức năng ở các chân 32 - 39 của 8951. 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
Chuyên nghành: Điện Tự Động-CN
4
Đại Học Hàng Hải20
40
GND
VCC
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

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.
r Port 1:
- Port 1 là port IO trên các chân 1-8. Các chân được ký hiệu 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. Port 1 không
có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị
bên ngoài.
r Port 2 :
- Port 2 là 1 port có tác dụng kép trên các chân 21 - 28 đượ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.
r Port 3:
- Port 3 là port có tác 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 Tên Chức năng chuyển đổi
P3.0 RXT Ngõ vào dữ liệu nối tiếp.
P3.1 TXD Ngõ xuất dữ liệu nối tiếp.
P3.2 INT0\ Ngõ vào ngắt cứng thứ 0.

P3.3 INT1\ Ngõ vào ngắt cứng thứ 1.
P3.4 T0 Ngõ vào của TIMER/COUNTER thứ
P3.5 T1 0.
P3.6 WR\ Ngõ vào của TIMER/COUNTER thứ
P3.7 RD\ 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.
b. Các ngõ tín hiệu điều khiển :
r Ngõ tín hiệu PSEN (Program store enable):
- PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ
chương trình mở rộng thường được nói đến chân 0E\ (output enable) của Eprom 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 qua bus dữ liệu và được chốt vào
thanh ghi lệnh bên trong 8951 để giải mã lệnh. Khi 8951 thi hành chương trình
trong ROM nội PSEN sẽ ở mức logic 1.
r Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :
- Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và
bus 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.
Chuyên nghành: Điện Tự Động-CN
5
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

- Tín hiệu ra ở 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.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể
được dùng làm tín hiệu clock 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 8951.
r Ngõ tín hiệu 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, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8
Kbyte. Nếu ở mức 0, 8951 sẽ 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 8951.
r Ngõ tín hiệu RST (Reset) :
-Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951. Khi ngõ vào tín hiệu
này đưa lên cao ít nhất là 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 tự động
Reset.
r Các ngõ vào bộ dao động X1, X2:
- Bộ dao động được tích hợp bên trong 8951, khi sử dụng 8951 người thiết kế chỉ
cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ. Tần số thạch anh
thường sử dụng cho 8951 là 12Mhz.
r Chân 40 (Vcc) được nối lên nguồn 5V.
Chuyên nghành: Điện Tự Động-CN
6
Đại Học Hàng Hải
Ph ạ m
Thanh
Bình

L ớ p: ĐTĐ50-ĐH2

CHƯƠNG 2: ỨNG DỤNG ĐO KHOẢNG THỜI GIAN GIỮA
2 XUNG ( F < 1000 HZ )
2.1. Mạch tạo xung dùng Time 555:
Chu kỳ xung :
T = ln2 *(R1 + 2*R2)*C1

Thời gian xung ở mức thấp:
T
t
= ln2*R2*C1
2.2. Giới thiệu về LCD.
2.2.1. Hoạt động của LCD:
Trong những năm gần đây LCD đang ngày càng được sử dụng rộng rãi thay thế
dần cho các đèn LED (các đèn LED 7 đoạn hay nhiều đoạn). Đó là vì các nguyên
nhân sau:
• Các LCD có giá thành hạ.
• Khả năng hiển thị các số, các ký tự và đồ hoạ tốt hơn nhiều so với các
đèn LED (vì các đèn LED chỉ hiển thị được các số và một số ký tự).
• Nhờ kết hợp một bộ điều khiển làm tươi vào LCD làm giải phóng cho
CPU công việc làm tươi LCD. Trong khi đèn LED phải được làm tươi
Chuyên nghành: Điện Tự Động-CN
7
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

bằng CPU (hoặc bằng cách nào đó) để duy trì việc hiển thị dữ liệu.
• Dễ dàng lập trình cho các ký tự và đồ hoạ.
2.2.2 Mô tả các chân của LCD:
LCD được nói trong mục này có 14 chân, chức năng của các chân được
cho
trong bảng. Vị trí của các chân được mô tả trên hình vẽ cho nhiều LCD
khác
nhau.
1. Chân VCC, VSS và VEE: Các chân VCC, VSS và VEE: Cấp
dương
nguồn - 5v và đất tương ứng thì VEE được dùng để điều khiển độ tương phản

của LCD.
2. Chân chọn thanh ghi RS (Register Select).
Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các
thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho
phép
người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về
đầu dòng
v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người
dùng gửi dữ
liệu cần hiển thị trên LCD.
3. Chân đọc/ghi (R/W).
Đầu vào đọc/ ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0
hoặc đọc thông tin từ nó khi R/W = 1.
4. Chân cho phép E (Enable).
Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên
chân dữ liệu của nó. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao
xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liêu.
Xung này phải rộng tối thiểu là 450ns.
5. Chân D0 - D7.
Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội
dung của các thanh ghi trong LCD.
Để hiển thị các chữ cái và các con số, chúng ta gửi các mã ASCII của các
chữ cái từ A đến Z, a đến f và các con số từ 0 - 9 đến các chân này khi bật RS =
1.
Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa
con trỏ về đầu dòng hoặc nhấp nháy con trỏ. Chúng ta cũng sử dụng RS = 0 để kiểm
tra bít cờ bận để xem LCD có sẵn sàng nhân thông tin. Cờ bận là D7 và có thể
đượcđọc khi R/W = 1 và RS = 0 như sau:
Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thì LCD bận bởi các công việc
bên trong và sẽ không nhận bất kỳ thông tin mới nào. Khi D7 = 0 thì LCD sẵn sàng

nhận thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu
nào lên LCD.
2.2.3 Gửi các lệnh và dữ liệu đến LCD với một độ trễ:
*) Các mã lệnh LCD:
Chuyên nghành: Điện Tự Động-CN
8
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

Mã (Hex) Lệnh đến thanh ghi của LCD
1 Xoá màn hình hiển thị
2 Trở về đầu dòng
4 Giả con trỏ (dịch con trỏ sang trái)
6 Tăng con trỏ (dịch con trỏ sang phải)
5 Dịch hiển thị sang phải
7 Dịch hiển thị sang trái
8 Tắt con trỏ, tắt hiển thị
A Tắt hiển thị, bật con trỏ
C Bật hiển thị, tắt con trỏ
E Bật hiển thị, nhấp nháy con trỏ
F Tắt con trỏ, nhấp nháy con trỏ
10 Dịch vị trí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
18 Dịch toàn bộ hiển thị sang trái
1C Dịch toàn bộ hiển thị sang phải
80 Ép con trỏ Vũ đầu dòng thứ nhất
C0 Ép con trỏ Vũ đầu dòng thứ hai
38
Hai dòng và ma trận 5
×

7
Để gửi một lệnh bất kỳ đến LCD ta phải đưa chân RS về 0. Đối với dữ
liệu thì bật RS = 1 sau đó gửi một sườn xung cao xuống thấp đến chân E để cho
phép chốt dữ liệu trong LCD. Điều này được chỉ ra trong đoạn mã chương trình
dưới đây .
2.2.4. Gửi mã lệnh hoặc dữ liệu đến LCD có kiểm tra cờ bận.
Đoạn chương trình trên đây đã chỉ ra cách gửi các lệnh đến LCD mà
không có kiểm tra cờ bận (Busy Flag). Lưu ý rằng chúng ta phải đặt một độ trễ lớn
trong quá ảtình xuất dữ liệu hoặc lệnh ra LCD. Tuy nhiên, một cách tốt hơn nhiều là
hiển thị cờ bận trước khi xuất một lệnh hoặc dữ liệu tới LCD. Dưới đây là một
chương trình như vậy.
Lưu ý rằng trong chương trình cờ bận D7 của thanh ghi lệnh. Để đọc
thanh ghi lệnh ta phải đặt RS = 0, R/W = 1 và xung cao - xuống - thấp cho bít E để
cấp thanh ghi lệnh cho chúng ta. Sau khi đọc thanh ghi lệnh, nếu bít D7 (cờ bận) ở
mức cao thì LCD bận và không có thông tin (lệnh) nào được xuất đến nó
chỉ khi
nào D7 = 0 mới có thể gửi dữ liệu hoặc lệnh đến LCD. Lưu ý trong
phương phát
này không sử dụng độ trễ thời gian nào vì ta đang kiểm tra cờ bận trước khi xuất
lệnh hoặc dữ liệu lên LCD.
Chuyên nghành: Điện Tự Động-CN
9
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

2.3. Lưu đồ thuật toán:
Begin
Cho phep ngat
suon xuong
INT0

Khoi tao LCD
T0, che do
1
Here :
End
C4
30uF
X1 U2
CRYSTAL
19
XTAL1
C3
18
XTAL2
30uF
9
RST
29
PSEN
30
ISR_INT0 :
TH0 = 0
TL0 = 0
TR0 = 1
S
INT0 = 1
D
TR0 = 0
doc TH0,TL0
ra LCD

RETI
LCD1
LM016L
R3 R4 R5
10k 10k 10k
P0.0/AD0
39
P0.1/AD1
3837
P0.2/AD2
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P2.0/A8
2122
P2.1/A9P2.2/A10
23
P2.3/A11
24
25
31
1
2

3
4
5
6
7
8
ALE
P2.4/A12
EA
P2.5/A13
P2.6/A14P2.7/A15
P1.0
P3.0/RXD
P1.1
P3.1/TXD
P1.2
P3.2/INT0
P1.3
P3.3/INT1
P1.4
P3.4/T0
P1.5
P3.5/T1
P1.6
P3.6/WR
P1.7
P3.7/RD
AT89C51
26
27

28
10
11
12
R1
13
14
100k
U1
15
16 3 Q R 4
17
7
DC
C1
CV 5
R2
100k
10uF
6 TH TR 2
555
C2
1uF
Chuyên nghành: Điện Tự Động-CN
10
Đại Học Hàng HảiD7
14
D6
13
D5

12
D4
11
D3
10
D2
9
D1
8
D0
7
E
6
RW
5
RS
4
VSS
1
VDD
2
VEE
3
GND
1
VCC
8
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

#INCLUDE <SFR51.INC>

ORG 0H
LJMP MAIN
ORG 03H
MOV TMOD, #01
MOV TL0, #0H
MOV TH0, #0H
SETB TR0
JNB P3.2, $
CLR TR0
CLR TF0
MOV R0, TL0
MOV R1, TH0
MOV R2, #10H
MOV R3, #27H
LCALL DIV16
MOV A, R0
ORL A, #30H
LCALL HIENTHI
LCALL TRE
MOV A, R2
MOV R0, A
MOV A, R3
MOV R1, A
MOV R2, #0E8H
MOV R3, #3H
LCALL DIV16
MOV A, R0
ORL A, #30H
LCALL HIENTHI
LCALL TRE

MOV A, R2
MOV R0, A
MOV A, R3
MOV R1, A
MOV R2, #64H
MOV R3, #0H
LCALL DIV16
MOV A, R0
Chuyên nghành: Điện Tự Động-CN
11
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

ORL A, #30H
LCALL HIENTHI
LCALL TRE
MOV A, R2
MOV R0, A
MOV A, R3
MOV R1, A
MOV R2, #0AH
MOV R3, #0H
LCALL DIV16
MOV A, R0
ORL A, #30H
LCALL HIENTHI
LCALL TRE
MOV A, R2
ORL A, #30H
LCALL HIENTHI

LCALL TRE
MOV A, #'u'
LCALL HIENTHI
LCALL TRE
MOV A, #'S'
LCALL HIENTHI
LCALL TRE
SJMP $
MAIN:
MOV IE, #10000001B
SETB TCON.0
MOV A,#38H
LCALL XLENH
LCALL TRE
MOV A,#0EH
LCALL XLENH
LCALL TRE
SJMP $
XLENH:
MOV P2, A
CLR P0.5
;LCD 5X7 , 2 dong
;BAI HIEN THI VA NHAP NHAY CON TRO
Chuyên nghành: Điện Tự Động-CN
12
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

CLR P0.6
SETB P0.7

CLR P0.7
RET
HIENTHI:
MOV P2, A
SETB P0.5
CLR P0.6
SETB P0.7
CLR P0.7
RET
TRE:
MOV TMOD, #20H
MOV TH1, #0DEH
SETB TR1
LAP:
JNB TF1,LAP
CLR TR1
CLR TF1
RET
;CHE DO 2, TIMER 1
;========================================================
DIV16:
ANL PSW, #0E7H
MOV A, R3
ORL A, R2
JNZ DIV_OK
SETB C
RET
DIV_OK:
PUSH DPL
PUSH DPH

PUSH B
ACALL CR0R1
ACALL CR2R3
ACALL UDIV16
ACALL MR0R1
CLR C
POP B
POP DPH
POP DPL
RET
CR0R1:
Chuyên nghành: Điện Tự Động-CN
13
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

MOV A, R1
JB ACC.7, C0A
CLR 21H
RET
C0A:
SETB 21H
MOV A, R0
CPL A
ADD A, #1
MOV R0, A
MOV A, R1
CPL A
ADDC A, #0
MOV R1, A

RET
CR2R3:
MOV A, R3
JB ACC.7, C1A
CLR 22H
RET
C1A:
SETB 22H
MOV A, R2
CPL A
ADD A, #1
MOV R2, A
MOV A, R3
CPL A
ADDC A, #0
MOV R3, A
RET
UDIV16:
MOV R7, #0
MOV R6, #0
MOV B, #16
DIV_LOOP:
CLR C
MOV A, R0
RLC A
MOV R0, A
MOV A, R1
RLC A
Chuyên nghành: Điện Tự Động-CN
14

Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

MOV R1, A
MOV A, R6
RLC A
MOV R6, A
MOV A, R7
RLC A
MOV R7, A
MOV A, R6
CLR C
SUBB A, R2
MOV DPL, A
MOV A, R7
SUBB A, R3
MOV DPH, A
CPL C
JNC DIV_1
MOV R7, DPH
MOV R6, DPL
DIV_1:
MOV A, R4
RLC A
MOV R4, A
MOV A, R5
RLC A
MOV R5, A
DJNZ B, DIV_LOOP
MOV A, R5

MOV R1, A
MOV A, R4
MOV R0, A
MOV A, R7
MOV R3, A
MOV A, R6
MOV R2, A
RET
MR0R1:
JB 21H, MR0R1B
JB 22H, MR0R1A
RET
MR0R1B:
JNB 22H, MR0R1A
RET
Chuyên nghành: Điện Tự Động-CN
15
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

MR0R1A:
MOV A, R0
CPL A
ADD A, #1
MOV R0, A
MOV A, R1
CPL A
ADDC A, #0
MOV R1, A
RET

END
Chuyên nghành: Điện Tự Động-CN
16
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

Kết Luận
Tới đây việc thiết kế đã hoàn thành .Do khả năng bản thân còn hạn hẹp ,
thời gian có hạn nên bài tập thiết kế không tránh khỏi những sai sót. Mong Thầy và
các bạn góp ý để các bài tập lớn lần sau em ngày càng hoàn chỉnh . Em xin chân
thành cảm ơn!
Chuyên nghành: Điện Tự Động-CN
17
Đại Học Hàng Hải
Ph ạ m Thanh Bình L ớ p: ĐTĐ50-ĐH2

Tài liệu tham khảo:
1. Kĩ thuật Vi xử lý Tác giả: Văn Thế Minh
2. Cấu trúc và lập trình họ vi điều khiển 8051 Tác giả: Nguyễn
Tăng Cường _ Phan Quốc Thắng
3. Trang Web : WWW.8052.COM

Chuyên nghành: Điện Tự Động-CN
18
Đại Học Hàng Hải

×