ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN
ĐỒ ÁN
MÔN: VI XỬ LÝ VÀ ĐO LƯỜNG ĐIỆN
ĐỀ TÀI: Ứng dụng họ vi điều khiển 8051 ghép nối với LED 7 thanh để hiển thị số
đo tần số lưới điện công nghiệp với khoảng đo (45 – 55) Hz.
Giáo viên hướng dẫn:
GVHD:NGUYỄN THU HÀ
Nguyễn Thu Hà
Page 1
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
ĐỀ BÀI: Ứng dụng họ vi điều khiển 8051 ghép nối 04 LED 7 thanh để hiển thị
số đo và cảnh báo tần số lưới điện cơng nghiệp, khoảng đo [45-55]Hz. Hệ thống
gồm có :
+ 01 Vi điều khiển 89C51RD2.
+ Ghép nối 04 LED bảy thanh.
+ Ghép nối mạch chuẩn hóa đo tần số.
+ Ghép nối 2 đèn LED cảnh báo ngưỡng thấp , ngưỡng cao.
+ Hai nút ấn RUN, STOP.
Hoạt động: Khi ấn RUN ,hệ thống thực hiện đo tần số; còn khi ấn, STOP hệ
thống lưu lại giá trị đo cuối cùng.
GVHD:NGUYỄN THU HÀ
Page 2
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
MỤC LỤC
Contents
LỜI NÓI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới
của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát
triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi
bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết
góp phần cho hoạt động của con người đạt hiệu quả cao.
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành
và sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian
cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi
điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit.
Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng
được những địi hỏi khơng ngừng từ các lĩnh vực công – nông – lâm – ngư
nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày.
Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện tử.
Với mơn học Vi điều khiển này, em đã quyết định nhận làm đồ án với đề tài ứng
dụng họ vi điều khiển 8051 ghép nối 04 led bảy thanh để hiển thị số đo và
cảnh báo tần số lưới điện công nghiệp,khoảng đo [45-55] hz
Nội dung báo cáo gồm 3 phần:
I – Cơ sở lý thuyết
II – Nội dung thiết kế
III – Kết luận
GVHD:NGUYỄN THU HÀ
Page 3
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và
năng lực còn hạn chế nên mạch vẫn cịn những sai sót. Em mong thầy giáo và
các bạn góp ý để việc học tập của em được tốt hơn.
Em xin chân thành cảm ơn!
HỆ THỐNG HIỂN THỊ SỐ ĐO VÀ CẢNH BÁO TẦN SỐ LƯỚI ĐIỆN
CÔNG NGHIỆP
I. Cơ sở lý thuyết
1. Giới thiệu tổng quan về họ Vi điều khiển 8051
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất
lượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable
read only memory).
Các đặc điểm của 8951 được tóm tắt như sau:
- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới
1000 chu kỳ
- Tần số hoat động từ 0 Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình
- 2 bộ Timer/Counter 16 bit
- 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
GVHD:NGUYỄN THU HÀ
Page 4
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
1.1 Sơ đồ khối và sơ đồ chân của AT89C51
OTHER REGISTER
128 byte RAM
128 byte RAM
8032\8052
ROM
0K:
8031\8032
4K:8951
8K:8052
INTERRUPT CONTROL
INT1\ INT0\
SERIAL PORT TEMER0
TEMER1
TEMER2 8032\8052
CPU
OSCILATOR
BUS CONTROL
I/O PORT
SERIAL PORT
EA\ RST
ALE\ PSEN\
P0 P 1 P 2 P 3
Address\Data
TXD RXD
TEMER2 8032\8052
TEMER1
TEMER1
GVHD:NGUYỄN THU HÀ
Page 5
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
Sơ đồ khối của AT89C51
Sơ đồ chân của AT89C51
1.2 Chức năng các chân của AT89C51
+ Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngồi chức năng xuất nhập ra,
port 0 cịn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được
sử dụng khi AT89C51 giao tiếp với thiết bị ngồi có kiến trúc bus.
GVHD:NGUYỄN THU HÀ
Page 6
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
Port 0
+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit
và byte. Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn
ISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2.
Port 1
+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có cơng dụng kép. Là
đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ
nhớ mở rộng.
GVHD:NGUYỄN THU HÀ
Page 7
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
Port 2
+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngồi chức
năng xuất nhập ra cịn có một số chức năng đặc biệt sau:
Bit
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
Tên
RXD
TXD
INT0
INT1
T0
T1
WR
RD
Chức năng chuyển đổi
Dữ liệu nhận cho port nối tiếp
Dữ liệu truyền cho port nối tiếp
Ngắt bên ngoài 0
Ngắt bên ngoài 1
Ngõ vào của Timer/Counter 0
Ngõ vào của Timer/Counter 1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài
Port 3
GVHD:NGUYỄN THU HÀ
Page 8
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta
phải đưa mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương
đương 2µs đối với thạch anh 12MHz.
+ XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó thường
được nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thôn
thường là 12MHz.
+ EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc
mức thấp (GND). Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từ
ROM nội. Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng.
+ ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một
thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó các đường port 0
dùng để xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ.
+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ
nhớ chương trình mở rộng và thường được nối với đến chân /OE (Output
Enable) của một EPROM để cho phép đọc các bytes mã lệnh. PSEN sẽ ở mức
thấp trong thời gian đọc lệnh. Các mã nhị phân của chương trình được đọc từ
EPROM qua Bus và được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải
mã lệnh. Khi thi hành chương trình trong ROM nội, PSEN sẽ ở mức thụ động
(mức cao).
+ Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V –
5.5V được cấp qua chân 40 (Vcc) và chân 20 (GND).
GVHD:NGUYỄN THU HÀ
Page 9
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
2. Sơ lược về led 7 thanh
2.1 Tổng quát
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.
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm
bảo dịng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối
GVHD:NGUYỄN THU HÀ
Page 10
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
với nguồn 5V có
điện trở 330Ω trước
hiệu điều khiển.
thể hạn dòng bằng
các chân nhận tín
Sơ đồ vị trí các led
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng
điện qua led nếu led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b.
Tương tự với các chân và các led còn lại.
2.2 Kết nối với Vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể
dùng 1 Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7
đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt
của từng led led đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường
được gọi là "mã hiển thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã
dành cho led 7 đoạn có Anode(cực +) chung và mã dành cho led 7 đoạn có
Cathode(cực -) chung. Chẳng hạn, để hiện thị số 1 cần làm cho các led ở vị trí b
và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và
c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu sử
dụng led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hoàn toàn ngược
lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1).
Bảng mã hiển thị led 7 đoạn:
•
Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho
việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1
nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h.
GVHD:NGUYỄN THU HÀ
Page 11
ĐHCN HÀ NỘI
•
BÀI TẬP LỚN:VI XỬ LÝ
Dữ liệu xuất có dạng nhị phân như sau : hgfedcba
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn
sáng ở mức 0):
Số hiển thị trên led Mã hiển thị led 7 đoạn Mã hiển thị led 7 đoạn dạng
7 đoạn
dạng nhị phân
thập lục phân
hgfedcba
0
11000000
C0
1
11111001
F9
2
10100100
A4
3
10110000
B0
4
10011001
99
5
10010010
92
6
11000010
82
7
11111000
F8
8
10000000
80
9
10010000
90
A
10001000
88
B
10000011
83
C
11000110
C6
D
10100001
A1
E
10000110
86
F
10001110
8E
10111111
BF
Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Cathode chung (các led đơn
sáng ở mức 1):
Số hiển thị trên led Mã hiển thị led 7 đoạn Mã hiển thị led 7 đoạn dạng
7 đoạn
dạng nhị phân
thập lục phân
0
00111111
3F
1
00000110
06
2
01011011
5B
3
01001111
4F
4
01100110
66
GVHD:NGUYỄN THU HÀ
Page 12
ĐHCN HÀ NỘI
5
6
7
8
9
A
B
C
D
E
F
-
BÀI TẬP LỚN:VI XỬ LÝ
01101101
01111101
00000111
01111111
01101111
01110111
01111100
00111001
01011110
01111001
01110001
01000000
6D
7D
07
7F
6F
77
7C
39
5E
79
71
40
3.Chuyển đổi tín hiệu sine đầu vào của lưới điện thành xung vuông sử dụng
LM324
3.1 Cấu tạo IC LM324
GVHD:NGUYỄN THU HÀ
Page 13
ĐHCN HÀ NỘI
GVHD:NGUYỄN THU HÀ
BÀI TẬP LỚN:VI XỬ LÝ
Page 14
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
3.2 Chức năng
LM324 là một IC bao gồm 4 bộ khuyêch đại thuật toán trong nó .Thơng thường
một bộ khuch đại thuật tốn (Op_Amp) thì cần phải có nguồn đơi.Tức là phải
có nguồn dương và nguồn âm.Chẳng hạn như Opamp 741.Tuy nhiên các opamp
trong LM324 được thiết kế đặc biệt để sử dụng nguồn đơn.Có nghĩa là chỉ cần
sử dụng Vcc và GND là đủ.Một điều đặc biệt là nguồn cung cấp của LM324 có
thể hoạt động độc lập với nguồn tín hiệu.ví dụ nguồn cung cấp của LM324 là
5V nhưng nó có thể làm việc bình thường với tín hiệu ngõ vào là V+ và V- là
15V
GVHD:NGUYỄN THU HÀ
Page 15
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
II. Nội dung thiết kế
1. Lưu đồ thuật tốn chương trình
Tính tần
HEX to
Lấy
1000.000
Lấy FH/10
Ch A,dv
Gọi
Lấy FL/10
Thp A,
Lưu
thương vào
Ret
S
45
?
Đ
Cảnh
Khơng
cảnh báo
Ret
Lấy phần
dư x 100
Lấy tích
chia giá trị
Lưu phần
thập phân
Ret
GVHD:NGUYỄN THU HÀ
Cảnh báo
Page 16
ĐHCN HÀ NỘI
GVHD:NGUYỄN THU HÀ
BÀI TẬP LỚN:VI XỬ LÝ
Page 17
ĐHCN HÀ NỘI
GVHD:NGUYỄN THU HÀ
BÀI TẬP LỚN:VI XỬ LÝ
Page 18
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
2. Phần lập trình và mơ phỏng
2.1 Phần lập trình
;-------------bai tap lon--------------------------;-------------made by NHOM4---------------------;-------------vector-------------------------------org 0000h
ljmp main
;nhay den chuong trinh main ngay sau khi MCU chay
;-------chuong trinh phuc vu ngat------------------org 0003h
ljmp INT_EX0
;ngat ngoai INT0
org 000bh
ljmp INT_T0
hien thi gia tri tan so do duoc
;nhay den ngat Timer0 trong nay se tinh toan va
;-------------khai bao bien------------------------FREQ_H equ 30h
FREQ_L equ 31h
FH equ 32h
FL equ 33h
X2
X1
X0
equ
equ
equ
40h
41h
42h
Y2
Y1
Y0
equ
equ
equ
43h
44h
45h
Z0
Z1
Z2
Z3
Z4
Z5
equ
equ
equ
equ
equ
equ
46h
47h
48h
49h
4ah
4bh
shf
equ
34h
;100:9 11 du 1*100=100/911
;chon led de quet
GVHD:NGUYỄN THU HÀ
Page 19
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
thp2 equ
thp1 equ
dv
equ
ch
equ
digit equ
T_up equ
T_lm equ
F_Max
F_Min
50h
51h
52h
53h
54h
36h
37h
equ
equ
;hang chuc cua tan so
;hang don vi cua tan so
;chu so sau dau ',' thu nhat
;chu so sau dau ',' thu hai
ZOV equ
ON equ
OFF equ
CB_Cao
CB_Thap
00h
P1.0
P1.1
equ P1.2
equ P1.3
38h
58h
;100*10 ms lay mau mot lan
;nguong tren
;nguong duoi
;LED bao vuot nguong cao
;LED bao vuot nguong thap
;--------chuong trinh chinh-------------------------org
0030h
main:
lcall Init
KT_ON:
jb
setb
KT_OFF:
jb
clr
sjmp
ON,KT_OFF
EX0
OFF,KT_ON
EX0
KT_ON
;cho phep ngat ngoai INT0
;cho phep ngat ngoai INT0
;-----------------------------------------------------------------------------;--------chuong trinh con-----------------------------------------------------;-----------------------------------------------------------------------------Init:
mov P1,#0ffh
clr
EA
;cam tat ca cac ngat
mov digit,#0f7h
;bat led thp2 dau tien
mov P2,#0ffh
mov P0,#0ffh
;tat tat ca cac led
mov P1,#0ffh
mov T_up,#0
mov T_lm,#100
;t = T_lm*10ms
mov F_Max,#55
;dat can tren canh bao
GVHD:NGUYỄN THU HÀ
Page 20
ĐHCN HÀ NỘI
mov
mov
mov
mov
mov
BÀI TẬP LỚN:VI XỬ LÝ
F_Min,#45
;dat can duoi canh bao
shf,#thp2
;byte de dieu khien hien thi cac led 7 thanh
TMOD,#11h
;khoi tao timer0,timer1 o che do 16 bit
TH0,#HIGH(-10000)
TL0,#LOW(-10000)
;khoi tao ngat 10ms de tinh toan va hien
thi
mov TH1,#00h
mov TL1,#00h
setb
setb
setb
setb
setb
setb
setb
ret
IT0
PX0
ET0
TF0
tr0
tr1
EA
;thiet lap ngat ngoai theo suon xuong
;cho piority cua INT0 cao nhat
;cho phep ngat ngoai Timer1
;dung co bao ngat
;khoi dong Timer0
;---------chuong trinh phuc vu ngat ngoai INT0--------INT_EX0:
clr
EA
mov FREQ_H,TH1
mov FREQ_L,TL1
mov TH1,#00h
mov TL1,#02h ;xoa bo dem nay de bat dau dem chu ki moi
setb EA
reti
;---------chuong trinh phuc vu ngat timer0------------INT_T0:
clr
TF0
;xoa co tran
mov a,T_up
inc a
;tang t_up
mov T_up,a
cjne a,T_lm,ko_update ;kiem tra neu t_up = t_lm thi update lai du lieu
neu khong thi thoi
mov T_up,#0
;xoa t_up chuan bi cho lan tinh tiep theo
lcall Tinh_tanso
;goi chuong trinh tinh tan so
ko_update:
lcall canhbao
; kiem tra tan so va canh bao neu nam
ngoai nguong
lcall HextoBcd
;chuyen doi gia tri tan so sang ma BCD de hien
thi
GVHD:NGUYỄN THU HÀ
Page 21
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
lcall Hienthi
;goi hien thi
exit:
mov TH0,#HIGH(-10000)
mov TL0,#LOW(-10000)
reti
;-----------------------------------------------------------------------------;-----------Tinh tan so-------------------------------------------------------;-----------------------------------------------------------------------------Tinh_tanso:
;-----------khi thuc hien cac lenh trong ngat INT0 thi se ton mot so chu ki may vi
vay phai cong them
;-----------gia tri dem duoc trong timer 1 voi so chu ki tren de dam bao do chinh
xac nhat
;-----------do viec gia tri tan so do la khong lon(50Hz) vi vay ma co the bo qua
duoc mot so chu ki thuc hien
;-----------cac lenh trong chuong trinh ngat nhu lenh nhay toi chuong trinh phuc
vu ngat, cac lenh xoa bo dem
mov X2,#0fh
mov X1,#42h
mov X0,#40h
;dat so bi chia =1000000
mov Y2,#0
mov Y1,FREQ_H
mov Y0,FREQ_L
;--------tinh phan nguyen cua tan so----------------------lcall DIV24
mov FH,Z0
;--------tinh phan thap phan------------------------------mov X1,Z4
mov X0,Z3
mov Y0,#100
lcall Mul2byte_voi_1byte
mov X0,Z0
mov X1,Z1
mov X2,Z2
GVHD:NGUYỄN THU HÀ
;chuyen gia tri tich vao lam so bi chia
Page 22
ĐHCN HÀ NỘI
BÀI TẬP LỚN:VI XỬ LÝ
mov Y2,#0
;so chia
mov Y1,FREQ_H
mov Y0,FREQ_L
mov
mov
mov
lcall
Z0,#0
Z1,#0
Z2,#0
DIV24
;xoa thuong
mov FL,Z0
ret
;-----------------------------------------------------------------------------;------------chuyen doi gia tri dem duoc ra BCD de hien thi-------------------;-----------------------------------------------------------------------------HextoBcd:
;-------tinh chu so hang chuc cua tan so va luu vao byte ch---------;-------tinh chu so hang don vi cua tan so---------------------------;-------tinh chu so sau dau phay thu nhat va thu 2--------------------mov A,FH
mov B,#10
div AB
mov ch,A
mov dv,B
mov
mov
div
mov
mov
A,FL
B,#10
AB
thp1,A
thp2,B
ret
DIV24:
mov
orl
orl
jnz
;setb
ret
CHIA24:
A,Y2
a,Y1
a,Y0
CHIA24
ZOV
GVHD:NGUYỄN THU HÀ
Page 23
ĐHCN HÀ NỘI
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
TT_chia24:
clr
mov
rlc
mov
mov
rlc
mov
mov
rlc
mov
R0,X0
R1,X1
R2,X2
X2,#0
X1,#0
X0,#0
R3,#0
R4,#0
R5,#0
R7,#24
mov
rlc
mov
mov
rlc
mov
mov
rlc
mov
lcall
mov
cpl
jnc
mov
mov
mov
kh_Tru24:
a,X0
a
X0,a
a,X1
a
X1,a
a,X2
a
X2,a
SUBB24
c,ZOV
c
kh_Tru24
X2,Z2
X1,Z1
X0,Z0
BÀI TẬP LỚN:VI XỬ LÝ
c
a,R0
a
R0,a
a,R1
a
R1,a
a,R2
a
R2,a
;dich trai so bi chia
;dich trai so du
mov a,R3
rlc
a
mov R3,a
GVHD:NGUYỄN THU HÀ
Page 24
ĐHCN HÀ NỘI
mov
rlc
mov
mov
rlc
mov
BÀI TẬP LỚN:VI XỬ LÝ
a,R4
a
R4,a
a,R5
a
R5,a
djnz R7,TT_chia24
mov Z0,R3
mov Z1,R4
MOV z2,R5
mov Z3,X0
mov Z4,X1
mov Z5,X2
ret
SUBB24:
mov
clr
subb
mov
mov
subb
mov
mov
subb
mov
ret
a,X0
c
a,Y0
Z0,a
a,X1
a,Y1
Z1,a
a,X2
a,Y2
ZOV,c
Mul2byte_voi_1byte:
mov a,X0
mov b,Y0
mul ab
mov Z0,a
push b
mov
mov
mul
pop
a,X1
b,Y0
ab
0
add a,R0
mov Z1,a
GVHD:NGUYỄN THU HÀ
Page 25