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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7935|回復: 4
收起左側

單片機一鍵PWM調光+開關源程序

  [復制鏈接]
ID:140489 發表于 2018-6-29 09:23 | 顯示全部樓層 |閱讀模式
頻率370Hz,用手機攝像頭看,沒有頻閃
仿真LED會閃爍,主要看波形;實物不會閃爍,很穩定;代碼簡短
QQ截圖20180629091959.jpg
有完整代碼如下
  1. /***********************************************************************/
  2. /***功能:按鍵控制PWM對LED燈調光,短按開關,長按調光 亮---暗 ----亮 循環 ***********/
  3. /***改變j的值就改變了占空比,初值50%      */

  4. /*** STC89C52  @ 12MHz                    */
  5. /***********************************************************************/
  6. #include<reg52.h>
  7. typedef unsigned char U8;
  8. typedef unsigned int  U16;
  9. /*---------------------------------------------------------------------*/
  10. /*--   端口定義                 ---------------------------------------*/
  11. /*---------------------------------------------------------------------*/
  12. #define PORT_1 P1
  13. sbit KEY1 = P3^0;
  14. U8 j,knum,temp=127;        

  15. /*----------按鍵掃描--------------------*/
  16. void keyscan()
  17. {
  18.         static        U16 x;        //消抖延時變量
  19.         
  20.         if(KEY1==0)         //
  21.         {
  22.                 x++;        //按鍵消抖
  23.                 if(x>500)                //長按亮度調節
  24.                 {        knum=0;
  25.                         
  26.                         if(knum==0)
  27.                         {
  28.                                 if(j<251)
  29.                                         j+=5;
  30.                                 else
  31.                                         j=3;        //寫j=3;加到最大亮度后回到最小亮度,又開始加,如此循環
  32.                                 temp=j;
  33.                         }
  34.                         x=450;
  35.                 }
  36.                
  37.         }
  38.         else
  39.         {
  40.                 if(x>50 && x<500) //短按 開關燈
  41.                 {
  42.                         x=0;
  43.                         if(knum==1)
  44.                         {
  45.                                 if(j>3)
  46.                                 { j=0;}             //關燈
  47.                                 else j=temp;        //開燈,保持前次設置的亮度
  48.                         }
  49.                         knum ++;
  50.                         if(knum>1)
  51.                                 knum=1;
  52.                 }
  53.         }

  54. }

  55. /*---------------------------------------------------------------------*/
  56. /*--   主程序                   ---------------------------------------*/
  57. /*---------------------------------------------------------------------*/
  58. void main()
  59. {
  60.         U8 i;
  61.         PORT_1=0Xff;
  62.         j=127;                                                          //改變j的值就改變了占空比,初值50%
  63.         while(1)
  64.         {
  65.                 for(i=255;i>0;i--)
  66.                 //        PORT_1=(j<i)?0x00:0xff;           //三目運算  這句用在拉電流
  67.                         PORT_1=(j<i)?0xff:0x00;           //這句用在灌電流
  68.                 keyscan();

  69.         }
  70. }
  71. /*---------------------------------------------------------------------*/
  72. /*--   程序結束                 ---------------------------------------*/
  73. /*---------------------------------------------------------------------*/
復制代碼

評分

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

查看全部評分

回復

使用道具 舉報

ID:386381 發表于 2018-8-20 11:54 來自觸屏版 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:388099 發表于 2018-8-20 14:11 | 顯示全部樓層
實用資料,謝謝。
回復

使用道具 舉報

ID:407566 發表于 2018-11-27 16:27 | 顯示全部樓層
那接線是只接按鍵嘛,那燈怎么接
回復

使用道具 舉報

ID:140183 發表于 2021-5-9 07:21 | 顯示全部樓層
過過過兒 發表于 2018-11-27 16:27
那接線是只接按鍵嘛,那燈怎么接

P1接燈
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表