Đồ án mạch đồng hồ số sử dụng PIC16F887: Code và Sơ đồ mạch chi tiết

Tải đồ án mạch đồng hồ số đầy đủ code và sơ đồ mạch chi tiết. Hướng dẫn thiết kế mạch đồng hồ số đơn giản, dễ hiểu cho người mới bắt đầu.

Chuyên ngành

Điện - Điện tử

Người đăng

Ẩn danh

Thể loại

Đồ án

2021 – 2022

53
16
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. Chương 1: TỔNG QUAN

1.1. Lý do chọn đề tài

1.2. Mục tiêu nghiên cứu

1.3. Phạm vi nghiên cứu

2. Chương 2: CƠ SỞ LÝ THUYẾT

2.1. Giới thiệu về Vi điều khiển PIC 16F887

2.2. Giới thiệu chuẩn truyền thông I2C

2.3. Giới thiệu IC DS1307

2.4. Giới thiệu LCD

3. Chương 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG

3.1. Sơ đồ khối thiết kế

3.2. Thiết kế chi tiết

3.3. Khối vi điều khiển

3.4. Khối hiển thị

3.5. Khối thời gian thực

4. Chương 4: KẾT QUẢ THỰC HIỆN

4.1. Kết quả thực hiện phần cứng

4.2. Kết quả thực hiện phần mềm

5. Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

MÃ NGUỒN CHƯƠNG TRÌNH

Tóm tắt

I. Đồ án Mạch Đồng Hồ Số Tổng Quan Dự Án Ứng Dụng Thực Tế

Bài viết này cung cấp một cái nhìn tổng quan về việc thiết kế và xây dựng một mạch đồng hồ số. Dự án này không chỉ là một bài tập học thuật, mà còn là một ứng dụng thực tế, hữu ích trong cuộc sống hàng ngày. Đồng hồ số đã trở thành một phần không thể thiếu trong cuộc sống hiện đại, từ những thiết bị đơn giản như đồng hồ báo thức đến các hệ thống phức tạp hơn như đồng hồ trong ô tô, máy tính, và các thiết bị điện tử khác. Việc nắm vững nguyên lý hoạt động và cách thiết kế mạch đồng hồ số là một kỹ năng quan trọng đối với bất kỳ kỹ sư điện tử nào.

Đề tài "THIẾT KẾ ĐỒNG HỒ SỐ SỬ DỤNG VI ĐIỀU KHIỂN PIC16F887 GIAO TIẾP VỚI IC THỜI GIAN THỰC DS1307" được chọn vì tính ứng dụng cao của nó. Một chiếc đồng hồ hiển thị đầy đủ thông tin về thời gian, thứ, ngày, tháng, năm (cả dương lịch và âm lịch), cùng với chức năng báo thức, sẽ giúp chúng ta quản lý thời gian hiệu quả hơn. Mục tiêu của dự án là thiết kế một đồng hồ số có khả năng hiển thị giờ, phút, giây; thứ, ngày, tháng, năm (âm lịch và dương lịch); có thể điều chỉnh thời gian và có chức năng hẹn giờ. Phạm vi nghiên cứu bao gồm việc sử dụng vi điều khiển PIC16F887 giao tiếp với IC thời gian thực DS1307 thông qua chuẩn truyền thông I2C. Phần mềm CCS được sử dụng để viết và biên dịch chương trình cho vi điều khiển, và phần mềm Proteus được sử dụng để mô phỏng và layout mạch.

1.1. Tầm Quan Trọng của Đồng Hồ Số Trong Đời Sống Hiện Đại

Đồng hồ số không chỉ là một công cụ đo thời gian, mà còn là một phần của cuộc sống hàng ngày. Nó giúp chúng ta xác định thời gian chính xác, từ đó thực hiện công việc đúng giờ. Việc tích hợp thêm các chức năng như hiển thị thứ, ngày, tháng, năm, và báo thức, càng làm tăng tính tiện dụng của đồng hồ số. Thiết kế một mạch đồng hồ số không chỉ giúp chúng ta hiểu rõ hơn về nguyên lý hoạt động của các thiết bị điện tử, mà còn mang lại những ứng dụng thiết thực trong cuộc sống.

1.2. Mục Tiêu Nghiên Cứu Phạm Vi Thiết Kế Mạch Đồng Hồ Số PIC16F887

Mục tiêu chính của dự án là thiết kế một đồng hồ số có khả năng hiển thị đầy đủ thông tin về thời gian, lịch và có chức năng hẹn giờ. Dự án tập trung vào việc sử dụng vi điều khiển PIC16F887 giao tiếp với IC thời gian thực DS1307 thông qua chuẩn truyền thông I2C. Sử dụng phần mềm CCS và Proteus giúp quá trình thiết kế và mô phỏng mạch điện tử trở nên hiệu quả và trực quan hơn. Trích dẫn từ tài liệu gốc: “Thiết kế đồng hồ số hiển thị giờ, phút, giây; thứ, ngày, tháng, năm (âm lịch và dương lịch), có thể điều chỉnh thời gian và có chức năng hẹn giờ.”

1.3. Các Linh Kiện Điện Tử Quan Trọng Trong Mạch Đồng Hồ Số

Để xây dựng một mạch đồng hồ số, việc hiểu rõ về các linh kiện điện tử là vô cùng quan trọng. Vi điều khiển PIC16F887 đóng vai trò là bộ não của hệ thống, IC thời gian thực DS1307 giúp duy trì thời gian chính xác, và LCD hiển thị thông tin cho người dùng. Ngoài ra, cần có các linh kiện khác như điện trở, tụ điện, và nút nhấn để hoàn thiện mạch. Tham khảo sơ đồ bố trí linh kiện dạng 3D của thiết kế.

II. Thách Thức Giải Pháp Thiết Kế Mạch Đồng Hồ Số Sử Dụng PIC

Việc thiết kế mạch đồng hồ số không phải lúc nào cũng dễ dàng. Một trong những thách thức lớn nhất là đảm bảo độ chính xác của thời gian. Sự sai lệch nhỏ trong quá trình đếm thời gian có thể dẫn đến sự khác biệt lớn sau một thời gian dài. Một thách thức khác là việc hiển thị thông tin một cách rõ ràng và dễ đọc cho người dùng. Màn hình LCD phải được điều khiển một cách chính xác để hiển thị các ký tự và số một cách chính xác.

Để giải quyết những thách thức này, cần có một phương pháp thiết kế mạch điện tử và lập trình cẩn thận. IC thời gian thực DS1307 giúp duy trì độ chính xác của thời gian bằng cách sử dụng một tinh thể dao động với tần số ổn định. Việc sử dụng chuẩn truyền thông I2C giúp việc giao tiếp giữa vi điều khiển và IC thời gian thực trở nên dễ dàng hơn. Ngoài ra, việc sử dụng các kỹ thuật lập trình tiên tiến giúp tối ưu hóa hiệu suất của vi điều khiển.

2.1. Vấn Đề Về Độ Chính Xác Của Thời Gian Trong Đồng Hồ Số

Độ chính xác của thời gian là một yếu tố quan trọng trong bất kỳ đồng hồ số nào. Để đảm bảo độ chính xác, cần sử dụng một nguồn thời gian ổn định và chính xác. IC thời gian thực DS1307, với tinh thể dao động 32.768 KHz, cung cấp một giải pháp hiệu quả cho vấn đề này. Việc sử dụng chuẩn truyền thông I2C cũng giúp giảm thiểu sai số trong quá trình truyền dữ liệu thời gian.

2.2. Khó Khăn Trong Việc Hiển Thị Thông Tin Rõ Ràng Trên LCD

Việc hiển thị thông tin một cách rõ ràng và dễ đọc trên màn hình LCD là một thách thức khác trong thiết kế mạch đồng hồ số. Cần phải lựa chọn font chữ phù hợp, và điều khiển màn hình LCD một cách chính xác để hiển thị các ký tự và số một cách rõ ràng. Sử dụng LCD 20x4 để có không gian hiển thị đầy đủ.

2.3. Lập Trình Vi Điều Khiển PIC16F887 Để Tối Ưu Hóa Hiệu Suất

Việc lập trình vi điều khiển PIC16F887 một cách hiệu quả là rất quan trọng để đảm bảo hiệu suất của mạch đồng hồ số. Cần phải tối ưu hóa code để giảm thiểu thời gian thực thi, và sử dụng các kỹ thuật lập trình tiên tiến để quản lý bộ nhớ một cách hiệu quả. Sử dụng các thư viện hỗ trợ từ phần mềm CCS để đơn giản hóa việc lập trình.

III. Thiết Kế Sơ Đồ Mạch Đồng Hồ Số Chi Tiết Code Điều Khiển

Sơ đồ mạch đồng hồ số bao gồm các khối chức năng chính: Khối nguồn, khối vi điều khiển, khối nút nhấn, khối hiển thị, và khối thời gian thực. Mỗi khối có một chức năng riêng, và tất cả các khối phối hợp với nhau để tạo ra một đồng hồ số hoàn chỉnh. Khối nguồn cung cấp nguồn điện cho toàn bộ hệ thống. Khối vi điều khiển xử lý dữ liệu và điều khiển các khối khác. Khối nút nhấn cho phép người dùng tương tác với đồng hồ. Khối hiển thị hiển thị thông tin cho người dùng. Và khối thời gian thực duy trì thời gian chính xác.

Code điều khiển là phần mềm chạy trên vi điều khiển, và nó chịu trách nhiệm điều khiển tất cả các khối chức năng của mạch đồng hồ số. Code điều khiển bao gồm các hàm để đọc dữ liệu từ IC thời gian thực, hiển thị dữ liệu trên LCD, và xử lý các sự kiện từ nút nhấn.

3.1. Sơ Đồ Khối Nguyên Lý Hoạt Động Của Từng Khối Chức Năng

Sơ đồ khối là một bản vẽ mô tả các khối chức năng chính của mạch đồng hồ số, và cách chúng tương tác với nhau. Mỗi khối có một chức năng riêng, và tất cả các khối phối hợp với nhau để tạo ra một hệ thống hoàn chỉnh. Khối nguồn cung cấp nguồn điện cho toàn bộ hệ thống. Khối vi điều khiển xử lý dữ liệu và điều khiển các khối khác. Khối nút nhấn cho phép người dùng tương tác với đồng hồ. Khối hiển thị hiển thị thông tin cho người dùng. Và khối thời gian thực duy trì thời gian chính xác. Tham khảo hình 3.1: Sơ đồ khối thiết kế.

3.2. Full Code Lập Trình Vi Điều Khiển PIC16F887 Cho Đồng Hồ Số

Code điều khiển là phần mềm chạy trên vi điều khiển, và nó chịu trách nhiệm điều khiển tất cả các khối chức năng của mạch đồng hồ số. Code điều khiển bao gồm các hàm để đọc dữ liệu từ IC thời gian thực, hiển thị dữ liệu trên LCD, và xử lý các sự kiện từ nút nhấn. Xem mã nguồn chương trình đầy đủ ở cuối tài liệu.

3.3. Chi Tiết Mạch Nguyên Lý Các Khối Nguồn Vi Điều Khiển Hiển Thị

Mạch nguyên lý của mỗi khối chức năng cho thấy cách các linh kiện điện tử được kết nối với nhau để tạo ra khối đó. Mạch nguyên lý của khối nguồn cho thấy cách điện áp được ổn định và cung cấp cho các khối khác. Mạch nguyên lý của khối vi điều khiển cho thấy cách vi điều khiển được kết nối với các linh kiện khác. Và mạch nguyên lý của khối hiển thị cho thấy cách màn hình LCD được điều khiển để hiển thị thông tin. Tham khảo các hình 3.2, 3.3, 3.5, 3.6 để biết thêm chi tiết.

IV. Hướng Dẫn Từng Bước Thiết Kế PCB Mạch Đồng Hồ Số Hiệu Quả

Thiết kế PCB là quá trình tạo ra một bản mạch in thực tế từ sơ đồ mạch điện. Quá trình này bao gồm việc lựa chọn các linh kiện điện tử phù hợp, sắp xếp các linh kiện trên bản mạch, và kết nối các linh kiện với nhau bằng các đường dẫn điện. Thiết kế PCB là một kỹ năng quan trọng đối với bất kỳ kỹ sư điện tử nào.

Để thiết kế PCB một cách hiệu quả, cần có một sự hiểu biết sâu sắc về nguyên lý hoạt động của các linh kiện điện tử, và các quy tắc thiết kế mạch điện. Ngoài ra, cần phải sử dụng các công cụ thiết kế PCB chuyên dụng để tạo ra một bản mạch in chất lượng cao.

4.1. Lựa Chọn Linh Kiện Điện Tử Sắp Xếp Linh Kiện Trên PCB

Việc lựa chọn các linh kiện điện tử phù hợp là rất quan trọng để đảm bảo hiệu suất của mạch đồng hồ số. Cần phải lựa chọn các linh kiện có thông số kỹ thuật phù hợp với yêu cầu của mạch, và đảm bảo rằng các linh kiện này có sẵn trên thị trường. Việc sắp xếp các linh kiện trên bản mạch cũng rất quan trọng để giảm thiểu nhiễu điện từ, và đảm bảo rằng mạch hoạt động ổn định.

4.2. Kết Nối Linh Kiện Tạo Đường Dẫn Điện Trên Phần Mềm Proteus

Việc kết nối các linh kiện với nhau bằng các đường dẫn điện là một bước quan trọng trong thiết kế PCB. Cần phải đảm bảo rằng các đường dẫn điện có đủ kích thước để chịu được dòng điện, và các đường dẫn điện không quá gần nhau để tránh nhiễu điện từ. Phần mềm Proteus cung cấp các công cụ mạnh mẽ để tạo ra các đường dẫn điện một cách dễ dàng và chính xác. Tham khảo hình 4.3: Mạch PCB layout 1 lớp của thiết kế.

4.3. Kiểm Tra Tối Ưu Hóa Thiết Kế PCB Mạch Đồng Hồ Số

Trước khi sản xuất bản mạch in, cần phải kiểm tra kỹ lưỡng thiết kế PCB để đảm bảo rằng không có lỗi. Cần phải kiểm tra các kết nối, các đường dẫn điện, và các khoảng cách giữa các linh kiện. Ngoài ra, cần phải tối ưu hóa thiết kế PCB để giảm thiểu kích thước của bản mạch, và cải thiện hiệu suất của mạch. Sử dụng phần mềm Proteus để mô phỏng và kiểm tra mạch trước khi sản xuất.

V. Kết Quả Mô Phỏng Thực Tế Mạch Đồng Hồ Số Hoạt Động Ổn Định

Sau khi thiết kế và xây dựng mạch đồng hồ số, cần phải kiểm tra và đánh giá hiệu suất của mạch. Quá trình này bao gồm việc mô phỏng mạch bằng phần mềm Proteus, và kiểm tra mạch thực tế bằng các thiết bị đo điện tử. Kết quả mô phỏng và thực tế phải khớp nhau để đảm bảo rằng mạch hoạt động đúng như thiết kế.

Nếu kết quả mô phỏng và thực tế không khớp nhau, cần phải tìm ra nguyên nhân gây ra sự khác biệt, và điều chỉnh thiết kế mạch cho phù hợp.

5.1. Mô Phỏng Mạch Đồng Hồ Số Bằng Phần Mềm Proteus

Mô phỏng mạch bằng phần mềm Proteus là một bước quan trọng trong quá trình kiểm tra và đánh giá hiệu suất của mạch. Phần mềm Proteus cho phép mô phỏng hoạt động của mạch trong các điều kiện khác nhau, và giúp phát hiện các lỗi thiết kế trước khi sản xuất bản mạch in. Xem hình 4.5: Kết quả mô phỏng.

5.2. Kiểm Tra Đánh Giá Mạch Đồng Hồ Số Thực Tế

Sau khi mô phỏng mạch, cần phải kiểm tra và đánh giá mạch thực tế bằng các thiết bị đo điện tử. Cần phải đo điện áp, dòng điện, và tần số tại các điểm khác nhau trên mạch, và so sánh các giá trị đo được với các giá trị mô phỏng. Kiểm tra các kết nối và linh kiện để đảm bảo không có lỗi.

5.3. Phân Tích Kết Quả Cải Thiện Thiết Kế Mạch Điện Tử

Nếu kết quả mô phỏng và thực tế không khớp nhau, cần phải phân tích nguyên nhân gây ra sự khác biệt, và điều chỉnh thiết kế mạch cho phù hợp. Có thể cần phải thay đổi các giá trị của các linh kiện, hoặc thay đổi cách kết nối các linh kiện với nhau.

VI. Kết Luận Hướng Phát Triển Đồ Án Mạch Đồng Hồ Số Nâng Cao

Dự án mạch đồng hồ số đã thành công trong việc thiết kế và xây dựng một đồng hồ số hoàn chỉnh. Mạch có thể hiển thị đầy đủ thông tin về thời gian, lịch, và có chức năng hẹn giờ. Tuy nhiên, vẫn còn một số hạn chế cần được khắc phục. Chức năng hiển thị ngày, tháng, năm âm lịch còn sai lệch vì sử dụng giải thuật chưa chính xác.

Để cải thiện dự án, có thể sử dụng vi điều khiển có bộ nhớ RAM lớn hơn, mở rộng chức năng hẹn giờ, và sử dụng âm thanh báo thức vui tai hơn. Ngoài ra, có thể tích hợp thêm các tính năng mới như kết nối Bluetooth để đồng bộ thời gian với điện thoại thông minh.

6.1. Những Thành Công Hạn Chế Của Đồ Án Mạch Đồng Hồ Số

Dự án đã thành công trong việc thiết kế và xây dựng một đồng hồ số hoàn chỉnh. Tuy nhiên, chức năng hiển thị ngày, tháng, năm âm lịch còn sai lệch. Cần sử dụng giải thuật tính toán ngày, tháng, năm âm lịch chính xác hơn.

6.2. Hướng Phát Triển Mạch Đồng Hồ Số IoT Bluetooth GPS

Để cải thiện dự án, có thể tích hợp thêm các tính năng mới như kết nối Bluetooth để đồng bộ thời gian với điện thoại thông minh, hoặc tích hợp GPS để tự động cập nhật thời gian theo vị trí. Ngoài ra, có thể tích hợp IoT để điều khiển đồng hồ từ xa. Sử dụng vi điều khiển có bộ nhớ RAM lớn hơn để thay vi điều khiển PIC16F887. Mở rộng chức năng hẹn giờ, cho phép cài đặt nhiều khung giờ để báo thức. Sử dụng âm thanh báo thức vui tai hơn, không gây khó chịu cho người dùng.

6.3. Tài Liệu Tham Khảo Mã Nguồn Mở Cho Cộng Đồng Điện Tử

Tài liệu tham khảo và mã nguồn mở là những nguồn tài nguyên quý giá cho cộng đồng điện tử. Việc chia sẻ tài liệu tham khảo và mã nguồn mở giúp mọi người học hỏi và phát triển các dự án điện tử một cách dễ dàng hơn. Tham khảo tài liệu gốc của Vi điều khiển PIC, DS1307 và LCD.

22/09/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan: Chương này trình bày lý do chọn đề tài, cũng như mục tiêu và phạm vi nghiên cứu của đề tài. Chương 2: Cơ sở lý thuyết: Giới thiệu về vi điều khiển PIC16F887, chuẩn truyền thông I2C, IC thời gian thực DS1307 và LCD. Chương 3: Thiết kế hệ thống: Trình bày sơ đồ khối, thiết kế sơ đồ nguyên lý cho từng khối và xây dựng lưu đồ giải thực của hệ thống. Chương 4: Kết quả thực hiện: Trình bày các kết quả thực hiện thiết kế.

Chương 5: Kết luận và hướng phát triển: Đưa ra kết luận và hướng phát triển của đề tài. 1 Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu về Vi điều khiển PIC 16F887 PIC16F887 là một chip vi điều khiển thuộc họ PIC được Microchip sản xuất (hình 2. PIC16F887 là một vi điều khiển 8 bit được xây dựng theo kiến trúc RISC nên tốc độ thực thi lệnh cao và có tập lệnh tương đối ít, gần gũi với con người nên người dùng dễ dàng giao tiếp với nó. PIC 16F887 hoạt động trong dãy điện áp 2V - 5.5V, sử dụng dao động nội có tần số từ 31 kHz đến 8 MHz được thay đổi bằng phần mềm.

Ngoài ra còn có thể gắn thêm thạch anh để điều khiển tần số hoạt động phù hợp và có thể nhận/cấp dòng khoảng 25mA. Về bộ nhớ thì vi điều khiển này có bộ nhớ dữ liệu gồm: SRAM 368 bytes và EEPROM 256 bytes, bộ nhớ chương trình Flash 8192 words cho phép người dùng xóa, ghi lại chương trình nhiều lần. Vi điều khiển PIC16F887 gồm Watchdog, ngắt, 3 bộ định thời Timer, modules CCP/PWM để điều chế độ rộng xung và 35 chân I/O trong đó có 14 chân chuyển đổi tương tự để nối ngoại vi cùng kết nối chặt chẽ với nhau nhằm giúp người dùng thực hiện những ứng dụng điều khiển cụ thể. Các giao thức truyền thông của vi điều khiển này là USART, SPI và I2C.

PIC 16F887 được reset mỗi khi được cấp điện và tự động reset khi phát hiện nguồn điện cấp bị sụt giảm hoặc có thể chủ động reset bằng chân RE3 khi cho phép chân RE3 có chức năng MCLR bằng phần mềm [1]. 1: Vi điều khiển PIC 16F887 (Nguồn: Internet) Sơ đồ chân vi điều khiển PIC16F887 loại 40 được trình bày ở hình 2. Trong đó các chân được tích hợp nhiều chức năng, 40 chân của vi điều khiển PIC16F887 chia thành 5 port. Chức năng của các chân được trình bày theo từng port [1]: 2 Hình 2.

2: Sơ đồ chân vi điều khiển 16F887 (Nguồn: Microchip, PIC16F882/883/884/886/887 Data Shet, trang 6)  Các chân Port A:  Chân RA0/AN0/ULPWU/C12IN0- (2): có 4 chức năng:  RA0: xuất/ nhập số - bit thứ 0 của port A.  AN0: ngõ vào tương tự của kênh thứ 0.  ULPWU (Ultra Low-power Wake up input): ngõ vào đánh thức CPU công suất cực thấp.  C12IN0- (Comparator C1 or C2 negative input): ngõ vào âm thứ 0 của bộ so sánh C1 hoặc C2.

 Chân RA1/AN1/C12IN1- (3): có 3 chức năng:  RA1: xuất/nhập số - bit thứ 1 của port A.  AN1: ngõ vào tương tự của kênh thứ 1.  C12IN1- (Comparator C1 or C2 negative input): ngõ vào âm thứ 1 của bộ so sánh C1 hoặc C2.  Chân RA2/AN2/VREF-/CVREF/C2IN+ (4): có 5 chức năng:  RA2: xuất/nhập số - bit thứ 2 của port A.

 AN2: ngõ vào tương tự của kênh thứ 2. 3  VREF-: ngõ vào điện áp chuẩn (thấp) của bộ ADC.  CVREF: điện áp tham chiếu VREF ngõ vào bộ so sánh.  C2IN+: ngõ vào dương của bộ so sánh C2.

 Chân RA3/AN3/VREF+/C1IN+ (5): có 4 chức năng:  RA3: xuất/nhập số - bit thứ 3 của port A.  AN3: ngõ vào tương tự kênh thứ 3.  VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D.  C1IN+: ngõ vào dương của bộ so sánh C1.

 Chân RA4/T0CKI/C1OUT (6): có 3 chức năng:  RA4: xuất/nhập số – bit thứ 4 của port A.  T0CKI: ngõ vào xung clock từ bên ngoài cho Timer0.  C1OUT: ngõ ra bộ so sánh 1.  Chân RA5/AN4/ SS / C2OUT (7): có 4 chức năng:  RA5: xuất/nhập số – bit thứ 5 của port A.

 AN4: ngõ vào tương tự kênh thứ 4.  SS : ngõ vào chọn lựa SPI tớ (Slave SPI device).  C2OUT: ngõ ra bộ so sánh 2.  Chân RA6/OSC2/CLKOUT (14): có 3 chức năng:  RA6: xuất/nhập số – bit thứ 6 của port A.

 OSC2: ngõ ra dao động thạch anh. Kết nối đến thạch anh hoặc bộ cộng hưởng.  CLKOUT: ở chế độ RC, ngõ ra của OSC2, bằng ¼ tần số của OSC1.  Chân RA7/OSC1/CLKIN (13): có 3 chức năng:  RA7: xuất/nhập số – bit thứ 7 của port A.

 OSC1: ngõ vào dao động thạch anh hoặc ngõ vào nguồn xung ở bên ngoài.  CLKIN: ngõ vào nguồn xung bên ngoài.  Các chân Port B:  Chân RB0/AN12/INT (33): có 3 chức năng:  RB0: xuất/nhập số – bit thứ 0 của port B.  AN12: ngõ vào tương tự kênh thứ 12.

4  INT: ngõ vào nhận tín hiệu ngắt ngoài.  Chân RB1/AN10/C12IN3- (34): có 3 chức năng:  RB1: xuất/nhập số – bit thứ 1 của port B.  AN10: ngõ vào tương tự kênh thứ 10.  C12IN3-: ngõ vào âm thứ 3 của bộ so sánh C1 hoặc C2.

 Chân RB2/AN8 (35): có 2 chức năng:  RB2: xuất/nhập số – bit thứ 2 của port B.  AN8: ngõ vào tương tự kênh thứ 8.  Chân RB3/AN9/PGM/C12IN2 (36): có 4 chức năng:  RB3: xuất/nhập số – bit thứ 3 của port B.  AN9: ngõ vào tương tự kênh thứ 9.

 PGM: Chân cho phép lập trình điện áp thấp ICSP.  C12IN1-: ngõ vào âm thứ 2 của bộ so sánh C1 hoặc C2  Chân RB4/AN11 (37): có 2 chức năng:  RB4: xuất/nhập số – bit thứ 4 của port B.  AN11: ngõ vào tương tự kênh thứ 11.  Chân RB5/ AN13/ T1G (38): có 3 chức năng:  RB5: xuất/nhập số – bit thứ 5 của port B.

 AN13: ngõ vào tương tự kênh thứ 13.  T1G (Timer1 gate input): ngõ vào Gate cho phép time1 đếm dùng để đếm độ rộng xung.  Chân RB6/ICSPCLK (39): có 2 chức năng:  RB6: xuất/nhập số.  ICSPCLK: xung clock lập trình nối tiếp.

 Chân RB7/ICSPDAT (40): có 2 chức năng:  RB7: xuất/nhập số.  ICSPDAT: ngõ xuất nhập dữ liệu lập trình nối tiếp.  Các chân Port C:  Chân RC0/T1OSO/T1CKI (15): có 3 chức năng: 5  RC0: xuất/nhập số – bit thứ 0 của port C.  T1OSO: ngõ ra của bộ dao động Timer1.

 T1CKI: ngõ vào xung clock từ bên ngoài Timer1.  Chân RC1/T1OSI/CCP2 (16): có 3 chức năng:  RC1: xuất/nhập số – bit thứ 1 của port C.  T1OSI: ngõ vào của bộ dao động Timer1.  CCP2: ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.

 Chân RC2 /P1A/CCP1 (17): có 3 chức năng:  RC2: xuất/nhập số – bit thứ 2 của port C.  P1A: ngõ ra PWM.  CCP1: ngõ vào Capture 1, ngõ ra compare 1, ngõ ra PWM1.  Chân RC3/SCK/SCL (18): có 3 chức năng:  RC3: xuất/nhập số – bit thứ 3 của port C.

 SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI.  SCL: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ I2C.  Chân RC4/SDI/SDA (23): có 3 chức năng:  RC4: xuất/nhập số – bit thứ 4 của port C.  SDI: ngõ vào dữ liệu trong truyền dữ liệu kiểu SPI.

 SDA: xuất/nhập dữ liệu I2C.  Chân RC5/SDO (24): có 2 chức năng:  RC5: xuất/nhập số – bit thứ 5 của port C.  SDO: ngõ xuất dữ liệu trong truyền dữ liệu kiểu SPI.  Chân RC6/TX/CK (25): có 3 chức năng:  RC6: xuất/nhập số – bit thứ 6 của port C.

 TX: ngõ ra phát dữ liệu trong chế độ truyền bất đồng bộ USART.  CK: ngõ ra cấp xung clock trong chế độ truyền đồng bộ USART.  Chân RC7/RX/DT (26): có 3 chức năng:  RC7: xuất/nhập số – bit thứ 7 của port C.  RX: ngõ vào nhận dữ liệu trong chế độ truyền bất đồng bộ EUSART.

6  DT: ngõ phát và nhận dữ liệu ở chế độ truyền đồng bộ EUSART.  Các chân Port D:  Chân RD0 (19): có 1 chức năng: RD0: xuất/nhập số – bit thứ 0 của port D.  Chân RD1 (20): có 1 chức năng: RD1: xuất/nhập số – bit thứ 1 của port D.  Chân RD2 (21): có 1 chức năng: RD2: xuất/nhập số – bit thứ 2 của port D.

 Chân RD3 (22): có 1 chức năng: RD3: xuất/nhập số – bit thứ 3 của port D.  Chân RD4 (27): có 1 chức năng: RD4: xuất/nhập số – bit thứ 4 của port D.  Chân RD5/ P1B (28): có 2 chức năng:  RD5: xuất/nhập số – bit thứ 5 của port D.  P1B: ngõ ra PWM.

 Chân RD6/ P1C (29): có 2 chức năng:  RD6: xuất/nhập số – bit thứ 6 của port D.  P1C: ngõ ra PWM.  Chân RD7/P1D (30): có 2 chức năng:  RD7: xuất/nhập số – bit thứ 7 của port D.  P1D: ngõ ra tăng cường CPP1  Các chân Port E:  Chân RE0/AN5 (8): có 2 chức năng:  RE0: xuất/nhập số.

 AN5: ngõ vào tương tự 5.  Chân RE1/AN6 (9): có 2 chức năng:  RE1: xuất/nhập số.  AN6: ngõ vào tương tự kênh thứ 6.  Chân RE2/AN7 (10): có 2 chức năng:  RE2: xuất/nhập số.

 AN7: ngõ vào tương tự kênh thứ 7.  Chân RE3/ MCLR /VPP (1): có 3 chức năng:  RE3: xuất/nhập số - bit thứ 3 của port E.  MCLR : là ngõ vào reset tích cực mức thấp. 7  VPP: ngõ vào nhận điện áp khi ghi dữ liệu vào bộ nhớ nội flash.

 Ngoài ra, còn có các chân VDD (11), (32): cấp nguồn dương từ 2V đến 5V và VSS (12), (31): cấp nguồn 0V.2 Giới thiệu chuẩn truyền thông I2C I2C viết tắc của từ Inter-Integrated Circuit là một chuẩn truyền thông do hãng điện tử Philips Semiconductor sáng lập cho phép giao tiếp một thiết bị chủ (Master) với nhiều thiết bị tớ (Slave) thông qua 2 đường tín hiệu: SDA (serial data) dùng để truyền tải dữ liệu và SCL (serial clock) để truyền tải xung clock do Master phát cho Slave nhằm đồng bộ thời gian tồn tại của các bit dữ liệu trên đường truyền. Để phân biệt giữa các Slave thì mỗi Slave có một địa chỉ riêng 7 bit hoặc 10 bit do nhà sản xuất thiết bị có sử dụng chuẩn truyền thông I2C thiết lập. Dạng sóng quá trình thiết bị chủ ghi dữ liệu vào thiết bị tớ như hình 2.3: Đầu tiên thiết bị chủ tạo trạng thái START để bắt đầu quá trình truyền dữ liệu  Thiết bị chủ gởi địa chỉ của thiết bị tớ cần giao tiếp.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ