编写一个例程来说明比较好理解,
本例程的功能是将一个0x66的字符放在0x15的EEPROM中,然后在读取,如果读取成功就点亮LED灯
#include
//调用头文件,16F877A单片机
__CONFIG(0xFF32);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
#define L0 RD0 //定义L0为RD0端口
char buf;//读写数据的储存空间
void WriteEE(char addr,char data);//EEPROM写函数
char ReadEE(char addr); //EEPROM读函数
//主程序
void main()
{
TRISD=0B00000000; //0X00;
PORTD=0B00000000; //0x00;
WriteEE(0x15,0x66);//将0x66写入0x15地址的EEROM中
buf = ReadEE(0x15);//将0x15地址中的数据读出,并将他放到BUF中
while(1)
{ //判断buf中的数据是否为写入的数据,如果是0x66,证明读写功能成功
if(buf == 0x66){
L0=1;
}
}
}
//EEPROM写数据函数
void WriteEE(char addr,char data)
{
do{}
while(WR == 1);//等待写完成
EEADR = addr;//写入地址信息
EEDATA = data;//写入数据信息
EEPGD = 0;//操作EEPROM
WREN = 1; //写EEPROM允许
EECON2 = 0x55;//写入特定时序
EECON2 = 0xaa;
WR = 1; //执行写操作
do{}
while(WR == 1);//等待写完成
WREN = 0;//禁止写入EEPROM
}
//EEPROM读数据函数
char ReadEE(char addr)
{
char num;
do{}
while(RD == 1);//等待读完成
EEADR = addr;//写入要读的址址
EEPGD = 0;//操作EEPROM
RD = 1;//执行读操作
do{}
while(RD == 1);//等待读完成
num = EEDATA;
return num;//返回读取的数据
}
关键字:PIC16F877A 单片机 EEPROM读写
引用地址:
PIC16F877A单片机的EEPROM读写
推荐阅读最新更新时间:2024-03-16 16:06
51单片机C语言中.c文件和.h文件的关联
1)h文件作用 1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明; 2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h)。 2)h文件里应该有什么 常量,结构,类型定义,函数,变量申明。 3)h文件不应该有什么 变量定义, 函数定义。 4)extern问题 对于变量需要extern; 对于函数不需要因为函数的缺省状态是extern的.如果一个函数要改变为只在文件内可见,加static。 5)include包含问题 虽然申明和类型定义可以重复,不过推荐使用条件编译。 #ifndef _FILENAME_H, #define _F
[单片机]
MCU用于计算机和PAN的可穿戴接线盒
对可穿戴设备的不断推动正在将个人转变为他们自己的数据中心,包括闪存驱动器、移动 PC、传感器阵列、医疗设备等。各种技术在可穿戴设计中争夺输入、输出、连接性和功能。例如,TFT、虚拟视觉护目镜、微型投影仪、3D 显示器和全息显示系统都具有独特的优势,但不太可能将每种技术都作为用户界面实现在单个可穿戴系统中。你可以对 3D 手势识别、语音识别、触摸面板、键盘、触觉反馈系统等输入技术说同样的话。 因此,可穿戴计算机及其相关外围设备的设计人员必须做出选择。所有处理功能是否都存在于一个地方,还是分布在我们周围的各个节点中?也许,最终,当所有这些(和其他)技术都以最低的成本提炼到最高的功能和可靠性时,单一的全能设备可能会成为流行的
[嵌入式]
35-基于51单片机的脉搏测量仪(心率计)
具体实现功能 本系统由STC89C51/52单片机+LCD1602显示模块+5mm红外接收管+LM358运放电路+按键模块等构成。 具体功能: (1)手指放到红外对管中,2秒内读出心率; (2)LCD1602液晶显示当前的心率(心率/分钟); (3)按键可以设置报警的上下限心率,当测得的心率值超过报警值时发出报警。 设计背景 随着科学技术的发展,脉搏测量技术也越来越先进,对脉搏的测量精度也越来越高,国内外先后研制了不同类型的脉搏测量仪,而其中关键是对脉搏传感器的研究。起初用于体育测量的脉搏测试集中在对接触式传感器的研究,利用此类传感器所研制的指脉、耳脉等测量仪各有其优缺点。指脉测量比较方便、简单,但因为手指上的
[单片机]
PIC单片机与触摸屏串行通信的MODBUS协议实现
摘要:介绍一种在PIC单片机与触摸屏之间采用Modbus协议实现异步串行通信的方法。简单介绍了Modbus通信协议,给出了硬件电路连接图、程序流程图以及用PIC单片机C语言编写的部分通信程序。实际使用证明该方法数据传输稳定可靠,并提供了良好的人机交互环境。
关键词:触摸屏 PIC单片机 Modbus协议 通信
工控中经常需要观察系统的运行状态或者修改运行参数。触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。单片机广泛应用于工控领域中,与触摸屏配合,可组成良好的人机交互环境。触摸屏和单片机通信,需要根据触摸屏采用的通信协议为单片机编写相应的通信程序。Modbus协议是美国M
[单片机]
用PonyProg2000 for Windows烧写AVR MCU
摘要:本文主要介绍了PonyProg2000 版本2.06c beta for Windows的安装和用该程序开发AVR系列微控制器的方法,希望对于广大使用该程序的朋友们能起到一定的帮助作用。 PonyProg2000简介: PonyProg2000是由Claudio Lanconelli先生编制的一个可以对微控制器、电可擦写存储器进行在线串行编程的程序,PonyProg2000目前可以支持AVR微控制器、AT89S微控制器、PIC 16微控制器、PIC 12微控制器、ImBUS eeprom、SDE2506 eeprom和X2444 eeprom,PonyProg2000 V2.06c在使用中非常稳定,可以很方便的开发支持
[单片机]
学习单片机几个不易掌握的概念
学习单片机几个不易掌握的概念 电子爱好者开始学习单片机知识,因单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,下面就结合作者的学习、教学经验,对这些最基本概念作一说明,希望对自学者有所帮助。 一、总线: 我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如
[单片机]
51单片机“呼吸灯”程序
刚看了一份关于光立方的视频里片面提到“呼吸灯”一词,忙草草写了一个带数码管显示亮度变化的呼吸灯程序,其中整型frequency为调节呼吸频率的参数,附图为临时做的gif文件,需等会儿才见效果/*12Mhz??§????*/ #include reg51.h #define uchar unsigned char #define uint unsigned int uint f=100; /*????????f????????????1~10khz*/ uint H=6;/*????????·§????????0~10000/f????H L*/ uint L=0;/*????????·§????????0~10000/f??
[单片机]
STM32的一些基本知识总结
Cortex-M3缩略语 AMBA:先进单片机总线架构 ADK:AMBA设计套件 AHB:先进高性能总线 AHB-AP:AHB访问端口 APB:先进外设总线 ARM ARM:ARM架构参考手册 ASIC:行业领域专用集成电路 ATB :先进跟踪总线 BE8:字节不变式大端模式 CPI:每条指令的周期数 DAP:调试访问端口 DSP:数字信号处理(器) DWT:数据观察点及跟踪 ETM:嵌入式跟踪宏单元 FPB:闪存地址重载及断点 FSR:fault状态寄存器 HTM:Core Sight AHB跟踪宏单元 ICE:在线仿真器 IDE:集成开发环境 IRQ:中断请求(通常是外中断请求) ISA:指令系统架构 ISR:中断服务例程 I
[单片机]