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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2536|回復: 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 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人免费视频在线观看 | 精品1区2区 | 激情五月激情综合网 | 亚洲先锋影音 | 国产美女一区二区 | 一区二区三区国产视频 | 欧美久久久久久久 | 毛片免费视频 | 午夜影院操 | 日韩精品一区二区三区中文在线 | 国产成人精品午夜 | 自拍偷拍亚洲视频 | 久久涩涩 | 最新91在线 | 精品一区二区久久久久久久网站 | 久久精品伊人 | 久草网站| 国产色片在线 | 久久成人高清视频 | 男女羞羞免费网站 | 精品国产一区二区三区久久久久久 | 国产精品视频久久久久久 | 国产午夜在线 | 天堂视频中文在线 | 欧美一区二区三区在线 | 久久视频精品 | 黄色网址在线免费观看 | 美女福利网站 | 日韩精品一区二区在线 | 亚洲九九| 色婷婷久久久亚洲一区二区三区 | 精品一区国产 | 狠狠操狠狠搞 | 欧美亚洲国产日韩 | 国产精品久久久久久久久久 | 欧美精品一二三 | 一区二区三区免费 | 四虎永久免费影院 | 国产不卡一区 | 国产在线不卡视频 | 国产1区|