1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) bài tập lớn môn kĩ thuật vi xử lý đề bài cảm biến nhiệt độ dùng ntc hiển thị kết quả trên lcd

56 8 0

Đ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

Tiêu đề Cảm Biến Nhiệt Độ Dùng NTC Hiển Thị Kết Quả Trên LCD
Người hướng dẫn Giảng Viên: Hà Nội
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kỹ Thuật Vi Xử Lý
Thể loại báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 56
Dung lượng 6,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Arm Holdingsphát triển kiến trúc và cấp phép nó cho các công ty khác, nơi mà sẽ thiết kế các sảnphẩm của riêng họ để thực hiện một trong những kiến trúc đó bao gồm các SoC và cácmodule h

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA VIỄN THÔNG I

BÁO CÁO BÀI TẬP LỚN

Trang 3

LỜI NÓI ĐẦU

Trong xu thế phát triển hiện nay, với sự bùng nổ của các ngành công nghệ thôngtin, điện tử, tự động hóa, … Đã làm cho đời sống của con người ngày càng hoàn thiện.Các thiết bị tự động hóa đã ngày càng xâm lấn vào trong sản xuất và thậm chí là vàocuộc sống sinh hoạt hàng ngày của mỗi con người Ví dụ như một chiếc ô tô có thể cóhàng ngàn thiết bị hỗ trợ người lái Là một sinh viên khoa Điện tử Viễn thông, bằng

những kiến thức đã học, nhóm em đã chọn đề tài Thiết kế mạch đo nhiệt độ dùng NTC cho bài tập lớn.

Trong quá trình làm đề tài này, chúng em đã cố gắng hoàn thành thật tốt nhưng dokiến thức còn hạn chế cùng với những yếu tố khách quan khác mà không tránh khỏinhững thiếu sót Chúng em rất mong được sự đóng góp ý kiến, phê bình và hướng dẫnthêm của thầy cũng như các bạn đọc

Cuối cùng chúng em xin gửi lời cảm ơn chân thành nhất tới thầy…… đã hướngdẫn tận tình, giảng giải chi tiết giúp chúng em hoàn thành được đềtài Trong quá trìnhhọc tập và nghiên cứu, chúng em đã có thêm được nhiều kiến thức về chuyên ngànhcũng như những kiến thức của môn học Kỹ thuật vi xử lý đồng thời có thời gian rènluyện các kỹ năng khác cần thiết cho cuộc sống

Chúng em xin chân thành cảm ơn !

Trang 4

MỤC LỤC

PHẦN 1 CƠ SỞ LÝ THUYẾT 1

1 Tổng quan về cấu trúc ARM 1

2 Tổng quan về vi xử lí lõi ARM Cortex-M3 1

1 Vi điều khiển STM32 3

2 Vi điều khiển STM32F103C8T6 4

PHẦN 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14

1 Yêu cầu chung 14

2 Yêu cầu đối với module cảm biến DHT11 14

3 Yêu cầu với LCD 1602 14

PHẦN 3 XÂY DỰNG THIẾT KẾ HỆ THỐNG 15

Trang 5

PHẦN 1 CƠ SỞ LÝ THUYẾT

I Tổng quan về cấu trúc ARM và vi xử lí lõi ARM Cortex-M3

ARM (từ viết tắt của Advanced RISC Machine) là một họ kiến trúc dạng RISC chocác vi xử lý máy tính, được cấu hình cho các môi trường khác nhau Arm Holdingsphát triển kiến trúc và cấp phép nó cho các công ty khác, nơi mà sẽ thiết kế các sảnphẩm của riêng họ để thực hiện một trong những kiến trúc đó bao gồm các SoC và cácmodule hệ thống (SoM) kết hợp với các thành phần khác nhau như bộ nhớ, giao diện,radio Họ cũng thiết kế các lõi thực hiện tập lệnh này và cấp phép cho các thiết kế nàycho các công ty đối tác để thiết kế sản phẩm của riêng họ dựa trên các lõi này.Các bộ xử lý có kiến trúc RISC thường yêu cầu ít bóng bán dẫn hơn các bộ xử lý

có kiến trúc điện toán tập lệnh phức tạp (CISC) (như bộ xử lý x86 có trong hầu hết cácmáy tính cá nhân), giúp cải thiện chi phí, tiêu thụ điện năng và tản nhiệt Những đặcđiểm này là mong muốn đối với các thiết bị nhẹ, di động, chạy bằng pin bao gồm cảđiện thoại thông minh, máy tính xách tay và máy tính bảng và các hệ thống nhúngkhác Đối với các siêu máy tính tiêu thụ một lượng điện lớn, ARM cũng có thể là mộtgiải pháp tiết kiệm năng lượng

ARM Holdings định kỳ phát hành bản cập nhật cho kiến trúc Các phiên bản kiếntrúc ARMv3 đến ARMv7 hỗ trợ không gian địa chỉ 32 bit (chip tiền ARMv3, được tạotrước khi ARM Holdings được hình thành, như được sử dụng trong AcornArchimedes, có không gian địa chỉ 26 bit) và số học 32 bit; hầu hết các kiến trúc đều

có các hướng dẫn có độ dài cố định 32 bit Phiên bản Thumb hỗ trợ một tập lệnh có độdài thay đổi, cung cấp cả hai lệnh 32 và 16 bit để cải thiện mật độ mã Một số lõi cũhơn cũng có thể cung cấp thực thi phần cứng cho mã byte Java Được phát hành vàonăm 2011, kiến trúc ARMv8-A đã thêm hỗ trợ cho không gian địa chỉ 64 bit và số học

64 bit với tập lệnh có độ dài cố định 32 bit mới

Vi xử lý lõi ARM Cortex dựa trên 3 cấu hình của kiến trúc ARMv7:

Trang 6

− Cấu hình A: cho các ứng dụng Application, yêu cầu cao chạy trên các hệ điều hành

mở và phức tạp như Linux, Android…

− Cấu hình R: cho các ứng dụng thời gian thực Real Time

− Cấu hình M: cho các ứng dụng vi điều khiển Microcontroller

Bộ vi xử lý ARM Cortex-M3 dựa trên kiến trúc ARMv7-M có cấu trúc thứ bậc Nótích hợp lõi xử lý trung tâm, với các thiết bị ngoại vi hệ thống tiên tiến để tạo ra cáckhả năng như kiểm soát ngắt, bảo vệ bộ nhớ, gỡ lỗi và theo vết hệ thống ARM CortexM3 dựa trên cấu trúc Havard, được đặc trưng bằng sự tách biệt giữa vùng nhớ dữ liệu

và chương trình Vì có thể đọc cùng lúc lệnh và dữ liệu từ bộ nhớ, bộ vi xử lý ARMCortex-M3 có thể thực hiện nhiều hoạt động song song, tăng tốc thực thi ứng dụng

Cấu Trúc Vi Xử Lý ARM Cortex M3

Lõi ARM Cortex có cấu trúc đường ống gồm 3 tầng: Instruction Fetch, Instruction Decode và Instruction Execute Khi gặp một lệnh nhánh, tầng decode chứa một chỉ thịnạp lệnh suy đoán có thể dẫn đến việc thực thi nhanh hơn Bộ xử lý nạp lệnh dự định

rẽ nhánh trong giai đoạn giải mã Sau đó, trong giai đoạn thực thi, việc rẽ nhánh được giải quyết và bộ vi xử lý sẽ phân tích xem đâu là lệnh thực thi kế tiếp Nếu việc rẽ nhánh không được chọn thì lệnh tiếp theo đã sẵn sàng Còn nếu việc rẽ nhánh được chọn thì lệnh rẽ nhánh đó cũng đã sẵn sàng ngay lập tức, hạn chế thời gian rỗi chỉ còn

Trang 8

The Cortex–M3 processor

Bộ vi xử lý Cortex-M3 là một bộ vi xử lý 32-bit, với độ rộng của đường dẫn dữ liệu 32 bit, các dải thanh ghi và giao tiếp bộ nhớ Có 13 thanh ghi đa dụng, hai con trỏngăn xếp, một thanh ghi liên kết, một bộ đếm chương trình và một số thanh ghi đặc biệt trong đó có một thanh ghi trạng thái chương trình

II Tổng quan về vi điều khiển STM32 và STM32F103C8T6

ST đã đưa ra thị trường 4 dòng vi điều khiển dựa trên ARM7 và ARM9, nhưngSTM32 là một bước tiến quan trọng trên đường cong chi phí và hiệu suất(price/performance), giá chỉ gần 1 Euro với số lượng lớn, STM32 là sự thách thức thật

sự với các vi điều khiển 8 và 16-bit truyền thống STM32 đầu tiên gồm 14 biến thể

TÀI LIỆU THI TÍN HIỆUHỆ THỐNG

Kỹ thuật vi

11

BÀI TẬP TÌNH HUỐNG MÔN KỸ NĂNG LÀM…

Kỹ thuật vi

4

Sách hướng dẫn học tập vật lý đại cươn…

60

Trang 9

trong hai nhóm này tương thích hoàn toàn về cách bố trí chân (pin) và phần mềm, đồng thời kích thước bộ nhớ FLASH ROM có thể lên tới 512K và 64K SRAM.

Kiến trúc của STM32 nhánh Performance và Access

Nhánh Performance hoạt động với xung nhịp lên đến 72Mhz và có đầy đủ các ngoại vi, nhánh Access hoạt động với xung nhịp tối đa 36Mhz và có ít ngoại vi hơn sovới nhánh Performance

Kit phát triển STM32F103C8T6

Cấu trúc của kit STM32F103C8T6 bao gồm:

− 1 cổng Mini USB dùng để cấp nguồn, nạp cũng như debug

− 2 MCU bao gồm 1 MCU nạp và 1 MCU dùng để lập trình

− Có chân Output riêng cho các chân mạch nạp trên MCU1

− Có chân Output đầy đủ cho các chân MCU2

Trang 10

− Chân cấp nguồn ngoài riêng cho MCU2 nếu không sử dụng nguồn từ USB.

− Thạch anh 32,768khz dùng cho RTC và Backup

− Chân nạp dùng cho chế độ nạp boot loader

− Nút Reset ngoài và 1 led hiển thị trên chân PB9, 1 led báo nguồn cho MCU2

ARM 32-bit Cortex M3 với clock max là 72Mhz

Bộ nhớ 64 kbytes bộ nhớ Flash(bộ nhớ lập trình) và 20kbytes SRAM.Clock,

reset và quản lý nguồn:

− Điện áp hoạt động 2.0V -> 3.6V

− Power on reset (POR), Power down reset (PDR) và programmable voltage detector (PVD)

− Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz

− Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz

− Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC

Trong trường hợp điện áp thấp:

− Có các mode :ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ

− Cấp nguồn ở chân Vbat bằng pin để hoạt động bộ RTC và sử dụng lưu trữ data khi mất nguồn cấp chính

2 bộ ADC 12 bit với 9 kênh cho mỗi bộ:

− Khoảng giá trị chuyển đổi từ 0 – 3.6V

− Lấy mẫu nhiều kênh hoặc 1 kênh

− Có cảm biến nhiệt độ nội

DMA bộ chuyển đổi này giúp tăng tốc độ xử lý do không có sự can thiệp quá sâucủa CPU:

− 7 kênh DMA

− Hỗ trợ DMA cho ADC, I2C, SPI, UART

7 timer:

Trang 11

− 1 timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắt input, dead-time

− 2 watdog timer dùng để bảo vệ và kiểm tra lỗi

− 1 sysTick timer 24 bit đếm xuống dùng cho các ứng dụng như hàm

Delay… Hỗ trợ 9 kênh giao tiếp bao gồm:

Sơ đồ chân kit STM32F103C8T6

Các thông số kĩ thuật của kit STM32F103C8T6:

− Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyển đổi thành 3.3VDC qua

IC nguồn và cấp cho Vi điều khiển chính

− Tích hợp sẵn thạch anh 8Mhz

− Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC

Trang 12

− Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,…

− Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset

− Kích thước: 53.34 x 15.24mm

− Sử dụng với các mạch nạp: ST-Link Mini, J-link hoặc USB TO COM

− Kết nối chân khi nạp bằng ST-Link Mini: TCK - SWCLK, TMS - SWDIO, GND-GND, 3.3V - 3.3V

III Lập trình cho STM32

STMicroelectronics đã giới thiệu một công cụ có tên STM32CubeMX ,tạo code cơbản theo các thiết bị ngoại vi và board STM32 được chọn Vì vậy, chúng ta không cầnphải lo lắng về việc code hóa cho các trình điều khiển và thiết bị ngoại vi cơ bản Hơnnữa code được tạo này có thể được sử dụng trong Keil uVision để chỉnh sửa theo yêucầu Và cuối cùng, code được ghi vào STM32 bằng lập trình ST-Link từSTMicroelectronics

Công cụ STM32CubeMX là một phần của STMicroelectronics STMCube Công

cụ phần mềm này giúp cho việc phát triển dễ dàng bằng cách giảm giai đoạn pháttriển, thời gian và chi phí STM32Cube bao gồm STM32CubeMX là một công cụ cấuhình phần mềm đồ họa cho phép tạo code C bằng cách sử dụng trình hướng dẫn đồhọa Code đó có thể được sử dụng trong các môi trường phát triển khác nhau như keiluVision, GCC, IAR, v.v Bạn có thể tải xuống công cụ này từ liên kết sau

STM32CubeMX có các tính năng sau:

− Chân gỡ lỗi

− Trợ giúp thiết lập xung

− Một nguồn

− Một tiện ích thực hiện cấu hình ngoại vi MCU như chân GPIO, USART, v.v

− Một tiện ích thực hiện cấu hình ngoại vi MCU cho các ngăn xếp phần mềm trung gian như USB, TCP / IP, v.v

Keil C là phần mềm hỗ trợ người dung trong việc lập trình các dòng vi điều khiểnkhác nhau Keil C giúp người dung soạn thảo và biên dịch chương trình C hayAssembly thành ngôn ngữ máy để nạp vào vi điều khiển giúp tương tác giữa vi điều

Trang 13

Quy trình sẽ là cấu hình cơ bản trên CubeMX:

Sau đó sẽ lập trình nâng cao trên KeilC:

Trang 14

IV Tổng quan về điện trở nhiệt NTC

Cảm biến và module cảm biến DHT11

Thông số kĩ thuật:

− Điện áp hoạt động : 3V - 5V (DC)

− Dải độ ẩm hoạt động : 20% - 90% RH, sai số ±5%RH

− Dải nhiệt độ hoạt động : 0°C ~ 50°C, sai số ±2°C

− Tần số lấy mẫu tối đa: 1 Hz

− Khoảng cách truyển tối đa: 20m

Sơ đồ chân Cảm biến DHT11 gồm 2 chân cấp nguồn, và 1 chân tín hiệu được mô

tả ở hình 1.9 Hiện nay, thông dụng ngoài thị trường có hai loại đóng gói cho DHT11:

3 chân và 4 chân

Trang 15

Các chân của cảm biến DHT11

Cảm biến nhiệt độ, độ ẩm DHT11 với giá thành rẻ, dễ sử dụng, thích hợp sử dụng trong các ứng dụng yêu cầu độ chính xác không cao, môi trường không khắc nghiệt

V Tổng quan về thiết bị LCD 1602

Ngày nay, thiết bị hiển thị LCD 1602 (Liquid Crystal Display) được sử dụng trongrất nhiều các ứng dụng của vi điều khiển LCD 1602 có rất nhiều ưu điểm so vớicác dạnghiển thị khác như: khả năng hiển thị kí tự đa dạng (chữ, số, kí tự đồ họa), dễdàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tiêu tốn rất íttài nguyên hệ thống, giá thành rẻ,…

Thông số kĩ thuật của sản phẩm LCD 1602:

Trang 16

LCD 1602 xanh lá và các chân

Chức năng của từng chân LCD 1602:

− Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điều khiển

− Chân số 2 - VDD : chân cấp nguồn cho LCD, được nối với VCC=5V của mạch điều khiển

− Chân số 3 - VE : điều chỉnh độ tương phản của LCD

− Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":+ Logic “0”: Bus DB0 - DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ

“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read).+ Logic “1”: Bus DB0 - DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

− Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0”

để ghi hoặc nối với logic “1” đọc

− Chân số 6 - E : chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân này như sau:+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát hiện một xung (high-to-low transition) của tín hiệu chân E

Trang 17

DB0-+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnhlên(low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân

E xuống mức thấp

− Chân số 7 đến 14 - D0 đến D7: 8 đường của bus dữ liệu dùng để trao đổi thông tinvới MPU Có 2 chế độ sử dụng 8 đường bus này là: Chế độ 8 bit (dữ liệu được truyềntrên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu được truyền trên 4đường từ DB4 tới DB7, bit MSB là DB7)

− Chân số 15 - A : nguồn dương cho đèn nền

− Chân số 16 - K : nguồn âm cho đèn nền

VI Tổng quan về Module I2C LM1602

Module chuyển đổi I2C cho LCD sẽ giải quyết vấn đề chiếm nhiều chân vi điềukhiển của LCD, thay vì sử dụng tối thiểu 6 chân của vi điều khiển để kết nối với LCD(RS, EN, D7, D6, D5 và D4) thì với module chuyển đổi chỉ cần sử dụng 2 chân (SCL,SDA) để kết nối Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driverHD44780, kết nối với vi điều khiển thông qua giao tiếp I2C, tương thích với hầu hếtcác vi điều khiển hiện nay

Module I2C LM1602

Thông số kĩ thuật:

− Điện áp hoạt động: 2.5-6V DC

− Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780)

− Giao tiếp: I2C

− Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2)

− Kích thước: 41.5mm(L)x19mm(W)x15.3mm(H)

Trang 18

− Trọng lượng: 5g

− Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt

− Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD

Trang 19

PHẦN 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

I Nguyên lý hoạt động

Hệ thống hoạt động dựa trên dữ liệu thu được từ cảm biến DHT11 sau đó đưa kếtquả đo ra màn hình LCD Khi kết quả đo vượt qua một ngưỡng nhất định sẽ đưa racảnh báo bằng đèn LED

Với tiền đề là hệ thống cảnh báo nhiệt độ vượt qua ngưỡng quy định ta có thể pháttriển theo 2 hướng:

− Tích hợp với điều khiển động cơ bước để trở thành hệ thống tự động làm mát

− Tích hợp với cảm biến khói MQ-2 để trở thành hệ thống tự động báo cháy

II Yêu cầu

− Sai số hệ thống không vượt quá 5% độ ẩm và 2°C

− Đưa ra cảnh báo LED gần như ngay lập tức nếu phát hiện nhiệt độ vượt quá ngưỡng quy định

− Hoạt động liên tục, ổn định

− Module có chức năng đo các thông số nhiệt độ, độ ẩm để gửi dữ liệu ra LCD

− Hoạt động ổn định, lâu dài

− Đưa ra kết quả chính xác trong sai số cho phép

− Nhỏ gọn, tiện lợi, dễ sử dụng

− Hiển thị các thông số đo được từ cảm biến DHT11

− Hiển thị rõ ràng các kí tự

Trang 20

− Hoạt động ổn định, không nhấp nháy.

PHẦN 3 XÂY DỰNG THIẾT KẾ HỆ THỐNG

I Sơ đồ khối hệ thống

Khối vi điều khiển (MCU) có chức năng điều khiển mọi hoạt động của mạch nhưphát xung điều khiển LCD1602, nhận tín hiệu từ module DHT11, bật tắt LED cảnh báo

Led báo hiệu sử dụng Led red siêu sáng

LCD1602 sử dụng LCD xanh dương để hiển thị kết quả đo

Module DHT11 để đo các giá trị nhiệt độ và độ ẩm để gửi về MCU

II Linh kiện sử dụng

Kit STM32F103C8T6

Trang 21

LCD1602 xanh dương - Điện áp hoạt động là 5V.

- Kích thước: 80 x 36 x 12.5mm

- Chữ trắng, nền xanh dương

- Khoảng cách giữa hai chân kết nối là0.1 inch tiện dụng khi kết nối vớiBreadboard

- Có đèn led nền, có thể dùng biến trởhoặc PWM điều chình độ sáng để sửdụng ít điện năng hơn

- Có thể được điều khiển với 6 dây tínhiệu

I2C cho LCD1602 - Kích thước: 41.5mm(L) X 19mm(W)

- Chuẩn giao tiếp: TTL, 1 wire

- Khoảng đo độ ẩm: 20%-80%RH sai số

- Đường kính: 5mm

- Dòng tiêu thụ tối đa: 20mA

- Dòng tiêu thụ khuyến nghị: 16mA - 18mA

Trang 22

Dây nối board

III.Lưu đồ thuật toán

IV Sơ đồ thiết kế mạch

Trang 23

V Viết chương trình code cho vi điều khiển STM32F103C8T6

Trang 24

void delay_ms(uint32_t u32Delay);

void delay_us(uint32_t u32Delay);

gpioInit.GPIO_Pin = GPIO_Pin_8; // chan data cua DHT11 noi voi chan PB8 cua STM32

Trang 27

/* cho chan PB12 xuong thap */

Trang 28

/* cho chan PB12 xuong thap */

Ngày đăng: 26/12/2023, 04:55

HÌNH ẢNH LIÊN QUAN

Sơ đồ chân kit STM32F103C8T6 - (Tiểu luận) bài tập lớn môn kĩ thuật vi xử lý đề bài cảm biến nhiệt độ dùng ntc hiển thị kết quả trên lcd
Sơ đồ ch ân kit STM32F103C8T6 (Trang 11)
Sơ đồ chân Cảm biến DHT11 gồm 2 chân cấp nguồn, và 1 chân tín hiệu được mô - (Tiểu luận) bài tập lớn môn kĩ thuật vi xử lý đề bài cảm biến nhiệt độ dùng ntc hiển thị kết quả trên lcd
Sơ đồ ch ân Cảm biến DHT11 gồm 2 chân cấp nguồn, và 1 chân tín hiệu được mô (Trang 14)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w