⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcu.c

📁 FPGA和MCU的并口通信 及MCU和E2PROM(FM25H20)SPI通信
💻 C
字号:
#include <math.h>     
#include <stdio.h>
#include <intrins.h>  
//#include"FM25H20.c"
#include"mcu.h"
#include <C8051F310.h> 



BYTE  address,test_byte;
//sbit  LED=P3^3; 
//sbit P03=P0^3;
sbit P02=P0^2;
sbit P07=P0^7;

main()
{
unsigned char i,j,k;
Initiate();
PORT_Init();
SPI0_Init();
Init_Device (); 
//P0=0x00;

//P3MDIN |= 0x08;                     // P3.3 is digital
//P3MDOUT = 0x08;                     // P3.3 is push-pull
P07=0;
//flag_int_i=0;
TCON&=0xFE;	
//IT01CF    = 0x0B;//管脚P0.3为INT0  1电平有效 
//IT01CF    = 0x03;
IE0=0;
EX0=1;								//允许外部中断
IE|= 0x80; 							// 全局中断打开
//LED=0;
P2=0xff;
P2 &=0x7f;
while(1)
{
 
   //WR();
  
	   //address < EEPROM_CAPACITY;
        
         //test_byte = P2;
   if(P02==1)
   {
         for (address = 0; address < EEPROM_CAPACITY; address++)
       {
           test_byte = 0x00;
           EEPROM_Write (address, test_byte);
        }

    }
      
	  
	
	  
   while(1)
   { 
	if(P2^7==1)
     {
    
    k=P2&0x03;
	switch(k)
     {
	  case(1):
	  ;
      ADDR_H=P2;
	  break;
	  case(2):
	  ;
	  ADDR_M=P2;
	  break;
	  case(3):
      ;
	  ADDR_L=P2;                                                    
	  break;
	  }    

     j=EEPROM_Read();
	 write_fpga(P2,j);
	 
	 }

    k=P2&0x03;
	switch(k)
     {
	  case(1):
      ADDR_H=P2;
	  ADDR_M=0x00;
	  ADDR_L=0x00;
	  break;
	  case(2):
	  ADDR_H=0x00;
	  ADDR_M=P2;
	  ADDR_L=0x00;
	  break;
	  case(3):
	  ADDR_H=0x00;
	  ADDR_M=0x00;
	  ADDR_L=P2;                                                    
	  break;
	  } 

     i=read_fpga(P2);
     EEPROM_Write (i, P1);
     }
	}	/*while(1)
		{
		//erase 
		//addr_and;
		value_chen[0]=0x00;
		EEPROM_Write(0x0,0x3ffff,value_chen);
		}//LED=1;
		//while(1);
	}*/

}
/*void int0_Interrupt (void) interrupt  0
	{
EX0=0;//关闭外部中断
		
	    flag_int_i=1;

*/	

⌨️ 快捷键说明

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