I2C总线读写程序通用.doc

I2C总线读写程序通用.doc

ID:50174260

大小:25.50 KB

页数:4页

时间:2020-03-06

I2C总线读写程序通用.doc_第1页
I2C总线读写程序通用.doc_第2页
I2C总线读写程序通用.doc_第3页
I2C总线读写程序通用.doc_第4页
资源描述:

《I2C总线读写程序通用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//==========================头文件加载===============================#include//加载52系列单片机头文件//===========================端口声明================================sbitCLK=P3^6;//74hc574时钟信号线sbitG=P2^4;//74hc574使能sbitIIC_SDA=P2^6;//声明IIC总线的数据线接在单片机的P2.5端口。sbitIIC_SCL=P2^5;//声明IIC总线的时钟线接在单片机的

2、P2.7端口。unsignedchartabl[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0BF,0x8C};//0,1,2,3,4,5,6,7,8,9,-,P//===========================函数声明================================voiddisplay(unsignedcharaa);voiddelay(unsignedintt);voiddelay_IIC(void);voidIIC_Init(void);voidIIC_start(void

3、);voidIIC_stop(void);bitIIC_Tack(void);voidIIC_single_byte_write(unsignedcharDaddr,unsignedcharWaddr,unsignedcharData);unsignedcharIIC_single_byte_read(unsignedcharDaddr,unsignedcharWaddr);voidIIC_write_byte(unsignedcharData);unsignedcharIIC_read_byte(void);//============================

4、主函数=================================voidmain()//主函数{unsignedcharData=2,addr=0x01;//---------------------------系统初始化--------------------------IIC_Init();//初始化IIC总线。//P1=0x7f;//LED8先亮。while(1)//死循环{IIC_single_byte_write(0xa0,0x02,Data);//保存LED的状态delay(50000);//延时约0.5SData=IIC_single_byte_r

5、ead(0xa0,0x02);//读出LED的状态if(Data<10)Data++;elseData=0;display(Data);delay(50000);//延时约0.5S}}//==========================功能子函数===============================voiddelay(unsignedintt){//延时函数while(t){t--;};//延时循环计数}//-------------------------------------------------------------------voiddelay

6、_IIC(void){//IIC总线限速延时函数。//该函数是空函数,延时4个机器周期。;;}//-------------------------------------------------------------------voidIIC_Init(void){//IIC总线初始化函数IIC_SDA=1;//释放IIC总线的数据线。IIC_SCL=1;//释放IIC总线的时钟线。}//-------------------------------------------------------------------voidIIC_start(void){//I

7、IC总线产生起始信号函数IIC_SDA=1;//拉高数据线IIC_SCL=1;//拉高时钟线delay_IIC();IIC_SDA=0;//在时钟线为高电平时,拉低数据线,产生起始信号。delay_IIC();IIC_SCL=0;//拉低时钟线}//-------------------------------------------------------------------voidIIC_stop(void){//IIC总线产生停止信号函数IIC_SDA=0;//拉低数据线delay_IIC();IIC_SCL=1;//拉高时钟线

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。