- /******************************************
- ******PIC16F877A 内部EEPROM读写实验*******
- Author:hnrain
- Date:2010-12-26
- Version:V0.1
- Email:hnrain1004@gmail.com
- Forum:http://bbs.cepark.com
- _______________________________
- 实验现象:先给内部EEPROM的0~7字节写数据1~8,再读出第0字节的
- 内容,并判断读出来的数据是不是1,如果是1则点亮RD0口的LED。
-
- 重点内容:
- 在我们的PIC.h中,给我们提供了两个函数操作内部的EEPROM.
- 两个函数为:
- unsigned char eeprom_read(unsigned char addr);
- void eeprom_write(unsigned char addr, unsigned char value);
- *******************************************/
- #include <pic.h>
-
- __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);
- //HS振荡,禁止看门狗,低压编程关闭,启动延时定时器
-
- unsigned char eeprom_read(unsigned char addr);
- void eeprom_write(unsigned char addr, unsigned char value);
-
- unsigned char cydata;
- void main(void)
- {
- unsigned char k;
- PORTD = 0xff;
- TRISD = 0x00;
- for(k = 0; k < 7; k++)
- {
- eeprom_write(k,k+1);
- }
- while(1)
- {
- do{}
- while(WR == 1);//等待写完成
- cydata = eeprom_read(0);
- if(cydata == 1)
- {
- RD0 = 0;
- }
- }
- }
|