久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2608|回復: 0
收起左側

用TFTLCD顯示漢字,6路PWM矩陣鍵盤控制源碼

[復制鏈接]
ID:374261 發表于 2018-7-18 17:05 | 顯示全部樓層 |閱讀模式
本人萌新,基于STM32的6路PWM控制,并且用矩陣鍵盤分別去控制六路占空比,并做了48*48的字庫在LCD上顯示。

單片機源程序如下:
  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();                     //延時函數初始化          
  20.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  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;//字體為藍色
  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)//控制占空比在規定范圍內
  90.                 {A=14;}
  91.                 if(A>14)
  92.                 {A=5;}
  93.                 if(B<5)//控制占空比在規定范圍內
  94.                 {B=14;}
  95.                 if(B>14)
  96.                 {B=5;}
  97.                 if(C<5)//控制占空比在規定范圍內
  98.                 {C=14;}
  99.                 if(C>14)
  100.                 {C=5;}
  101.                 if(D<5)//控制占空比在規定范圍內
  102.                 {D=14;}
  103.                 if(D>14)
  104.                 {D=5;}
  105.                 if(E<5)//控制占空比在規定范圍內
  106.                 {E=14;}
  107.                 if(E>14)
  108.                 {E=5;}
  109.                 if(F<5)//控制占空比在規定范圍內
  110.                 {F=14;}
  111.                 if(F>14)
  112.                 {F=5;}
  113.         }
  114. }
復制代碼

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


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99精品久久久 | 中文字幕免费视频 | 久久久资源 | 在线国产中文字幕 | 久久午夜精品福利一区二区 | 久久久www成人免费精品 | 亚洲国产高清高潮精品美女 | 久久国内精品 | 国产美女精品 | 国产精品中文字幕一区二区三区 | 91视视频在线观看入口直接观看 | 午夜资源 | 国产精品久久久久久久久久久久久久 | 91精品国产一区二区三区 | 欧美视频区 | 色偷偷噜噜噜亚洲男人 | 男人的天堂亚洲 | 九九久久精品 | 欧美一二三四成人免费视频 | 欧美一区二区三区在线播放 | 在线视频中文字幕 | 高清黄色 | 爱草视频 | 亚洲国产精品视频 | 免费成人在线网站 | 秋霞精品 | 一区二区免费 | 久久99精品久久久久婷婷 | 国产精品视频yy9299一区 | 亚洲高清av | 国产精品久久久久久久久婷婷 | 亚洲性网| 日韩欧美手机在线 | 日本不卡一区二区三区 | 色婷婷久久久久swag精品 | 伊人伊人伊人 | 欧美自拍另类 | 国产精品一区二区久久久久 | jlzzxxxx18hd护士 | 国产在线视频在线观看 | av在线三级|