⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pic_eeprom.c

📁 PIC单片机自带epprom读写操作程序
💻 C
字号:



/*
void main(void)
{
	unsigned char tempi = 0;
    for (tempi = 0; tempi < 5000; tempi ++);
    while (1){


     }
	
}
*/


/* PIC12F675 是比较有特色的单片机,8脚封装,短小精干。自带ad和eeprom,性价比高。下面就是12f675的eeprom的C代码

用的是 mplab+picc  内部4M晶振  看门狗使能 具体的说明见程序注释。适合初学者入门。 
*/ 


//软件延时方式来实现1S定时

//在烧程序的时候 将IC-Prog 软件环境的右侧 
//熔丝下面的 WDT 前面的勾选上 其它的勾不要使其消失
//振荡器选择 intOSC GP4 
//剩下的默认即可

//E2PROM读写实验  开机3秒后led0亮就说明读写正常
//选用内部晶振 4M


//引用头文件
#include "Includes.h"


//符号变量替换
#define  u8   unsigned char
#define  u16  unsigned int


#define     led  GPIO0

//用c语言嵌套汇编来实现 “喂狗”
#define  clrwdt()   asm("CLRWDT")
//#define  nop()      asm("NOP")

u8 led_flag=0x03; //初始时 为0x03   


void init(void)
{
 CMCON=0X07;//比较器关闭
 ANSEL=0X00;//设GP0到GP3都为数字IO口
 OPTION=0X80;//禁止GPIO上拉
 TRISIO0=0;//GP0口设为输出
 led=1; //初始时让小灯灭
}
void yanshi(void)  //延时子函数
{
 u8  i;
 u16 j;
 for(j=60635;j>0;j--)
 {
  for(i=10;i>0;i--)
  {
   clrwdt();
  }
 } 
}
void write(u8 addr,u8 data) //写E2
{
 EEDATA=data;
 EEADR=addr;
 WREN=1;
 EECON2=0X55;
 EECON2=0XAA;
 WR=1;
 while(EEIF==0)
 {
  ;
 }
 EEIF=0;
 WREN=0;
}

u8 read(u8 addr)  //读E2
{
 EEADR=addr;
 RD=1;
 while(RD==1)
 {
  ;
 } 
 return EEDATA;
}

void maintest(void)
{ 
 init();//初始化
 yanshi();//3秒秒延时
 write(0x01,0x55);//写

 nop();
 nop();
 nop();

 led_flag=read(0x01);//读

 if(led_flag==0X55)//判断是否 写  读 成功
 {
  led=0;
 }
 else
 {
  led=1;
 }

 while(1)   //任务结束,等待......
 {
  clrwdt();
 }

}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -