资源简介
PIC单片机 IIC通信 proteus仿真文件图
代码片段和文件信息
//用IIC功能编写的程序读写24LC02B
#include
__CONFIG (0x3771);
void DELAY(unsigned int);
void IIC_SEND(char);
void IIC_CSH(void);
char READ_EEPROM(char);
void main(void)
{ char ijR1;
TRISD=0xFF;
TRISB=0;
PORTB=0;
IIC_CSH();
DELAY(10);
while(1)
{ i=PORTD; //以D口的输入作为通信的地址
R1=READ_EEPROM(i);
PORTB=R1;
DELAY(100);
};
}
//发送数R并等待发送完成,收到从机的应答信号
void IIC_SEND(char R)
{ SSPBUF=R; //发送
while (STAT_RW==1); //在主动模式下,判断发送是否完成
while (SSPIF==0); //等待发送完成
while (ACKSTAT==1); //等待从机发送应答信号
}
//读24LC02,地址为addr返回读出的数
char READ_EEPROM(char addr)
{ char R;
SEN=1; //产生起始位
while (SEN==1); //检测起始位完成
IIC_SEND(0b10100000); //与从机的SSPADD要完全相同,才能正确通信
IIC_SEND(addr); //此值为模拟24LC02B的内部地址,从0-0xFF可选
RSEN=1; //发送重新启始位
while(RSEN==1); //检测重新起始位完成
IIC_SEND(0b10100001); //模拟读
SSPIF=0;
RCEN=1;
while (SSPIF==0); //等待读完成
R=SSPBUF; //读不应答
PEN=1; //发送停止位
while (PEN==1); //检查停止位结束
return (R);
}
//IIC初始化
void IIC_CSH(void)
{ TRISC =0b00011000; //SDASCL设置为输入!
SSPCON=0b00101000; //同步串口使能(SSPEN),主控方式
STAT_SMP=0; //使能高速模式(400 kHz) 的压摆率控制
SSPADD=4; //主控模式为波特率值每位时间T=(SSPADD+1)/Tcy=5us
}
//======延时(n)ms
void DELAY(unsigned int n)
{ unsigned int j;
char k;
for (j=0;j for (k=246;k>0;k--) NOP();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4074 2011-04-25 22:04 EXAMPLE4.19\FILE
文件 1526 2011-04-25 22:04 EXAMPLE4.19\IIC_M.c
文件 3779 2011-04-25 22:04 EXAMPLE4.19\IIC_M.cof
文件 681 2011-04-25 22:04 EXAMPLE4.19\IIC_M.hex
文件 919 2011-04-25 22:04 EXAMPLE4.19\IIC_M.hxl
文件 2602 2011-04-25 22:04 EXAMPLE4.19\IIC_M.lst
文件 38538 2011-04-25 22:04 EXAMPLE4.19\IIC_M.p1
文件 24223 2011-04-25 22:04 EXAMPLE4.19\IIC_M.pre
文件 10392 2011-04-25 22:04 EXAMPLE4.19\IIC_M.sdb
文件 1302 2011-04-25 22:04 EXAMPLE4.19\IIC_S.c
文件 3499 2011-04-25 22:04 EXAMPLE4.19\IIC_S.cof
文件 611 2011-04-25 22:04 EXAMPLE4.19\IIC_S.hex
文件 843 2011-04-25 22:04 EXAMPLE4.19\IIC_S.hxl
文件 2364 2011-04-25 22:04 EXAMPLE4.19\IIC_S.lst
文件 38310 2011-04-25 22:04 EXAMPLE4.19\IIC_S.p1
文件 24157 2011-04-25 22:04 EXAMPLE4.19\IIC_S.pre
文件 10286 2011-04-25 22:04 EXAMPLE4.19\IIC_S.sdb
文件 108609 2011-04-25 22:04 EXAMPLE4.19\IIC_twoA.DSN
文件 3751 2011-04-25 22:04 EXAMPLE4.19\IIC_twoA.PWI
目录 0 2011-08-03 08:42 EXAMPLE4.19
----------- --------- ---------- ----- ----
280466 20
- 上一篇:PIC单片机SPI通信 带proteus仿真
- 下一篇:增强现实的实现
相关资源
- PIC单片机SPI通信 带proteus仿真
- DS18B20 多点温度测量 用proteus仿真 课
- 基于51单片机的ds18b20的proteus仿真
- 51单片机12864液晶屏proteus仿真源代码
- 路灯控制系统完整版+PROTEUS仿真
- CC2530-ADXL345 IIC通信
- 基于51单片机的LED灯控制Proteus仿真
- 数字电子钟proteus仿真
- 直流数控电源Proteus仿真1~10V输出
- 51单片机车轮测速的proteus仿真
- 微机接口经典 8086 Proteus8251_8253_8255_
- 智能频率计的设计与制作(AVR)prot
- 基于89C51的全自动洗衣机控制器Prote
- 基于51单片机和Proteus仿真的波形发生
- 51单片机ADC0832_1602 proteus仿真源程序加
- 51单片机ADC0832电压测量液晶1602显示的
- pic汇编程序,主要是供初学者学习p
- dspic单片机电机控制
- 直流电机调速proteus仿真
- 51单片机数字时钟-proteus仿真文件及
- 16×64LED点阵显示屏的设计(附完整p
- proteus仿真步进电机
- proteus仿真的单片机串口通信,请使用
- 华南理工大学 出租车计费器
- 电子钟DS1302+LCD1602+89C52+proteus仿真图
- 12864多级菜单程序+proteus仿真
- [微机原理与接口技术——基于8086和
- TM1638 Proteus仿真库
- 四路抢答器proteus仿真模拟
- 基于51的简易电子琴Proteus仿真与程序
评论
共有 条评论