• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






Re: PIC16F690 存取內部 EEPROM
#5
高級會員
高級會員


查看用戶資訊
謝謝了..拿到EEPROM部分,SampleBoard已經先送出去給客戶測試了..等板子回來再來試試...

發表於: 2008/6/26 13:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F690 存取內部 EEPROM
#4
高級會員
高級會員


查看用戶資訊
LIST P=16F887
#INCLUDE <P16F887.INC>
__CONFIG _CONFIG1, _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF & _LVP_OFF & _DEBUG_OFF ;
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V;
;--------------RAM LOCATIONS---------------------
DATA_EE_ADDR EQU 0X7F
DATA_EE_DATA EQU 0X7E
COUNT EQU 0X7D
;--------------ECTORS----------------------------
ORG 0000H
NOP
GOTO START

;--------------PROGRAM---------------------------
ORG 0020H
START:
CALL INIT
;--------------TEST THE WRITE EEPROM ROUTINE-----
;;;;;PAGE
MOVLW #H'00'
MOVWF DATA_EE_ADDR
MOVLW #H'30' ; LOAD A ASCII CODE "0" TO W
MOVWF DATA_EE_DATA
EE_WRITE:
CALL WRITE_EEPROM
INCF DATA_EE_DATA,F ; 0X30+ N
INCF DATA_EE_ADDR,F ; POINT TO NEXT EEPROM ADDRESS
;;;;;
INCF COUNT,F
MOVF COUNT,W
XORLW #D'128' ; WRITE 32 BYTE
BTFSS STATUS,Z
GOTO EE_WRITE
CLRF COUNT
;;;;;PAGE
;--------------TEST THE READ EEPROM ROUTINE------
;;;;;PAGE
MOVLW #H'20' ; GET BACK EEPROM DATA TO RAM WITH START ADDR AT 0X20
MOVWF FSR
;;;;;
MOVLW #H'00' ; POINT TO EEPROM START ADDRESS AT 0X00
MOVWF DATA_EE_ADDR
EE_READ:
CALL READ_EEPROM ; READ EEPROM DATA WITH CURENT ADDRESS TO W REGISTRE
;;;;;
MOVWF INDF ; MOVE W --> RAM
;;;;;
INCF FSR,F
INCF DATA_EE_ADDR,F ; POINT TO NEXT EEPROM ADDRESS
;;;;;
INCF COUNT,F
MOVF COUNT,W
XORLW #D'32' ; READ 32 BYTE
BTFSS STATUS,Z
GOTO EE_READ
CLRF COUNT
GOTO $
;;;;;PAGE
;--------------INTERNAL EEPROM READ--------------
READ_EEPROM:
BANKSEL EEADR
MOVF DATA_EE_ADDR,W ; LOAD EEPROM ADDRESS INTO POINTER
MOVWF EEADR
BANKSEL EECON1
BCF EECON1,EEPGD ; ACCESSES DATA MEMORY
BSF EECON1,RD ; INITIATES A MEMORY READ
BANKSEL EEDATA
MOVF EEDATA,W
BANKSEL PORTA
RETURN
;--------------INTERNAL EEPROM WRITE-------------
WRITE_EEPROM:
BANKSEL EEADR
MOVF DATA_EE_ADDR,W ; LOAD EEPROM ADDRESS & DATA INTO REGISTER
MOVWF EEADR
MOVF DATA_EE_DATA,W
MOVWF EEDATA
BANKSEL EECON1
BCF EECON1,EEPGD ; SELECTED DATA EEPROM FOR WRITING
BSF EECON1,WREN ; ENABLE WRITE FUNCTION
MOVLW #H'55' ; WRITE SEQUENCE CONTROL
MOVWF EECON2
MOVLW #H'AA'
MOVWF EECON2
BSF EECON1,WR ; START EEPROM WRITE OPERATION
BCF EECON1,WREN ; DISABLE WRITE EEPROM
BTFSC EECON1,WR ; WAITING FOR WRITING COMPLETED (4MS)
GOTO $-1 ; DURING WRITE PERIOD, MUST HOLD BOTH EEADR & EEDATA UNTIL COMPLETE
BANKSEL PORTA
RETURN
;--------------INITIAL---------------------------
INIT:
CLRF COUNT
BCF PIR2,EEIF ; WRITE OPERATION HAS NOT COMPLETED OR HAS NOT STARTED
BANKSEL PIE2
BCF PIE2,EEIE ; DISABLES EEPROM WRITE OPERATION INTERRUPT
RETURN
;------------------------------------------------
END

可以參考一下我的...
我用16F887...
還OK...
你再試試...

發表於: 2008/6/24 10:16
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F690 存取內部 EEPROM
#3
高級會員
高級會員


查看用戶資訊
謝謝版大...
不過我剛也試過了..一樣會死當..

btfsc EECON1,WR
GOTO $-1
我把這2行註解掉..是偶爾會..
沒註解掉..只要執行到寫入EEPROM是一定當...??

發表於: 2008/6/23 11:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F690 存取內部 EEPROM
#2
版主
版主


查看用戶資訊
右邊程式範例第11項裏有PIC16F877 EEPROM 的範例。

發表於: 2008/6/23 11:11
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


PIC16F690 存取內部 EEPROM
#1
高級會員
高級會員


查看用戶資訊
小弟最近一個CASE,使用16f690,在寫入EERPOM時,
10次有1次會發生死當..目前還在找原因..

情況:
1.使用組語,參考DATASHEET的寫法
2.原以為是堆疊OVERFLOW,但查過應該不會
3.將寫入EEPROM註解掉,就不會發生死當現象..

是不是有什麼地方要注意的?
總覺得DataSheet的寫法讓我覺得怪怪的..
有前輩能提供一份簡易的範例嗎?...謝謝
hzlen@edirect168.com

發表於: 2008/6/23 10:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------