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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2752|回復(fù): 0
收起左側(cè)

用52單片機(jī)定時(shí)中斷2做的一個(gè)簡(jiǎn)單LED_PWM調(diào)節(jié)

[復(fù)制鏈接]
ID:364354 發(fā)表于 2018-8-31 07:48 | 顯示全部樓層 |閱讀模式
  1. #include"reg52.h"
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sfr T2MOD =0xC9;  //定時(shí)器中斷2TMOD必須定義


  5. /*-----------------------PWM定義---------------------------*/

  6. uchar PWM_T=0;//PWM脈沖周期PWM_T(max)=256*中斷定時(shí)時(shí)間

  7. //PWM物理地址通道定義,物理地址根據(jù)需要自由定義
  8. sbit PWM_IO0 = P1^0;
  9. sbit PWM_IO1 = P1^1;
  10. sbit PWM_IO2 = P1^2;
  11. sbit PWM_IO3 = P1^3;

  12. //PWM脈沖占空比
  13. uchar PWM_IO0_ZKB=10;  //脈沖占空比,0~255,=0時(shí)輸出最大
  14. uchar PWM_IO1_ZKB=10;
  15. uchar PWM_IO2_ZKB=10;
  16. uchar PWM_IO3_ZKB=10;

  17. /*---------------------------------------------------------*/

  18. sbit s0 = P3^0;
  19. sbit s1 = P3^1;


  20. /*---------------定時(shí)器2初始化-------------------*/
  21. void timer2_init()//定時(shí)器2初始化
  22. {
  23.         RCAP2H=0xff;  //16位計(jì)數(shù)器,定時(shí)39us
  24.         RCAP2L=0xdc;  //X=0xffdc=65500;T=(65536-X)*機(jī)器周期(11.0592MHz,1.085us)
  25.         //TH2=RCAP2H;     //會(huì)自動(dòng)重裝
  26.         //TL2=RCAP2L;
  27.         T2CON=0;
  28.         T2MOD=0;
  29.         EA=1;
  30.         ET2=1;
  31.         TR2=1;
  32. }

  33. /*--------------定時(shí)器2中斷服務(wù)程序----------------------------*/
  34. void timer2() interrupt 5
  35. {        
  36.         TF2=0; //注意:定時(shí)器2必須由軟件對(duì)溢出標(biāo)志位清零,
  37.                //這里與定時(shí)器0和定時(shí)器1不同
  38.         //PWM處理
  39.            PWM_T++;
  40.         if(PWM_T == 255)//取到最大值
  41.         {PWM_T = PWM_IO0 = PWM_IO1 = PWM_IO2 = PWM_IO3 = 0;}        //所有通道脈沖拉至低電平
  42.         
  43.         //通道脈沖電平拉高
  44.         if(PWM_T == PWM_IO0_ZKB)  //通道0脈沖得高電平
  45.                 PWM_IO0 = 1;        
  46.         
  47.         if(PWM_T == PWM_IO1_ZKB)  //通道1脈沖得高電平
  48.                 PWM_IO1 = 1;
  49.         
  50.         if(PWM_T == PWM_IO2_ZKB)  //通道2脈沖得高電平
  51.         PWM_IO2 = 1;
  52.                
  53.         if(PWM_T == PWM_IO3_ZKB)  //通道3脈沖得高電平
  54.                 PWM_IO3 = 1;        
  55. }




  56. /*------------主函數(shù)---------------*/
  57. void main()
  58. {
  59.         timer2_init();//定時(shí)器2初始化
  60.         while(1)
  61.         {
  62.                 if(s0==0) //按s0減小占空比
  63.                 {
  64.                         while(!s0);//等待
  65.                         {
  66.                                 if(PWM_IO0_ZKB>0)
  67.                                 {
  68.                                         PWM_IO0_ZKB = PWM_IO0_ZKB-10;  
  69.                                         PWM_IO1_ZKB = PWM_IO1_ZKB-10;
  70.                                         PWM_IO2_ZKB = PWM_IO2_ZKB-10;
  71.                                         PWM_IO3_ZKB = PWM_IO3_ZKB-10;                                
  72.                                 }

  73.                                 
  74.                         }
  75.                 }
  76.                 if(s1==0)  //按s1增加哦占空比
  77.                 {
  78.                         while(!s1);//等待
  79.                         {
  80.                                 if(PWM_IO0_ZKB<255)
  81.                                 {
  82.                                         PWM_IO0_ZKB = PWM_IO0_ZKB+10;  
  83.                                         PWM_IO1_ZKB = PWM_IO1_ZKB+10;
  84.                                         PWM_IO2_ZKB = PWM_IO2_ZKB+10;
  85.                                         PWM_IO3_ZKB = PWM_IO3_ZKB+10;                                       
  86.                                 }                                
  87.                         }
  88.                 }               
  89.         }
  90. }
復(fù)制代碼

定時(shí)中斷2_PWM.zip

33.5 KB, 下載次數(shù): 20, 下載積分: 黑幣 -5

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表