학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

EEPROM

학습목표

EEPROM 변수를 선언하고 사용하는 방법을 배운다.

학습주제

EEPROM 쓰여진 변수는 AVR 전원이 Off 되어도 값을 그대로 유지하고 있다. 이는 마이크로프로세서가 동작하는 중간에 전원이 Off 되고 On 되어도 운전 상태를 그대로 유지 사용할 있다.

예습내용

 

실습방법

   

아래는 EEPROM으로 변수를 선언한 것이다.

e_cnt 초기값을 0으로하고 0.5초마다 +1 증가한다. 전원을 Off 시켰다. On 하면 0부터 다시 시작하나 EEPROM 변수는 Off 되기 전의 값을 그대로 유지한다. 실습 이를 시험해 보십시오.

#include <mega128.h>

#include <stdio.h>

#include <string.h>

#include <delay.h>

 

// Alphanumeric LCD Module functions

#asm

   .equ __lcd_port=0x1B

#endasm

#include <lcd.h>

 

// Declare your global variables here 

typedef unsigned int word;

 

char sbuf[20];

eeprom word e_cnt;

 

void main(void)

{

// LCD module initialization

lcd_init(16);

 

while (1)

      {

      // Place your code here

      e_cnt++;

      lcd_gotoxy(0,1);

      sprintf(sbuf,"EEP e_cnt=%04X",e_cnt);

      lcd_puts(sbuf);

      delay_ms(500);

      };

}

 

[모든 프로그램 보기]

 

처음

   

Eeprom 저장된 값으로 Led 출력을 내보내는 프로그램을 만들어 보자.

Led 반복해서 순환 동작하게 하시오.

eeprom word e_cnt;

 

void main(void)

{

// LCD module initialization

lcd_init(16);

 

while (1)

      {

      // Place your code here

e_cnt++;

//이곳에 led 반복해서 동작하도록 if문을 써서 프로그램을 완성하시오.

      PORTC=e_cnt;

      delay_ms(500);

      };

}