1. Trang chủ
  2. » Luận Văn - Báo Cáo

BAOCAO_ THIET KE MACH DEM SAN PHAM VÀ DIEU KHIEN DONG CO.DOC

23 3,4K 26
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 278 KB

Nội dung

BAOCAO_ THIET KE MACH DEM SAN PHAM VÀ DIEU KHIEN DONG CO

Trang 1

- Xuất phát từ yêu cầu thực tế cũng như mục đích của nhóm là muốn nghiên cứu và học tập đạt hiệu quả cao (lý thuyết gắn liền với thực tế).

- Xuất phát từ yêu cầu làm bài tập lớn.

=> Vì vậy tập thể nhóm muốn phát triển thêm ý tưởng là: Thiết kế mạch đếm sản phẩm và điều khiển động cơ Đây là ý tưởng theo đánh giá chủ quan của nhóm là có tính thực tế , có khả thi và có thể phát triển Tuy đề tài đưa ra là không mới nhưng cũng là khó khăn đối với những người mới học Chính vì vậy chúng em rất cần sự động viên và giúp đỡ của thầy để có thể thực hiện tốt đề tài này.

i s¥ §å KHèI Vµ NGUY£N lý HO¹T §éNG :

Trang 2

1 Khối xử lý:

Gồm cú IC89C51 và mạch dao động của nú.

IC 89C51 là một loại vi điều khiển trong họ 8051 với cấu trúc các thanh ghi , các bộ đệm và các bít cờ hoàn toàn đợc điều khiển bằng ch-ơng trình.

Chíp này có bộ nhớ RAM 2K rất thuận tiện cho các điều khiển cỡ lớn

Chơng trình viết cho IC này rất phong phú nh C, C++, Asembly , thậm chí cả những ngôn ngữ bậc cao nh Visual C++, Java, tuy nhiên để nạp vào bộ nhớ điều khiển chúng ta phải chuyển chơng trình viết từ các ngôn ngữ khác nhau sang file định dạng kiểu Hexa, rồi dùng bộ nạp để nạp.

Giới thiệu chung về chíp AT89C51

I Giới thiệu AT89C51

AT89C51 là một bộ vi xử lý 8 bit, loại CMOS, có tốc độ cao và công suất thấp với bộ nhớ Flash có thể lập trình đợc Nó đợc sản xuất với công nghệ bộ nhớ không bay hơi mật độ cao của hãng Atmel, và

Trang 3

Sơ đồ khối của AT89C51

Trang 4

AT89C51 có các đặc trng cơ bản nh sau: 4 Kbyte Flash, 128 byte RAM, 32 đờng xuất nhập, hai bộ định thời/đếm 16-bit, một

cấu trúc ngắt hai mức u tiên và 5 nguyên nhân ngắt, một port nốitiếp song công, mạch dao động và tạo xung clock trên chip.

AT89C51 đợc thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống 0 và hỗ trợ hai chế độ tiết kiệm năng lợng đợc lựa chọn bằng phần mềm Chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM,

các bộ định thời/đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt

động Chế độ nguồn giảm duy trì nội dung của RAM nhng không

cho mạch dao động cung cấp xung clock nhằm vô hiệu hoá cáchoạt động khác của chip cho đến khi có reset cứng tiếp theo

I.1 Mô tả các chân

Các cấu hình chân ra của AT89C51

Trang 5

Port 0 là port xuất nhập 8-bit hai chiều Port 0 còn đợc cấu

hình làm bus địa chỉ (byte thấp) và bus dữ liệu đa hợp trong khi

truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chơng trình ngoài Port 0

cũng nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chơng trình (Các điện trở kéo lên bên ngoài đợc cần đến trong khi kiểm tra chơng trình).

- Port 1(1-8)

Port 1 là port xuất nhập 8-bit hai chiều Port 1 cũng nhận

byte địa chỉ thấp trong thời gian lập trình cho Flash.

- Port 2 (21-28)

Port 2 là port xuất nhập 8-bit hai chiều Port 2 tạo ra các

byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ ch-ơng trình ngoài và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16-bit Trong thời gian truy xuất bộ nhớ dữ liệu

ngoài sử dụng các địa chỉ 8-bit, Port 2 phát các nội dung của thanhghi chức năng đặc biệt P2 Port 2 cũng nhận các bít địa chỉ cao và

vài tín hiệu điều khiển trong thời gian lập trình cho Flash và kiểm tra chơng trình.

- Port 3 (10-17)

Port 3 là Port xuất nhập 8-bit hai chiều Port 3 cũng còn làm

các chức năng khác của AT89C51 Các chức năng này đợc liệt kê nh sau:

P3.0 RxD Ngõ vào Port nối tiếp P3.1 TxD Ngõ ra Port nối tiếp P3.2 INT0 Ngõ vào ngắt ngoài 0 P3.3 INT1 Ngõ vào ngắt ngoài 1

P3.4 T0 Ngõ vào bên ngoài của bộ định thời 1 P3.5 T1 Ngõ vào bên ngoài của bộ định thời 0 P3.6 WR Điều khiển ghi bộ nhớ dữ liệu ngoài P3.7 RD Điều khiển đọc bộ nhớ dữ liệu ngoài

Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình

Flash và kiểm tra chơng trình.

- RST (9)

Ngõ vào reset Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao động đang hoat động sẽ reset AT89C51.

Trang 6

Mạch reset tác động bằng tay và tự động reset khi khởi động máy

- ALE/PROG (30)

ALE laứ moọt xung ngoừ ra ủeồ choỏt byte thaỏp cuỷa ủũa chổ trong khi truy xuaỏt boọ nhụự ngoaứi Chaõn naứy cuừng laứm ngoừ vaứo xung laọp trỡnh (PROG) trong thụứi gian laọp trỡnh cho Flash.

Khi hoaùt ủoọng bỡnh thửụứng, xung ngoừ ra ALE luôn coự taàn soỏọ khoõng ủoồi laứ 1/6 taàn soỏ cuỷa maùch dao ủoọng, coự theồ ủửụùc duứng cho caực muùc ủớch ủũnh thụứi tửứ beõn ngoaứi vào taùo xung clock Tuy nhieõn, lửu yự laứ moọt xung ALE seừ bũ boỷ qua trong moói moọt chu kyứ truy xuaỏt boọ nhụự dửừ lieọu ngoaứi.

Khi caàn, hoaùt ủoọng ALE coự theồ ủửụùc voõ hieọu hoaự baống caựch set bit 0 cuỷa thanh ghi chửực naờng ủaởc bieọt coự ủũa chổ 8Eh Khi bit naứy ủửụùc set, ALE chổ tớch cửùc trong thụứi gan thửùc hieọn leọnh MOVX hoaởc MOVC Ngửụùc laùi, chaõn naứy seừ ủửụùc keựo leõn cao Vieọc set bit khoõng cho pheựp hoaùt ủoọng choỏt byte thaỏp cuỷa ủũa chổ seừ khoõng coự taực duùng neỏu boọ vi ủieàu khieồn ủang ụỷ cheỏ ủoọ thửùc thi chửụng trỡnh ngoaứi.

PSEN (Program Store Enable) laứ xung ủieàu khieồn truy xuaỏt boọ nhụự chửụng trỡnh ngoaứi Khi AT89C52 ủang thửùc thi chửụng trỡnh tửứ boọ nhụự chửụng trỡnh ngoaứi, PSENủửụùc kớch hoaùt hai laàn moói chu kyứ maựy, nhửng hai hoaùt ủoọng PSEN seừ bũ boỷ qua moói khi truy caọp boọ nhụự dửừ lieọu ngoaứi.

EA (External Access Enable) laứ chaõn cho pheựp truy xuaỏt boọ nhụự chửụng trỡnh ngoaứi (baột ủaàu tửứ ủũa chổ tửứ 0000H ủeỏn FFFFH).

EA = 0 cho pheựp truy xuaỏt boọ nhụự chửụng trỡnh ngoaứi, ng-ợc lại EA=1 seừ thửùc thi chửụng trỡnh beõn trong chip

RST

Trang 7

Tuy nhieõn, lửu yự raống neỏu bit khoaự 1 (lock-bit 1) ủửụùc laọp trỡnh, EA seừ ủửụùc choỏt beõn trong khi reset.

Chaõn naứy cuừng nhaọn ủieọn aựp cho pheựp laọp trỡnh Vpp=12V khi laọp trỡnh Flash (khi ủoự điện aựp laọp trỡnh 12V ủửụùc choùn).

- XTAL1 vaứ XTAL2

XTAL1 vaứ XTAL2 laứ hai ngoừ vaứo vaứ ra cuỷa moọt boọ khueỏch

ủaùi ủaỷo cuỷa maùch dao ủoọng, ủửụùc caỏu hỡnh ủeồ duứng nhử moọt boọ dao ủoọng treõn chip.

Khoõng coự yeõu caàu naứo veà chu kyứ nhieọm vuù cuỷa tớn hieọu

xung clock beõn ngoaứi do tớn hieọu naứy phaỷi qua moọt flip-flop chiahai trửụực khi ủeỏn maùch taùo xung clock beõn trong, tuy nhieõn caực

chi tieỏt kyừ thuaọt veà thụứi gian mửực thaỏp vaứ mửực cao, ủieọn aựp cửùc tieồu vaứ cửùc ủaùi caàn phaỷi ủửụùc xem xeựt.

I.2 Các chế độ đặc biệt

I.2.1 Chế độ nghỉ

Trong cheỏ ủoọ nghổ, CPU tửù ủi vaứo traùng thaựi nguỷ trong khi

taỏt caỷ caực ngoaùi vi beõn trong chip vaón tớch cửùc Cheỏ ủoọ naứy ủửụùcủieàu khieồn bụỷi phaàn meàm Noọi dung cuỷa RAM treõn chip vaứ cuỷa

taỏt caỷ caực thanh ghi chửực naờng ủaởc bieọt vaón khoõng ủoồi trong khi thụứi gian toàn taùi cheỏ ủoọ naứy Cheỏ ủoọ nghổ coự theồ ủửụùc keỏt thuực

bụỷi moọt ngaột baỏt kyứ naứo ủửụùc pheựp hoaởc baống caựch reset cửựng.

Ta caàn lửu yự raống khi cheỏ ủoọ nghổ ủửụùc keỏt thuực bụỷi moọt

reset cửựng, chip vi ủieàu khieồn seừ tieỏp tuùc bỡnh thửụứng vieọc thửùc

thi chửụng trỡnh tửứ nụi chửụng trỡnh bũ taùm dửứng, trong voứng 2

chu kyứ maựy trửụực khi giaỷi thuaọt reset meàm nắm quyeàn ủieàu

ễÛ cheỏ ủoọ nghổ, phaàn cửựng treõn chip cấm truy xuaỏt RAMnoọi nhửng cho pheựp truy xuaỏt caực chaõn cuỷa caực port ẹeồ traựnh

Trang 8

khaỷ naờng coự moọt thao taực ghi khoõng mong muoỏn ủeỏn moọt chaõn

port khi cheỏ ủoọ nghổ keỏt thuực baống reset, leọnh tieỏp theo yeõu caàu

cheỏ ủoọ nghổ khoõng neõn laứ leọnh ghi ủeỏn chaõn port hoaởc ủeỏn boọ

nhụự ngoaứi.

I.2.2 Chế độ nguồn giảm

Trong cheỏ ủoọ naứy, maùch dao ủoọng ngửứng hoaùt ủoọng vaứ leọnh yeõu caàu cheỏ ủoọ nguoàn giaỷm laứ leọnh sau cuứng ủửụùc thửùc thi.

RAM treõn chip vaứ caực thanh ghi chửực naờng ủaởc bieọt vaón duy trỡ

caực giaự trũ cuỷa chuựng cho ủeỏn khi cheỏ ủoọ nguoàn giaỷm keỏt thuực.

Chổ coự moọt caựch ra khoỷi cheỏ ủoọ nguoàn giaỷm, ủoự laứ reset cửựng.Vieọc reset seừ xaực ủũnh laùi caực thanh ghi chửực naờng ủaởc bieọtnhửng khoõng laứm thay ủoồi RAM treõn chip Vieọc reset khoõng neõnxaỷy ra (chaõn reset ụỷ mửực tớch cửùc) trửụực khi Vcc ủửụùc khoõi phuùc

laùi mửực ủieọn aựp bỡnh thửụứng vaứ phaỷi keựo daứi traùng thaựi tớch cửùc

cuỷa chaõn reset ủuỷ laõu ủeồ cho pheựp maùch dao ủoọng hoaùt ủoọng trụỷ

laùi vaứ ủaùt traùng thaựi oồn ủũnh.

Traùng thaựi cuỷa caực chaõn trong thụứi gian toàn taùi cheỏ ủoọ nghổ và cheỏ ủoọ nguoàn giaỷm ủửụùc cho trong baỷng sau:

Nghổ Beõn trong 1 1 Dửừ lieọu Dửừ lieọu Dửừ lieọu Dửừ lieọu Nghổ Beõn ngoaứi 1 1 Thaỷ noồi Dửừ lieọu Dửừ lieọu Dửừ lieọu

Nguoàn giaỷm

Beõn trong 0 0 Dửừ lieọu Dửừ lieọu Dửừ lieọu Dửừ lieọu Beõn ngoaứi 0 0 Thaỷ noồi Dửừ lieọu Dửừ lieọu Dửừ lieọu

I.3 Các bít khoá bộ nhớ chơng trình

Treõn chip coự ba bit khoaự, caực bớt naứy coự theồ khoõng cho

pheựp laọp trỡnh hoaởc cho pheựp laọp trỡnh, caực bit naứy cho ta theõm moọt soỏ ủaởc trửng nửừa cuỷa AT89C51 nhử sau.

Trang 9

Khi bit khoá 1 LB1 được lập trình, mức logic ở chân EA

được lấy mẫu và được chốt trong khi reset Nếu việc cấp nguồncho chip không có công dụng reset, mạch chốt được khởi động

bằng một giá trị ngẫu nhiên và giá trị này được duy trì cho đến

khi có tác động reset Điều cần thiết là giá trị được chốt của EA

phải phù hợp vơi mức logic hiện hành ở chân này.

Các bit khóa chương trình Loại bảo vệ Chế

1 U U U Không có đặc trưng khóa chương trình 2 P U U Các lệnh MOVC được thực thi từ bộ

nhớ chương trình ngoài không được phép tìm nạp lệnh từ bộ nhớ nội, EA

được lấy mẫu và được chốt khi reset,

hơn nữa việc lập trình trên Flash bị cấm 3 P P U Như chế độ 2, cấm thêm việc kiểm tra

chương trình

4 P P P Như chế độ 3, cấm thêm việc thực thi chương trình ngoài

Tín hiệu lấy ra từ khối nhận biết sản phẩm và khối các cơng tắc và các thơng báo phụ được đưa vào IC theo chương trình đã được lập trình sẵn

Trong IC89C51 thanh ghi R0 lưu số kẹo định sẵn , thanh ghi R1 lưu số gĩi định sẵn ,thanh ghi R2 lưu số gĩi đang đếm ,số kẹo đang đếm lưu tại TL0.

IC hoạt động như một bộ đếm và khi nhận tín hiệu vào thì sẽ đếm tăng lên một cứ như thế mạch sẽ đếm được số sản phẩm và điều khiển động cơ như đã lập trình.

* Khối nguồn:

Cĩ hai nguồn cấp điện :

Nguồn cấp điện 5V cho IC89C51,khối nhận biết sản phẩm,khối hiển thị ,khối các cơng tắc và các thơng báo phụ

Trang 10

Nguồn cấp điện 12V cho động cơ và bộ khuếch đại.

2 Khối nhận biết sản phẩm:

Để nhận biết tầng chúng em dùng SENSOR quang với kích thích là ánh sáng Tín hiệu nhận đợc sẽ so sánh với một mức điện áp định sẵn để đa ra tin hiệu số.

Trang 11

t

Mạch bao gồm 2 điện trở ,1 diode phát , 1 diode thu , 1 biến trở và một bộ khuếch đại thuật toán làm việc như một Trigơ có sơ đồ nguyên lý như hình vẽ trên:

- Ta có thể điều chỉnh VR1 để V3 có một giá trị điện áp xác định phù hợp,bình thường D1 phát và D2 thu nhận tín hiệu D2 thông thì điện trở của nó giảm xuống làm cho V2 =0 lúc đó hiệu điện áp vào bộ khuếch đại thuật toán là:V3-V2=V3 ,vì bộ khuếch đại thuật toán làm việc như một Trigơ nên điện áp ra là Ura =80%Vcc

- Khi có một sản phẩm đi qua thì D2 không nhận được tín hiệu từ D1 phát nữa nên nó có điện trở rất lớn ,làm cho thế tại V2 tăng lên =>điện áp vào bộ khuếch đại thuật toán là V3-V2 (ta phải điều chỉnh VR1 = điện trở của D2 lúc không thông) =>V3-V2=0

=> Vậy là ta đã nhận được một đột biến điện áp (một sườn âm)kích cho 89C51 làm việc.

3 Khối hiển thị:

- Gồm 6 đèn LED 7 thanh để hiển thị số sản phẩm định trước và số sản phẩm đã đếm được.

- Trong khối này có các IC7447 là các IC giải mã lấy dữ liệu từ 89C51 và giải mã ra LED 7 thanh

- LED 7 thanh được dùng để hiển thị số sản phẩm định sẵn lấy ra từ các chân của cổng P1 , số sản phẩm định sẵn lấy ra từ 4 bít thấp của P2, số gói sản phẩm đếm được lấy ra từ 4 bít cao của P2, số sản phẩm đếm được lấy ra từ các chân của cổng P0 ( tất nhiên là đã qua 7447).

Trang 12

- Vì tín hiệu ra từ IC89C51 quá nhỏ nên ta phải cho qua bộ khuếch đại tăng tín hiệu ra để điều khiển động cơ.

5 Khối nguồn:

Có hai nguồn cấp điện :

- Nguồn cấp điện 5V cho IC89C51,khối nhận biết sản phẩm,khối hiển thị ,khối các công tắc và các thông báo phụ.

- Nguồn cấp điện 12V cho động cơ và bộ khuếch đại II S¥ §å NGUY£N lý :

Trang 14

ET1 bit 0xAB EX1 bit 0xAA ET0 bit 0xA9 EX0 bit 0xA8

Trang 15

; Hien thi (so keo)/goi dinh san ra p1 MOV A,R0; Chuyen thanh ma BCD

Trang 16

MOV A,R2 ; So goi dang duoc dem SWAP A ; Dua R2 ra 4 bit cao cua P2

MOV B,R1 ; So goi dinh truoc duoc dua ra 4 bit thap cua P2

Trang 17

; So sanh TL0 voi thanh ghi R0

CJNE A,0,NEXT2 ; Neu khac nhay toi next2 ; neu bang, so sanh tiep voi 0

CJNE A,#0,NGAT1 ; Neu khac0 -> nhay toi ngat

CLR P3.6 ; Cho sang nua giay roi tat MOV TL0,#00H ; Xoa so keo dem ve 0 RET

JC END2; TL0<R0 THI RETURN

MOV A,TL0 ;TL0 >0 THI CHIA TL0 CHO R0, PHAN NGUYEN ( SO GOI) CONG THEM VAO SO GOI DEM DC, PHAN DU CONG VAO SO KEO DEM DC -> DOI PHO VOI TH TL0>R0

Trang 18

CLR P3.5 ; NEU SO GOI DEM DC LON HON SO GOI DINH TRUOC THI TAT DONG CO

; SAU KHI NHAP SO HANG DON VI VAO R7, SO HANG CHUC VAO R6, GHEP 2 SO NAY THANH SO NHI PHAN CHI SO GOI TAI RO

MOV A,R6 MOV B,#10 MUL AB

Trang 20

SO_SANH1: MOV A,TL0

CJNE A,0,NEXT23; SS TL0 VOI THANH GHI R0

CLR P3.5; TAT DONG CO NEU R2 =R1( SO GOI DEM= SO DINH

Trang 21

MOV R1,#00H MOV R2,#00H MOV R6,#0 MOV R7,#0

MOV IE,#10000101B; KHOI DONG 2 NGAT NGOAI SETB IT0; CHON KICH SUON AM

SETB IT1; KHOI DONG BO DEM

MOV TMOD,#00000110B ; BO DEM 0, CHE DO 1

JNB P3.7,MAIN2; NEU P3.7 = 0 -> NHAY DEN CHE DO 2 ; NEU P3.7 =1 -> CHE DO DEM SAN PHAM

LJMP MAIN1; NHAY DEN CHE DO DEM SP ( CHE DO 1) KHI

; CHE DO DEM KHI P3.7 =1 ; KHOI DONG NGAT NGOAI

Trang 22

JNB P3.1,TANG_SO_HANG_CHUC1 ;NEU P3.1 AN -> TANG SO HANG CHUC LEN 1

LCALL GH_hang_dvi; GIOI HAN HANG DON VI <10 LCALL GH_hang_chuc; GIOI HAN HANG CHUC <10 LCALL SSGGH; GIOI HAN HANG TRAM <100

LCALL GHEP_SO; GHEP HANG CHUC VA HANG DON VI THANH 1 SO NHI PHAN

LCALL HIENTHI; HIEN THI

LCALL GH_VA_DEM_R0_DEN_100

LCALL SO_SANH; SO SANH CAC SO DEM DC VOI SO DINH TRUOC, NEU DU THI TAT

Trang 23

IV TµI liÖu tham kh¶o :

[1] NguyÔn T¨ng Cêng vµ Phan Quèc Th¾ng: CÊu tróc vµ lËp tr×nh hä vi

®iÒu khiÓn 8051, Nhµ xuÊt b¶n Khoa häc kü thuËt, Hµ Néi 2004.

[2] Tèng V¨n On vµ céng sù

[3] Ng« Diªn TËp: LËp tr×nh b»ng hîp ng÷, Nhµ xuÊt b¶n Khoa häc kü

thuËt, Hµ Néi 1998.

[4] V¨n ThÕ Minh: Kü thuËt vi xö lÝ, Nhµ xuÊt b¶n gi¸o dôc 1997

[5] TS §Æng V¨n ChuyÕt vµ céng sù : Gi¸o tr×nh kü thuËt m¹ch ®iÖn tö,

Nhµ xuÊt b¶n gi¸o dôc 2003.

[6] Huúnh §¾c Th¾ng : CÈm nang thùc hµnh vi m¹ch tuyÕn tÝnh, TTL/LS,

CMOS, Nhµ xuÊt b¶n Khoa häc kü thuËt, Hµ Néi 1994.

[7] NguyÔn Quang Hïng vµ TrÇn Ngäc B×nh: §éng c¬ bíc Kü thuËt ®iÒu

khiÓn vµ øng dông, Nhµ xuÊt b¶n Khoa häc kü thuËt, Hµ Néi 2003.

[8] Intel Semiconductors: Intel MCS-51 Microcontroller family user s’s

manual, Glence, Mc Graw Hill Publication, 1997.

[9] AT89c51 Datasheet, Atmel Corp…

Ngày đăng: 24/08/2012, 13:55

HÌNH ẢNH LIÊN QUAN

Các cấu hình chân ra của AT89C51 - BAOCAO_ THIET KE MACH DEM SAN PHAM VÀ DIEU KHIEN DONG CO.DOC
c cấu hình chân ra của AT89C51 (Trang 4)
hình làm bus địa chỉ (byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chơng trình ngoài - BAOCAO_ THIET KE MACH DEM SAN PHAM VÀ DIEU KHIEN DONG CO.DOC
hình l àm bus địa chỉ (byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chơng trình ngoài (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w