历史上的今天
返回首页

历史上的今天

今天是:2024年11月18日(星期一)

正在发生

2019年11月18日 | PIC单片机片内EEPROM运用方法

2019-11-18 来源:51hei

/*=============================================================================

访问PIC16F877A片内EEPROM,运行程序:

        Begin Test    -> LED0亮,

        EEPROM Test OK-> LED7亮,

        Write&Read OK -> LED0/2/4/6亮。

=============================================================================*/

///////////////////////////////////////////////////////////////////////////////

// MPLAB IDE V7.11 + CCS C3.18

// Access 16F877A internal EEPROM for MCD2-demo

//

// by LW7807@163.com

// 2005/06/22

///////////////////////////////////////////////////////////////////////////////

#include <16F877A.h>                            // PIC16F877 header file

#use delay(clock=4000000)                       // for 4Mhz crystal

#fuses XT, NOWDT, NOPROTECT, NOLVP              // for debug mode

#define EEPROM_SIZE       256

////////////////////////////////////////////////////////////// eeprom_test()

//

int8 eeprom_test(void)

{

        int16 i;

        // write 0x55 test

        for(i=0; i                {

                write_eeprom(i, 0x55);

                }

        for(i=0; i                {

                if(0x55 != read_eeprom(i)) return 0;

                }

        // write 0xaa test

        for(i=0; i                {

                write_eeprom(i, 0xaa);

                }

        for(i=0; i                {

                if(0xaa != read_eeprom(i)) return 0;

                }

        // write 0

        for(i=0; i                {

                write_eeprom(i, 0x00);

                }

        return 0xff;

}//end eeprom_test()

/*===========================================================================*/

void main(void)

{

        // begin test

        output_high(PIN_C0);

        // test internal eeprom

        if(0 != eeprom_test())

                {

                output_high(PIN_C7);

                delay_ms(1000);

                }

        // write 24c02

        write_eeprom(0, 0x55);

        // read 24c02

        output_c(read_eeprom(0));

}//end main()


推荐阅读

史海拾趣

A/D Electronics Inc公司的发展小趣事

随着产品线的不断丰富,A/D Electronics Inc开始积极拓展国内外市场。公司通过与全球知名电子品牌建立战略合作关系,成功将产品打入国际市场。同时,公司还积极参加国际电子展会,展示其最新技术成果和产品,进一步提升了品牌知名度和市场影响力。

General Magnetics Inc公司的发展小趣事
如发出嗡嗡声、吱吱声或噼啪声等,可能表示内部有松动、短路或放电现象。
ETTINGER公司的发展小趣事

Ettinger,这个源于英国的皮具奢侈品牌,由Gerry Ettinger在1934年创立。自创立之初,Ettinger就致力于提供高品质的皮具产品,凭借其精湛的皮具制作工艺和独特的英格兰式设计风格,逐渐在市场上树立了良好的品牌形象。初期,Ettinger主要专注于手工制作皮具,通过不断提升产品质量和设计水平,赢得了消费者的青睐。

广州盛炬(GZSJ)公司的发展小趣事

Ettinger,这个源于英国的皮具奢侈品牌,由Gerry Ettinger在1934年创立。自创立之初,Ettinger就致力于提供高品质的皮具产品,凭借其精湛的皮具制作工艺和独特的英格兰式设计风格,逐渐在市场上树立了良好的品牌形象。初期,Ettinger主要专注于手工制作皮具,通过不断提升产品质量和设计水平,赢得了消费者的青睐。

Hoffman Engineering公司的发展小趣事

1945年,年轻的Harry Hoffman凭借对工厂安全的深切关注,发明了前所未有的压力机安全保护装置。这一装置能够在操作人员的手进入危险区域时迅速停止机器,极大地保护了生产工厂中员工的人身安全。这一创新不仅为Hoffman Engineering奠定了技术基础,也开启了公司在工业安全领域的先河。Harry的发明迅速获得市场认可,为公司的后续发展奠定了坚实的基础。

德国ACAM公司的发展小趣事

2014年,ACAM公司迎来了一个重要的里程碑事件——被奥地利微电子股份有限公司收购。这次收购极大地增强了ACAM公司在时间数字转换器(TDC)技术领域的实力。奥地利微电子在半导体行业有着深厚的积累和丰富的经验,与ACAM公司的技术优势相结合,进一步提升了ACAM公司在市场上的竞争力。

问答坊 | AI 解惑

USB接口中文资料

USB接口中文资料…

查看全部问答>

MCD2/ICD2菜鸟超级入门篇

本帖最后由 paulhyde 于 2014-9-15 09:37 编辑  …

查看全部问答>

键盘折叠式笔记本.我们中国人的设计

这款概念笔记本电脑是由中国设计师杨永昌设计的,160 x 106 x 18 mm的规格,是不是让你吓了一跳,光看外形跟普通的袖珍笔记本没什么差别,但是当你打开之后,才发现内藏玄机。 与屏幕链接的是一个折叠的无线键盘,并且每一个键位没有被缩小化, ...…

查看全部问答>

开发问题

请教一个初级问题:   wince中可以使用MFC,ATL,COM。他们可以同时使用吗?还是只能选一个。他们各有什么好处呢?…

查看全部问答>

STM32芯片的看门狗与休眠的冲突

各位大虾:      最近要做一个手持设备,需要使用stm32F103的STOP模式,但同时我又开了独立看门狗,每当我一进入STOP模式看门狗马上就给我复位了,我怎样才能在进入STOP模式的时候让看门狗不起作用啊?…

查看全部问答>

谁做过无线通信模块(GW200KB),可以给个参考程序吗?

据说无线通信模块(GW200KB)能传输1.5Km,想用这个做个无线通信,看了一下说明书,只有引脚说明。谁能提供一个参考程序啊,谢谢啦…

查看全部问答>

调试st的用uart的IAP出问题

是不是  直接把程序通过jlink下载到班子上,然后再调试。怎么我下完后,屏幕白屏。   我还是搞不懂,到底是怎么个演示顺序。         希望大家弄过的帮帮忙!…

查看全部问答>

可以让你少奋斗10年的工作经验 _大家不妨都看看

  第一:不要认为停留在心灵的舒适区域内是可以原谅的。        每个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规定的时限做事,不愿意主 ...…

查看全部问答>

在TI或者RFSTORM电池板BB运行上Light_switch程序

以前的帖子,重新整理到这个版面。   在TI或者RFSTORM电池板BB运行上TI CC2530CC2530-Software Examples中light_switch程序的方法。ZBDC51BB(SMARTRF05BB)板和ZBDC51MB(SMARTRF05EB)最主要的区别就是有没有LCD显示。TI的Light_Switch默 ...…

查看全部问答>