PIC16F877A微控制器的EEPROM讀寫

2021-07-22 08:52:51 字數 1073 閱讀 9390

編寫乙個例程來說明比較好理解,

本例程的功能是將乙個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()}}

//eeprom寫資料函式

void writeee(char addr,char data)

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)

while(rd == 1);//等待讀完成

eeadr = addr;//寫入要讀的址址

eepgd = 0;//操作eeprom

rd = 1;//執行讀操作

do{}

while(rd == 1);//等待讀完成

num = eedata;

return num;//返回讀取的資料

PIC16F877A定時器的學習

由於實時資料的 需要用到定時器產生資料,今天晚上完成pic16f877a產生正弦波形,並將波形資料傳送到上位機!這是乙個三角波的 程式,並通過串列埠傳送到上位機 include include include include main.h include t232.h include lcd.h i...

PIC16F877A定時器1實驗

pic16f877a微控制器的timer1是16位的,我們利用此定時器實現乙個10ms的定時,在定時中斷裡我們再判斷1s是否到了,到了之後將led燈狀態取反。include define u8 unsigned char define u16 unsigned int config 0xff32 d...

pic16f877微控制器TMR1的使用筆記

一 結構 1 tmr1可以作為通用的定時器和計數器,也可以利用內建的低頻時基振盪器實現實時時鐘rtc功能 通過tmr1與ccp模組的配合使用,tmr1還可以實現輸入捕捉和輸出比較功能。tmr1是乙個16位的可讀可寫的計數暫存器,由高低兩位元組組成 tmr1h和tmr1l 16位暫存器從0000h到f...