컨텐츠 바로가기


  • AC/DC POWER
  • DC/DC POWER
  • Switching Regulator
  • LED AC/DC POWER
  • LED DC/DC POWER
  • MEDICAL POWER
  • DC/AC POWER
  • 기타 제품


현재 위치

  1. 게시판
  2. 자료실

자료실

제품의 데이터시트 카달로그등을 다운받아 보실 수 있습니다.

FLASH메모리 라이트
제목 FLASH메모리 라이트
작성자 Silicon Labs (ip:)
  • 작성일 2006-12-12 16:24:03
  • 추천 추천 하기
  • 조회수 671
  • 평점 0점

C8051Fxxx   프로세서는 Flash 메모리 전구간에 대하여 데이터를 써넣을 수 있습니다. 다른 프로세서는 Flash 메모리와 EEPROM 메모리로 나누어서 EEPROM 에만 데이터를 쓸수 있지만 C8051Fxxx 은 Flash 와 EEPROM 을 구분하지 않습니다.

 

 

;-----------------------------------------------------------------------------
; SAMPLE Electronics co.                              http://www.SAMPLE.co.kr
; Tel (02): 707-3882 Fax: (02) 707-3884
;-----------------------------------------------------------------------------
; FLASH Memory Programming
; 이 프로그램은 C8051Fxxx 프로세서의 FLASH 메모리에 데이터를
; 프로그래밍 하는 실험입니다. ( 8000h 번지에 데이트를 라이트 )
;-----------------------------------------------------------------------------
;
;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------

$MOD8F000

;-----------------------------------------------------------------------------
; VARIABLES
;-----------------------------------------------------------------------------
; Indirect address space variables

ISEG    at      80h

        org     0e8h                    ; temporary forced STACK location

STACK_TOP:      DS     1                ; beginning of hardware  stack

;-----------------------------------------------------------------------------
; MACRO DEFINITIONS
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
; RESET AND INTERRUPT VECTOR TABLE
;-----------------------------------------------------------------------------
CSEG
        org       0000h

        ljmp      Main
;-----------------------------------------------------------------------------
; MAIN PROGRAM CODE
;-----------------------------------------------------------------------------
        org       0B3h
Main:
        mov       WDTCN, #0deh          ; 워치독 타이머 동작 금지
        mov       WDTCN, #0adh
        ;
        mov       SP, #STACK_TOP        ; 스택포인터 설정
        mov       XBR2, #40h            ; Enable crossbar and weak pull-ups
        ;
;        mov   OSCXCN, #01100101b       ; 외부 오실레이터, 크리스탈을 동작한다.
;                                       ; XFCN = '101' for 11.0592 MHz crystal
;        mov   OSCICN, #00001000b       ; 외부 오실레이터 클럭을 시스템 클럭으로
;                                       ; 사용한다. 내부 오실레이터를 금지한다.
        ;
;-----------------------------------------------< Flash Erase / 플래쉬 블럭 지우기 >
        mov     flscl,#10000110b        ; Flash One-Shot Timer Enable
                                        ; FLASCL = 0110 내부 1.9 MHz 클럭
                                        ; FLASCL = 1000 외부 11.0592 MHz 클럭
        orl     psctl,#00000011b        ; PSEE 비트와 PSWE 비트를 동시에 세트
        mov     dptr,#8000h             ; 이레이즈 Flash 블럭(512 Byte 단위) 주소 지정
;        mov     a,#55h                  ; 임의 데이타 (값은 상관 없슴)
        movx    @dptr,a                 ; Flash 클리어( 0FFh 로 만듬)
        anl     psctl,#11111101b        ; PSEE bit clear 이레이즈 금지
        ;-------------------------------< FLASH Write / 1 개 바이트 라이트 >
        mov     a,#0CCh                 ; Flash 에 써넣을 데이터
        mov     dptr, #8000h            ; 어드레스
        movx    @dptr,a                 ; 데이터 쓰기
        anl     psctl,#11111110b        ; PSWE bit clear - 쓰기완료
        ;-------------------------------< Flash Read / 써넣은 값 읽어 테스트 >
        clr     a
        movc    a,@a+dptr               ; 읽어온다
        mov     P0, a                   ; 읽은값을 P0 에 표시한다.

        sjmp    $                       ; STOP

;-----------------------------------------------------------------------------
; End of file.

END

첨부파일
비밀번호 삭제하려면 비밀번호를 입력하세요.

목록

삭제 수정 답변

댓글 수정

비밀번호

수정 취소

/ byte

댓글 입력

이름 비밀번호 관리자답변보기

확인

/ byte


* 왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.