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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3771|回復: 4
收起左側(cè)

51單片機做的L298兩路PWM控制LED代碼

[復制鏈接]
ID:202901 發(fā)表于 2017-5-21 15:13 | 顯示全部樓層 |閱讀模式
前幾天做的51單片機與L298兩路PWM控制LED代碼,給參考

單片機源程序如下:

  1. #include <reg51.h>

  2. typedef unsigned char uint8;
  3. typedef unsigned int  uint16;

  4. sbit down = P3^0;
  5. sbit up = P3^1;
  6. sbit down1 = P3^2;
  7. sbit up1 = P3^3;
  8. sbit led1 = P1^0;
  9. sbit led2 = P1^1;
  10. sbit led3 = P1^4;
  11. sbit led4 = P1^6;

  12. uint8 t = 0,t1=0;
  13. uint8 PWM_T = 0;   //占空比控制變
  14. uint8 PWM_T1 = 0;   //占空比控制變

  15. void delay_1ms(uint16 t)
  16. {
  17.         uint16 x,y;
  18.         for(x=t;x>0;x--)
  19.                 for(y=120;y>0;y--);
  20. }


  21.          
  22. /****************************************************
  23.                   主程序
  24. ****************************************************/
  25. void main(void)      
  26. {

  27.         TMOD = 0x22;   //定時器0,工作模式2,8位定時模式
  28.         TH0=180;     //寫入預置初值(取值1-255,數(shù)越大PWM頻率越高)
  29.         TL0=180;     //寫入預置值 (取值1-255,數(shù)越大PWM頻率越高)
  30.         TR0=1;       //啟動定時器
  31.         ET0=1;       //允許定時器0中斷
  32. //        EA=1;        //允許總中斷
  33. //        led1=1;          //初始化P1,輸出端口

  34.         TH1=180;     //寫入預置初值(取值1-255,數(shù)越大PWM頻率越高)
  35.         TL1=180;     //寫入預置值 (取值1-255,數(shù)越大PWM頻率越高)
  36.         TR1=1;       //啟動定時器
  37.         ET1=1;       //允許定時器1中斷
  38.         EA=1;        //允許總中斷
  39. //        led2=1;          //初始化P1,輸出端口
  40. //        led3=1;
  41.         led3=0;
  42.         led4=0;
  43.         PWM_T1=20;
  44.         PWM_T=20;
  45.          while(1)      
  46.        
  47.          {   
  48.                    if(!up)
  49.                          {
  50.                                 if(PWM_T<250)
  51.                                         {
  52.                                           PWM_T++;
  53.                                         }
  54.                                
  55.                                 delay_1ms(10);
  56.                         }
  57.                  if(!down)
  58.                          {
  59.                                 if(PWM_T>0)
  60.                                         {
  61.                                           PWM_T--;
  62.                                         }
  63.                                
  64.                                 delay_1ms(10);
  65.                         }

  66.                         if(!up1)
  67.                          {
  68.                                 if(PWM_T1<250)
  69.                                         {
  70.                                           PWM_T1++;
  71.                                         }
  72.                                
  73.                                 delay_1ms(10);
  74.                         }
  75.                  if(!down1)
  76.                          {
  77.                                 if(PWM_T1>0)
  78.                                         {
  79.                                           PWM_T1--;
  80.                                         }
  81.                                
  82.                                 delay_1ms(10);
  83.                         }
  84.        
  85.          }      
  86. }
  87. /****************************************************
  88.                /定時器0中斷模擬PWM
  89. ****************************************************/
  90. timer0() interrupt 1  
  91. {
  92.          t++;    //每次定時器溢出加1
  93.          
  94.          if(t==250)   //PWM周期 100個單位
  95.                  {
  96.                           t=0;  //使t=0,開始新的PWM周期
  97.                           led1=0;  //輸出端口
  98.                  }
  99.          
  100.          if(PWM_T==t)  //按照當前占空比切換輸出為高電平
  101.                  {  
  102.                          led1=1;        //  
  103.                  }
  104. }
  105. ……………………

  106. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
L298 兩路PWM.rar (21.8 KB, 下載次數(shù): 43)


評分

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

查看全部評分

回復

使用道具 舉報

ID:89286 發(fā)表于 2017-5-21 21:03 | 顯示全部樓層
thanks for sharing
回復

使用道具 舉報

ID:200118 發(fā)表于 2017-5-21 21:36 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:394932 發(fā)表于 2018-9-11 14:55 | 顯示全部樓層
有原理圖嗎?
回復

使用道具 舉報

ID:241550 發(fā)表于 2022-8-22 00:16 | 顯示全部樓層
感謝分享,正在認真研究學習
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色婷婷精品国产一区二区三区 | 日韩三级在线观看 | 亚洲精品日韩在线 | 日韩精品一区二区三区在线观看 | 欧美日韩国产精品一区 | 国产真实精品久久二三区 | 五月婷婷视频 | 91精品国产综合久久久久久丝袜 | 国产探花 | 日本不卡一区 | 天堂av中文在线 | 国产成人精品免高潮在线观看 | 在线观看国产91 | 日韩久久中文字幕 | 欧美成人a| 91精品国产综合久久婷婷香蕉 | www.国产视频 | 午夜视频在线免费观看 | 精品乱子伦一区二区三区 | 国内91在线 | 在线观看av网站永久 | 国产在线中文字幕 | 欧美在线视频一区二区 | 久久99久久98精品免观看软件 | 国产一区二区三区 | 伊人手机在线视频 | 精品久久精品 | 国产成人精品一区二区三区在线 | 日韩高清三区 | 亚洲精品一区二区三区蜜桃久 | 亚洲91| 国产欧美日韩在线一区 | 亚洲欧美中文日韩在线v日本 | 亚洲欧美日本在线 | 日韩在线观看中文字幕 | 日日夜夜精品视频 | 久久精品一区二区三区四区 | 国产成人精品亚洲日本在线观看 | 国产午夜精品视频 | 欧美国产视频 | 精品国产欧美一区二区三区成人 |