EEPROM24C02,程序将对存储器进行读和写.docVIP

  • 72
  • 0
  • 约5.72千字
  • 约 8页
  • 2017-03-18 发布于重庆
  • 举报

EEPROM24C02,程序将对存储器进行读和写.doc

EEPROM24C02,程序将对存储器进行读和写

/*EEPROM24C02,程序将对存储器进行读和写,因此涉及到键盘程序,比较复杂,耐心学, 例子读取24C02内部数据,在数码管上显示,可通过按键来进行不同地址数据的读取和保存*/ #include #include #define W24C02 0xA0 //存储器的写地址 #define R24C02 0xA1 //存储器的读地址 #define MSB 0x80 //8位二进制最高位置1 #define LSB 0x01 //8位二进制最低位置1 /********************/ sbit SDA P3^6; //AT24C02串行数据 5脚 sbit SCL P3^7; //AT24C02串行时钟 6脚 sbit SPK P3^4; //蜂鸣器,按键用时蜂鸣 void I2C_write unsigned char tmp ; //向I2C总线写数据 unsigned char I2C_read ; //向I2C总线读数据 void I2C_ACK bit tmp ; //ACK应答 void I2C_start void ; //I2C传送数据的开始 void I2C_stop void ; //I2C传送数据的结束 void _24c02menu void ; //当我们按下按键进入处理I2C数据时用的函数 void _24c02wdate unsigned char tmp ; //当我们对24C02存储器进行写数据用到的函数 void display unsigned char *lp,unsigned char lc ;//显示,在键盘程序里用过 void displaystr unsigned char *lp,unsigned char lc ;//字符的显示函数,同上 void delay ;//延时子函数 void ReadKey void ; //扫描键盘 获取键值 unsigned char l_key 0xFF; //定义变量,存放键值 unsigned char l_keyold 0; //做为按键松开否的凭证 code unsigned char l_24C02[5] 0x5b,0x66,0x39,0x3f,0x5b ;//定义数组常量在数码管上显示24C02 unsigned char l_address 0; //读24C02的地址变量 unsigned char l_tmpdate[6] 0,0,0x10,0,0,0 ; //数组变量 code unsigned char table[] 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71,0x40 ; //共阴数码管 0-9 a-f - 表 code unsigned char key_tab[17] 0xed,0x7e,0x7d,0x7b, 0xbe,0xbd,0xbb,0xde, 0xdd,0xdb,0x77,0xb7, 0xee,0xd7,0xeb,0xe7,0XFF ;// 此数组为键盘编码, // 1 2 3 a // 4 5 6 b // 7 8 9 e // * 0 # f void main void //入口函数 TMOD 0x01; //设置定时器0为模式1方式, TH0 0XD1; //设置初值,为12毫秒 TL0 0X20; EA 1; //开启总中断 ET0 1; //开启定时器中断0 EX0 1; //开启外部中断 0 IT0 1; // 设置成 下降沿触发方式 P0 0xf0; // while 1 displaystr l_24C02,5 ; //用这个函数显示5个字符 if l_key 0x0e l_key 0xff; //按下#键调用 _24c02menu ; //此函数 //以下一部份在键盘程序里有说明,此处不在讲述 void key_scan interrupt 0 //外部中断 0 0的优先级最高 EX0 0; TH0 0XD1; TL0 0X20; TR0 1; void timer0_isr void interrupt 1 //定时器0的中断函数 TR0 0; ReadKey ; void ReadKey void unsigned char i,j,key; j 0xfe; key 0xff; for i 0;i 4;i++ P0 j; if P00xf0 ! 0xf0 key P0; break; j _crol

文档评论(0)

1亿VIP精品文档

相关文档