標(biāo)題:
N76E003新唐mcu做從機(jī)模擬AT24C02程序(已測(cè)試)
[打印本頁]
作者:
quben
時(shí)間:
2018-12-4 15:27
標(biāo)題:
N76E003新唐mcu做從機(jī)模擬AT24C02程序(已測(cè)試)
單片機(jī)源碼:
#include "N76E003.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#define EEPROM_SLA 0xA0 //AT24C02
UINT8 data_received[64]= 0; //change to 256 if the rom space is enough
UINT8 data_num = 0;
UINT8 irxdata =0;
UINT8 isubaddr =0;
void I2C_ISR(void) interrupt 6
{
static UINT8 islavecount=0;
switch (I2STAT)
{
case 0x00:
STO = 1;
break;
case 0x60:
AA = 1;
islavecount=0;
break;
case 0x68:
P02 = 0;
while(1);
break;
case 0x80:
if(islavecount==0)
{
isubaddr = I2DAT;
AA = 1;
islavecount++;
data_num = isubaddr;
}
else
{
irxdata = I2DAT;
AA = 1;
data_received[data_num++]=irxdata;
islavecount++;
}
break;
case 0x88:
data_received[data_num] = I2DAT;
data_num = 0;
AA = 1;
break;
case 0xA0:
AA = 1;
break;
case 0xA8:
data_num=isubaddr;
I2DAT = data_received[data_num];
data_num++;
AA = 1;
break;
case 0xB8:
I2DAT = data_received[data_num];
data_num++;
AA = 1;
break;
case 0xC0:
AA = 1;
break;
case 0xC8:
AA = 1;
break;
}
SI = 0;
}
void Init_I2C_SLAVE(void)
{
P13_Quasi_Mode; //set SCL (P13) is Quasi mode
P14_Quasi_Mode; //set SDA (P14) is Quasi mode
SDA = 1; //set SDA and SCL pins high
SCL = 1;
//--set_P0SR_6; //set SCL (P06) is Schmitt triggered input select.
set_EI2C; //enable I2C interrupt by setting IE1 bit 0
set_EA;
I2ADDR = EEPROM_SLA; //define own slave address
set_I2CEN; //enable I2C circuit
set_AA;
}
void main(void)
{
Set_All_GPIO_Quasi_Mode;
Init_I2C_SLAVE();
while (1);
}
復(fù)制代碼
所有資料51hei提供下載:
IIC_slave_24c02.rar
(56.5 KB, 下載次數(shù): 73)
2018-12-5 03:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
adamquan
時(shí)間:
2019-6-3 10:35
看看,學(xué)習(xí)
作者:
lykj2018
時(shí)間:
2019-7-30 11:05
怎么用呀,主函數(shù)沒有
作者:
xql2008
時(shí)間:
2019-9-13 18:10
壓根兒就不是模擬!瞎扯淡
作者:
xsp137225260
時(shí)間:
2019-9-23 18:00
中斷的 下載看看 最近搞個(gè)項(xiàng)目IIC等很久
作者:
boboxuexi
時(shí)間:
2021-1-29 10:45
有人成功了嗎? 急需要調(diào)試
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1