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

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

SDA

  • I2C總線驅(qū)動程序

    1 /**————————————————————2 〖說明〗I2C總線驅(qū)動程序(用兩個普通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 調(diào)用方式:void I2CStart(void) ﹫2001/07/0 431 函數(shù)說明:私有函數(shù),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 調(diào)用方式:void I2CStop(void) ﹫2001/07/0 443 函數(shù)說明:私有函數(shù),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 調(diào)用方式:bit I2CAck(void) ﹫2001/07/0 454 函數(shù)說明:私有函數(shù),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 總線 驅(qū)動程序

    上傳時間: 2014-04-11

    上傳用戶:xg262122

  • P82B96 I2C擴展器Demo使用簡介

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

    標簽: P82B96 Demo I2C 擴展器

    上傳時間: 2013-10-27

    上傳用戶:13788529953

  • at24c16 c程序

    一個24c16的讀寫程序(已經(jīng)調(diào)試過)(arens)  //////////////////////////////////////////////////////////////// //24c16讀寫驅(qū)動程序,F(xiàn)M24C16A-AT24C16中文資料pdf //=-------------------------------------------------------------------------------/*模塊調(diào)用:讀數(shù)據(jù):read(unsigned int address)寫數(shù)據(jù):write(unsigned int address,unsigned char dd)   dd為要寫的 數(shù)據(jù)字節(jié)*///---------------------------------------------------------------------------------- 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)                 //起始函數(shù){_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 三軸磁阻傳感器特點(抄自網(wǎng)上): 1,數(shù)字量輸出:I2C 數(shù)字量輸出接口,設計使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封裝,適合大規(guī)模量產(chǎn)使用。 3,精度高:1-2 度,內(nèi)置12 位A/D,OFFSET, SET/RESET 電路,不會出現(xiàn)磁飽和現(xiàn)象,不會有累加誤差。 4,支持自動校準程序,簡化使用步驟,終端產(chǎn)品使用非常方便。 5,內(nèi)置自測試電路,方便量產(chǎn)測試,無需增加額外昂貴的測試設備。 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總線器件在高抗干擾系統(tǒng)中的應用

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

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

    上傳時間: 2013-11-17

    上傳用戶:時代將軍

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

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

    標簽: X9241 PIC 數(shù)字電位器 單片機

    上傳時間: 2014-01-18

    上傳用戶:黃酒配奶茶

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

    用途:測量地磁方向,測量物體靜止時候的方向,測量傳感器周圍磁力線的方向。注意,測量地磁時候容易受到周圍磁場影響,主芯片HMC5883 三軸磁阻傳感器特點(抄自網(wǎng)上): 1,數(shù)字量輸出:I2C 數(shù)字量輸出接口,設計使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封裝,適合大規(guī)模量產(chǎn)使用。 3,精度高:1-2 度,內(nèi)置12 位A/D,OFFSET, SET/RESET 電路,不會出現(xiàn)磁飽和現(xiàn)象,不會有累加誤差。 4,支持自動校準程序,簡化使用步驟,終端產(chǎn)品使用非常方便。 5,內(nèi)置自測試電路,方便量產(chǎn)測試,無需增加額外昂貴的測試設備。 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總線初始化、工作時的啟始位、結(jié)束位、提供I2C總線的時鐘信號

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

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

    上傳時間: 2015-03-15

    上傳用戶:yzhl1988

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

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

    標簽: I2C 模擬 操作 底層

    上傳時間: 2014-01-05

    上傳用戶:小儒尼尼奧

  • 由于DS1624是I2C總線結(jié)構(gòu)的串行數(shù)據(jù)傳送

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

    標簽: 1624 I2C DS 總線結(jié)構(gòu)

    上傳時間: 2014-01-14

    上傳用戶:ynzfm

主站蜘蛛池模板: 北票市| 平陆县| 神农架林区| 新化县| 卢氏县| 弋阳县| 林芝县| 抚松县| 成武县| 虎林市| 鹤岗市| 德兴市| 柘荣县| 清远市| 沿河| 江口县| 嘉义县| 秦安县| 遂溪县| 罗城| 武平县| 晴隆县| 金堂县| 东山县| 慈利县| 平凉市| 宜都市| 黑水县| 遂平县| 和龙市| 含山县| 华亭县| 淄博市| 贺州市| 海宁市| 许昌市| 威远县| 隆安县| 肇庆市| 乐陵市| 梅州市|