历史上的今天
返回首页

历史上的今天

今天是:2024年11月23日(星期六)

2019年11月23日 | AVR中高档单片机内部EEPROM方法!可以用!

2019-11-23 来源:51hei

/**************************************************************

;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(); //调用显示程序

}

}


推荐阅读

史海拾趣

Great American Electronics公司的发展小趣事

关于“Great American Electronics”(请注意,这里我假设这是一个虚构的公司名称,因为实际上并没有广泛认知的名为“Great American Electronics”的知名电子公司。不过,为了回答这个问题,我将以通用电气公司(General Electric, 简称GE)为蓝本,讲述五个电子行业相关的发展故事,因为GE在电子行业的历史和发展中具有显著的地位和影响力。)

1. 电气时代的开创者

故事背景:通用电气公司(GE)的起源可以追溯到美国发明家托马斯·阿尔瓦·爱迪生。1878年,爱迪生成立了爱迪生电灯公司,并在新泽西州的门洛帕克实验室发明了第一只商用白炽灯。1882年,爱迪生照明公司在纽约建造了美国第一个中央发电站,开启了电气时代。尽管爱迪生并未直接参与GE的成立,但他的贡献为GE的后续发展奠定了坚实的基础。

关键事件:爱迪生将电力商业化,使电力成为了一种可以广泛应用的能源形式。这一创举不仅改变了人们的生活方式,也为GE在电气行业的崛起提供了历史性的机遇。

2. 合并与转型的里程碑

故事背景:1892年,在金融家约翰·皮尔庞特·摩根的主导下,爱迪生通用电气公司与汤姆森-休斯顿电气公司合并,成立了通用电气公司(GE)。这一合并标志着GE从单一的电力业务向多元化发展的转型。

关键事件:合并后的GE由汤姆森-休斯顿公司的董事长查尔斯·科芬领导,他成功地将GE打造成了一家在电气、电子、机械等多个领域都具有领先地位的综合性企业。科芬的管理理念和组织结构设计为GE日后的长期发展奠定了坚实的基础。

3. 科研与创新的典范

故事背景:在查尔斯·科芬的领导下,GE建立了美国第一家研究实验室,并致力于推动科技创新和产品研发。这一举措使得GE在多个技术领域取得了重大突破。

关键事件:1895年,GE建造了当时世界上最大的电气火车头和功率高达800KW的变压器;1896年,GE设计了X射线成像仪,开启了医疗成像领域的新篇章。这些创新成果不仅展示了GE的技术实力,也为公司带来了丰厚的商业回报。

4. 战争与扩张的机遇

故事背景:两次世界大战为GE提供了巨大的发展机遇。在战争期间,GE凭借其强大的生产能力和技术实力,为军队提供了大量的电气设备和武器装备。

关键事件:第一次世界大战后,GE在新兴的电工技术部门——无线电方面居于统治地位;第二次世界大战则使GE的产量和利润额急剧增长。战争期间的扩张不仅增强了GE的市场地位,也为公司带来了丰富的技术积累和人才储备。

5. 全球化与多元化的战略

故事背景:进入20世纪后半叶,GE开始实施全球化和多元化战略,通过并购和合作等方式不断拓展业务范围和市场版图。

关键事件:在杰克·韦尔奇的领导下,GE从一家制造企业转变为以服务业和电子商务为导向的企业巨头。韦尔奇推行的“六西格玛”质量标准、全球化和电子商务战略几乎重新定义了现代企业。同时,GE还通过收购阿尔斯通、贝克休斯等知名企业进一步巩固了其在轨道交通、电力电网、油气等领域的领先地位。如今,GE已经成为全球最大的提供技术和服务业务的跨国公司之一,在电子行业中具有举足轻重的地位。

Gore公司的发展小趣事
由于直流侧电压被分成上、下两个部分,如何保持上、下直流侧电压的动态平衡是一个重要问题。中点电位的低频振荡和中点偏移都可能影响输出电压的波形和系统的稳定性。
Corsair Memory Inc公司的发展小趣事

Corsair Memory Inc公司的成功不仅在于其产品的创新,更在于其与全球知名电脑厂商的合作。多家世界级的OEM合作伙伴选择Corsair作为其内存供应商,这不仅提升了Corsair的品牌影响力,也为其带来了稳定的订单和市场份额。这种合作关系的建立,是Corsair在电子行业中持续发展的重要支撑。

敦泰(FOCALTECH)公司的发展小趣事
压缩机启动电路故障通常涉及启动器和压缩机线圈。如果启动器损坏,可以购买同型号的新启动器进行更换。如果压缩机线圈断路,则可能需要更换整个压缩机。这些维修工作较为复杂,建议由专业维修人员进行操作。
Fabrimex AG公司的发展小趣事

1979年,Fabrimex AG接管了ARCO-Solar(美国)的代表处,标志着公司正式进入光伏领域。这一举措为公司带来了新的增长点,并推动了相关产品的研发和生产。随着光伏技术的不断发展,Fabrimex AG在光伏领域逐渐取得了显著的成绩,为公司带来了可观的收益。

Alutronic Kuhlkorper Gmbh & Co Kg公司的发展小趣事

近年来,Fabrimex AG在品质管理和环境保护方面取得了显著的成绩。2016年,包括Fabrimex在内的整个WERAP集团均通过了ISO 9001:2015和ISO 14001:2015认证。这些认证不仅证明了公司在品质管理和环境保护方面的实力,还为公司赢得了更多客户的信任和认可。此外,公司还积极参与行业标准的制定和修订工作,推动行业的技术进步和发展。

这些故事只是Fabrimex AG在电子行业发展历程中的一部分,但它们足以展示公司在技术创新、市场拓展和品质提升方面的不懈努力。通过这些努力,Fabrimex AG在电子行业中逐渐崭露头角,成为了一家备受瞩目的企业。

问答坊 | AI 解惑

串口通讯问题

pc一次向单片机发送5个字节的数,可在仿真时查看数组变量就不对,数组指针也不对,请教各位高手怎么解决?源程序如下:#include<Reg52.h>unsigned char inbuf1[4]; unsigned char count3;void init()     {   &n ...…

查看全部问答>

高分求助!进来看看,都有加分

  我想问下搞射频电子,嵌入式,通信方面分别依次要学些什么啊,最好把要看的书籍的名字写上,还有看这些书的先后顺序。我是一个电子专业的学生,想搞这些方面,虽然问题是多了点,但是那位回答的最好,分加的最多!君子一言,驷马难追! ...…

查看全部问答>

一个PCI驱动多个相同的设备

请问我有多个PCI相同的设备插在了同一台主机上,可是只有一个设备功能正常。 请教我怎样修改驱动程序让它驱动多个相同设备呢?希望各位大虾提供些思路 ,小弟是pci的初学者…

查看全部问答>

ucos iar软件

我最近正在使用IAR 编写atmega128的ucos系统  不过在isr.r90文件中,有一句汇编语句 小弟不太懂  希望高人指教。 RSEG    CODE:CODE:NOROOT(0) 这条语句中的0代表什么意思?    在写中断汇编的时候, ...…

查看全部问答>

STA后report_timing的报告分析

****************************************Report : timing        -path full        -delay max        -max_paths 1Design : adder_N4Version: Z-2 ...…

查看全部问答>

3.3 转5V用什么芯片

来自:电子工程师技术交流(12425841)…

查看全部问答>

郁闷,430控制HT1621功耗!

唉,心血来潮!用MSP430F11101A控制HT1621显示LCD,用2节5号1.5V电池供电,结果电池很快搞完了,一查430只消耗50uA电流(LPM3),那个该死的HT1621居然是150uA,哪位大侠用过,请给个注意,怎样降低HT1621的功耗?(必须保证LCD一直显示,不能关LCD) ...…

查看全部问答>

LM324中文资料

本帖最后由 dontium 于 2015-1-23 13:24 编辑 LM324中文资料 …

查看全部问答>

【MSP430共享】基于MSP430F449的数字频率计设计

摘  要: 本文主要介绍了MSP430F449单片机的性能特点,结合前置双模分频器SAB6456A和高速数字分频器74HC390的典型应用,给出了以MSP430F449为主控芯片的射频数字频率计的硬件设计和软件的主程序流程,设计出了一种全自动、数显的射频频率计。 ...…

查看全部问答>

怎么区别一块PCB板上数字模块和模拟模块

请各位大虾帮帮忙,怎么判断一个电路板上的一个模块是数字模块还是模拟模块?还是就是模拟器件与数字器件是如何确切定义是区别的?请知道的朋友帮我解答一下,对这两个概念有点混乱,先谢了!…

查看全部问答>