资源简介
24LC02EEPROM源程序代码,编译便可下载使用,显示开机次数,数码管显示
代码片段和文件信息
/*********************************************************************
//名称:24LC02存储EEPROM
//功能:数码管显示开机次数
//作者:张纪宽
//时间:2011/07/28
//*******************************************************************/
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit scl=P1^3; //24c02 SCL
sbit sda=P1^4; //24c02 SDA
uchar tablewe[]={0x000x010x020x030x040x050x060x07};
uchar tableduan[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f
0x770x7c0x390x5e0x790x71};//将数据存放在程序存储器内
uchar t;
//===============长延时===================================================
void delay_chang(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//===============短延时2us=================================================
void delay_duan(void)
{
_nop_();
_nop_();
}
//===============显示函数===================================================
void display(uchar iuchar j)
{
P0=tableduan[i];//送段选 共阴显示0
P2=tablewe[j];
delay_chang(2);
}
/********************************************************************
I2C执行的几个步骤
1:总线初始化
2:启动信号
3:应答信号
4:停止信号
5:写一个字节
6:读一个字节
7:终止信号
/*************************************************
/********************************************************************
* 名称 : x24c02_init()
* 功能 : 总线初始化子程序
* 输入 : 无
* 输出 : 无
***********************************************************************/
void x24c02_init(void)
{
scl = 1;
delay_duan();
sda = 1;
delay_duan();
}
//将总线都拉高以释放总线
/********************************************************************
* 名称 : start(void)
* 功能 : 启动I2C总线
* 输入 : 无
* 输出 : 无
***********************************************************************/
void start(void)
{
sda = 1;
delay_duan();
scl = 1;
delay_duan();
sda = 0;
delay_duan();
//scl = 0;
//delay_duan();
}
//SCL在高电平期间,SDA一个下降沿启动信号
/********************************************************************
* 名称 : response()
* 功能 : 应答信号
* 输入 : 无
* 输出 : 无
***********************************************************************/
void respons()
{
uchar i=0;
scl=1;
delay_duan();
while((sda==1)&&(i<255)) //若在一段时间内没有收到从期间的应答,主器件默认从器件收到数据不在等待应答
i++; //如果不加此延时退出,一旦器件没有发送应答信号,程序将永远停在这里
scl=0;
delay_duan();
}
//scl在高电平期间,sda被从设备拉为低电平表示应答
/********************************************************************
* 名称 : stop()
* 功能 : 停止I2C总线
* 输入 : 无
* 输出 : 无
***********************************************************************/
void stop
相关资源
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- E4A无障碍跨程序操作类库(带源码、
- labview魔方程序
- 程序员专用字体YaHei.Consolas.1.11b42517
- scratch3.0 源程序(说相声)
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- SVR算法程序可运行
- labview编程软件滤波器以及编写程序设
- 电力系统潮流计算程序集合
- 仿知乎界面小程序源代码
- STM32蓝牙和串口程序
- elantech触控板驱动程序 v13.6.11 官方最
- 根据硬件ID和程序ID生成注册码
- 用python编写的移动彩信的发送程序
- TCL-S1916 ,1924交换机管理程序
- 51单片机PWM程序,占空比、周期可调整
- 嵌入式图形界面MiniGUI的示例程序9例
- 数字频率合成dds正弦波基于FPGA的DDS产
- 28335CAN调试程序
- 导线测量平差程序 很实用
- USB转串口驱动,FT232R驱动程序,最新
- 改进的BP神经网络算法
- 通风网络解算程序 fortran90
- 编写简单的RMI程序 多线程web 服务器
- 图论软件包(图论里的程序)
- A星算法_原理讲解_例子
- MFC程序-碰撞的小球
- 德卡D3读卡器测试程序驱动文件
- Auto CAD_LISP程序集
评论
共有 条评论