1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)

38 23 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 đề Xây Dựng Hệ Thống Báo Giờ Tự Động Bằng Loa Sử Dụng PIC16F877A
Tác giả Nguyễn Hoàng Việt, Vũ Văn Sỹ
Người hướng dẫn 53CDT.01 Tăng Cẩm Nhung
Trường học Trường Đại Học Kĩ Thuật Công Nghiệp Thái Nguyên
Chuyên ngành Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2021
Thành phố Thái Nguyên
Định dạng
Số trang 38
Dung lượng 757,92 KB

Cấu trúc

  • CHƯƠNG I: GIỚI THIỆU TỔNG QUÁT (3)
    • 3. Thiết kế sơ đồ nguyên lý (4)
  • CHƯƠNG II: LẬP TRÌNH ĐIỀU KHIỂN CHO HỆ THỐNG (14)
    • 1.1 Giới thiệu Yêu cầu điều khiển (14)
    • 1.2 Xây dựng lưu đồ điều khiển (14)
    • 3.1 Code Hiển thị thời gian thực lên led matrix (31)
    • 3.2 Code Hiển thị chế độ cài đặt thời gian lên LCD (33)
    • 3.3 Chương trình nút ấn cài đặt thời gian và hiển thị ra LCD (34)
  • CHƯƠNG III: ĐÁNH GIÁ VÀ KẾT LUẬN (36)
    • 2. Kết luận (36)
  • TÀI LIỆU THAM KHẢO (37)

Nội dung

Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)

GIỚI THIỆU TỔNG QUÁT

Thiết kế sơ đồ nguyên lý

LCD được sử dụng trong hệ thống là loại LCD 16x2 có 2 hàng và 16 cột

Màn hình LCD được sử dụng vô cùng rộng rãi trong công nghiệp cũng như các lĩnh vực đời sống Nó có chức năng hiển thị chữ, số

Dưới đây là hình ảnh thể hiện các chân của màn hình LCD

Hình 1.3: Định nghĩa các chân của LCD

Một số lệnh của LCD dùng trong pic 16f877a: Định nghĩa các chân LCD:

#define LCD_RS_PIN PIN_A0

#define LCD_RW_PIN PIN_C7

#define LCD_ENABLE_PIN PIN_C6

Khai báo thư viện LCD: #include

Khởi tạo LCD: LCD_init();

Để hiển thị ký tự trên LCD, sử dụng lệnh lcd_gotoxy(2,1) để đưa con trỏ đến cột 2, dòng 1, sau đó dùng lcd_putc("sy_viet") để hiển thị chữ "sy_viet" tại vị trí đó Bên cạnh đó, khối hiển thị Led matrix cũng là một phần quan trọng trong việc trình bày thông tin.

Led Matrix bao gồm 8 đèn LED đơn, với 8 chân kết nối đến cột và 8 chân kết nối đến hàng Để hoạt động, cần sử dụng 8 chân từ vi điều khiển để kết nối với hàng và 8 chân khác để kết nối với cột.

- Để 1 Led sáng: cấp điện áp VCC và GND vào 2 chân của Led đó

- Trong 1 thời điểm chỉ điều khiển được 8 Led

Hình 1.4: Cấu trúc led matrix 8x8

Cách test hàng và cột:

Để xác định chân HÀNG và chân CỘT trong Led Matrix, bạn cần nối một chân với nguồn (+) và một chân với nguồn (-) Nếu đèn sáng lên, điều đó có nghĩa là bạn đã xác định đúng vị trí của HÀNG và CỘT.

Khi đèn sáng thì chân với với nguồn (+) sẽ là chân hàng, và chân nối với nguồn (-) sẽ là chân cột

Hình 1.5 Cách xác định hàng và cột

Nguyên tắc gán HÀNG và CỘT như sau:

Hình 1.6 Nguyên tắc gán nhãn hàng và cột

Nguyên lý quét Led matrix:

• Chốt tín hiệu vào từng hàng và từng cột

• Duy trì trạng thái trong 1 khoảng thời gian đủ để mắt người cảm nhận được (khoảng 1ms)

• Chốt tín hiệu vào các hàng và các cột tiếp theo c) Khối DS1307

DS1307 là một chip thời gian thực (RTC - Real Time Clock) cung cấp thông tin chính xác về thời gian, bao gồm thứ, ngày, tháng, năm, giờ, phút và giây Thời gian được lưu trữ trong DS1307 có độ chính xác cao và có thể duy trì đến năm 2100.

DS1307 được chế tạo bởi Dallas Semiconductor, chip có cấu tạo bên ngoại khá đơn giản

Chip DS1307 có 8 chân và chúng ta hay dùng là dạng Dip và thứ tự các chân nó được mô tả như hình dưới đây:

X1,X2: nối với thạch anh 32,768 kHz

Vbat: đầu vào pin khoảng 3V

SQW/OUT: xung vuông/ đầu ra driver

Cấu tạo bên trong DS1307:

DS1307 được cấu tạo từ nhiều thành phần quan trọng, bao gồm mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao tiếp I2C, con trỏ địa chỉ và các thanh ghi (RAM).

DS1307 là một chip thời gian thực với các thành phần chủ yếu là "cứng", do đó việc sử dụng nó khá đơn giản, tập trung vào việc ghi và đọc các thanh ghi Để sử dụng DS1307 hiệu quả, người dùng cần nắm rõ cấu trúc của các thanh ghi và cách truy xuất chúng qua giao diện I2C.

Hình 1.8 Cấu trúc bên trong DS1307

Như đã trình bày, bộ nhớ DS1307 có tất cả 64 thanh ghi 8−bit được đánh địa chỉ từ 0 đến

Trong hệ thống 63 thanh ghi (từ 0x00h đến 0x3Fh), chỉ có 8 thanh ghi đầu tiên được sử dụng cho chức năng “đồng hồ” Phần còn lại, gồm 56 thanh ghi, để trống và có thể được sử dụng để chứa biến tạm, tương tự như RAM.

Bảy thanh ghi đầu tiên trong đồng hồ thực (RTC) chứa thông tin về thời gian, bao gồm giây, phút, giờ, thứ, ngày, tháng và năm Ghi giá trị vào các thanh ghi này tương đương với việc cài đặt thời gian khởi động cho RTC, trong khi việc đọc giá từ các thanh ghi này cho phép chúng ta truy cập thời gian thực mà RTC cung cấp.

Hình 1.9 Cấu trúc thanh ghi DS1307

Tổ chức bộ nhớ trong DS1307:

Vì 8 thanh ghi đầu tiên là quan trọng nhất trong hoạt động của DS1307, chúng ta sẽ khảo sát các thanh ghi này một cách chi tiết Trước hết hãy quan sát tổ chức theo từng bit của các thanh ghi này trong hình sau:

Hình 2.0 chức năng các thanh ghi trong DS 1307

Thanh ghi giây (SECONDS): thanh ghi này là thanh ghi đầu tiên trong bộ nhớ của

DS1307, địa chỉ của nó là 0x00 Bốn bit thấp của thanh ghi này chứa mã BCD 4-bit của

Chữ số hàng đơn vị của giá trị giây chỉ cần 3 do giá trị cao nhất của chữ số hàng chục là 5 Bit cao nhất (bit thứ 7) trong thanh ghi này là bit điều khiển CH (Clock halt), có chức năng vô hiệu hóa bộ dao động trong chip khi được set bằng 1, dẫn đến đồng hồ không hoạt động Do đó, cần thiết phải reset bit này xuống 0 ngay từ đầu để đảm bảo đồng hồ hoạt động bình thường.

Thanh ghi phút (MINUTES) có địa chỉ 0x01h và lưu trữ giá trị phút của đồng hồ Chỉ 7 bit của thanh ghi này được sử dụng để lưu mã BCD của phút, trong khi bit thứ 7 luôn được đặt bằng 0.

Thanh ghi giờ (HOURS): có thể nói đây là thanh ghi phức tạp nhất trong chip DS1307

Thanh ghi có địa chỉ 0x02h sử dụng 4 bit thấp để biểu thị chữ số hàng đơn vị của giờ DS1307 hỗ trợ hai hệ thống hiển thị giờ: 12h và 24h Bit thứ 6 xác định hệ thống giờ; nếu bit này = 0, hệ thống 24h được chọn, với 2 bit thứ 5 và thứ 4 mã hóa chữ số hàng chục của giờ, tối đa là 2 Nếu bit thứ 6 = 1, hệ thống 12h được sử dụng, chỉ cần 1 bit thứ 4 để mã hóa chữ số hàng chục, trong khi bit thứ 5 chỉ định buổi trong ngày (AM hoặc PM), với bit thứ 5 = 0 cho buổi sáng.

AM và bit thứ 5 = 1 là PM Bit thứ 7 luôn bằng 0

Thanh ghi thứ (DAY – ngày trong tuần) nằm tại địa chỉ 0x03h và chỉ nhận giá trị từ 1 đến 7, tương ứng với các ngày từ Chủ nhật đến thứ 7 trong tuần Do đó, chỉ có 3 bit thấp trong thanh ghi này có ý nghĩa, trong khi các bit còn lại luôn được đặt bằng 0.

Thanh ghi DATE (ngày trong tháng) nằm tại địa chỉ 0x04h và có giá trị từ 1 đến 31 Chỉ có 5 bit đầu tiên của thanh ghi này là có ý nghĩa, trong khi các bit còn lại luôn bằng 0.

Thanh ghi tháng (MONTH): nằm ở địa chỉ 0x05h Thanh ghi MONTH mang giá trị từ 1 đến 12, chỉ có 4 bit đầu tiên là có nghĩa Các bit còn lại bằng 0

Thanh ghi năm (YEAR): nằm ở địa chỉ 0x06h Thanh ghi YEAR mang giá trị từ 0 đến 99

Chip DS1307 chỉ dùng cho 100 năm, nên giá trị năm chỉ có 2 chữ số, phần đầu của năm do người dùng tự thêm vào

Thanh ghi điều khiển (0x07): Đây là thanh ghi điều khiển quá trình ghi của DS1307 và

Quá trình ghi phải được kết thúc bằng địa chỉ 0x93 d) Khối nguồn:

Nguồn cấp cho LCD: 2.5-6V DC e) Khối nút nhấn

Hệ thống sử dụng bốn nút nhấn:

UP: Tăng thời gian cài đặt

DOWN: Giảm thời gian cài đặt

MODE: Cài đặt thời gian chuông kêu/ SET

RESET: reset giá trị đặt f) Khối điều khiển

Khối điều khiển được sử dụng là PIC16f877a g) Khối chuông báo:

Sử dụng chuông báo kết hợp với loa giúp tăng cường khả năng thông báo Bài viết của chúng em còn tích hợp thêm đèn báo, tạo sự chú ý hơn Khi thời gian được cài đặt chính xác, chuông báo sẽ phát ra âm thanh và đèn báo sẽ sáng lên, đảm bảo thông tin được truyền tải hiệu quả.

13 h) Sơ đồ nguyên lý cho toàn mạch

Sử dụng Proteus để thiết kế sơ đồ:

Hình 2.1 Xây dựng sơ đồ nguyên lý bằng Proteus

Trong sơ đồ nguyên lý hình 2.1 thể hiện các chân của LCD, LED matrix và các thiết bị được đấu nối với PIC16f877a

Xin mời thầy cô xem Video giải thích mạch để thấy rõ hơn về cách đấu nối các chân thiết bị

Một số thông số kỹ thuật của DS1307:

• Điện áp cung cấp là 5V chuẩn

• X1 và X2cần dao động thạch anh 32.768Khz

• Nguồn nuôi cho chip Nguồn này từ ( 2V- 3.5V)

• Dải nhiệt độ hoạt động: -40 o C ~ 85 o C

LẬP TRÌNH ĐIỀU KHIỂN CHO HỆ THỐNG

Giới thiệu Yêu cầu điều khiển

Từ yêu cầu điều khiển: Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A theo các yêu cầu sau:

• Sử dụng các nút nhấn để chọn thời gian báo chuông

• Hiển thị lên Led Matrix thời gian hiện thời

• Khi đến thời gian đã được đặt thì báo chuông

• Sử dụng IC thời gian thực DS1307

Ta tiến hành điều khiển như sau: Ấn cài đặt thời gian chuông báo bằng hệ thống nút bấm như sau:

• Bấm nút Mode được kết nối tới chân A3 của Pic lần thứ nhất thì ta sẽ bắt đầu chế độ set thời gian báo chuông

• Sau lần bấm nút Mode đầu tiên ta sẽ tiến hành ấn tiếp 3 lần tiếp theo cho nút

Mode để cài đặt giờ, phút, giây chuông báo sẽ kêu

• Bấm nút Up được kết nối tới chân A1 để tăng thời gian- giờ, phút, giây

• Bấm nút Down được kết nối tới chân A2 để tiến hành giảm thời gian- giờ, phút, giây

• Nút bấm reset được kết nối tới chân A4 có nhiệm vụ reset thời gian đã đặt

Thời gian thực đọc từ DS1307 sẽ hiển thị Lên 3 LED matrix

LCD có nhiệm vụ hiển thị các thông số cài đặt thời gian

Xây dựng lưu đồ điều khiển

Trình tự hoạt động của lưu đồ điều khiển được hoạt động như sau:

Khi khởi động chương trình, chúng ta sẽ nhập thời gian hiện tại bao gồm giờ, phút và giây để hiển thị thời gian này từ màn hình LCD lên LED MATRIX.

Để cài đặt thời gian báo chuông, sử dụng các nút nhấn MODE, UP và DOWN như đã nêu trong mục 1.1 chương II Nút reset sẽ giúp khôi phục lại toàn bộ thời gian đã được cài đặt ban đầu.

Thời gian cài đặt được hiển thị màn hình LCD

Kiểm tra thời gian cài đặt: Nếu thời gian này trùng khớp với thời gian hiển thị trên LED MATRIX, chuông báo sẽ được kích hoạt.

Nếu thời gian chưa được cài đặt thì sẽ tiến hành cài đặt thời gian

Nhập thời gian thực cho DS1307

Hiển thị thời gian thực lên LED MATRIX

Hiển thị chế độ cài đặt lên

CHUÔNG BÁO HOẠT ĐỘNG Đ ÚN G

Hình 2.2 Lưu đồ điều khiển

#define LCD_RS_PIN PIN_A0

#define LCD_RW_PIN PIN_C7

#define LCD_ENABLE_PIN PIN_C6

#include // khai báo thư viện LCD unsigned int8

Ma_Hang[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe }; const int vFLASH[60][8]{{0x42,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0x42}

{0x41,0xa3,0xa5,0xa1,0xa1,0xa1,0xa1,0x41}

{0x46,0xa9,0xa1,0xa1,0xa1,0xa2,0xa4,0x4f}

{0x46,0xa9,0xa1,0xa6,0xa1,0xa1,0xa9,0x46}

{0x49,0xa9,0xa9,0xaf,0xa1,0xa1,0xa1,0x41}

{0x4f,0xa8,0xa8,0xae,0xa1,0xa1,0xa9,0x46}

{0x47,0xa8,0xa8,0xae,0xa9,0xa9,0xa9,0x46}

{0x4f,0xa1,0xa1,0xaf,0xa1,0xa1,0xa1,0x41}

{0x46,0xa9,0xa9,0xa6,0xa9,0xa9,0xa9,0x46}

{0x46,0xa9,0xa9,0xa7,0xa1,0xa1,0xa9,0x46}

I'm sorry, but the content provided appears to be a series of hexadecimal values rather than a coherent article Please provide a clear text article for me to help you rewrite.

The article discusses various elements represented by hexadecimal values, emphasizing their significance in a broader context It highlights the importance of understanding these codes and their implications in technology and data processing Additionally, it touches on how these values interact within specific frameworks, providing insights into their functionality and relevance The content encourages further exploration of these hexadecimal representations to grasp their full potential and application in modern computing.

19 int8 a=0; int8 b=0; int8 c=0; void reset(){ if(!input(pin_a4)){ while(!input(pin_a4)){ k=0; d=0; e=0; f=0; i=0;

OUTPUT_low(pin_a5); lcd_putc('\f'); lcd_gotoxy(2,1); lcd_putc("Reset"); delay_ms(2000); lcd_gotoxy(2,2); lcd_putc("It is done!"); delay_ms(2000);

OUTPUT_high(pin_a5); delay_ms(1000);

}} void hthi(){ lcd_gotoxy(2,1); lcd_putc("thietlapgio"); lcd_gotoxy(1,2); lcd_putc((i/10)+0x30); lcd_gotoxy(2,2); lcd_putc((i%10)+0x30); lcd_gotoxy(4,2); lcd_putc("gio"); lcd_gotoxy(8,2); lcd_putc("Next=MODE");

} void hthi1(){ lcd_gotoxy(2,1); lcd_putc("thietlapphut"); lcd_gotoxy(1,2); lcd_putc((i/10)+0x30); lcd_gotoxy(2,2);

21 lcd_putc((i%10)+0x30); lcd_gotoxy(4,2); lcd_putc("phut"); lcd_gotoxy(8,2); lcd_putc("Next=MODE");

} void hthi2(){ lcd_gotoxy(2,1); lcd_putc("thietlapgiay"); lcd_gotoxy(1,2); lcd_putc((i/10)+0x30); lcd_gotoxy(2,2); lcd_putc((i%10)+0x30); lcd_gotoxy(4,2); lcd_putc("giay"); lcd_gotoxy(8,2); lcd_putc("Next=MODE");

LCD_init();// khoi tao LCD OUTPUT_low(pin_a4);

BYTE dow; int8 chuc1,donvi1,chuc2,donvi2,chuc3,donvi3,chuc,donvi; ds1307_init(); while(true)

{lcd_gotoxy(0,1); lcd_putc(" SETUP=MODE"); lcd_gotoxy(2,2); lcd_putc("SY _VIET"); if(!input(pin_a3)){ while(!input(pin_a3)){

23 lcd_gotoxy(2,1); lcd_putc("CLICK_UP_DOWN"); delay_ms(2000); k=1; lcd_putc('\f'); }}

} while(k==1){ reset(); if(!input(pin_a1))

} else if(!input(pin_a2)) {while(!input(pin_a2)); { if(i>0)

} else if(!input(pin_a3)){ while(!input(pin_a3)){ d=i; lcd_putc('\f');

25 lcd_gotoxy(2,1); lcd_putc("Da xac nhan"); lcd_gotoxy(1,2); lcd_putc("thietlapgio"); delay_ms(1000); lcd_putc('\f');

}} while(k==2){ reset(); hthi1(); if(!input(pin_a1))

} else if(!input(pin_a2)) {while(!input(pin_a2)); { if(i>0)

} else if(!input(pin_a3)){ while(!input(pin_a3)){ e=i; lcd_putc('\f');

27 lcd_gotoxy(2,1); lcd_putc("Da xac nhan"); lcd_gotoxy(1,2); lcd_putc("thietlapphut"); delay_ms(1000); lcd_putc('\f');

} while(k==3){ reset(); hthi2(); if(!input(pin_a1))

} else if(!input(pin_a2)) {while(!input(pin_a2)); { if(i>0)

29 while(!input(pin_a3)){ f=i; lcd_putc('\f'); lcd_gotoxy(2,1); lcd_putc("Da xac nhan"); lcd_gotoxy(1,2); lcd_putc("thietlapgiay"); delay_ms(1000); lcd_putc('\f');

}} ds1307_get_date(day,month,yr,dow); ds1307_get_time(hrs,min,sec); a=hrs; b=min; c=sec; dkien(); donvi1=hrs%10; chuc1=hrs/10; donvi2=min%10; chuc2=min/10; donvi3=sec%10;

30 chuc3=sec/10; for(j=0; j

Ngày đăng: 04/01/2022, 22:02

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sơ đồ khối của hệ thống - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.1 Sơ đồ khối của hệ thống (Trang 3)
Hình 1.2: LCD 16x2 - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.2 LCD 16x2 (Trang 4)
Hình 1.3: Định nghĩa các chân của LCD - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.3 Định nghĩa các chân của LCD (Trang 5)
Hình 1.4: Cấu trúc led matrix 8x8 - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.4 Cấu trúc led matrix 8x8 (Trang 6)
Hình 1.5 Cách xác định hàng và cột - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.5 Cách xác định hàng và cột (Trang 7)
Hình 1.6 Nguyên tắc gán nhãn hàng và cột - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.6 Nguyên tắc gán nhãn hàng và cột (Trang 7)
Hình 1.7 Cấu trúc DS1307 - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.7 Cấu trúc DS1307 (Trang 8)
Hình 1.8 Cấu trúc bên trong DS1307 - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.8 Cấu trúc bên trong DS1307 (Trang 9)
Hình 2.0 chức năng các thanh ghi trong DS 1307 - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 2.0 chức năng các thanh ghi trong DS 1307 (Trang 10)
Hình 1.9 Cấu trúc thanh ghi DS1307 - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 1.9 Cấu trúc thanh ghi DS1307 (Trang 10)
Hình 2.1 Xây dựng sơ đồ nguyên lý bằng Proteus - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 2.1 Xây dựng sơ đồ nguyên lý bằng Proteus (Trang 13)
Hình 2.2 Lưu đồ điều khiển - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 2.2 Lưu đồ điều khiển (Trang 15)
Hình 2.3 Cách tạo mã hex bằng trang web online - Xây dựng hệ thống báo giờ tự động bằng loa sử dụng PIC16F877A HỆ THỐNG NHÚNG( bao gồm code pic+ mô phỏng proteus)
Hình 2.3 Cách tạo mã hex bằng trang web online (Trang 31)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w