AVR单片机内部EEPROM方法

发布者:未来画家最新更新时间:2015-04-28 来源: 51hei关键字:AVR  单片机  内部EEPROM 手机看文章 扫描二维码
随时随地手机看文章
/**************************************************************

;eeprom.c 在AVR单片机中可以用在ATMEGA16和ATMEGA8中都可以用,在GCC下
;编译通过。09年11月1号! 陈永飞已测试过!
;读/写atmega8515内部EEPROM的例子
;将数据0....9写入eeprom中,再读出用数码管显示出来
***************************************************************/

#include
#include
#define uchar unsigned char
#define uint unsigned int
#define Hidden 16

uchar DispTab[17]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
uchar BitTab[6]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB};
uchar DispBuf[6]; //显示缓冲区

unsigned char Counter=0;

void io_init(void)
{
 // PortA
 PORTA = 0xff;
 DDRA = 0xff;
 // PortB
 PORTB = 0x0;
 DDRB = 0x0;
 // PortC
 PORTC = 0xfc;
 DDRC = 0xfc;
 // PortD
 PORTD = 0x0;
 DDRD = 0x0;
}

void mDelay(uint DelayTim)
{
 uint i;
 for(;DelayTim>0;DelayTim--)
 {
  for(i=0;i<600;i++)
  {;}
 }
}

void disp()
{
 uchar i;
 uchar tmp;
 if(++i>=6)
 i=0;
 PORTC=0xff; //关闭显示
 tmp=DispBuf[i];
 PORTA=DispTab[tmp];
 tmp=BitTab[i];
 PORTC=tmp;
 mDelay(1); //延时1ms
}

int main(void)
{
 unsigned int Count=0;
 unsigned char Addr=1; //向地址1里面写数字
 uint8_t temp=0;
 io_init();
 DispBuf[0]=Hidden;
 DispBuf[1]=Hidden;
 DispBuf[2]=Hidden;
 DispBuf[3]=Hidden;
 DispBuf[4]=0; //次低位显示0
 while(1)
 {
  temp=eeprom_read_byte (Addr);
  DispBuf[5]=temp;
  if(++Count==1000)
  {
   Count=0;
   Counter++;
   eeprom_write_byte(Addr,Counter);
  }
  if(Counter>=10)
  Counter=0; //计数值在0~9之间循环
  disp(); //调用显示程序
 }
}

关键字:AVR  单片机  内部EEPROM 引用地址:AVR单片机内部EEPROM方法

上一篇:一个avr单片机的汇编程序,注意几个宏指令
下一篇:AVR内部EEPROM擦写次数测试程序

推荐阅读最新更新时间:2024-03-16 14:00

单片机中的上拉、下拉电阻
大学的时候接触过单片机,当时纯粹是为了应付考试,发现学完之后对单片机还是一窍不通。一直以来以为单片机是个神秘的东西,要弄明白需要花费不少的时间和精力,几次想研究单片机都被这种想法阻扰。而本人博士生实践的项目却恰好是单片机编程,真实怕什么来什么。没办法,只能硬着头皮上了,潜心专研了一个月,终于不再是门外汉了。费话就不说了,下面写一点自己对单片机上拉、下拉电阻的理解,供有缘人看。 一 、关于拉电流与灌电流 拉即泄,主动输出电流,是从输出口输出电流。 灌即充,被动输入电流,是从输出端口流入。吸则是主动吸入电流,是从输入端口流入 拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法
[单片机]
基于51单片机的气泵控制程序
用stc89c52单片机来控制气泵,带有2种工作模式,端口可自行修改 #include reg52.h sbit a=P1^5;//闪烁灯 sbit b=P1^4;//气泵 sbit c=P3^7;//状态指示灯 sbit ss1=P3^2;//一分钟工作模式 sbit ss4=P3^3;//四分钟工作模式 unsigned int q,w,e,r,y,u,i,n,m,l,h; csh();//初始化子程序声明 ys();//延时子程序 ys2();//延时子程序2声明 void main() { csh();//初始化 while(1) //死循环 一号 { if(ss1==0){n=1;} //判定一分钟工作模式接通启动二号
[单片机]
8051单片机复位后 ,各寄存器的初始状态如何?
问题:8051单片机复位后 ,各寄存器的初始状态如何?复位方法有几种? 解答:8051单片机复位后机器的初始状态,即各寄存器的状态:PC之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态如下: 寄存器 复位时内容 寄存器 复位时内容 PC 0000H TCON 0×000000B ACC 00H TL0 00H B 00H TH0 00H PSW 00H TH1 00H SP 07H TH1 00H DPTR 0000H SCON 00H P0—P3 FFH SBUF
[单片机]
51单片机指令周期,机器周期,时钟周期详解
51单片机有指令周期,机器周期,时钟周期的说法,看似相近,但是又都不太一样,很容易混淆。还是详细分析一下。 时钟周期:单片机外接的晶振的振荡周期就是时钟周期,时钟周期=振荡周期。比方说,80C51单片机外接了一个11.0592M的晶体振荡器,那我们就说这个单片机系统的时钟周期是1/11.0592M,这里要注意11.0592M是频率,周期是频率的倒数。 机器周期:单片机执行指令所消耗的最小时间单位。我们都知道51单片机采用的CISC(复杂指令指令集),所以有很多条指令,并且各条指令执行的时间也可能不一样(有一样的哦),但是它们执行的时间必须是机器周期的整数倍,这就是机器周期的意义所在。8051系列单片机又在这
[单片机]
51<font color='red'>单片机</font>指令周期,机器周期,时钟周期详解
基于 AVR 单片机的自动对靶喷雾控制系统设计
1. 引言 众所周知,我国农药生产技术处于国际先进水平,而我国植保机械和农药使用技术严重 落后的现状与我国高速发展的农药水平极不相称,已严重妨碍了农作物病虫害的防治,带来 了诸如农药利用率低、农产品中农药残留超标、环境污染、作物要害、操作者中毒等负面影 响。农药利用率最好的也不足 30%,农药流失量高达 60%~70%,不仅经济损失重大,也造 成了严重的“农残问题”和环境污染。而采用自动对靶喷雾技术,可节省农药 50%~80%,因 此开展对靶喷雾技术研究将成为我国植保机械的下一个重要的研究方向。为此,本文提出了 一种以 AVR 系列的 ATmega16 单片机为 CPU,以 PC 机作为上位机,以摄像头采集的信号 作为触发信号,结
[单片机]
基于 <font color='red'>AVR</font> <font color='red'>单片机</font>的自动对靶喷雾控制系统设计
AT89C51单片机解密原理
AT89C系列单片机擦除操作的时序为:擦除开始---- 擦除操作硬件初始化(10微秒)---- 擦除加密锁定位(50----200微秒)--- 擦除片内程序存储器内的数据(10毫秒)----- 擦除结束。如果用程序监控擦除过程,一旦加密锁定位被擦除就终止擦除操作,停止进一步擦除片内程序存储器,加过密的单片机就变成没加密的单片机了。片内程序可通过总线被读出。 对于AT89C系列单片机有两种不可破解的加密方法。 一、永久性地破坏单片机的加密位的加密方法。简称OTP加密模式。 二、永久性地破坏单片机的数据总线的加密方法。简称烧总线加密模式。AT89C系列单片机OTP加密模式原理这种编程加密算法烧坏加密锁定位(把芯片内的硅片击
[单片机]
使用单片机实现无线控制家电报警器的资料说明
1引言 由于经济的快速发展,人们生活水平得到较大的提高,生活节奏也越来越快,为此家电遥控和家庭安全也为人们所需要和重视。以AT89C51单片机为核心通过电话进行电器遥控和报警装置主要解决这些问题。他的主要功能有:通过电话可以遥控16路电器通断,遥控路数可以根据需要进行扩展;可以实现电器调压调速控制,有密码设定,保密安全性好;有语言提示,避免盲目操作;可以取消已输入的操作命令;当单片机接收到家中天然气泄露、温度超限和失窃信号后会自动拨打预留电话并报告家中发生的情况。 2硬件电路设计 总体电路设计思路是:电话遥控报警器与家用电话采用并联方式,当有振铃信号时单片机开始记数,前10次铃声内若有人接电话,则遥控报警器被屏蔽,不影响正常接
[单片机]
使用<font color='red'>单片机</font>实现无线控制家电报警器的资料说明
基于PIC单片机的热能表研制
摘要:随着我国福利制度的改革和热能计量的规范化,对热能的准确计量成为一个比较关键的环节。文中介绍了热能表的组成和工作原理,给出了一种基于PIC16C64单片机的热能表设计方案,同时对设计和使用中的一些问题进行了讨论并提出了解决办法。 关键词:热能表 单片机 温度传感器 PIC16C64 随着我国福利制度的改革,供暖制度也发生了相应的变化。原来的供暖收费存在着对使用的热能估算不准确、收费不合理等问题。为此,国家建设部在一些城市实施供暖制度改革试点,并对热能实行计量收费,这就要求对使用的热能进行准确的计量。本文给出了一种基于PIC16C64单片机的、针对热水供暖的热能表设计方案。 1 热能表的组成原理 一般热能表的原理框图如图
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved