资源简介
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仿真
- 下一篇:增强现实的实现
相关资源
- 51单片机PWM程序,占空比、周期可调整
- PIC单片机完成的电子密码锁
- proteus仿真 AT89C51输出各种波形
- 00
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- DS18B20分布式多点测温的Proteus仿真
- 带时间温度显示的室内灯光控制系统
- 基于PIC单片机的万年历的设计
- PIC单片机延时计算器
- IIC proteus仿真实验
- 关于proteus仿真arm7出现错误的问题
- PIC单片机人机接口模块4×4行列式
- PIC单片机人机接口模块4×4行列式
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- 单片机驱动4相步进电机proteus仿真
- 使用PIC单片机开发的简易数字电压表
- 基于PIC单片机的智能循迹小车设计
- 微机原理 十字路口交通灯控制 prot
- 中央空调室内智能温控器设计论文、
- Proteus仿真的单片机控制步进电机及液
- 智能家居照明控制系统设计proteus仿真
- 郭天祥TX-1C版的Proteus仿真 三个版本
- 微机原理 8086 十字路口交通灯控制
- 如何解决PIC单片机硬件死锁的问题
- PIC单片机学习之PIC
- 基于PIC单片机产生SPWM信号控制逆变桥
- proteus仿真、keil4、DHT11、LCD1602
- 电子万年历的设计51单片机 Proteus仿真
评论
共有 条评论