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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3674|回復: 4
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:202901 發表于 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,數越大PWM頻率越高)
  29.         TL0=180;     //寫入預置值 (取值1-255,數越大PWM頻率越高)
  30.         TR0=1;       //啟動定時器
  31.         ET0=1;       //允許定時器0中斷
  32. //        EA=1;        //允許總中斷
  33. //        led1=1;          //初始化P1,輸出端口

  34.         TH1=180;     //寫入預置初值(取值1-255,數越大PWM頻率越高)
  35.         TL1=180;     //寫入預置值 (取值1-255,數越大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, 下載次數: 43)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:89286 發表于 2017-5-21 21:03 | 只看該作者
thanks for sharing
回復

使用道具 舉報

板凳
ID:200118 發表于 2017-5-21 21:36 | 只看該作者
謝謝分享
回復

使用道具 舉報

地板
ID:394932 發表于 2018-9-11 14:55 | 只看該作者
有原理圖嗎?
回復

使用道具 舉報

5#
ID:241550 發表于 2022-8-22 00:16 | 只看該作者
感謝分享,正在認真研究學習
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美中文一区 | 992人人草 | 午夜无码国产理论在线 | 欧美精品久久久久 | 一区二区三区日本 | 91国在线观看 | 免费成人高清在线视频 | 国产一区二区自拍 | 欧美极品一区二区 | 日韩精品免费一区二区在线观看 | 日韩超碰 | 欧美亚州综合 | www日本在线观看 | 国产精品99久久久久久大便 | 日本国产一区二区 | 国产999精品久久久久久 | 欧美日韩淫片 | 四虎最新视频 | 一区二区免费视频 | 欧美a区 | 日韩在线小视频 | 精品国产aⅴ | www.久久久久久久久久久 | 黄a网 | 超碰在线观看97 | 日韩一区二区三区在线视频 | 久久高清亚洲 | www.一级毛片 | 国产欧美一区二区三区在线看 | 欧美久久久久久久 | 国产成人精品a视频 | 黄色网址在线免费播放 | 自拍偷拍第一页 | 国产精品欧美一区二区 | 91一区二区 | 天天干com | 三级黄色片在线 | 麻豆视频在线免费看 | 一区二区三区国产精品 | 91精品国产综合久久婷婷香蕉 | 欧美亚洲视频 |