測試 ILI9341 LCD 液晶屏,主要是測試 LCD 液晶屏的顏色、圖案和文字。需要顯示不同的東西,祇需要更改 LCD 屏內每個點(Dot Pixel)的顏色,因為點是可以構成不同的圖案和文字,所以控制點的顏色便可以做出不同的圖案顯示。顯示顏色點是將顏色數據直接寫入每個點(Dot Pixel)內,LCD 便會顯示出每點的顏色,不同顏色的點便會變成圖案或文字。
PIC24FJ64GA008 ILI9341 LCD 液晶屏測試程式 |
PIC24FJ64GA008 ILI9341 LCD 液晶屏測試程式 |
Microchip PIC24FJ64GA008 ILI9341 LCD 液晶屏 ClearDevice 程式:
void ClearDevice(void){
DWORD counter;
CS_LAT_BIT = 0;
for(counter=0;
counter<(DWORD)(GetMaxX()+1)*(GetMaxY()+1); counter++){
WriteData(_color.v[1],_color.v[0]);
}
CS_LAT_BIT = 1;
MoveTo(0,0);
}
|
Microchip PIC24FJ64GA008 ILI9341 LCD 液晶屏 LCD_ShowString 程式:
void LCD_ShowString(short x, short y, short width, short height,
char size, char *p,char mode)
{
static short xx, yy,
zz; // Keep Memory
if (mode == 0) { zz=0;}else
if (mode == 1) { zz=1;}else
if (mode == 2) { x=xx; y=yy;zz=1;}else // Mode 1 = Follow Continue Mode
if (mode == 3) { zz=1;}
while((*p<='~')&&(*p>=' '))
{
if(x>(SCREEN_HOR_SIZE-1)){x=0;y+=size;}
if(y>=(SCREEN_VER_SIZE-1))
return;
LCD_ShowChar(x,y,width,height,size,*p,mode);
x+=size/2;
p++;
}
if (zz==1){ xx=x; yy=y;} // Mode 1 = Continue Mode
}
|
Microchip PIC24FJ64GA008 ILI9341 LCD 液晶屏 LCD_ShowChar 程式:
void LCD_ShowChar(short x,short y,short width, short height,char
size,unsigned char num,char mode)
{
char temp;
unsigned char pos,t;
short y0=y;
unsigned char
csize=(size/8+((size%8) ?1:0)) * (size/2);
num=num-32;
for(pos=0;pos
{
if(size==12)temp=asc2_1206[num][pos];
else
if(size==16)temp=asc2_1608[num][pos];
else
temp=asc2_2412[num][pos];
for(t=0;t< width ;t++)
{
if(temp&0x80)Glcd_Pixel(x,y,BLACK);
else
Glcd_Pixel(x,y,WHITE);
temp<<=1;
y++;
if ((y-y0)==size)
{ y=y0;
x++;
}
}
}
}
|
2016年 6月 28日 天氣報告
氣溫:27.9度 @ 21:20
相對濕度:百分之 92%
天氣:微雨
沒有留言:
張貼留言