📄 main.c
字号:
#include <LPC213x.h>
#include <stdio.h>
#include "mygpio.h"
#include "myclock.h"
#include "Delay.h"
#include "SPI.h"
#include "LCD.h"
#include "LCDApp.h"
#include "LCDGUI.h"
#include "LCDprint.h"
#include "Touch.h"
#include "Flash.h"
//#include "PicDeclare.h"
extern unsigned int GX,GY,BACKCOL,FRONTCOL,SIZE;
void PWM_Init()
{
PINSEL1 = (PINSEL1 & (~(3 << 10))) | (1 << 10); //P0.21连接PWM5
PWMPR = Fpclk / 40000-1; // 对pclk进行分频
PWMMCR = 0x02; // PWMMR0与PWMTC匹配时复位PWMTC
PWMPCR = (1 << 13);
PWMMR0 = 20; // PWM速率控制/计数初值
PWMMR5 = 10; // PWM6的位置
PWMLER = 0x7F; // 锁存所有PWM匹配值
PWMTCR = 0x02; // 复位PWMTC
PWMTCR = 0x09; // 使能PWM
}
void Bar(void)
{
unsigned int i,j;
unsigned char R_data=0;
unsigned char G_data=0;
unsigned char B_data=0;
SetRamAddr(0,320-48);
SendCom(0x22);
for(j=0;j<8;j++)//红色渐强条
{
R_data=0;G_data=0;B_data=0;
for(i=0;i<120;i++)
{
R_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
for(i=0;i<120;i++)
{
G_data=i*8/15;
B_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
}
//----------------------------------
for(j=0;j<8;j++)//绿色渐强条
{
R_data=0;G_data=0;B_data=0;
for(i=0;i<120;i++)
{
G_data=i*8/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
for(i=0;i<120;i++)
{
R_data=i*4/15;
B_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
}
//----------------------------------
for(j=0;j<8;j++)//蓝色渐强条
{
R_data=0;G_data=0;B_data=0;
for(i=0;i<120;i++)
{
B_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
for(i=0;i<120;i++)
{
G_data=i*8/15;
R_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
}
//----------------------------------
for(j=0;j<8;j++)
{
R_data=0;G_data=0;B_data=0;
for(i=0;i<120;i++)
{
B_data=i*4/15;
G_data=i*8/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
for(i=0;i<120;i++)
{
R_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
}
//----------------------------------
for(j=0;j<8;j++)
{
R_data=0;G_data=0;B_data=0;
for(i=0;i<120;i++)
{
B_data=i*4/15;
R_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
for(i=0;i<120;i++)
{
G_data=i*8/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
}
//----------------------------------
for(j=0;j<8;j++)
{
R_data=0;G_data=0;B_data=0;
for(i=0;i<120;i++)
{
R_data=i*4/15;
G_data=i*8/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
for(i=0;i<120;i++)
{
B_data=i*4/15;
SendDat(R_data<<11|G_data<<5|B_data);
}
}
}
void GreenGradient(void)
{
unsigned int i,j;
unsigned char R_data=0;
unsigned char G_data=0;
unsigned char B_data=0;
SetRamAddr(0,0);
SendCom(0x22);
for(j=0;j<320;j++)
for(i=0;i<240;i++)
{
G_data=(i*4+j*3)/30;
SendDat(R_data<<11|G_data<<5|B_data);
}
}
int main (void)
{
unsigned int j;
unsigned char i=10,flag=0;
PWM_Init();
MSPIInit(); //初始化SSP接口
TPIOInit();
FlashIOInit();
LcdIOInit();
LcdReset();
LcdInit();
// DISCLEAR;
// GreenGradient();
DispOneColor(YELLOW);
Bar();
// FillBox(150,30,210,160,BLUE);
// DispBitPic(170,30,56,36,bitPic,RED,WHITE);
// DispSmallPic(120, 80, 109, 40, pic2);
SendCom(0x00); //before read! do not delete!
printf("The IC code is:该液晶屏控制芯片:\n%4x --Read From IC(HEX)\n",ReadCom());
SetPrintf(15,260,BLACK,WHITE,NORMAL,12);
printf("SPI-Interface LCD已重新规划程序代码");
SetPrintf(0,200,BLACK,BLUE,TRANSP,12);
printf("支持大小字体英文汉字:");
SetPrintf(REMAIN,REMAIN,REMAIN,REMAIN,REMAIN,16);
printf("Big大字");
SetPrintf(REMAIN,REMAIN,REMAIN,REMAIN,REMAIN,12);
printf("Small小字");
SetPrintf(0,80,WHITE,BLACK,NORMAL,16);
printf("触摸测试:\n");
LED1_OUT;
LED1_0;
while(1)
{
int x=0;
int y=0;
if (KEY2_ON)
i--;
if (KEY3_ON)
i++;
if ((KEY2_ON) && (KEY3_ON))
i=10;
if ((KEY2_ON) || (KEY3_ON))
flag=1;
if (i==0)
i=1;
if (i==21)
i=20;
SetPrintf(0,128,BLACK,WHITE,NORMAL,16);
printf("PWM:%3d%%Duty",i*5);
if (flag)
{
flag=0;
PWMMR5 = i;
PWMLER = 1 << 5 ;
}
SetPrintf(0,96,BLACK,YELLOW,NORMAL,16);
if (TP_INT_READ == 0)
{
LED1_INV;
TPAdXY(&x, &y);
printf("X%4d\nY%4d",(y & 0xfff)/15,(x & 0xfff)/10);
}
Delay_Macro(50000*15,j);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -