大家可以參考采納
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "lcd.h"
- #include "key.h"
- #include "usmart.h"
- #include "malloc.h"
- #include "MMC_SD.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "fontupd.h"
- #include "text.h"
- #include "ds18b20.h"
- #include "timer.h"
- //ALIENTEK Mini STM32開發(fā)板范例代碼30
-
- int main(void)
- {
- // delay_init(); //延時函數(shù)初始化
- // NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級分組2
- // LED_Init(); //初始化與LED連接的硬件接口
- // TIM3_Int_Init(4999,7199);//10Khz的計數(shù)頻率,計數(shù)到5000為500ms
-
-
- u8 a=60;
- short temperature;
- u32 fontcnt;
- u8 i,j;
- u8 fontx[2];//gbk碼
- u8 key,t;
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級分組2
- delay_init(); //延時函數(shù)初始化
- uart_init(9600); //串口初始化為9600
- LCD_Init(); //初始化液晶
- LED_Init(); //LED初始化
- KEY_Init(); //按鍵初始化
- usmart_dev.init(72); //usmart初始化
- mem_init(); //初始化內(nèi)存池
- exfuns_init(); //為fatfs相關(guān)變量申請內(nèi)存
- f_mount(fs[0],"0:",1); //掛載SD卡
- f_mount(fs[1],"1:",1); //掛載FLASH.
- DS18B20_Init();
-
- while(font_init()) //檢查字庫
- {
- UPD:
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //設(shè)置字體為紅色
- LCD_ShowString(60,50,200,16,16,"mini STM32");
- key=update_font(20,110,16);//更新字庫
- while(key)//更新失敗
- {
- LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
- delay_ms(200);
- LCD_Fill(20,110,200+20,110+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(60,110,200,16,16,"Font Update Success!");
- delay_ms(1500);
- LCD_Clear(WHITE);//清屏
- }
- POINT_COLOR=BLUE;
- Show_Str(60,50,200,16,"2017年5月4日",16,0);
- while(DS18B20_Init()) //DS18B20初始化
- {
- LCD_ShowString(60,70,200,16,16,"DS18B20 Error");
- delay_ms(200);
- LCD_Fill(60,130,239,130+16,WHITE);
- delay_ms(200);
- }
- POINT_COLOR=BLUE;//設(shè)置字體為藍色
-
- LCD_ShowString(60,90,200,16,16,"Temp: . C");
- LCD_Fill(201,279,219,300,BLUE);
- LCD_Draw_Circle(120,200,80);//畫圓
- LCD_Draw_Circle(210,290,15);//顯示按鍵圓圈
- LCD_DrawLine(120,200,120,130);//顯示分針
- LCD_DrawLine(120,200,130,150);//顯示時針
- LCD_DrawLine(120,266,115,274);
- LCD_DrawLine(115,274,125,274);
- LCD_DrawLine(120,266,125,274);//顯示6的三角形
- LCD_DrawLine(47,197,42,204);
- LCD_DrawLine(42,204,52,204);
- LCD_DrawLine(47,197,52,204);//顯示9的三角形
- LCD_DrawLine(120,126,115,135);
- LCD_DrawLine(115,135,125,135);
- LCD_DrawLine(125,135,120,126);//顯示12的三角形
- LCD_DrawLine(193,197,188,204);
- LCD_DrawLine(188,204,198,204);
- LCD_DrawLine(198,204,193,197); //顯示3的三角形
- LCD_ShowString(100,230,200,16,16,"00: ");
- POINT_COLOR=RED;
- LCD_DrawLine(120,200,100,123);//顯示秒針
- LCD_DrawRectangle(80,220,160,260);//畫矩形
- while(1)
- {
- if(t%10==0)//每100ms讀取一次
- {
- temperature=DS18B20_Get_Temp();
- if(temperature<0)
- {
- LCD_ShowChar(60+40,150,'-',16,0); //顯示負號
- temperature=-temperature; //轉(zhuǎn)為正數(shù)
- }
- else
- POINT_COLOR=BLUE;
- LCD_ShowChar(60+40,90,' ',16,0); //去掉負號
- LCD_ShowNum(60+40+8,90,temperature/10,2,16); //顯示正數(shù)部分
- LCD_ShowNum(60+40+32,90,temperature%10,1,16); //顯示小數(shù)部分
- }
- delay_ms(10);
- t++;
- if(t==20)
- {
- t=0;
- LED0=!LED0;
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
漢字顯示實驗+溫度+圖形+倒計時按鍵.rar
(993.61 KB, 下載次數(shù): 91)
2017-12-9 00:07 上傳
點擊文件名下載附件
stm32 顯示圖像的程序
|