stm32 4.3寸LCD漢字顯示源碼 可直接使用
單片機源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd.h"
- #include "key.h"
- #include "usmart.h"
- #include "malloc.h"
- #include "sdio_sdcard.h"
- #include "w25qxx.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "text.h"
- int main(void)
- {
- u32 fontcnt;
- u8 i,j;
- u8 fontx[2];//gbk碼
- u8 key,t;
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
- uart_init(115200); //串口初始化為115200
- usmart_dev.init(72); //初始化USMART
- LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); //初始化按鍵
- LCD_Init(); //初始化LCD
- W25QXX_Init(); //初始化W25Q128
- my_mem_init(SRAMIN); //初始化內部內存池
- exfuns_init(); //為fatfs相關變量申請內存
- f_mount(fs[0],"0:",1); //掛載SD卡
- f_mount(fs[1],"1:",1); //掛載FLASH.
- while(font_init()) //檢查字庫
- {
- UPD:
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //設置字體為紅色
- LCD_ShowString(30,50,200,16,16,"ELITE STM32F103 ^_^");
- while(SD_Init()) //檢測SD卡
- {
- LCD_ShowString(30,70,200,16,16,"SD Card Failed!");
- delay_ms(200);
- LCD_Fill(30,70,200+30,70+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(30,70,200,16,16,"SD Card OK");
- LCD_ShowString(30,90,200,16,16,"Font Updating...");
- key=update_font(20,110,16,"0:");//更新字庫
- while(key)//更新失敗
- {
- LCD_ShowString(30,110,200,16,16,"Font Update Failed!");
- delay_ms(200);
- LCD_Fill(20,110,200+20,110+16,WHITE);
- delay_ms(200);
- }
- 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);
- t=200;
- while(t--)//延時,同時掃描按鍵
- {
- delay_ms(1);
- key=KEY_Scan(0);
- if(key==KEY0_PRES)goto UPD;
- }
- LED0=!LED0;
- }
- }
- }
- }
復制代碼
所有資料51hei提供下載:
實驗37 漢字顯示實驗.rar
(1.61 MB, 下載次數: 97)
2018-7-20 23:33 上傳
點擊文件名下載附件
|