📄 main.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 + -