main.c

来自「2407DSP开发应用程序实例(有14个常用模块程序)」· C语言 代码 · 共 72 行

C
72
字号
#include "f2407_c.h"
#include "user.h"

#include "I2C.c"
#include "eeprom.c"     
interrupt void phantom(void)
{	return;
}		
MainInit()
{	
    	asm(" SETC INTM");
	asm(" CLRC OVM");
	asm(" CLRC CNF");
	
	*SCSR1=0x81FF;          	/* 对系统时钟进行4倍频 */   
	//关看门狗 
    	*WDCR=0xE8;    
	*IFR=0xFFFF;		/* 清中断标志 */  
    	*IMR=0x0;		/* 使能中断INT5,INT4,INT3,INT2 */
    	WSGR=0x0FFF1;/*不使能所有的等待状态*/
	
}
I2C_init()
{	year_base=0x2004;			//PCF8583的年份时基
	*MCRC=*MCRC&0x03FF;		//IOPF2:SCL;IOPF3:SDA;IOPF5:SCL;IOPF6:SDA;IOPF4:WP	
	*PFDATDIR=*PFDATDIR|0xFCFC;	//SCL=SDA=1;IOPF2,IOPF3,IOPF4,IOPF5,IOPF6:OUTPUT;
}



main() 
{	unsigned int k,data1,i;
	MainInit();				/*调主程序初始化子程序*/
	I2C_init();


//	写日历时钟程序


	chtime[0]=0x2004;		//2004年			
	chtime[1]=0x0106;		//01月06日
	chtime[2]=0x0220;		//星期2 22点
	chtime[3]=0x3450;		//34分50秒
	time_write();
	/*k=byte_wr(0x21,0x0);
	data1=byte_rd(0x21); 
    k=byte_wr(0x09,0x09);
	data1=byte_rd(0x09);
	k=byte_wr(0x6,0x89);
	data1=byte_rd(0x6);
	k=byte_wr(0x12,0x36);
	data1=byte_rd(0x12);
	k=byte_wr(0x26,0x20);
	data1=byte_rd(0x26);*/
	
//	读日历时钟			//读出的参数放在time[5]数组中
    time_read();
//eeprom
    k=prom_byte_wr(0x21,0x3);
    delay(580*10);
	data1=prom_byte_rd(0x21); 
	delay(580);
    k=prom_wr(0x30,source,6); 
    delay(580*10);  //must add delay(580*3)between prom_wr and prom_rd!!!!!!!!
	k=prom_rd(0x30,result,6);
	i=1;
	while(1)
		{
		time_read();
		asm(" nop");
		}
}				

⌨️ 快捷键说明

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