導航:首頁 > 操作系統 > stc單片機i2c

stc單片機i2c

發布時間:2023-08-09 00:12:37

1. STC單片機模擬的I2C匯流排上數據傳送速率能達到12M嗎

困難,就以12c5a系列為例,最高頻率最高頻率35MHz。
你一個時鍾做一個下降沿,至少要兩個指令周期,一高一低。還要寫數據線,加一個指令周期,寫數據前要判斷,判斷前要移位。你寫一個程序即可以算算要多少指令周期。這還不考慮,上升沿與下降沿的延時。stc單片機IO口由0變1會有兩個周期的強推,這就說,在最高頻率下可能需要兩個周期才能確保低電平變高,也就是你寫數據線後可能要等待一下,才能賦予時鍾線下降沿。
你為什麼需要這么高的速度,很多晶元都不支持這么高的速度,一般400k。
而且你還要看走線長短,和使用環境。

2. stc12c5a60s2單片機自帶i2c匯流排嗎

沒有I2C匯流排。要在外部配I2C晶元,就得用軟體來模擬了。
如果是配I2C存儲器,如24CXX系列存儲器的話,就不必了,因stc12c5a60s2單片機內部有EEPROM存儲器,比外配的I2C存儲器更方便。

3. STC單片機 有沒有 集成I2C功能的(不是模擬)

有啊,STC12C5410AD就集成了EEPROM的功能。你可以去宏晶公司去查下,他們公司有很多事例測試程序。你可以參考,基本上不用修改什麼就可以用了。祝你成功哦!!!http://www.mcu-memory.com/

4. 如何用IO口模擬I2C來實現兩個STC單片機之間的

兩個單片機之間通信用串口啊,距離較近,可用TTL連接。距離遠點就用RS232連接,程序好寫。I2C的協議和時序太復雜,要是用I2C存儲器晶元,那沒辦法,只能用IO口模擬,單片機是主器件,晶元是從器件,還好辦。
但是,兩個單片機,還用l2C通信,你真是沒事找事,一個是主器件,程序網路里可以找到,可另一個是從器件,這程序可從來沒人寫過,那兩個單片機就不能通信。用宋丹丹一句話送你:你是沒事找事,找抽型的。

5. STC單片機怎樣外接存儲器

把RAM的數據線D0-D7接到P0口上,P0口同時也接到74HC373上,373的CLK接單片機的ALE。地址線低8位由74HC373鎖存P0得到,地址線高8位A8-A16接到P2口上,然後使用下面程序即可實現存儲器讀寫。
u8 xdata *point;
u8 i;
point=0x4000;

*point=i; //寫入數據
i=*point; //讀入數據
point++;

6. 如何用IO口模擬I2C來實現兩個STC單片機之間的通訊,求C語言寫法

這是我寫的模擬程序,只有一個發送函數和一個接收函數,EP為接收標志位,發送沒有標志位,通過外部中斷來發送起始信號,無應答與非應答,無結束信號,實測可以正常收發數據
#ifndef _IOPORTSEND_H__
#define _IOPORTSEND_H__
#include<reg52.h>
unsigned char DAT,EP=0;//可以把DAT當作串口中的SBUF,主機發送完後接收機從DAT提取數據
sbit flag = P3^3;//外部中斷口
sbit ok = P2^7;//起始信號發送口
sbit PCL = P2^6;//時鍾線
sbit PDA = P2^5;//數據線
void delay() //延時函數控制波特率
{
unsigned char a,b;
for(b=3;b>0;b--)
for(a=13;a>0;a--);
}
void PortInit()//中斷配置
{
EA=1;
EX1=1;
IT1=1;
}
void SendPort(unsigned char dat)//發送函數
{
unsigned char i;
PCL=0;
ok=1;//通過ok來啟動接收機的中斷
ok=0;
for(i=0;i<8;i++)//開始發送數據
{
PCL=0;
delay();
if(dat&0x80)
PDA=1;
else
PDA=0;
PCL=1;
delay();
dat<<=1;
}
PCL=0;
delay();
ok=1;//ok置1以便下次發送時啟動中斷
PCL=1;//發送完畢釋放時鍾線與數據線
PDA=1;
}
void ReadPort()interrupt 2//接收函數,在中斷函數中接收數據
{
unsigned char i;
static unsigned int b;
PCL=1;
PDA=1;//防止接收機的PCL口和PDA口影響數據的接收
for(i=0;i<8;i++)//開始接收數據
{
DAT<<=1;
while(PCL==0);
b=0;
while(PCL==1)
{
b++;
if(b==1)
if(PDA)
DAT|=0x01;
}
}
EP=1;//接收完畢後置EP為1,需要在其他函數中清零
}
#endif

閱讀全文

與stc單片機i2c相關的資料

熱點內容
伺服器如何定期執行指令 瀏覽:931
python下載python腳本 瀏覽:297
台達plc遠程編程 瀏覽:263
雲計算的後台伺服器 瀏覽:589
windows7的我的電腦咋創建文件夾 瀏覽:492
去視頻水印的app哪個好用 瀏覽:384
doc轉為pdf 瀏覽:48
華為加密壁紙怎麼提取 瀏覽:52
曲線命令的描述 瀏覽:454
php模板怎麼修改 瀏覽:999
單片機和微機編程的區別 瀏覽:642
金牛期貨哪個app好 瀏覽:803
程序員越老越貶值嗎 瀏覽:211
安卓手機用計算機如何隱藏應用 瀏覽:459
網吧伺服器如何架設 瀏覽:322
垃圾壓縮罐用電安全 瀏覽:621
b150能用什麼伺服器cpu 瀏覽:477
支付寶批量付款app哪個好 瀏覽:849
java開源社區源碼 瀏覽:475
cad哪個命令和滾輪一樣縮放 瀏覽:986