[HƯỚNG DẪN] KIT PIC V4: GIAO TIẾP PIC16F877A VỚI EPPROM 24C04

Thảo luận trong 'KIT PIC V4' bắt đầu bởi BanLinhKien.Vn, 9 Tháng bảy 2014.

Users Viewing Thread (Users: 0, Guests: 0)

Lượt xem: 928

  1. BanLinhKien.Vn

    BanLinhKien.Vn Nhóm MCU

    Chào các bạn!
    Hôm này mình xin giới thiệu đến các bạn hướng dẫn giao tiếp giữa PIC16F877A với Epprom 24C04 trên Kit PIC V4.
    Thông tin về kit PIC V4 các bạn có thể xem tại đây:
    http://banlinhkien.vn/goods-2482-kit-pic-v4.html.

    I. YÊU CẦU BÀI TOÁN
    Sử dụng Kit phát triển PIC V4, lập trình giao tiếp IC EEPROM 24CXX (24C04):
    - Ghi chuỗi “MinhHaGroup” vào 24C04.
    - Đọc dữ liệu từ 24C04 ra ngoài, hiển thị dữ liệu đọc được lên LCD16x2.
    II. MÔ TẢ PHẦN CỨNG

    Kit PIC V4 cung cấp cho các bạn khối IC EEPROM 24C02 có sơ đồ nguyên lý như hình 1:
    [​IMG]
    Hình 1: Sơ đồ nguyên lý khối 24C04.
    Để giao tiếp được với 24C04 trên KIT PIC V4, các bạn cần cắm các Jump:
    -P4 à EEPROM
    -P5 à I2C
    Khi đó:
    - Chân SCL à RD0
    -Chân SDA à RC4
    Các thông số kỹ thuật của 24C04:
    - Điện áp hoạt động: 1.8V – 5.5V.
    - Có 512 Byte EEPROM nội (được chia làm 2 phần, mỗi phần 256 byte).
    - Giao tiếp theo chuẩn I2C.
    - Dữ liệu được lưu lại trong 100 năm.
    - Có thể ghi vào tối đa 1 triệu lần.
    - Hỗ trợ phần cứng bảo vệ dữ liệu được ghi vào.
    Tên và chức năng các chân của 24C04:
    [​IMG]
    III. LẬP TRÌNH PHẦN MỀM
    Để giao tiếp với 24C04, chúng ta phải nắm được cách ghi dữ liệu vào 24C04 và đọc dữ liệu từ 24C04 ra ngoài (theo chuẩn giao tiếp I2C).
    Các bước Ghi dữ liệu vào 24C04 (hình 2):
    [​IMG]
    Hình 2: Các bước ghi dữ liệu vào 24C04

    Các bước Đọc dữ liệu từ 24C04:
    [​IMG]
    Hình 3: Các bước đọc dữ liệu từ 24C04

    7 Bit thiết lập địa chỉ và Bit cho phép Ghi/Đọc của 24C04:

    7 bit thiết lập địa chỉ và bit cho phép đọc Ghi/Đọc dữ liệu được gộp thành 1 byte:
    [​IMG]
    Trong đó:
    -A2 – A1: lấy mức logic từ đầu vào phần cứng.
    -A8: bit lựa chọn vùng nhớ để ghi dữ liệu.
    A8=0: cho phép ghi dữ liệu vào vùng có địa chỉ 0 – 255.
    A8=1: cho phép ghi dữ liệu vào vùng có địa chỉ 256 – 511.
    -R/W: bit cho phép Ghi/Đọc dữ liệu.
    R/W=1: cho phép đọc dữ liệu từ 24C04.
    R/W=0: cho phép ghi dữ liệu vào 24C04.

    Tên và chức năng các hàm giao tiếp theo chuẩn I2C:
    [​IMG]

    Tên và chức năng các hàm giao tiếp 24C04:
    [​IMG]
    Các bạn tham khảo Code trong file đính kèm.
    Link download bài viết bằng PDF: http://www.fshare.vn/file/2GDKJBKFYP/

    Các file đính kèm:

  2. taikdhy

    taikdhy New Member

    • This message is awaiting moderator approval, and is invisible to normal visitors.
    [​IMG]
    Hình 1: Sơ đồ nguyên lý khối 24C04.
    cho em hỏi em dùng kít V1 ,em có thể nối trực tiếp từ module cảm biến từ trường HMC58883L vào Pic mà không thông qua con 24C04 trên được không.
    cho em hỏi tiếp tại sao lại dùng con 24C04 đọc và ghi dữ liệu nữa trong khi trong con pic có EEPROM nội rồi.
  3. taikdhy

    taikdhy New Member

    • This message is awaiting moderator approval, and is invisible to normal visitors.
    AD giúp em với :(
  4. tonghop2015

    tonghop2015 Guest

  5. sukichan

    sukichan New Member

    • This message is awaiting moderator approval, and is invisible to normal visitors.
    Bạn ởi cho mình hỏi, trong code của bạn có dòng lệnh này mình ko hiểu lắm:
    cái này là gởi địa chỉ của eeprom cần giao tiếp.
    Mình thấy chỉ cần ghi như thế này:

Chia sẻ trang này