标题:
用TFTLCD显示汉字,6路PWM矩阵键盘控制源码
[打印本页]
作者:
LIU199610064157
时间:
2018-7-18 17:05
标题:
用TFTLCD显示汉字,6路PWM矩阵键盘控制源码
本人萌新,基于STM32的6路PWM控制,并且用矩阵键盘分别去控制六路占空比,并做了48*48的字库在LCD上显示。
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "timer.h"
extern void LCD_ShowHZ(u16 x,u16 y,u8 num);
extern void LCD_ShowHZStr(u16 x,u16 y,u8* pstr);
extern float A;
extern float B;
extern float C;
extern float D;
extern float E;
extern float F;
int main(void)
{
int key;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
LCD_Init();
Key_Config();
TIM3_PWM_Init(899,15);
TIM4_PWM_Init(899,15);
TIM2_Int_Init(1,7199); //定时器2中断初始化
POINT_COLOR=RED;
POINT_COLOR=BLUE;//字体为蓝色
LCD_ShowHZ(0,0,0);//显示速字
LCD_ShowHZ(48,0,1);//显示度字
LCD_ShowHZ(96,0,3);
LCD_ShowHZ(144,0,2);
POINT_COLOR=RED;//字体为红色
LCD_ShowHZ(0,48,0);//显示速字
LCD_ShowHZ(48,48,1);//显示度字
LCD_ShowHZ(96,48,4);//显示:
LCD_ShowHZ(144,48,2);
POINT_COLOR=BROWN;//字体为黄色
LCD_ShowHZ(0,96,0);//显示速字
LCD_ShowHZ(48,96,1);//显示度字、
LCD_ShowHZ(96,96,5);
LCD_ShowHZ(144,96,2);
POINT_COLOR=BLACK;//字体为黑色
LCD_ShowHZ(0,144,0);//显示速字
LCD_ShowHZ(48,144,1);//显示度字
LCD_ShowHZ(96,144,6);
LCD_ShowHZ(144,144,2);
POINT_COLOR=GREEN;//字体为绿色
LCD_ShowHZ(0,192,0);//显示速字
LCD_ShowHZ(48,192,1);//显示度字
LCD_ShowHZ(96,192,7);
LCD_ShowHZ(144,192,2);
POINT_COLOR=BRRED;
LCD_ShowHZ(0,240,0);//显示速字
LCD_ShowHZ(48,240,1);//显示度字
LCD_ShowHZ(96,240,8);
LCD_ShowHZ(144,240,2);
POINT_COLOR=MAGENTA;//字体为紫色
while(1)
{
key=KeyScan();
//LCD_ShowxNum(140,288,5,3,48,0X80);
//LCD_ShowString(140,288+144,200,200,48,":;'/.");
switch(key)
{
case 1:A=A+0.2;break;
case 2:A=A-0.2;break;
case 3:B=B+0.2;break;
case 4:B=B-0.2;break;
case 5:C=C+0.2;break;
case 6:C=C-0.2;break;
case 7:D=D+0.2;break;
case 8:D=D-0.2;break;
case 9:E=E+0.2;break;
case 10:E=E-0.2;break;
case 11:F=F+0.2;break;
case 12:F=F-0.2;break;
}
LCD_ShowNum(180,0 ,10*(A-5),2,48);
LCD_ShowNum(180,48 ,10*(B-5),2,48);
LCD_ShowNum(180,96 ,10*(C-5),2,48);
LCD_ShowNum(180,144 ,10*(D-5),2,48);
LCD_ShowNum(180,192 ,10*(E-5),2,48);
LCD_ShowNum(180,240 ,10*(F-5),2,48);
//LCD_ShowNum(144,288+96 ,key,2,48);
if(A<5)//控制占空比在规定范围内
{A=14;}
if(A>14)
{A=5;}
if(B<5)//控制占空比在规定范围内
{B=14;}
if(B>14)
{B=5;}
if(C<5)//控制占空比在规定范围内
{C=14;}
if(C>14)
{C=5;}
if(D<5)//控制占空比在规定范围内
{D=14;}
if(D>14)
{D=5;}
if(E<5)//控制占空比在规定范围内
{E=14;}
if(E>14)
{E=5;}
if(F<5)//控制占空比在规定范围内
{F=14;}
if(F>14)
{F=5;}
}
}
复制代码
所有资料51hei提供下载:
TFTLCD和4×4矩阵键盘程序.rar
(360.12 KB, 下载次数: 40)
2018-7-19 00:35 上传
点击文件名下载附件
STM32源码
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1