main.c

来自「凌阳单片机(SPCE061A)IIC总线驱动程序」· C语言 代码 · 共 97 行

C
97
字号
//========================================================================

//========================================================================
//项目名称:AT24C64
//功能描述:在SPCE061A上模拟IIC总线时序进行数据的读写实验
//注意事项:AT24C64接上拉电阻
//组成文件:main.c IIC.c zfs.h
//日期:2007.03.18
//作者:张丰盛
//审核:张丰盛
//================================================================

//================================================================
#include "zfs.h"

extern void IIC_Start(void);
extern void IIC_Stop(void);
extern void IIC_Ack(void);
extern void IIC_Unack(void);
extern unsigned int IIC_Cack(void);
extern void IIC_Wrbyte(unsigned int data);
extern unsigned int IIC_Rdbyte(void);
extern void Rdnbyte(unsigned int *P,unsigned int Addr,unsigned int N);

//===============================================================

//===============================================================
//函数名称:void system_inital()
//函数功能:系统的初使化
//输入参数:无
//输出参数:无
//日期:2007.03.18
//===============================================================
void system_inital()
{
	*P_IOB_Dir=0xffff;
	*P_IOB_Attrib=0xffff;
	*P_IOB_Data=0x0003;
}

//===============================================================

//===============================================================
//函数名称:void main(void)
//函数功能:系统功能的综合
//输入参数:无
//输出参数:无
//日期:2007.03.18
//===============================================================
void main(void)
{
	unsigned int temp=0;
	system_inital();
	IIC_Start();               //写数据到AT24C64	
    IIC_Wrbyte(0xa0);          //器件地址与写命令
    temp=IIC_Cack();
    IIC_Wrbyte(0x00);          //写地址0x0000高字节
    temp=IIC_Cack();
    IIC_Wrbyte(0x00);          //写地址0x0000低字节
    temp=IIC_Cack();
    IIC_Wrbyte(0x88);          //写数据0xaa到0000处
    temp=IIC_Cack();
	IIC_Stop();
	
	IIC_Start();               //读AT24C64
    IIC_Wrbyte(0xa0);          //写入地址和写命令
    temp=IIC_Cack();   
    IIC_Wrbyte(0x00);          //写地址0x0000高字节
    temp=IIC_Cack();
    IIC_Wrbyte(0x00);          //写地址0x0000低字节
    temp=IIC_Cack();
    IIC_Start();
    IIC_Wrbyte(0xa1);          //器件地址与读命令
    temp=IIC_Cack();   
    temp=IIC_Rdbyte();
    IIC_Unack();
	IIC_Stop();
	
	
}
//===============================================================

//===============================================================
//函数名称:
//函数功能:
//输入参数:
//输出参数:
//日期:2007.
//===============================================================

//===============================================================

//===========================================================================
//main.c结束
//===========================================================================
			
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?