Hướng Dẫn Sử Dụng Eeprom – Cách Đọc Và Viết Eeprom Trong Esp8266

Trong bài viết này, chúng ta sẽ biết được cách giao tiếp giữa vi điều khiển 8051 và EEPROM. Có nhiều loại IC EEPROM khác nhau trên thị trường. EEPROM được sử dụng phổ biến nhất là họ 24CXX như 24C02, 24C04, 24C08, v.v … Trong bài hướng dẫn này chúng tôi sử dụng IC EEPROM 24C04 và nó rất phổ biến, mô-đun LCD và vi điều khiển AT89S52 (biến thể từ 8051). AT89S52 là một vi điều khiển 8051 điển hình và được sản xuất bởi Atmel. Việc kết nối EEPROM với vi điều khiển khá đơn giản. Bạn chỉ cần thực hiện 2 đường kết nối giữa IC 24C04 và vi điều khiển 8051.Chúng ta cùng bắt đầu nào!

 EEPROM (Electrically Erasable Programmable Read Only Memory – tạm dịch: Bộ nhớ có thể lập trình và xóa bằng điện) – là bộ nhớ không bay hơi có khả năng giữ lại dữ liệu ngay cả khi ngừng cung cấp điện.

Đang xem: Hướng dẫn sử dụng eeprom

 

Ghi chú về giao tiếp I2C của IC EEPROM 24C04

Trong hướng dẫn này để EEPROM giao tiếp với 8051, chúng tôi sử dụng IC EEPROM dựa trên giao thức I2C (Giao thức hai dây). IC có dung lượng bộ nhớ 4 kilobits. Bộ nhớ được chia thành 32 trang, với mỗi trang chứa 16 byte. 24C04 là một IC 8 chân. Mô-đun giao tiếp với vi điều khiển bằng Giao thức giao tiếp nối tiếp gọi là I2C.

Giao tiếp I2C về thực tế là bao gồm 2 dây được gọi là SDA và SCL, hoạt động cả hai chiều. SDA là chân truyền dữ liệu và SCL là chân xung đồng hồ (clock). Mỗi thiết bị được kết nối đều có địa chỉ của riêng nó, bất kể đó là MCU hay IC EEPROM. Mỗi chip này có thể hoạt động như một máy thu hoặc máy phát, tùy thuộc vào chức năng.

Xem Thêm : Đi tiểu buốt là bệnh gì? Có nguy hiểm không? Cách điều trị hiệu quả

24C04 sẽ có nhiệm vụ như một nô lệ (slave) trong quá trình giao tiếp và bộ điều khiển chỉ có thể truy cập nô lệ bằng cách khởi tạo một điều kiện bắt đầu cùng với địa chỉ của thiết bị và số trang mà dữ liệu sẽ được đọc. Sau đó chúng ta cần gửi số byte để truy cập giá trị bên trong.

Để ghi vào một vị trí bất kỳ của bộ nhớ khi đã được chỉ định, chúng ta cần truy cập vào nô lệ bằng cách khởi tạo một điều kiện bắt đầu cùng với địa chỉ của thiết bị và số trang mà từ đó dữ liệu sẽ được ghi. Sau đó, chúng ta cần đặt số byte và dữ liệu. Và một điều kiện dừng cần phải được tạo để dừng hoạt động đọc hoặc viết.

Giao thức giao tiếp với 8051 là I2C với các chân SDA và SCL được kết nối với hai chân bất kỳ của 8051. Ở phía phần mềm, chúng tôi đang sử dụng thư viện do người dùng xác định có tên I2C cho giao tiếp I2C. Thư viện này cho phép bạn giao tiếp với các thiết bị I2C / TWI.

Xem thêm: Đề Thi Ioe Lớp 7 Cấp Huyện Năm Học 2012, Ôn Ioe Lớp 7 Vòng Huyện

*

Tôi hy vọng bạn đã hiểu cho đến đây. Và dưới đây là sơ đồ mạch để kết nối bộ nhớ ngoài EEPROM với 8051.

*

 

Chương trình / Giải thích mã (code)

Xem Thêm : Download Giáo Trình Hướng Dẫn Sử Dụng Autocad 2015 Pdf, Trọn Bộ Tài Liệu Autocad 2D

Link tải code:

http://www.circuitstoday.com/wp-content/uploads/files/8051/8051_eeprom.rar

Chúng tôi đính kèm thư viện của LCD 8 bit vào trong chương trình. Đây là một thư viện do người dùng định nghĩa để kết nối vi điều khiển với mô-đun LCD ở chế độ 8 bit. Trong thư viện này đã bao gồm một vài câu lệnh để khởi tạo LCD, để gửi lệnh và gửi dữ liệu sẽ được hiển thị. Cổng được kết nối với các chân dữ liệu của LCD và các chân được kết nối với các chân lệnh có thể được cấu hình trong chính thư viện. Ở đây chúng tôi đã định nghĩa port0 cho các chân dữ liệu và P2.5, P2.6, P2.7 cho các chân lệnh.

Một định nghĩa trong thư viện được sử dụng ở đây là độ trễ (delay) bao gồm các hàm có tên Delay_ms()Delay_us(). Delay_ms (1000) sẽ tạm dừng chương trình trong 1000 mili giây (tức là một giây) và chức năng Delay_us (_) được sử dụng khi chúng ta cần tạm dừng chương trình trong vài micro giây.

Ở đây chúng tôi tập trung chủ yếu vào việc giao tiếp 24C04. Như đã đề cập trước đó, một thư viện có tên I2C được sử dụng ở đây để giao tiếp I2C. Hàm I2CStart() là sẽ bắt đầu giao tiếp. I2CSend() có chức năng là gửi dữ liệu và I2Cread() là để đọc dữ liệu từ một vị trí cụ thể của bộ nhớ.

Một hàm có tên EepromReadByte() được định nghĩa tại chương trình chính để đọc dữ liệu từ IC EEPROM. Địa chỉ của vị trí bộ nhớ mà dữ liệu sẽ được đọc phải được cung cấp cho hàm dưới dạng tham số. EepromWriteByte() là hàm được sử dụng để ghi dữ liệu. Ở đây cùng với địa chỉ của vị trí bộ nhớ, dữ liệu sẽ được ghi cũng phải được cung cấp dưới dạng tham số.

Xem thêm: Hướng Dẫn Chi Tiết Bài Tập Kegel, Bài Tập Kegel: 4 Điều Cực Kỳ Quan Trọng Cần Biết

EepromReadNBytes()EepromWriteNBytes() là các hàm được sử dụng để đọc hoặc ghi byte liên tục từ một trang cụ thể. EepromEraseALL() là hàm được dùng để xóa nội dung trong EEPROM.

Nguồn: https://truongxaydunghcm.edu.vn
Danh mục: Kiến thức

Related Articles

Back to top button