//x,y :起點座標
//len :小數點後的位數
//size:字型大小,此處省略,預設1608字型
//color:顏色,此處僅保留前景色,可自行修改
//num:數值(0~4294967295);
void
lcd_shownum
(u16 x,u16 y,float num,u8 len,u16 color)
[html]
view plain
copy
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
void init()
int main(void)
while(1)
} 注意到初始化那,因為lcd初始化的時候有用到printf,所以一定要初始化串列埠,不然會宕機tat
對於point_color,顧名思義,而且也可以在庫中找到定義,就是定義畫筆顏色(相當於字型的顏色)
[html]
view plain
copy
u16
point_color
=0x0000
; //畫筆顏色
u16 back_color
=0xffff
; //背景色
我們定義為black(黑色),也可以修改為別的顏色(對應相應的大寫英文)
lcd_clear(color); 這個函式是清屏+填充顏色 (顏色同上)
lcd_showstring()函式:
[html]
view plain
copy
//顯示字串
//x,y:起點座標
//width,height:區域大小
//size:字型大小
//*p:字串起始位址
void lcd_showstring(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p)
字型大小有3種選擇,12 ,16,24 前兩個引數好填,x,y就是起始座標,而區域大小填 (200,字型大小(3種選擇))最後乙個引數應該很好理解就不多說了
最後我們令 while(1);卡住程式以顯示靜止的畫面
顏色庫[html]
view plain
copy
//畫筆顏色
#define white 0xffff
#define black 0x0000
#define blue 0x001f
#define bred 0xf81f
#define gred 0xffe0
#define gblue 0x07ff
#define red 0xf800
#define magenta 0xf81f
#define green 0x07e0
#define cyan 0x7fff
#define yellow 0xffe0
#define brown 0xbc40 //棕色
#define brred 0xfc07 //棕紅色
#define gray 0x8430 //灰色
下面是一些畫圖函式
快速畫點
[html]
view plain
copy
//快速畫點
//x,y:座標
//color:顏色
void lcd_fast_drawpoint(u16 x,u16 y,u16 color)
畫線[html]
view plain
copy
//畫線
//x1,y1:起點座標
//x2,y2:終點座標
void lcd_drawline(u16 x1, u16 y1, u16 x2, u16 y2)
畫矩形,給出矩形對角線上的兩個端點座標即可。
[html]
view plain
copy
//畫矩形
void lcd_drawrectangle(u16 x1, u16 y1, u16 x2, u16 y2)
畫圓[html]
view plain
copy
//在指定位置畫乙個指定大小的圓
//(x,y):中心點
//r :半徑
void lcd_draw_circle(u16 x0,u16 y0,u8 r)
在指定區域填充單一顏色(只能是指定矩形區域)而且給的的座標只能是 sx<=ex && sy<=ey
[html]
view plain
copy
//在指定區域內填充指定顏色
//區域大小:(xend-xsta+1)*(yend-ysta+1)
//xsta
//color:要填充的顏色
void lcd_fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 color)
在指定區域填充顏色塊,同上,只不過顏色要放到陣列裡面傳過去
[html]
view plain
copy
//在指定區域內填充指定顏色塊
//(sx,sy),(ex,ey):填充矩形對角座標,區域大小為:(ex-sx+1)*(ey-sy+1)
//color:要填充的顏色
void lcd_color_fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)
還有一些好玩的函式
橫屏顯示
[html]
view plain
copy
//設定lcd顯示方向
//dir:0,豎屏;1,橫屏
void lcd_display_dir(u8 dir)
開啟/關閉顯示
[html]
view plain
copy
//lcd開啟顯示
void lcd_displayon(void)
//lcd關閉顯示
void lcd_displayoff(void)
STM32學習 LCD的使用
原理 lcd即液晶顯示器,給液晶施加電場,會改變它的分子排列,從而改變光線傳播方向,配合偏振光片,它就具有控制光線透過率的作用,再配合彩色濾光片,就能改變某一顏色透光量的多少。做出可控紅 綠 藍光輸出強度的顯示結構,組成乙個顯示單位,通過控制紅綠藍的強度,可以使該單位混合輸出不同的色彩,這樣的乙個顯...
STM32學習筆記 五 NVIC
三 中斷程式設計 f407在核心水平上搭載了乙個異常響應系統,支援為數眾多的系統異常和中斷,其中系統異常有10個,中斷有82個。nvic是巢狀向量中斷控制器,控制著整個晶元中斷相關的功能,它跟核心緊密耦合,是核心裡面的乙個外設。在配置中斷的時候一般只用iser icer和ip這三個暫存器,iser用...
STM32學習筆記
剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...