코드 케이에서 프로그래밍을위한 EEPROM이 AT89S8252 * 이메일 * 난 * 패?

M

mrcube_ns

Guest
아무도 방법을 AT89S8252의 uc 내 응용 프로그램에서 EEPROM이 programm 방법을 설명합니다 수있다.난 * 위원장 케이 사용할 수있습니다.

일부 소스 예제는 좋은 것입니다.

미리 감사드립니다.

Mr.Cube

 
우리는 "C"코드
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
이렇게 해보십시오!

////////////////////////////////////////////////// /////////////////
무효 write_eeprom_byte (서명 int adr, 서명 숯불 발)
(
WMCON | = (EEMEN_ | EEMWE_); / / EEPROM이 활성화하고 비트 쓰기 설정
DelayMs (5);
XBYTE [adr] = 발; / / 값을 쓰기
반면 ((WMCON & EERDY_) == 0) / / 값 때까지 기다릴 프로그램
DelayMs (5);
WMCON & = ~ (EEMWE_ | EEMEN_); / / 비활성화 EEPROM과 쓰기 스트로보
)
////////////////////////////////////////////////// /////////////////
숯불 read_eeprom_byte 서명 (서명 int adr)
(
서명 숯불 v를;

WMCON | = EEMEN_; / / EEPROM이 활성화
v를 = XBYTE [adr]; / / 읽을 가치
WMCON & = ~ EEMEN_; / / 비활성화 EEPROM이
반환 (v) 본;
)
////////////////////////////////////////////////// /////////////////

/ / write_eeprom_word
/ / 입력 : 작자 미상 addr 0x000 - 0x7ff
/ / int dataword (16 비트 길이)
/ / 출력 :
/ / 전화 : write_eeprom_byte ()
/ /에 의해 호출 :
무효 write_eeprom_16 (서명 int addr, int 서명 dataword) (
숯불 난;
숯불 * ptr = & dataword;

은 (i = 0; 난 "sizeof (dataword); 난 )에 대한 (
write_eeprom_byte (addr 나는, * ptr);
ptr ;
)
)
////////////////////////////////////////////////// /////////////////

/ / read_eeprom_word
/ / 입력 : 작자 미상 addr 0x000 - 0x7ff
/ / 출력 : int 읽기 dataword (16 비트 길이)
/ /에 의해 호출 : write_eeprom_word ()
int read_eeprom_16 서명 (서명 int addr) (
숯불 난;
서명 dataword;
숯불 * ptr = & dataword;은 (i = 0; 난 "sizeof (dataword); 난 )에 대한 (
* ptr = read_eeprom_byte (addr 전);
ptr ;
)
반환 dataword;
)
////////////////////////////////////////////////// //////////////

 
죄송합니다 드린다는 걸 깜빡 했네요.당신은 언제 당신의 주위에 5ms의 지연이에게 사용하는 루틴과 DelayMs 교체해야합니다.

 

Welcome to EDABoard.com

Sponsor

Back
Top