The 87LPC76X Microcontroller combines in a small package thebenefits of a high-performance microcontroller with on-boardhardware supporting the Inter-Integrated Circuit (I2C) bus interface.The 87LPC76X can be programmed both as an I2C bus master, aslave, or both. An overview of the I2C bus and description of the bussupport hardware in the 87LPC76X microcontrollers appears inapplication note AN464, Using the 87LPC76X Microcontroller as anI2C Bus Master. That application note includes a programmingexample, demonstrating a bus-master code. Here we show anexample of programming the microcontroller as an I2C slave.The code listing demonstrates communications routines for the87LPC76X as a slave on the I2C bus. It compliments the program inAN464 which demonstrates the 87LPC76X as an I2C bus master.One may demonstrate two 87LPC76X devices communicating witheach other on the I2C bus, using the AN464 code in one, and theprogram presented here in the other. The examples presented hereand in AN464 allow the 87LPC76X to be either a master or a slave,but not both. Switching between master and slave roles in amultimaster environment is described in application note AN435.The software for a slave on the bus is relatively simple, as theprocessor plays a relatively passive role. It does not initiate bustransfers on its own, but responds to a master initiating thecommunications. This is true whether the slave receives or transmitsdata—transmission takes place only as a response to a busmaster’s request. The slave does not have to worry about arbitrationor about devices which do not acknowledge their address. As theslave is not supposed to take control of the bus, we do not demandit to resolve bus exceptions or “hangups”. If the bus becomesinactive the processor simply withdraws, not interfering with themaster (or masters) on the bus which should (hopefully) try toresolve the situation.
上傳時間: 2013-11-19
上傳用戶:shirleyYim
帶I2C串行CMOS EEPROM、精密復位控制器和看門狗定時器的監控電路 特性 看門狗監控SDA信號 (CAT1161) 兼容400KHz 的I2C總線 操作電壓范圍為2.7V~6.0V 低功耗CMOS 技術 16 字節的頁寫緩沖區 內置誤寫保護電路-Vcc鎖定-寫保護管腳WP 復位高電平或低電平有效-精確的電源電壓監控-支持5V,3.3V 和3V 的系統-5個復位門檻電壓可供選擇 1,000,000個編程/擦除周期 手動復位 數據可保存100 年 8 腳DIP 封裝或8 腳SOIC 封裝 商業和工業級溫度范圍描述CAT1161/2 為基于微控器的系統提供了一個完整的存儲器和電源監控解決方案。它們利用低功耗CMOS技術將16k帶硬件存儲器寫保護功能的串行EEPROM 存儲器、用于掉電保護的電源監控電路和一個看門狗定時器集成到一塊芯片上。存儲器采用I2C 總線接口。當系統由于軟件或硬件干擾而被終止或“掛起”時,1.6 秒的看門狗電路將復位系統,使系統恢復正常。CAT1161的看門狗電路監控著SDA,這就可以省去額外的PC板跟蹤電路。低價位的CAT1162不含看門狗定時器。電源監控和復位電路可在系統上電/下電時保護存儲器和系統控制器,防止掉電條件的產生。CAT1161/2的5個門檻電壓可支持5V、3.3V和3V的系統。一旦電源電壓超出范圍,復位信號有效,禁止微控制器、ASIC或外圍器件繼續工作。復位信號在電源電壓超過復位門檻電壓后的200ms內仍保持有效。由于帶有高電平和低電平復位信號,因此CAT1161/2可以很方便地連接到微控制器和其它IC。另外,復位管腳還可用作手動按鍵復位的去抖輸入。 CAT1161/2 的存儲器構造成16字節的頁。除此之外,寫保護管腳WP和VCC 檢測電路提供的硬件數據保護功能可防止在Vcc降到低于復位門檻電壓或上電時Vcc上升到復位門檻電壓之前對存儲器的寫操作。器件包含8腳DIP和表貼8腳SOIC兩種封裝形式。
上傳時間: 2014-03-19
上傳用戶:蟲蟲蟲蟲蟲蟲
I2C總線高頻頭控制程序(Keil C51程序 基于芯片TSA5522系列) /*I2C總線高頻頭控制Keil C51程序(PLL芯片為TSA5522系列) *///--------------------------------------------------------------------------//// 源程序大公開 //// (c) Copyright 2001-2003 xuwenjun //// All Rights Reserved //// V1.00 ////--------------------------------------------------------------------------////標 題: I2C總線高頻頭控制程序(PLL芯片為TSA5522系列) ////文件名: xwj_fi1256.c ////版 本: V1.00 ////修改人: 徐文軍 E-mail:xuwenjun@21cn.com ////日 期: 06-02-26 首次公開 ////描 述: I2C總線高頻頭控制程序(PLL芯片為TSA5522系列) ////聲 明: //// 以下代碼僅免費提供給學習用途,但引用或修改后必須在文件中聲明出處. //// 如用于商業用途請與作者聯系. E-mail:xuwenjun@21cn.com //// 有問題請mailto xuwenjun@21cn.com 歡迎與我交流! ////--------------------------------------------------------------------------////老版本: 無 老版本文件名: ////創建人: 徐文軍 E-mail:xuwenjun@21cn.com ////日 期: 06-02-26 ////描 述: ////--------------------------------------------------------------------------// /* 頻率單位為KHz */#define FUENCY 38900 /* 中頻頻率 */#define PLLdataH(f) ((f+FUENCY)*16/1000/256) /* 頻率數據高 第1字節*/#define PLLdataL(f) ((f+FUENCY)*16/1000%256) /* 頻率數據低 第2字節*/#define PLLCON1 0x8e /* 控制字1 第3字節*/ /* 控制字2 第4字節*/#define PLLCON2(f) (((f)<(168000))?(0xa0):(((f)<(450000))?(0x90):(0x30)))#define PLLdata3(fchan) PLLdataH (fchan),PLLdataL (fchan),PLLCON2 (fchan)
上傳時間: 2013-11-10
上傳用戶:nanfeicui
I2C 總線包括了兩條串行總線(時鐘線SCL 和數據線SDA),通過這兩條總線能實現多個芯片之間的通信。在互相連接的芯片中,至少有一個芯片作為總線控制器,而其它芯片則作為從控制器。在本應用說明中,介紹了用Holtek 的八位RISC 結構的單片機作為單總線控制器的軟件實現的方法。在本文的示例中,采用了一片EEPROM(型號HT24LC02,2Kbit)作為從控制器參與測試。電路說明:HT24LC02 的A0、A1、A2、VSS、WP 引腳接地,VCC 接+5V,SCL 接PA3,SDA 接PA2使用說明:例程中先向eeprom 中寫數據,寫完后,再將eeprom 中內容讀出來,并將讀出數據進行比較,若數據不相等程序跳到fail_out 中;若相等,最后程序跳到ok_end 中。本說明中提供了一個源文件OP_HT24.ASM 和一個包含文件HT24.ASM。在應用時,要將OP_HT24.ASM 文件添加到用戶的project 中,并修改HT24.INC 文件中的變量設置,以建立SCL/SDA引腳來與用戶的應用電路相匹配。
上傳時間: 2013-10-19
上傳用戶:ming52900
1 序言1.1 版本1.0-19921992 I2C 總線規范的這個版本有以下的修正• 刪除了用軟件編程從機地址的內容因為實現這個功能相當復雜而且不被使用• 刪除了低速模式實際上這個模式是整個I2C 總線規范的子集不需要明確地詳細說明• 增加了快速模式它將位速率增加4 倍到達400kbit/s 快速模式器件都向下兼容即它們可以在0~100kbit/s 的I2C 總線系統中使用• 增加了10 位尋址允許1024 個額外的從機地址• 快速模式器件的斜率控制和輸入濾波改善了EMC 性能注意100kbit/s 的I2C 總線系統或100kbit/s 器件都沒有改變1.2 版本2.0-1998I2C 總線實際上已經成為一個國際標準在超過100 種不同的IC 上實現而且得到超過50 家公司的許可但是現在的很多應用要求總線速度更高電源電壓更低這個更新版的I2C 總線規范滿足這些要求而且有以下的修正• 增加了高速模式Hs 模式它將位速率增加到3.4Mbit/s Hs 模式的器件可以和I2C 總線系統中快速和標準模式器件混合使用位速率從0~3.4Mbit/s• 電源電壓是2V 或更低的器件的低輸出電平和滯后被調整到符合噪聲容限的要求而且保持和電源電壓更高的器件兼容• 快速模式輸出級的0.6V 6mA 要求被刪除• 新器件的固定輸入電平被總線電壓相關的電平代替• 增加了雙向電平轉換器的應用信息
上傳時間: 2014-12-28
上傳用戶:hakim
SM-IIC/2051 模塊用戶說明簡介:SM-IIC/2051 是一個基于2051 單片機的I2C 總線控制模塊。上位機接口可直接與PC的RS232 連接,下位機可實現對應用電路中I2C 控制總線的連接,塊內設置2K 的FLASH 存儲器,可存儲用戶I2C 初始化數據。模塊采用2051 單片機,使電路簡單可靠。型號:SM-IIC/2051名稱:I2C 數據控制模塊功能:RS232 串行信號與I2C 數據轉換 接口說明:編號信號標志信號名稱規格備注CK1-1 VCC 供電+5VCK1-2 VCC 供電+5VCK1-3 GND 地GroundCK1-4 GND 地GroundCK2-1 TOUT 串口輸出RS232CK2-2 RIN 串口輸入RS232CK2-3 GND 地GroundCK2-4 GND 地Ground編號信號標志信號名稱規格備注CK3-1 GND 地GroundCK3-2 SCL I2C 時鐘TTLCK3-3 SDA I2C 數據TTLCK3-4 GND 地GroundCK3-5 P1.2 PI/O 端口TTLCK3-6 P1.3 PI/O 端口TTLCK3-7 P1.4 PI/O 端口TTLCK3-8 P1.5 PI/O 端口TTLCK3-9 P1.6 PI/O 端口TTLCK3-10 P1.7 PI/O 端口TTLCK3-11 P3.7 PI/O 端口TTLCK3-12 T1 定時端口TTLCK3-13 T0 定時端口TTLCK3-14 INT1 中斷端口TTLCK3-15 INT0 中斷端口TTLCK3-16 GND 地Ground
上傳時間: 2013-11-18
上傳用戶:爺的氣質
1 /**————————————————————2 〖說明〗I2C總線驅動程序(用兩個普通IO模擬I2C總線)3 包括100Khz(T=10us)的標準模式(慢速模式)選擇,4 和400Khz(T=2.5us)的快速模式選擇,5 默認11.0592Mhz的晶振。6 〖文件〗PCF8563T.C ﹫2001/11/2 77 〖作者〗龍嘯九天 c51@yeah.net http://www.c51bbs.co /8 〖修改〗修改建議請到論壇公布 http://www.c51bbs.co m9 〖版本〗V1.00A Build 080310 —————————————————————*/1112 #ifndef SDA13 #define SDA P0_014 #define SCL P0_115 #endif1617 extern uchar SystemError;1819 #define uchar unsigned char20 #define uint unsigned int21 #define Byte unsigned char22 #define Word unsigned int23 #define bool bit24 #define true 125 #define false 02627 #define SomeNOP(); _nop_();_nop_();_nop_();_nop_();2829 /**--------------------------------------------------------------------------------30 調用方式:void I2CStart(void) ﹫2001/07/0 431 函數說明:私有函數,I2C專用32 ---------------------------------------------------------------------------------*/33 void I2CStart(void)34 {35 EA=0;36 SDA=1; SCL=1; SomeNOP();//INI37 SDA=0; SomeNOP(); //START38 SCL=0;39 }4041 /**--------------------------------------------------------------------------------42 調用方式:void I2CStop(void) ﹫2001/07/0 443 函數說明:私有函數,I2C專用44 ---------------------------------------------------------------------------------*/45 void I2CStop(void)46 {47 SCL=0; SDA=0; SomeNOP(); //INI48 SCL=1; SomeNOP(); SDA=1; //STOP49 EA=1;50 }5152 /**--------------------------------------------------------------------------------53 調用方式:bit I2CAck(void) ﹫2001/07/0 454 函數說明:私有函數,I2C專用,等待從器件接收方的應答55 ---------------------------------------------------------------------------------*/56 bool WaitAck(void)57 {58 uchar errtime=255;//因故障接收方無ACK,超時值為255。59 SDA=1;SomeNOP();60 SCL=1;SomeNOP();61 while(SDA) {errtime--; if (!errtime) {I2CStop();SystemError=0x11;return false;}}62 SCL=0;63 return true;
上傳時間: 2014-04-11
上傳用戶:xg262122
I2c技術全集
標簽: I2c
上傳時間: 2013-11-24
上傳用戶:旭521
<<I2C總線應用系統設計>>
上傳時間: 2013-11-21
上傳用戶:luke5347
用Verilog HDL實現I2C總線功能
上傳時間: 2013-11-07
上傳用戶:源弋弋