串行E2PROM实例程序c语言.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
// // Keil Software, Inc. // // Project: Cygnal 8051F000 I2C Example Program // // Filename: Cygnal_I2C_Example_Program.c // Version: 1.0.0 // Description: This file contains example code that will communicate to a // serial EEPROM using I2C. Data will be printed over the // serial port. // // Copyright 2000 - Keil Software, Inc. // All rights reserved. // // // Header files // #include REG51F0X0.H // Header file for the Cygnal 8051F0X0 #include STDIO.H // Header file for standard I/O // // Value Definitions // #define TRUE 0x01 // Value representing TRUE #define FALSE 0x00 // Value representing FALSE #define ON 0x01 // Value representing ON #define OFF 0x00 // Value representing OFF #define HIGH 0x01 // Value representing ON #define LOW 0x00 // Value representing OFF #define DELAY_WRITE 5000 // approx. 5 ms delay write time (about 1000 cycles / ms) #define DELAY_BLINK 50000 // Value for delay time - blink // // Macros // // Get high byte macro #define high_byte(x) ((x 0xFF00) 8) // // I/O Port Defines // sbit P1_6 = 0x96; // Define the individual bit (P1.6) #define LED P1_6 // The eval board has an LED on P1.6 // // I2C Bus (SMBus) register bit definitions // sbit BUS_BUSY = 0xC7; // SM Bus Busy (bit 7) sbit BUS_EN = 0xC6; // SM Bus Enable (bit 6) sbit BUS_START = 0xC5; // SM Bus Start (bit 5) sbit BUS_STOP = 0xC4; // SM Bus Stop (bit 4) sbit BUS_INT = 0xC3; // SM Bus Interrupt (bit 3) sbit BUS_AA = 0xC2; // SM Bus ACK (bit 2) sbit BUS_FTE = 0xC1; // SM Bus Clock timeout - high (bit 1) sbit BUS_TOE = 0xC0; // SM Bus Clock timeout - low (bit 0) // // Rerserve Interrupt vector space (the 8051F000 has an IV table from 0x03 to 0xAB) // unsigned char code iv_table [0xB0] _at_ 0x0003; // // Function Prototypes // void write_byte (unsigned char data_out, unsigned int address); unsigned char read_byte (unsigned int address); void i2c_write (unsigned

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档