pic单片机c语言清除eeprom程序
时间: 2023-08-03 11:07:39 浏览: 163
pic单片机 c语言程序
以下是PIC单片机使用C语言清除EEPROM的程序示例:
```c
#include <xc.h>
#pragma config FOSC = INTOSCIO // 内部振荡器选项
#pragma config WDTE = OFF // 禁用看门狗定时器
#pragma config PWRTE = OFF // 电源开启延迟选项
#pragma config MCLRE = OFF // MCLR 引脚功能选项
#pragma config CP = OFF // 代码保护选项
#pragma config LVP = OFF // 低电压编程选项
void main() {
unsigned char i;
OSCCON = 0x60; // 内部振荡器频率 4 MHz
TRISB = 0x00; // 将 B 端口设为输出
// 清除 EEPROM
for (i=0; i<64; i++) {
EEADR = i; // 设置 EEPROM 地址
EEDATA = 0x00; // 设置要写入的数据
EECON1bits.EEPGD = 0; // 选择 EEPROM 数据存储器
EECON1bits.CFGS = 0; // 选择 EEPROM 数据存储器
EECON1bits.WREN = 1; // 允许写入 EEPROM
INTCONbits.GIE = 0; // 关闭全局中断
EECON2 = 0x55; // EEPROM 写入序列
EECON2 = 0xAA;
EECON1bits.WR = 1; // 开始写入 EEPROM
INTCONbits.GIE = 1; // 开启全局中断
while (EECON1bits.WR); // 等待 EEPROM 写入结束
EECON1bits.WREN = 0; // 禁止写入 EEPROM
}
// 程序结束
while(1);
}
```
这个程序使用了 PIC16F628A 的内部振荡器,将 B 端口设为输出,然后通过循环将 EEPROM 的每个地址写入数值 0x00。在写入数据之前,需要先设置 EEPROM 地址、数据和写入控制寄存器。写入时需要禁止全局中断,然后按照 EEPROM 写入序列写入数据。最后等待 EEPROM 写入结束,禁止写入 EEPROM。
阅读全文