亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
基于STM32103FZET6的TFT漢字及觸摸顯示例程
[打印本頁]
作者:
啦啦啦s51hei
時間:
2018-5-22 09:37
標題:
基于STM32103FZET6的TFT漢字及觸摸顯示例程
本例程使用的是2.8寸的TFT屏,本例程是正點原子例程的精簡版,刪去其他TFT屏驅動,刪去SD卡的相關文件、刪去文件管理的相關文件,如果開發板W25內沒有字庫,可以先下載正點原子例程(正點原子例程是 如果檢測不到w25內有字庫的話,會檢測SD卡內的字庫,然后將SD卡內的字庫寫入W25),本例程默認W25里有字庫,上電后直接去W25中尋找字庫,如果沒有找到則無法顯示。
0.png
(45.06 KB, 下載次數: 46)
下載附件
2018-5-23 03:17 上傳
單片機源程序如下:
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "lcd.h"
#include "touch.h"
#include "w25qxx.h"
#include "text.h"
//清空屏幕并在右上角顯示"RST"
void Load_Drow_Dialog(void)
{
LCD_Clear(WHITE); //清屏
POINT_COLOR=BLUE; //設置字體為藍色
LCD_ShowString(lcddev.width-24,0,200,16,16,"RST");//顯示清屏區域
POINT_COLOR=RED; //設置畫筆藍色
}
//電阻觸摸屏測試函數
void rtp_test(void)
{
while(1)
{
tp_dev.scan(0);
if(tp_dev.sta&TP_PRES_DOWN) //觸摸屏被按下
{
if(tp_dev.x[0]<lcddev.width&&tp_dev.y[0]<lcddev.height)
{
if(tp_dev.x[0]>(lcddev.width-24)&&tp_dev.y[0]<16)Load_Drow_Dialog();//清除
else TP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],RED); //畫圖
}
}
}
}
int main(void)
{
u8 fontx[2];//gbk碼
u32 fontcnt;
u8 i,j;
Stm32_Clock_Init(9); //系統時鐘設置
delay_init(72); //延時初始化
uart_init(72,115200); //串口初始化為115200
LCD_Init();
W25QXX_Init(); //初始化W25Q128 和SPI2
POINT_COLOR=RED;
tp_dev.init(); //觸摸屏初始化
while(font_init()) //檢查字庫
{
LCD_Clear(WHITE); //清屏
POINT_COLOR=RED; //設置字體為紅色
LCD_ShowString(30,50,200,16,16,"WarShip STM32");
LCD_ShowString(30,90,200,16,16,"Font Updating...");
LCD_ShowString(30,110,200,16,16,"Font Update Success! ");
delay_ms(1500);
LCD_Clear(WHITE);//清屏
}
POINT_COLOR=RED;
Show_Str(30,50,200,16,"戰艦STM32F103開發板",16,0);
Show_Str(30,70,200,16,"GBK字庫測試程序",16,0);
Show_Str(30,90,200,16,"正點原子@ALIENTEK",16,0);
Show_Str(30,110,200,16,"2015年1月20日",16,0);
Show_Str(30,130,200,16,"按KEY0,更新字庫",16,0);
POINT_COLOR=BLUE;
Show_Str(30,150,200,16,"內碼高字節:",16,0);
Show_Str(30,170,200,16,"內碼低字節:",16,0);
Show_Str(30,190,200,16,"漢字計數器:",16,0);
Show_Str(30,220,200,24,"對應漢字為:",24,0);
Show_Str(30,244,200,16,"對應漢字(16*16)為:",16,0);
Show_Str(30,260,200,12,"對應漢字(12*12)為:",12,0);
while(1)
{
fontcnt=0;
for(i=0x81;i<0xff;i++)
{
fontx[0]=i;
LCD_ShowNum(118,150,i,3,16); //顯示內碼高字節
for(j=0x40;j<0xfe;j++)
{
if(j==0x7f)continue;
fontcnt++;
LCD_ShowNum(118,170,j,3,16); //顯示內碼低字節
LCD_ShowNum(118,190,fontcnt,5,16);//漢字計數顯示
fontx[1]=j;
Show_Font(30+132,220,fontx,24,0);
Show_Font(30+144,244,fontx,16,0);
Show_Font(30+108,260,fontx,12,0);
}
}
}
}
// printf("t:%d\r\n",t);
復制代碼
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "lcd.h"
#include "touch.h"
//清空屏幕并在右上角顯示"RST"
void Load_Drow_Dialog(void)
{
LCD_Clear(WHITE); //清屏
POINT_COLOR=BLUE; //設置字體為藍色
LCD_ShowString(lcddev.width-24,0,200,16,16,"RST");//顯示清屏區域
POINT_COLOR=RED; //設置畫筆藍色
}
//電阻觸摸屏測試函數
void rtp_test(void)
{
while(1)
{
tp_dev.scan(0);
if(tp_dev.sta&TP_PRES_DOWN) //觸摸屏被按下
{
if(tp_dev.x[0]<lcddev.width&&tp_dev.y[0]<lcddev.height)
{
if(tp_dev.x[0]>(lcddev.width-24)&&tp_dev.y[0]<16)Load_Drow_Dialog();//清除
else TP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],RED); //畫圖
}
}
}
}
int main(void)
{
Stm32_Clock_Init(9); //系統時鐘設置
delay_init(72); //延時初始化
uart_init(72,115200); //串口初始化為115200
LCD_Init();
POINT_COLOR=RED;
tp_dev.init(); //觸摸屏初始化
while(1)
{
POINT_COLOR=RED;//設置字體為紅色
LCD_ShowString(30,50,200,16,16,"WarShip STM32");
LCD_ShowString(30,70,200,16,16,"TOUCH TEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,"2015/1/15");
if(tp_dev.touchtype!=0XFF)LCD_ShowString(30,130,200,16,16,"Press KEY0 to Adjust");//電阻屏才顯示
delay_ms(1500);
while(1)
{
Load_Drow_Dialog();
rtp_test(); //電阻屏測試
}
}
}
// printf("t:%d\r\n",t);
復制代碼
所有資料51hei提供下載:
ZE_TFT觸摸顯示.rar
(282.99 KB, 下載次數: 179)
2018-5-23 03:18 上傳
點擊文件名下載附件
內含2個例程,漢字顯示越過SD卡,聲明:本例程只是將正點原子的例程進行精簡,本流程是用的是2.8寸的ALIENT ...
下載積分: 黑幣 -5
作者:
609001504
時間:
2020-2-3 14:23
謝謝,
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1