为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > C51代码(PWM)

C51代码(PWM)

2022-07-08 20页 doc 68KB 47阅读

用户头像

is_348501

暂无简介

举报
C51代码(PWM)1.#include2.#include3.4.sbit K1=P1^4;          //增加键5.sbit K2=P1^5;          //减少键6.sbit P00=P0^1;7.sbit BEEP=P3^7;        //蜂鸣器8.unsignedcharPWM=0xe7;  //赋初值9.10.voidBeep();11.voiddelayms(unsignedcharms);12.voiddelay(unsignedchart);13.14./**************************...
C51代码(PWM)
1.#include2.#include3.4.sbit K1=P1^4;          //增加键5.sbit K2=P1^5;          //减少键6.sbit P00=P0^1;7.sbit BEEP=P3^7;        //蜂鸣器8.unsignedcharPWM=0xe7;  //赋初值9.10.voidBeep();11.voiddelayms(unsignedcharms);12.voiddelay(unsignedchart);13.14./*********************************************************/15.voidmain()16.{ 17.18.   P1=0xff;19.  TMOD=0x21;20.  TH0=0xff;      //50us延时常数21.  TL0=0xce;      //频率调节22.23.  TH1=PWM;      //脉宽调节24.  TL1=0;25.26.   EA=1;27.   ET0=1;28.   ET1=1;29.  30.   TR0=1;31.32.  while(1)33.  {34.   do{35.      if(PWM!=0xff)36.      {PWM;delayms(10);}37.      elseBeep();38.     }39.   while(K1==0);40.41.   do{42.      if(PWM!=0xce)43.     {PWM--;delayms(10);}44.      elseBeep();45.     }46.   while(K2==0);47.  }48.}49.50.voidtimer0()interrupt151.{ 52.  TR1=0;53.  TH0=0xff;54.  TL0=0xce;55.  TH1=PWM;56.  TR1=1;57.  P00=0;   //启动输出58.}59.60.61.voidtimer1()interrupt362.{63.  TR1=0;64.  P00=1;   //结束输出65.}66.67./*********************************************************/68.//蜂鸣器子程序69./*********************************************************/70.71.voidBeep()  72. {73.   unsignedchari ;74.   for(i=0 ;i<100 ;i)75.    {76.     delay(100) ;77.     BEEP=!BEEP ;        //Beep取反78.    }79.   BEEP=1 ;              //关闭蜂鸣器80.   delayms(100);81. }82.83./*********************************************************/84.//延时子程序85./*********************************************************/ 86.voiddelay(unsignedchart)87.{88.  while(t--)  ;89.}90.91./*********************************************************/92.//延时子程序93./*********************************************************/94.voiddelayms(unsignedcharms)95.96.{97.  unsignedchari;98.  while(ms--)99.   {100.    for(i=0;i<120;i);101.   }102.}103.104./*********************************************************/105.#include106.#include107.108.sbit K1=P1^4;          //增加键109.sbit K2=P1^5;          //减少键110.sbit P00=P0^1;111.sbit BEEP=P3^7;        //蜂鸣器112.unsignedcharPWM=0xe7;  //赋初值113.114.voidBeep();115.voiddelayms(unsignedcharms);116.voiddelay(unsignedchart);117.118./*********************************************************/119.voidmain()120.{ 121.122.   P1=0xff;123.  TMOD=0x21;124.  TH0=0xff;      //50us延时常数125.  TL0=0xce;      //频率调节126.127.  TH1=PWM;      //脉宽调节128.  TL1=0;129.130.   EA=1;131.   ET0=1;132.   ET1=1;133.  134.   TR0=1;135.136.  while(1)137.  {138.   do{139.      if(PWM!=0xff)140.      {PWM;delayms(10);}141.      elseBeep();142.     }143.   while(K1==0);144.145.   do{146.      if(PWM!=0xce)147.     {PWM--;delayms(10);}148.      elseBeep();149.     }150.   while(K2==0);151.  }152.}153.154.voidtimer0()interrupt1155.{ 156.  TR1=0;157.  TH0=0xff;158.  TL0=0xce;159.  TH1=PWM;160.  TR1=1;161.  P00=0;   //启动输出162.}163.164.165.voidtimer1()interrupt3166.{167.  TR1=0;168.  P00=1;   //结束输出169.}170.171./*********************************************************/172.//蜂鸣器子程序173./*********************************************************/174.175.voidBeep()  176. {177.   unsignedchari ;178.   for(i=0 ;i<100 ;i)179.    {180.     delay(100) ;181.     BEEP=!BEEP ;        //Beep取反182.    }183.   BEEP=1 ;              //关闭蜂鸣器184.   delayms(100);185. }186.187./*********************************************************/188.//延时子程序189./*********************************************************/ 190.voiddelay(unsignedchart)191.{192.  while(t--)  ;193.}194.195./*********************************************************/196.//延时子程序197./*********************************************************/198.voiddelayms(unsignedcharms)199.200.{201.  unsignedchari;202.  while(ms--)203.   {204.    for(i=0;i<120;i);205.   }206.}207.208./*********************************************************/209.#include210.#include211.212.sbit K1=P1^4;          //增加键213.sbit K2=P1^5;          //减少键214.sbit P00=P0^1;215.sbit BEEP=P3^7;        //蜂鸣器216.unsignedcharPWM=0xe7;  //赋初值217.218.voidBeep();219.voiddelayms(unsignedcharms);220.voiddelay(unsignedchart);221.222./*********************************************************/223.voidmain()224.{ 225.226.   P1=0xff;227.  TMOD=0x21;228.  TH0=0xff;      //50us延时常数229.  TL0=0xce;      //频率调节230.231.  TH1=PWM;      //脉宽调节232.  TL1=0;233.234.   EA=1;235.   ET0=1;236.   ET1=1;237.  238.   TR0=1;239.240.  while(1)241.  {242.   do{243.      if(PWM!=0xff)244.      {PWM;delayms(10);}245.      elseBeep();246.     }247.   while(K1==0);248.249.   do{250.      if(PWM!=0xce)251.     {PWM--;delayms(10);}252.      elseBeep();253.     }254.   while(K2==0);255.  }256.}257.258.voidtimer0()interrupt1259.{ 260.  TR1=0;261.  TH0=0xff;262.  TL0=0xce;263.  TH1=PWM;264.  TR1=1;265.  P00=0;   //启动输出266.}267.268.269.voidtimer1()interrupt3270.{271.  TR1=0;272.  P00=1;   //结束输出273.}274.275./*********************************************************/276.//蜂鸣器子程序277./*********************************************************/278.279.voidBeep()  280. {281.   unsignedchari ;282.   for(i=0 ;i<100 ;i)283.    {284.     delay(100) ;285.     BEEP=!BEEP ;        //Beep取反286.    }287.   BEEP=1 ;              //关闭蜂鸣器288.   delayms(100);289. }290.291./*********************************************************/292.//延时子程序293./*********************************************************/ 294.voiddelay(unsignedchart)295.{296.  while(t--)  ;297.}298.299./*********************************************************/300.//延时子程序301./*********************************************************/302.voiddelayms(unsignedcharms)303.304.{305.  unsignedchari;306.  while(ms--)307.   {308.    for(i=0;i<120;i);309.   }310.}311.312./*********************************************************/313.#include314.#include315.316.sbit K1=P1^4;          //增加键317.sbit K2=P1^5;          //减少键318.sbit P00=P0^1;319.sbit BEEP=P3^7;        //蜂鸣器320.unsignedcharPWM=0xe7;  //赋初值321.322.voidBeep();323.voiddelayms(unsignedcharms);324.voiddelay(unsignedchart);325.326./*********************************************************/327.voidmain()328.{ 329.330.   P1=0xff;331.  TMOD=0x21;332.  TH0=0xff;      //50us延时常数333.  TL0=0xce;      //频率调节334.335.  TH1=PWM;      //脉宽调节336.  TL1=0;337.338.   EA=1;339.   ET0=1;340.   ET1=1;341.  342.   TR0=1;343.344.  while(1)345.  {346.   do{347.      if(PWM!=0xff)348.      {PWM;delayms(10);}349.      elseBeep();350.     }351.   while(K1==0);352.353.   do{354.      if(PWM!=0xce)355.     {PWM--;delayms(10);}356.      elseBeep();357.     }358.   while(K2==0);359.  }360.}361.362.voidtimer0()interrupt1363.{ 364.  TR1=0;365.  TH0=0xff;366.  TL0=0xce;367.  TH1=PWM;368.  TR1=1;369.  P00=0;   //启动输出370.}371.372.373.voidtimer1()interrupt3374.{375.  TR1=0;376.  P00=1;   //结束输出377.}378.379./*********************************************************/380.//蜂鸣器子程序381./*********************************************************/382.383.voidBeep()  384. {385.   unsignedchari ;386.   for(i=0 ;i<100 ;i)387.    {388.     delay(100) ;389.     BEEP=!BEEP ;        //Beep取反390.    }391.   BEEP=1 ;              //关闭蜂鸣器392.   delayms(100);393. }394.395./*********************************************************/396.//延时子程序397./*********************************************************/ 398.voiddelay(unsignedchart)399.{400.  while(t--)  ;401.}402.403./*********************************************************/404.//延时子程序405./*********************************************************/406.voiddelayms(unsignedcharms)407.408.{409.  unsignedchari;410.  while(ms--)411.   {412.    for(i=0;i<120;i);413.   }414.}415.416./*********************************************************/417.#include418.#include419.420.sbit K1=P1^4;          //增加键421.sbit K2=P1^5;          //减少键422.sbit P00=P0^1;423.sbit BEEP=P3^7;        //蜂鸣器424.unsignedcharPWM=0xe7;  //赋初值425.426.voidBeep();427.voiddelayms(unsignedcharms);428.voiddelay(unsignedchart);429.430./*********************************************************/431.voidmain()432.{ 433.434.   P1=0xff;435.  TMOD=0x21;436.  TH0=0xff;      //50us延时常数437.  TL0=0xce;      //频率调节438.439.  TH1=PWM;      //脉宽调节440.  TL1=0;441.442.   EA=1;443.   ET0=1;444.   ET1=1;445.  446.   TR0=1;447.448.  while(1)449.  {450.   do{451.      if(PWM!=0xff)452.      {PWM;delayms(10);}453.      elseBeep();454.     }455.   while(K1==0);456.457.   do{458.      if(PWM!=0xce)459.     {PWM--;delayms(10);}460.      elseBeep();461.     }462.   while(K2==0);463.  }464.}465.466.voidtimer0()interrupt1467.{ 468.  TR1=0;469.  TH0=0xff;470.  TL0=0xce;471.  TH1=PWM;472.  TR1=1;473.  P00=0;   //启动输出474.}475.476.477.voidtimer1()interrupt3478.{479.  TR1=0;480.  P00=1;   //结束输出481.}482.483./*********************************************************/484.//蜂鸣器子程序485./*********************************************************/486.487.voidBeep()  488. {489.   unsignedchari ;490.   for(i=0 ;i<100 ;i)491.    {492.     delay(100) ;493.     BEEP=!BEEP ;        //Beep取反494.    }495.   BEEP=1 ;              //关闭蜂鸣器496.   delayms(100);497. }498.499./*********************************************************/500.//延时子程序501./*********************************************************/ 502.voiddelay(unsignedchart)503.{504.  while(t--)  ;505.}506.507./*********************************************************/508.//延时子程序509./*********************************************************/510.voiddelayms(unsignedcharms)511.512.{513.  unsignedchari;514.  while(ms--)515.   {516.    for(i=0;i<120;i);517.   }518.}519.520./*********************************************************/521.#include522.#include523.524.sbit K1=P1^4;          //增加键525.sbit K2=P1^5;          //减少键526.sbit P00=P0^1;527.sbit BEEP=P3^7;        //蜂鸣器528.unsignedcharPWM=0xe7;  //赋初值529.530.voidBeep();531.voiddelayms(unsignedcharms);532.voiddelay(unsignedchart);533.534./*********************************************************/535.voidmain()536.{ 537.538.   P1=0xff;539.  TMOD=0x21;540.  TH0=0xff;      //50us延时常数541.  TL0=0xce;      //频率调节542.543.  TH1=PWM;      //脉宽调节544.  TL1=0;545.546.   EA=1;547.   ET0=1;548.   ET1=1;549.  550.   TR0=1;551.552.  while(1)553.  {554.   do{555.      if(PWM!=0xff)556.      {PWM;delayms(10);}557.      elseBeep();558.     }559.   while(K1==0);560.561.   do{562.      if(PWM!=0xce)563.     {PWM--;delayms(10);}564.      elseBeep();565.     }566.   while(K2==0);567.  }568.}569.570.voidtimer0()interrupt1571.{ 572.  TR1=0;573.  TH0=0xff;574.  TL0=0xce;575.  TH1=PWM;576.  TR1=1;577.  P00=0;   //启动输出578.}579.580.581.voidtimer1()interrupt3582.{583.  TR1=0;584.  P00=1;   //结束输出585.}586.587./*********************************************************/588.//蜂鸣器子程序589./*********************************************************/590.591.voidBeep()  592. {593.   unsignedchari ;594.   for(i=0 ;i<100 ;i)595.    {596.     delay(100) ;597.     BEEP=!BEEP ;        //Beep取反598.    }599.   BEEP=1 ;              //关闭蜂鸣器600.   delayms(100);601. }602.603./*********************************************************/604.//延时子程序605./*********************************************************/ 606.voiddelay(unsignedchart)607.{608.  while(t--)  ;609.}610.611./*********************************************************/612.//延时子程序613./*********************************************************/614.voiddelayms(unsignedcharms)615.616.{617.  unsignedchari;618.  while(ms--)619.   {620.    for(i=0;i<120;i);621.   }622.}623.624./*********************************************************/
/
本文档为【C51代码(PWM)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索