1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Chương 9: EEPROM Module

17 5 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

Nội dung

EEPROM là bộ nhớ có khả năng ghi đọc trong quá trình PIC hoạt động bình thường, EEPROM không được thiết lập trực tiếp từ không gian bộ nhớ mà thông qua các thanh ghi có chức năng đặc biệt. Để hiểu rõ hơn về điều này mời các bạn tham khảo bài giảng Chương 9: EEPROM Module sau đây. 

CHƯƠNG EEPROM Module CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Giới thiệu - EEPROM nhớ có khả ghi đọc trình PIC hoạt động bình thường - EEPROM khơng thiết lập trực tiếp từ không gian nhớ mà thông qua ghi có chức đặc biệt: + EECON1 + EECON2 + EEDATA + EEADR + EEDATH + EEADRH CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM - EEDATA lưu giá trị 8bit Ghi - Đọc - EEADR chứa địa ô nhớ cần truy xuất - Khi giao tiếp với nhớ chương trình: ghi EEDATA : EEDATH kết hợp để lưu 14 bit mã lệnh ghi đọc Và ghi EEADR : EEADRH kết hợp để lưu địa 13bit ô nhớ truy xuất - Bộ nhớ EEPROM cho phép đọc ghi 1Byte - Bộ nhớ EEPROM tự động xóa trước Ghi CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Các ghi a Thanh ghi EEADR EEADRH - Cặp ghi định địa tối đa 256Byte hay tối đa 8K word nhớ EEPROM - Khi truy xuất nhớ liệu: dùng EEADR để lưu Byte địa thấp - Khi truy xuất nhớ chương trình: dùng EEADR để lưu byte địa thấp EEADRH lưu Byte địa cao CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM b Thanh ghi EECON1 EECON2 - Thanh ghi EECON1 chứa bit điều khiển - Thanh ghi EECON2 ghi ảo, dùng riêng cho hoạt động Ghi vào EEPROM EECON1 EEPGD dd CHS2 Bit 6, 5,4: chưa cấu hình WRERR WREN WR RD CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Bit EEPGD Chức Bit chọn nhớ Dữ liệu / Chương trình EEPROM 1= chọn nhớ chương trình 0= chọn nhớ liệu WRERR Cờ báo trình Ghi EEPROM bị lỗi 1= trình Ghi kết thúc sớm yêu cầu ( lỗi ) 0= trình Ghi hoàn chỉnh WREN Bit cho phép hoạt động Ghi vào EEPROM 1= Cho phép Ghi 0= không cho phép Ghi WR Bit điều khiển trình Ghi Set 1= bắt đầu Ghi EEPROM ( xóa phần cứng) 0= Khi trình ghi hoàn tất RD Bit điều khiển trình Đọc Set 1= bắt đầu Đọc EEPROM ( xóa phần cứng) = Quá trình đọc chưa bắt đầu CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Đọc liệu từ EEPROM - Để đọc liệu từ EEPROM: +Trước tiên phải ghi địa vào ghi EEADR + Clear bit EEPGD = + Set bit RD lên - Kết đọc lưu vào ghi EEDATA ta đọc giá trị chu kỳ - Kết EEDATA không đổi chu kỳ đọc thực CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Chương trình Đọc liệu từ EEPROM BSF STATUS, RP1 BCF STATUS, RP0 MOVLW CONFIG_ADDRESS MOVWF EEADR ;Ghi địa cần đđọc vào BSF STATUS, RP0 ; Chọn Bank3 BCF EECON1, EEPGD; Chọn Bộ nhớ liệu BSF EECON1, RD ;Bắt đầu trình ñoïc BCF STATUS, RP0 ; Choïn Bank0 MOVF EEDATA, W ; Lưu kết đọc vào W ; Chọn Bank2 CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Ghi liệu vào EEPROM - Để ghi liệu vào EEPROM: + Trước tiên phải ghi địa vào ghi EEADR đặt liệu cần ghi vào EEDATA + EEPGD = 0: Data EEPROM ( Cấm Ngắt) + WREN = : cho phép Ghi + Sau ghi giá trị 55H AAH theo trình tự vào ghi EECON2 + WR = : bắt đầu hoạt động Ghi CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Chương trình Ghi liệu vào EEPROM BSF STATUS, RP0 ; Bank1 BCF INTCON, GIE ; Disable INTs BSF STATUS, RP1 ; Bank3 BSF EECON1, WREN ; Enable Write ;Đây đoạn chương trình bắt buoäc MOVLW 55h MOVWF EECON2 MOVLW AAh MOVWF EECON2 ; Bit WR bật lên để bắt đầu trình ghi BSF EECON1,WR ;Q trình ghi hồn tất cờ EEIF = BSF INTCON, GIE ;Cho phép Ngắt CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Đọc liệu từ nhớ chương trình +Trước tiên phải ghi địa vào ghi EEADR : EEADRH + Clear bit EEPGD = + Set bit RD lên - Kết đọc lưu vào ghi EEDATA: EEDATAH , giá trị đọc sau chu kỳ Set bit RD=1 CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Chương trình Đọc liệu từ Bộ nhớ chương trình BSF STATUS, RP1 BCF STATUS, RP0 MOVLW CONFIG_ADDRESS_L MOVWF EEADR MOVLW CONFIG_ADDRESS_H MOVWF EEADRH ;Ghi địa Byte cần đđọc BSF STATUS, RP0 ;Chọn Bank3 BSF EECON1, EEPGD ;Bộ nhớ chương trình ; Chọn Bank2 ;Ghi địa cần đọc vào CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM EECON1, RD ;Bắt đầu trình đọc BCF STATUS, RP0 ; Chọn Bank2 MOVF EEDATA, W ; Lưu kết đọc vào W MOVWF DATA_L MOVF EEDATAH, W ; Lưu kết đọc vào W MOVWF DATA_H BSF NOP NOP CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Ghi liệu vào Bộ nhớ chương trình + Trước tiên phải ghi địa vào ghi EEADR: EEADR đặt liệu vào EEDATA:EEDATAH + EEPGD = ( Cấm Ngắt) + WREN = : cho phép Ghi +Ghi giá trị 55H AAH ghi EECON2 + WR = : bắt đầu hoạt động Ghi Sau lệnh CPU cần 2Tcy để thực thi việc Ghi/Xóa Lưu ý: Cứ lần Ghi khối = Word CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Chương trình Ghi liệu vào Bộ nhớ chương trình ADDRH, ADDRL DATADDR thuộc Ram chung 70h-7Fh BSF STATUS, RP1 ; BCF STATUS, RP0 ; Bank2 MOVF MOVWF ADDRH, W EEADRH MOVF MOVWF ADDRL, W EEADR MOVF MOVWF LOOP MOVF MOVWF DATAADDR, W FSR INDF, W EEDATA ; khởi tạo địa ; khởi tạo địa liệu ; đưa byte vào phần thấp CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM INCF MOVF MOVWF INCF FSR, F INDF, W EEDATH FSR, F ;lấy byte BSF BSF BSF STATUS, RP0 ; Bank EECON1, EEPGD; chọn nhớ chương tr EECON1, WREN; cho phép Ghi BCF INTCON, GIE MOVLW MOVWF 55H EECON2 ; đưa byte vào phần cao ;cấm ngắt CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM MOVLW MOVWF AAH EECON2 BSF NOP NOP EECON1, WR ; bắt đầu ghi BCF BCF BCF INCF MOVF ANDLW XORLW BTFSC GOTO EECON1, WREND INTCON, GIE STATUS, RP0 ;chọn Bank EEADR, F ; tăng địa kế EEADR, W 03H ;kiểm tra bit thấp địa chỉ=‘00’ 03H ; words ghi xong STATUS, Z ; chưa đủ words quay lại LOOP ... động Ghi vào EEPROM EECON1 EEPGD dd CHS2 Bit 6, 5,4: chưa cấu hình WRERR WREN WR RD CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Bit EEPGD Chức Bit chọn nhớ Dữ liệu / Chương trình EEPROM 1= chọn nhớ chương trình... ; Chọn Bank2 CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Ghi liệu vào EEPROM - Để ghi liệu vào EEPROM: + Trước tiên phải ghi địa vào ghi EEADR đặt liệu cần ghi vào EEDATA + EEPGD = 0: Data EEPROM ( Cấm Ngắt)... Ghi CHƯƠNG 9: BỘ NHỚ GHI ĐỌC EEPROM Chương trình Ghi liệu vào EEPROM BSF STATUS, RP0 ; Bank1 BCF INTCON, GIE ; Disable INTs BSF STATUS, RP1 ; Bank3 BSF EECON1, WREN ; Enable Write ;Đây đoạn chương

Ngày đăng: 11/05/2021, 19:51

w