亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

SDA

  • I2C總線驅動程序

    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;

    標簽: I2C 總線 驅動程序

    上傳時間: 2014-04-11

    上傳用戶:xg262122

  • P82B96 I2C擴展器Demo使用簡介

    P82B96是一款雙極性I2C擴展芯片,在保持I2C系統的工作模式和特性不變的情況下,通過緩沖SDA和SCL總線上的數據來擴展通信距離,同時I2C擴展器P82B96提供了一種在標準I2C總線和其他總線配置間的無鎖存、雙向性的邏輯接口,它可以把I2C總線連接到2~15V的邏輯器件上,且不受I2C總線協議的限制和時鐘速率的限制。能增加I2C總線的傳輸距離和節點上的負載數目。I2C擴展器P82B96徹底地解決了I2C總線在遠距離傳輸的不足。

    標簽: P82B96 Demo I2C 擴展器

    上傳時間: 2013-10-27

    上傳用戶:13788529953

  • at24c16 c程序

    一個24c16的讀寫程序(已經調試過)(arens)  //////////////////////////////////////////////////////////////// //24c16讀寫驅動程序,FM24C16A-AT24C16中文資料pdf //=-------------------------------------------------------------------------------/*模塊調用:讀數據:read(unsigned int address)寫數據:write(unsigned int address,unsigned char dd)   dd為要寫的 數據字節*///---------------------------------------------------------------------------------- sbit SDA=P3^0;sbit scl=P3^1; sbit a0=ACC^0;                  //定義ACC的位,利用ACC操作速度最快sbit a1=ACC^1;sbit a2=ACC^2;sbit a3=ACC^3;sbit a4=ACC^4;sbit a5=ACC^5;sbit a6=ACC^6;sbit a7=ACC^7; //--------------------------------------------------------------------------------------#pragma disablevoid s24(void)                 //起始函數{_nop_();    scl=0;     SDA=1;    scl=1;    _nop_();    SDA=0;    _nop_();    _nop_();    scl=0;     _nop_();    _nop_();    SDA=1;

    標簽: 24c c16 at 24

    上傳時間: 2013-10-31

    上傳用戶:fdfadfs

  • Arduino學習筆記3_連接HMC5883L三軸電子羅盤傳感器

    用途:測量地磁方向,測量物體靜止時候的方向,測量傳感器周圍磁力線的方向。注意,測量地磁時候容易受到周圍磁場影響,主芯片HMC5883 三軸磁阻傳感器特點(抄自網上): 1,數字量輸出:I2C 數字量輸出接口,設計使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封裝,適合大規模量產使用。 3,精度高:1-2 度,內置12 位A/D,OFFSET, SET/RESET 電路,不會出現磁飽和現象,不會有累加誤差。 4,支持自動校準程序,簡化使用步驟,終端產品使用非常方便。 5,內置自測試電路,方便量產測試,無需增加額外昂貴的測試設備。 6,功耗低:供電電壓1.8V, 功耗睡眠模式-2.5uA 測量模式-0.6mA   連接方法: 只要連接VCC,GND,SDA,SDL 四條線。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接線是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = atan2(scaled.YAxis, scaled.XAxis); float yHeading = atan2(scaled.ZAxis, scaled.XAxis); float zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }

    標簽: Arduino 5883L 5883 HMC

    上傳時間: 2013-12-16

    上傳用戶:stella2015

  • I2C總線器件在高抗干擾系統中的應用

    I2C總線器件在高抗干擾系統中的應用: 摘要:本文先對I2C總線協議進行了簡要敘述,然后介紹了一些常用的抗干擾措施,最后提供了一個利用I2C總線器件24WC01組成的高抗干擾應用方案。 一、I2C總線概述 I2C總線是一雙線串行總線,它提供一小型網絡系統為總線上的電路共享公共的總線。總線上的器件有單片機LCD驅動器以及E2PROM器等。型號有:PCF8566T、SAA1064T、24WC01等。 兩根雙向線中,一根是串行數據線(SDA),另一根是串行時鐘線(SCL)。總線和器件間的數據傳送均由這根線完成。每一個器件都有一個唯一的地址,以區別總線上的其它器件。當執行數據傳送時,誰是主器件,誰是從器件詳見表1。主器件是啟動數據發送并產生時鐘信號的器件。被尋址的任何器件都可看作從器件。I2C總線是多主機總線,意思是可以兩個或更多的能夠控制總線的器件與總線連接。

    標簽: I2C 總線 器件 中的應用

    上傳時間: 2013-11-17

    上傳用戶:時代將軍

  • 數字電位器X9241與PIC單片機的接口及程序設計

    X9241概述X9241是XICOR公司生產的、把4個E2POT數字電位器集成在單片的CMOS集成電路上的一種數字電位器。它包含4個電阻陣列,每個陣列包含63個電阻單元,在每個單元之間和2個端點之間都有被滑動單元訪問的抽頭點。滑動單元在陣列中的位置由用戶通過2線串行總線接口控制。每個電阻陣列與1個滑動端計數寄存器(WCR)和4個8位數據寄存器聯系在一起。這4個數據寄存器可由用戶直接寫入和讀出。WCR的內容控制滑動端在電阻陣列中的位置,其功能框圖如圖1所示。X9241工作原理  X9241支持雙向總線的定向規約,是一個從屬器件。它的高4位地址為0101(器件類型辨識符),低4位地址由A3~A0輸入端狀態決定。在SDA線上的數據只有在SCL為低期間才能改變狀態。當SCL為高時,SDA狀態的改變用來表示開始和終止條件(開始條件:SCL為高時,SDA由高至低的跳變;終止條件:SCL為高時,SDA由低至高的跳變)。送給X9241的所有命令都由開始條件引導,在其后輸出X9241從器件的地址。X9241把串行數據流與該器件的地址比較,若地址比較成功,則作出一個應答響應。送到X9241的下一個字節包括指令及寄存器指針的信息,高4位為指令,低4位用來指出4個電位器中的1個及4個輔助寄存器中的1個。

    標簽: X9241 PIC 數字電位器 單片機

    上傳時間: 2014-01-18

    上傳用戶:黃酒配奶茶

  • Arduino學習筆記3_連接HMC5883L三軸電子羅盤傳感器

    用途:測量地磁方向,測量物體靜止時候的方向,測量傳感器周圍磁力線的方向。注意,測量地磁時候容易受到周圍磁場影響,主芯片HMC5883 三軸磁阻傳感器特點(抄自網上): 1,數字量輸出:I2C 數字量輸出接口,設計使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封裝,適合大規模量產使用。 3,精度高:1-2 度,內置12 位A/D,OFFSET, SET/RESET 電路,不會出現磁飽和現象,不會有累加誤差。 4,支持自動校準程序,簡化使用步驟,終端產品使用非常方便。 5,內置自測試電路,方便量產測試,無需增加額外昂貴的測試設備。 6,功耗低:供電電壓1.8V, 功耗睡眠模式-2.5uA 測量模式-0.6mA   連接方法: 只要連接VCC,GND,SDA,SDL 四條線。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接線是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = atan2(scaled.YAxis, scaled.XAxis); float yHeading = atan2(scaled.ZAxis, scaled.XAxis); float zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }

    標簽: Arduino 5883L 5883 HMC

    上傳時間: 2014-03-20

    上傳用戶:tianyi223

  • 提供I2C總線初始化、工作時的啟始位、結束位、提供I2C總線的時鐘信號

    提供I2C總線初始化、工作時的啟始位、結束位、提供I2C總線的時鐘信號,并返回在時鐘電平為高期間 SDA信號線上狀態。本函數可用于數據發送,也可用于數據接收

    標簽: I2C 總線 初始化 時鐘信號

    上傳時間: 2015-03-15

    上傳用戶:yzhl1988

  • 本模擬I2C軟件包包含了I2C操作的底層子程序

    本模擬I2C軟件包包含了I2C操作的底層子程序,使用前要定義 好SCL和SDA。在標準8051模式(12 Clock)下,對主頻要求是不高于12MHz(即1個 機器周期1us) 若Fosc>12MHz則要增加相應的NOP指令數。(總線時序符合I2C標 準模式,100Kbit/S)

    標簽: I2C 模擬 操作 底層

    上傳時間: 2014-01-05

    上傳用戶:小儒尼尼奧

  • 由于DS1624是I2C總線結構的串行數據傳送

    由于DS1624是I2C總線結構的串行數據傳送,它只需要SDA和SCL兩根線完成數據的傳送過程。因此,我們在進行程序設計的時候,也得按著I2C協議來對DS1624芯片數據訪問。有關I2C協議參看有關資料,這里不詳述。對于AT89S51單片機本身沒有I2C硬件資源,所以必須用軟件來模擬I2C協議過程。 要從DS1624中讀取溫度值,首先啟動DS1624的內部溫度A/D開始轉換,對應著有相應的命令用來啟動開始溫度轉換,有關DS1624的指令集參考前面的敘述。一般情況下,DS1624經過一次溫度的變換,需要經過1秒鐘左右的時間,所以等待1秒鐘后,即可讀取內部的溫度值,對于讀取的溫度值,仍然通過DS1624的指令集來完成溫度的讀取。但所有有數據的傳送過程必須遵循I2C協議。

    標簽: 1624 I2C DS 總線結構

    上傳時間: 2014-01-14

    上傳用戶:ynzfm

主站蜘蛛池模板: 夹江县| 南丰县| 湄潭县| 土默特右旗| 丰都县| 宣化县| 历史| 宁南县| 阳新县| 江永县| 玉树县| 读书| 陵水| 青阳县| 长海县| 贵阳市| 普定县| 阿瓦提县| 湾仔区| 黄大仙区| 教育| 赣榆县| 长宁区| 乌拉特后旗| 望江县| 阳城县| 手游| 普兰店市| 定西市| 威信县| 鄂托克前旗| 岗巴县| 平泉县| 察雅县| 喀什市| 廉江市| 皋兰县| 府谷县| 海阳市| 鞍山市| 特克斯县|