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

標題: 單片機單定時器PWM調LED亮度 仿真+程序 [打印本頁]

作者: 電路DIY    時間: 2016-1-11 15:25
標題: 單片機單定時器PWM調LED亮度 仿真+程序
PWM 調LED亮度  在實驗板上通過
仿真電路圖如下:(下載本帖最后附件可看清晰圖)

51單片機源程序如下:
  1. #include <AT89X51.H>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. uint sec,miaoshu,tcnt,count,a;




  5. sbit p30=P3^0;
  6. sbit p31=P3^1;

  7. sbit p20=P2^0;
  8. sbit p27=P2^7;

  9. void Delay(uchar t)
  10. {
  11.         uchar i;
  12.         while(t--)
  13.         {
  14.                 for ( i = 0; i < 200 ;i ++);
  15.         }
  16. }



  17. void t0(void) interrupt 1 using 0 //定時T0中斷服務函數
  18. {
  19.        
  20.         TH0=(65536-10)/256;
  21.     TL0=(65536-10)%256;

  22.     tcnt++;

  23.         if(tcnt<=miaoshu){p20=1;}
  24.         if(tcnt>miaoshu) {p20=0;}

  25.         if(tcnt==20) //調頻率
  26.            {               
  27.                 tcnt=0;

  28.                 if(p30==1&&p31==1){a=0;p27=1;}
  29.                        
  30.                 if(a==0)
  31.                         {
  32.                           if(p30==0){if(miaoshu>0 ){miaoshu--;a=1;p27=0;}}        //調占空比
  33.                           if(p31==0){if(miaoshu<20){miaoshu++;a=1;p27=0;}}         //調占空比
  34.                         }

  35.            }
  36.      
  37. }

  38. void main(void)//主程序
  39. {   
  40.        
  41.         TMOD=0x01;
  42.     TH0=(65536-10)/256;
  43.     TL0=(65536-10)%256;

  44.         TR0=1; //開始定時
  45.         ET0=1; //允許T0 產生中斷
  46.         EA=1;
  47.           
  48.         miaoshu=10;tcnt=0;
  49.         while(1)//調用各個函數模塊,死循環
  50.         {
  51.           ;
  52.         }
  53. }

復制代碼

仿真文件和程序下載: led調光.rar (43.44 KB, 下載次數: 39)





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1