[ บทความ : ตัวอย่างโปรแกรมของ CP-PIC877 V1/V2 ] ตอนที่ 3 การติดต่อกับ EEPROM ใน PIC16F877

ตัวอย่างต่อไปนี้เป็น โปรแกรมที่เขียนขึ้นเพื่อใช้งานกับบอร์ด CP-PIC877 V1 หรือ V2 ของบริษัท ETT ตัวอย่าง นี้เป็นการติดต่อหน่วยความจำ EEPROM ในตัว PIC16F877 นั้นเราสามารถเขียนเป็นภาษาแอสเซมบลีได้ดังนี้



	;**************************************
	; Test internal EEPROM
	; Hardware  : CP-PIC877 V1.0 & V2.0
	; Assembler : mpasm.exe
	; Programmer: Somkiat Siha
	; Company   : ETT  CO.,LTD.
	; Date      : 29/2/2000
	;**************************************

	     list p=16f877            ; list directive to define processor
	     #include         ; processor specific variable definitions

	          ORG       0x0000

	MAIN      bsf       STATUS,RP0       ; select bank 1
	          clrf      TRISC                 ; All PORTC is output
	          bcf       STATUS,RP0        ; select bank 0

	;******************** Write **********************				
	          bsf       STATUS,RP1        ; select bank 2
	          movlw     100                     ; ADDRESS to write
	          movwf     EEADR
	          movlw     0x55                   ; DATA    to write
	          movwf     EEDATA
	          bsf       STATUS,RP0        ; select bank 3
	          bcf       EECON1,EEPGD   ; Point to DATA memory
	          bsf       EECON1,WREN    ; Enable writes
	          movlw     0x55
	          movwf     EECON2                    ; Write 55H
	          movlw     0xAA
	          movwf     EECON2                    ; Wirte AAH
	          bsf       EECON1,WR             ; Set WR bit to begin write
	          bcf       EECON1,WREN       ; Disable writes

	;**************** Read ************************				
	          bsf       STATUS,RP1
	          bcf       STATUS,RP0         ; select bank 2
	          movlw     100
	          movwf     EEADR                ; Address to read
	          bsf       STATUS,RP0         ; select bank 3
	          bcf       EECON1,EEPGD    ; Point to DATA memory
	          bsf       EECON1,RD          ; EEPROM read
	          bcf       STATUS,RP0         ; select bank 2
	          movf      EEDATA,W            ; read data to W
	          bcf       STATUS,RP0
	          bcf       STATUS,RP1          ; select bank 0
	          movwf     PORTC                 ; out data to PORTC

	LOOP      goto      LOOP

	          End

LiNK :

CP-PIC877 V1
CP-PIC877 V2

เขียนโดย : อีทีที
Author : ETT
e-mail : sales@etteam.com
วันที่ทำการปรับปรุง : ๑๖ ก.พ. ๒๕๔๔