Tải bản đầy đủ (.docx) (34 trang)

ĐỀ 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. pot

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.12 MB, 34 trang )

Đ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


×