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

📄 main.c

📁 FAT32文件系统源码
💻 C
字号:
  #include <reg52.h>
  #include "fat.h"
  #include "tft.h"
  #include "uart.h"
  #include "sd.h"
  #include "STATIC.H"
  #include "TOUCH.H"
  unsigned char flag=0;
  struct FileInfoStruct *file; 
 
void KEY(unsigned short x,unsigned short y,unsigned char c,unsigned int bcolor)
{ unsigned short i,j;
  LCD_SetPos(x,x+39,y,y+29);
  for(i=y;i<(y+30);i++)
    {for(j=x;j<(x+40);j++) 
	 {Write_Data_U16(bcolor);}
	 bcolor++;
	}
    mode=0;
	LCD_PutChar(x+15,y+6,c,Blue,White);
	mode=1;
}
  
  void main()
  {
  
 
  unsigned char x0=40,y0=180,i,j,m; 
  
  unsigned char s[6];
  unsigned char T1[]={"     12-34-20"};
  unsigned char T[]={"TIME:2009-09-02 WEEK "};

  ILI9325_Initial();  //初始化LCD
   ClearScreen(0,240,0,320,Black);//0xffff
   button(0,0,"    FAT32 test",Green);
   button(0,288,"   SD test",Green);
   LCD_PutString(0,33,"LCD init succfully",White,Black);
  delay(10000);
 UART_Init();  //串口初始化,用以向调试终端发送数据
 LCD_PutString(0,53,"Uart init succfully",White,Black);
 send_s("jizhiwei!!!"); //发送一个测试字符串
 MMC_Init(); //SD卡初始化
 delay(10000);
 MMC_get_volume_info();	  //获得SD卡相关信息,输出到终端
 LCD_PutString(0,73,"Uart init succfully",White,Black);
 
 FAT32_Init(&Init_Arg);	  //FAT32文件系统初始化,装入参数
 Printf("BPB_Sector_No"  ,Init_Arg.BPB_Sector_No);
 Printf("Total_Size"     ,Init_Arg.Total_Size   );
 Printf("FirstDirClust"  ,Init_Arg.FirstDirClust); 
 Printf("FirstDataSector",Init_Arg.FirstDataSector); 
 Printf("BytesPerSector" ,Init_Arg.BytesPerSector); 
 Printf("FATsectors"     ,Init_Arg.FATsectors); 
 Printf("SectorsPerClust",Init_Arg.SectorsPerClust);
 Printf("FirstFATSector" ,Init_Arg.FirstFATSector); 
 Printf("FirstDirSector" ,Init_Arg.FirstDirSector);   //以上几个语句用以输出参数值到终端
 LCD_PutString(0,93,"FAT mount succefully",White,Black);
 ClearScreen(0,240,32,106,Black);//0xffff
 delay(1000);
 //FAT32_EnterRootDir(); 
 /*
 Printf("FAT32_OpenFile" ,(FAT32_OpenFile("\\TEST.TXT"))->FileSize); //打开根目录下的TEST.TXT文件,并输出文件大小 
 LCD_PutString(0,113,"open TXT.TXT view on uart",White,Black);
 FAT32_ReadFile(&FileInfo);
 Printf("FAT32_OpenFile" ,(FAT32_OpenFile("\\MM.BIN"))->FileSize); //打开根目录下的TEST.TXT文件,并输出文件大小 
 LCD_PutString(0,133,"BMP ON Lcd",White,Black);
 FAT32_ReadFileToBMP(&FileInfo,0,240,32,256);
 Printf("FAT32_OpenFile" ,(FAT32_OpenFile("\\BJ.BIN"))->FileSize); //打开根目录下的TEST.TXT文件,并输出文件大小 
 LCD_PutString(0,153,"show pretty woman ON Lcd",White,Black);
 FAT32_ReadFileToBMP(&FileInfo,0,240,32,256);
 LCD_PutString(0,32,"Welcome to my Systerm",White,Black);
 Printf("FAT32_OpenFile" ,(FAT32_OpenFile("\\TXT.BIN"))->FileSize); //打开根目录下的TEST.TXT文件,并输出文件大小 
 FAT32_ReadFileToBMP(&FileInfo,0,50,32,50);
 Printf("FAT32_OpenFile" ,(FAT32_OpenFile("\\MIMA.BIN"))->FileSize); //打开根目录下的TEST.TXT文件,并输出文件大小 
 FAT32_ReadFileToBMP(&FileInfo,51,50,32,50);
 ClearScreen(0,240,0,320,Black);//0xffff
*/ 
button(0,0,"K1",Green);
 button(0,288,"K1",Green);

  
  mode=0;
  ClearScreen(0,240,0,320,Black);
  button(0,0,"  51 TFT Test Systerm",Magenta );
  button(0,288,"Make By Ji Zhi Wei",Magenta );
  rtc_init();
  KEY(50,60,'1',Magenta);
  KEY(91,60,'2',Magenta);
  KEY(132,60,'3',Magenta);
  KEY(50,91,'4',Magenta);
  KEY(91,91,'5',Magenta);
  KEY(132,91,'6',Magenta);
  KEY(50,122,'7',Magenta);
  KEY(91,122,'8',Magenta);
  KEY(132,122,'9',Magenta);
  KEY(50,153,'*',Magenta);
  KEY(91,153,'0',Magenta);
  KEY(132,153,'#',Magenta);
  delayms(100);
  mode=1;
  //EA=1;
  //IT0=1;
  //EX0=1;
  IRQ=1;
  LCD_PutString(13, 234, "X:", White, Black); 
  LCD_PutString(13, 250, "Y:", White, Black);
  while(1)
  {
   Time_Do(1);
   T[7]=(time.year)/16+0x30;
   T[8]=(time.year)%16+0x30;
   T[10]=(time.month)/16+0x30;
   T[11]=(time.month)%16+0x30;
   T[13]=(time.day)/16+0x30;
   T[14]=(time.day)%16+0x30;
   T[21]=(time.week)%16+0x30;

   T1[5]=(time.hour)/16+0x30;
   T1[6]=(time.hour)%16+0x30;
   T1[8]=(time.minute)/16+0x30;
   T1[9]=(time.minute)%16+0x30;
   T1[11]=(time.second)/16+0x30;
   T1[12]=(time.second)%16+0x30;
   LCD_PutString(30, 200, T, White, Black);
   LCD_PutString(30, 216, T1, White, Black);
   if(IRQ==0)
    {
	 AD7843();
   inttostr(TP_X,s);
  LCD_PutString(30, 234, s, White, Black); 
  inttostr(TP_Y,s);
  LCD_PutString(30, 250, s, White, Black);
 
  TP_X=240-((TP_X-250)/15);
  TP_Y=320-((TP_Y-158)/12);//300
  inttostr(TP_X,s);
  LCD_PutString(100, 234, s, White, Black); 
  inttostr(TP_Y,s);
  LCD_PutString(100, 250, s, White, Black);
  if((TP_X>=52)&&(TP_X<=85)&&(TP_Y>=69)&&(TP_Y<=95))
  {	  mode=0;
      KEY(50,60,'1',Blue);
	  mode=1;
	  flag=1;
	  while(!IRQ);
	  mode=0;
      KEY(50,60,'1',Magenta);
	  mode=1;
  }
  IRQ=1;
  DCLK=1;
  DIN=1;
  DCLK=1;
  }
  }
 
while(1);
}

⌨️ 快捷键说明

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