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

論壇索引


Board index » All Posts (MARKWANG)




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


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
頂部


Re: PIC16F688 燒錄腳位
#62
高級會員
高級會員


PGC-12pin
PGD-13pin
datasheet要看阿!!!

發表於: 2008/6/16 11:11
頂部


Re: PIC24 config設定的問題
#63
高級會員
高級會員


應該是少了...
LIST P=PIC24?
#INCLUDE <PIC24?.INC>
試試加上這兩行..

發表於: 2008/6/10 13:05
頂部


Re: .hex檔的燒錄
#64
高級會員
高級會員


LIST P=16F690
#INCLUDE <P16F690.INC>
__CONFIG _CP_ON
這樣設定即可...
不過每顆有每顆不同的CP表示方式

發表於: 2008/6/10 13:02
頂部


Re: CODE、ORG的差別
#65
高級會員
高級會員


我現在也在用16F887
可以給你參考...
我是這樣用的...
ORG 0000H(RESET)
ORG 0004H(中斷)
PAGE0(副程式)
ORG 0700H(主程式)
ORG 0800H
PAGE1(副程式)
ORG 1000H
PAGE2(副程式)
ORG 1800H
PAGE3(副程式)
ORG 1FFFH(END)

一切都正常...
不過PAGESEL就要善用喔!!!

發表於: 2008/6/10 9:04
頂部


Re: pic16f913是否可用MPLAB 做Debugger嗎?
#66
高級會員
高級會員


913有大於20PIN當然可以直接debug...
不過要看你debug的那5PIN是否有接對...

690為20PIN...
需加購HEADER...

發表於: 2008/6/9 16:35
頂部


Re: RB port中斷設定問題
#67
高級會員
高級會員


不知道你是四個PIN中斷都有用,還是只有用一個中斷?
IOCB應該可以分別設!
如果不行,可以進入中斷後延遲一些時間&DISABLE 中斷...
這樣就可以克服中斷源會產生振盪、避免重覆性的一直發生中斷...
不需將INPUT改成OUTPUT...

發表於: 2008/6/9 14:15
頂部


Re: .hex檔的燒錄
#68
高級會員
高級會員


可以阿!!
選擇ICD2就可以了!

發表於: 2008/6/6 16:35
頂部


Re: 看门狗复位之后如何处理?
#69
高級會員
高級會員


ORG 0000H
NOP
CLRF PCLATH
RESET:
GOTO INITIAL
.
.
.
.
INITIAL:
.
.
.
GOTO MAIN

在INITIAL內即可...


發表於: 2008/6/6 16:34
頂部


Re: EEPROM 寫入問題
#70
高級會員
高級會員


因為要跳過0004H中斷的位址ㄚ!

發表於: 2008/6/6 14:36
頂部



« 1 ... 4 5 6 (7) 8 »



:::

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... ]

教育訓練中心

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