欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 用TFTLCD顯示漢字,6路PWM矩陣鍵盤控制源碼 [打印本頁]

作者: LIU199610064157    時間: 2018-7-18 17:05
標(biāo)題: 用TFTLCD顯示漢字,6路PWM矩陣鍵盤控制源碼
本人萌新,基于STM32的6路PWM控制,并且用矩陣鍵盤分別去控制六路占空比,并做了48*48的字庫在LCD上顯示。

單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"
  7. #include "timer.h"

  8. extern void LCD_ShowHZ(u16 x,u16 y,u8 num);
  9. extern void LCD_ShowHZStr(u16 x,u16 y,u8* pstr);
  10. extern        float A;       
  11. extern        float B;
  12. extern        float C;
  13. extern        float D;       
  14. extern        float E;
  15. extern        float F;
  16. int main(void)
  17. {         
  18.     int key;
  19.     delay_init();                     //延時函數(shù)初始化          
  20.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  21.     uart_init(115200);                 //串口初始化為115200
  22.     LED_Init();                             //LED端口初始化
  23.     LCD_Init();
  24.                 Key_Config();
  25.                 TIM3_PWM_Init(899,15);
  26.                 TIM4_PWM_Init(899,15);
  27.                 TIM2_Int_Init(1,7199);        //定時器2中斷初始化
  28.     POINT_COLOR=RED;
  29.     POINT_COLOR=BLUE;//字體為藍(lán)色
  30.    
  31.                 LCD_ShowHZ(0,0,0);//顯示速字
  32.     LCD_ShowHZ(48,0,1);//顯示度字
  33.                 LCD_ShowHZ(96,0,3);
  34.           LCD_ShowHZ(144,0,2);
  35.                 POINT_COLOR=RED;//字體為紅色
  36.     LCD_ShowHZ(0,48,0);//顯示速字
  37.     LCD_ShowHZ(48,48,1);//顯示度字
  38.           LCD_ShowHZ(96,48,4);//顯示:
  39.                 LCD_ShowHZ(144,48,2);
  40.           POINT_COLOR=BROWN;//字體為黃色
  41.           LCD_ShowHZ(0,96,0);//顯示速字
  42.     LCD_ShowHZ(48,96,1);//顯示度字、
  43.           LCD_ShowHZ(96,96,5);
  44.                 LCD_ShowHZ(144,96,2);
  45.                 POINT_COLOR=BLACK;//字體為黑色
  46.           LCD_ShowHZ(0,144,0);//顯示速字
  47.     LCD_ShowHZ(48,144,1);//顯示度字
  48.                 LCD_ShowHZ(96,144,6);
  49.                 LCD_ShowHZ(144,144,2);
  50.                 POINT_COLOR=GREEN;//字體為綠色
  51.           LCD_ShowHZ(0,192,0);//顯示速字
  52.     LCD_ShowHZ(48,192,1);//顯示度字
  53.                 LCD_ShowHZ(96,192,7);
  54.                 LCD_ShowHZ(144,192,2);               
  55.                 POINT_COLOR=BRRED;
  56.           LCD_ShowHZ(0,240,0);//顯示速字
  57.     LCD_ShowHZ(48,240,1);//顯示度字
  58.                 LCD_ShowHZ(96,240,8);
  59.                 LCD_ShowHZ(144,240,2);       
  60.                 POINT_COLOR=MAGENTA;//字體為紫色               
  61.           while(1)
  62.         {                 
  63.                 key=KeyScan();
  64.                 //LCD_ShowxNum(140,288,5,3,48,0X80);
  65.                
  66.                 //LCD_ShowString(140,288+144,200,200,48,":;'/.");
  67.                 switch(key)
  68.                 {
  69.                         case 1:A=A+0.2;break;
  70.                         case 2:A=A-0.2;break;
  71.                         case 3:B=B+0.2;break;
  72.                         case 4:B=B-0.2;break;
  73.                         case 5:C=C+0.2;break;
  74.                         case 6:C=C-0.2;break;
  75.                         case 7:D=D+0.2;break;
  76.                         case 8:D=D-0.2;break;
  77.                         case 9:E=E+0.2;break;
  78.                         case 10:E=E-0.2;break;
  79.                         case 11:F=F+0.2;break;
  80.                         case 12:F=F-0.2;break;                       
  81.                 }
  82.                 LCD_ShowNum(180,0 ,10*(A-5),2,48);
  83.                 LCD_ShowNum(180,48 ,10*(B-5),2,48);
  84.                 LCD_ShowNum(180,96 ,10*(C-5),2,48);
  85.                 LCD_ShowNum(180,144 ,10*(D-5),2,48);
  86.                 LCD_ShowNum(180,192 ,10*(E-5),2,48);
  87.                 LCD_ShowNum(180,240 ,10*(F-5),2,48);
  88.                 //LCD_ShowNum(144,288+96 ,key,2,48);
  89.                 if(A<5)//控制占空比在規(guī)定范圍內(nèi)
  90.                 {A=14;}
  91.                 if(A>14)
  92.                 {A=5;}
  93.                 if(B<5)//控制占空比在規(guī)定范圍內(nèi)
  94.                 {B=14;}
  95.                 if(B>14)
  96.                 {B=5;}
  97.                 if(C<5)//控制占空比在規(guī)定范圍內(nèi)
  98.                 {C=14;}
  99.                 if(C>14)
  100.                 {C=5;}
  101.                 if(D<5)//控制占空比在規(guī)定范圍內(nèi)
  102.                 {D=14;}
  103.                 if(D>14)
  104.                 {D=5;}
  105.                 if(E<5)//控制占空比在規(guī)定范圍內(nèi)
  106.                 {E=14;}
  107.                 if(E>14)
  108.                 {E=5;}
  109.                 if(F<5)//控制占空比在規(guī)定范圍內(nèi)
  110.                 {F=14;}
  111.                 if(F>14)
  112.                 {F=5;}
  113.         }
  114. }
復(fù)制代碼

所有資料51hei提供下載:
TFTLCD和4×4矩陣鍵盤程序.rar (360.12 KB, 下載次數(shù): 40)







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1