AVR 片内EEPROM问题

[复制链接]
2074|0
 楼主| pkat 发表于 2011-10-24 17:55 | 显示全部楼层 |阅读模式
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
uchar unm[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar unm1[]={0x01,0x02,0x04,0x08};
uchar wei[]={0,0,0,0};
void init(void)
{
  DDRB=0XFF;
  DDRC=0X0F;
}
void xianshi(uchar a)
{
  uchar i;
  wei[3]=a/1000;
  wei[2]=a%1000/100;
  wei[1]=a%100/10;
  wei[0]=a%10;
  for(i=0;i<4;i++)
  {
    PORTB=unm[wei];
PORTC=unm1;
  }
}
void EEPROM_write(uint a,uint b)
{
  SREG&=~BIT(7);
  while(EECR&BIT(EEWE));
  EEAR=a;
  EEDR=b;
  EECR|BIT(EEMWE);
  EECR|=BIT(EEWE);
  SREG|=BIT(7);
}
uchar EEPROM_read(uint c)
{
  uchar s;
  SREG&=~BIT(7);
  while(EECR&BIT(EEWE));
  EEAR=c;
  EECR|=BIT(EERE);
  s=EEDR;
  return s;
}
void main(void)
{
  uchar e;
  init();
  e=EEPROM_read(2);
  e++;
  EEPROM_write(2,e);
  while(1)
  {
    xianshi(e);
  }
  
}
  为什么无反应?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

196

主题

2726

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部