標(biāo)題:
Stm32 ILI9431 3寸觸摸屏源程序與資料下載
[打印本頁]
作者:
badmaker
時(shí)間:
2019-1-9 18:32
標(biāo)題:
Stm32 ILI9431 3寸觸摸屏源程序與資料下載
一、用STM32控制TFTLCD顯示的編程方法,在編程驅(qū)動(dòng)TFTLCD液晶顯示器之前,我們先熟悉以下概念:
1、色彩深度,這是一個(gè)與TFTLCD顯存對(duì)應(yīng)的概念;所謂色彩深度就是每個(gè)像素點(diǎn)需要多少位的RGB
數(shù)據(jù)表示該點(diǎn)的顏色信息。注意,不同的TFTLCD顯示器的RGB的對(duì)應(yīng)關(guān)系不一樣,這個(gè)可以在LCD
控制芯片手冊(cè)中找到答案。
例: 某LCD顯示支持8、16、24位RGB,這些位數(shù)是指該像素點(diǎn)顏色由8、16、24位RGB構(gòu)成,但是
R\G\B三種顏色各占的位數(shù)可以查看數(shù)據(jù)手冊(cè)。
2、TFTLCD的操作分為兩種:
A、對(duì)控制寄存器的讀寫操作(即程序員將要操作LCD顯存寄存器的地址設(shè)置成可讀或者可寫)。
B、對(duì)顯存寄存器的讀寫操作(即讀寫LCD顯存寄存器)。
3、TFTLCD有一個(gè)索引寄存器,對(duì)控制寄存器操作前,需要對(duì)索引寄存器進(jìn)行定入操作,用以指明
寄存器讀寫是針對(duì)那個(gè)寄存器的,具體操作步驟如下:
RS為低電平狀態(tài)下,寫入兩個(gè)字節(jié)的數(shù)據(jù),第一個(gè)字節(jié)為零,第二個(gè)字節(jié)為寄存器索引值。
RS為高電平狀態(tài)下,讀取兩個(gè)字節(jié)數(shù)據(jù),第一個(gè)字節(jié)為高八位,第二個(gè)字節(jié)為低八位。
0.png
(53.15 KB, 下載次數(shù): 26)
下載附件
2019-1-10 02:09 上傳
程序功能介紹:上電后屏幕顯示40*40小圖片若干和一些字符。按S4按鍵會(huì)顯示純色,每按一次顏色變一次,紅綠藍(lán)交替顯示.
單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "24cxx.h"
#include "flash.h"
#include "flash.h"
#include "spi.h"
u8 state=0;
void beepms(u16 va);
void xianshi(void);//顯示信息
void refshow(void);//刷新顯示
void Load_Drow_Dialog(void)
{
LCD_Clear(WHITE);//清屏
POINT_COLOR=BLUE;//設(shè)置字體為藍(lán)色
LCD_ShowString(lcddev.width-24,0,200,16,16,"RST");//顯示清屏區(qū)域
POINT_COLOR=RED;//設(shè)置畫筆藍(lán)色
}
void xianshi()//顯示信息
{
BACK_COLOR=WHITE;
POINT_COLOR=RED;
//顯示32*32漢字
showhanzi32(0,0,0); //淘
showhanzi32(40,0,1); //晶
showhanzi32(80,0,2); //馳
//顯示16*16漢字
showhanzi16(0,35,0); //專
showhanzi16(20,35,1); //注
showhanzi16(40,35,2); //顯
showhanzi16(60,35,3); //示
showhanzi16(80,35,4); //方
showhanzi16(100,35,5); //案
LCD_ShowString(0,55,200,16,16,"2.2 TFT SPI 240*320");
}
void showqq()
{
u16 x,y;
x=0;
y=75;
while(y<lcddev.height-39)
{
x=0;
while(x<lcddev.width-39)
{
showimage(x,y);
x+=40;
}
y+=40;
}
}
void refshow(void) //刷新顯示
{
switch(state)
{
case 0:
LCD_Clear(WHITE);
xianshi();
showqq();
break;
case 1:
LCD_Clear(BLACK);
break;
case 2:
LCD_Clear(RED);
break;
case 3:
LCD_Clear(GREEN);
break;
case 4:
LCD_Clear(BLUE);
break;
}
}
void jiance(u8 key) //檢測(cè)按鍵
{
if(key==2)
{
state++;
if(state==5)
{
state=0;
}
refshow();//刷新顯示
}
}
void beepms(u16 va)
{
beep=1;
delay_ms(va);
beep=0;
}
int main(void)
{
u16 i=0;
u8 key=0;
delay_init(); //延時(shí)函數(shù)初始化
NVIC_Configuration(); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
uart_init(9600); //串口初始化為9600
LED_Init(); //LED端口初始化
SPI_Flash_Init();//初始化Flash;
KEY_Init(); //按鍵初始化
SPI1_Init(); //SPI1初始化
LCD_Init();
POINT_COLOR=RED;//設(shè)置字體為紅色
xianshi(); //顯示信息
showqq(); //顯示QQ
while(1)
{
key=KEY_Scan(0);//掃描按鍵
jiance(key);//檢測(cè)按鍵
i++;
if(i==65000)
{
i=0;
LED0=!LED0;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
3寸觸摸屏.7z
(4.04 MB, 下載次數(shù): 99)
2019-1-10 02:11 上傳
點(diǎn)擊文件名下載附件
Stm32程序
下載積分: 黑幣 -5
作者:
wenbin168
時(shí)間:
2022-8-26 01:40
非常感謝 剛進(jìn)了9431屏
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1