Tải bản đầy đủ

do tan so luoi dien cong nghiep

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN
BỘ MÔN ĐO LƯỜNG ĐIỀU KHIỂN

BÀI TẬP LỚ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:
Nguyễn Thu Hà

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


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
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

1.1 Sơ đồ khối và sơ đồ chân của AT89C51
INT1\ INT0\
SERIAL PORT TEMER0
TEMER1
TEMER2 8032\8052

128 byte RAM
8032\8052
INTERRUPT CONTROLOTHER REGISTER

128 byte RAM

ROM
0K:
8031\8032
4K:8951
8K:8052

TEMER2 8032\8052
TEMER1
TEMER1

CPU
BUS CONTROL
OSCILATOR

EA\ RST

ALE\ PSEN\
P0 P1 P2 P3
Address\Data

Sơ đồ khối của AT89C51

TXD RXD


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): Ngoà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ị ngoài có kiến trúc bus.

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.

Port 2
+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoà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

Tên
RXD
TXD
INT0
INT1

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


P3.4
P3.5
P3.6
P3.7

T0
T1
WR
RD

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
+ 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).
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
với nguồn 5V có
thể hạn dòng bằng
điện trở 330Ω trước
các chân nhận tín
hiệu điều khiể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.
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
B
C
D
E
F
-

10001000
10000011
11000110
10100001
10000110
10001110
10111111

88
83
C6
A1
86
8E
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
5
01101101
6D
6
01111101
7D
7
00000111
07
8
01111111
7F
9
01101111
6F
A
01110111
77
B
01111100
7C
C
00111001
39
D
01011110
5E
E
01111001
79
F
01110001
71
01000000
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


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ộ khuyêch đại thuật toá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


II. Nội dung thiết kế
1. Lưu đồ thuật toán chương trình
Tính tần số
HEX to BCD

Cảnh báo

Lấy 1000.000 chia
cho
FREQ_H, FREQ_L

Lấy FH/10
Ch A,dv  B

45?

Gọi chương trình
Chia 24 bit

Lấy FL/10
Thp  A, thp2  B

S

Đ

Cảnh báo

Lưu thương vào FH
FH  70

Lấy phần dư x 100

Lấy tích chia giá trị
đếm được

Lưu phần thập phân
vào FL
FLZ0

Ret

Không cảnh báo
Ret

Ret



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

;100:9 11 du 1*100=100/911

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

;chon led de quet

thp2
thp1
dv
ch
digit
T_up
T_lm

equ
equ
equ
equ
equ
equ
equ

50h
51h
52h
53h
54h
36h
37h

;hang chuc cua tan so
;hang don vi cua tan so
;chu so sau dau ',' thu nhat
;chu so sau dau ',' thu hai
;100*10 ms lay mau mot lan


F_Max
F_Min

equ
equ

38h
58h

ZOV equ
ON equ
OFF equ
CB_Cao
CB_Thap

00h
P1.0
P1.1
equ P1.2
equ P1.3

;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
mov F_Min,#45
;dat can duoi canh bao
mov shf,#thp2
;byte de dieu khien hien thi cac led 7 thanh
mov TMOD,#11h
;khoi tao timer0,timer1 o che do 16 bit
mov TH0,#HIGH(-10000)
mov 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
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

;chuyen gia tri tich vao lam so bi chia

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:
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
TT_chia24:
clr
mov
rlc
mov

A,Y2
a,Y1
a,Y0
CHIA24
ZOV
R0,X0
R1,X1
R2,X2
X2,#0
X1,#0
X0,#0
R3,#0
R4,#0
R5,#0
R7,#24
c
a,R0
a
R0,a


mov
rlc
mov
mov
rlc
mov
mov
rlc
mov
mov
rlc
mov
mov
rlc
mov
lcall
mov
cpl
jnc
mov
mov
mov
kh_Tru24:
mov
rlc
mov
mov
rlc
mov
mov
rlc
mov

a,R1
a
R1,a
a,R2
a
R2,a
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

;dich trai so bi chia

;dich trai so du

a,R3
a
R3,a
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
clr
a
addc a,b
mov Z2,a
ret
;-----------------------------------------------------------------------------;-----------hien thi tan so---------------------------------------------------;-----------------------------------------------------------------------------Hienthi:
mov a,shf
mov r0,a
mov a,@r0
mov dptr,#maled
movc a,@a+dptr
mov p2,#0ffh
mov P0,#0ffh
cjne r0,#52h,ko_dau_phay
anl a,#01111111b
ko_dau_phay:
mov p0,a


mov p2,digit
inc r0
mov a,r0
mov shf,a
mov a,digit
rr
a
mov digit,a
mov a,shf
cjne a,#54h,exit_HT
mov shf,#thp2
mov digit,#0f7h
exit_HT:
ret
;---------------------canh bao----------------------canhbao:
setb CB_Cao
setb CB_Thap
jnb EX0,exit_canhbao
mov a,FH
clr
c
subb a,F_Min
jc
Phat_canh_bao_thap
setb CB_Thap
mov a,FH
clr
c
subb a,F_Max
jnc Phat_canh_bao_cao
setb CB_Cao
ret
phat_canh_bao_cao:
clr
CB_Cao
ret
phat_canh_bao_thap:
clr
CB_Thap
exit_canhbao:
ret
maled:
db
11000000b,11111001b,10100100b,10110000b,10011001b,10010010b,1000001
0b,11111000b,10000000b,10010000b
end


3.Phần mạch chức năng
3.1 Khối nguồn

Khối nguồn.Được đưa qua biến áp để giảm điện áp lưới.Nhưng không làm thay
đổi giá trị tần số lưới điện
3.2 Khối cảnh báo


x

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×