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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機如何寫20khz pwm的頻率?

[復制鏈接]
跳轉到指定樓層
樓主
//20kHz PWM 可調,步進2%。帶顯示,樓主小菜菜上課溜號了頻率不會寫,下面代碼應該是1khz的,該怎么改呢???還請諸位不吝賜教,先行謝過了
  1. /* Main.c file generated by New Project wizard
  2. *
  3. * Created:   周六 5月 30 2020
  4. * Processor: AT89C51
  5. * Compiler:  Keil for 8051
  6. */

  7. #include<reg51.h>


  8. #define uint unsigned int

  9. #define uchar unsigned char

  10. unsigned char num1;

  11. unsigned char dis;

  12. unsigned char code nondis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0-9
  13. uchar time;

  14. double count=70; //定義占空比,并初始占空比為70%

  15. sbit PWM=P0^0; //P0^0口輸出PWM

  16. sbit key_add=P3^4; //加的按鍵

  17. sbit key_dec=P3^5; //減的按鍵





  18. void delayxms(uint z); //延時

  19. void Motor_add(); //增加占空比

  20. void Motor_dec(); //減少占空比

  21. void timer0_init(); //定時器0初始化

  22. //顯示函數
  23.         void display()
  24.         {
  25.         
  26.         
  27.         unsigned char gewei,shiwei,baiwei;
  28.         baiwei=num1/100;
  29.         gewei=num1%10;
  30.         shiwei=(num1/10)%10;
  31.         P2=nondis[gewei];//個位
  32.         P0=0x80;
  33.         delayxms(1);
  34.         P2=0xff;
  35.         P2=nondis[shiwei];//十位
  36.         P0=0x40;
  37.         delayxms(1);
  38.         P2=0xff;
  39.         P2=nondis[baiwei];//百位
  40.         P0=0x20;
  41.         delayxms(1);
  42.         P2=0xff;
  43.         
  44.         }




  45. void main()

  46. {

  47. timer0_init();

  48. delayxms(5);

  49. while(1)

  50. {

  51. Motor_add();

  52. Motor_dec();

  53. num1 = count;
  54. display();//顯示函數

  55. }

  56. }



  57. //延時xms程序
  58. void delayxms(uint z) //延時xms程序

  59. {

  60. uint x,y;

  61. for(y=z;x>0;x--)

  62. for(y=110;y>0;y--);

  63. }


  64. //加
  65. void Motor_add()

  66. {

  67. if(key_add==0)

  68. {

  69. delayxms(2); //此處時間不能太長,否者會的中斷產生沖突

  70. if(key_add==0)

  71. {

  72. count+=2; //每按一次加速按鍵占空比加2

  73. if(count>=98) //限定占空比上限

  74. {

  75. count=98;

  76. }

  77. }

  78. while(!key_add);

  79. }

  80. }

  81. //減
  82. void Motor_dec()

  83. {

  84. if(key_dec==0)

  85. {

  86. delayxms(2);//此處時間不能太長

  87. if(key_dec==0)

  88. {

  89. count-=2; //每按一次減速按鍵占空比減2

  90. if(count<=25) //限定占空比下限

  91. {

  92. count=25;

  93. }

  94. }

  95. while(!key_dec);

  96. }

  97. }


  98. /***********定時器0初始化***********/

  99. void timer0_init()

  100. {

  101. TMOD=0x01; //定時器0工作于方式1

  102. TH0=(65536-10)/256;

  103. TL0=(65536-10)%256;

  104. TR0=1;

  105. ET0=1;

  106. EA=1;

  107. }


  108. /**************定時0中斷處理******************/

  109. void timer0_int() interrupt 1

  110. {


  111. TR0=0; //設置定時器初值期間,關閉定時器

  112. TH0=(65536-10)/256;

  113. TL0=(65536-10)%256;

  114. TR0=1;


  115. time++;

  116. if(time<count) //count為占空比

  117. {

  118. PWM=1; //輸出高電平

  119. }

  120. else

  121. PWM=0;

  122. if(time>=100)//20khz

  123. {

  124. time=0;

  125. }

  126. }
復制代碼

888.png (180.25 KB, 下載次數: 89)

仿真圖哥哥們

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

使用道具 舉報

沙發
ID:213173 發表于 2020-6-1 07:28 | 只看該作者
這個程序根本不可能產生1KHz PWM,更不可能改成20KHz PWM 可調。樓主仔細看看仿真波形就明白。
回復

使用道具 舉報

板凳
ID:765181 發表于 2020-6-1 09:27 來自手機 | 只看該作者
wulin 發表于 2020-6-1 07:28
這個程序根本不可能產生1KHz PWM,更不可能改成20KHz PWM 可調。樓主仔細看看仿真波形就明白。

啊這,要求是占空比可調,頻率20khz,占空比開始是70%圖片中的是調到50%的。定時了1ms,然后time加100次啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 偷拍自拍网址 | av高清毛片| www.4hu影院 | 毛片免费观看视频 | 日韩精品一区二区不卡 | 天天色影视综合 | 性生生活大片免费看视频 | 九九九久久国产免费 | 91精品国产91| 欧美成人免费在线 | 亚洲福利在线观看 | 日韩成人免费 | 91免费在线| 日韩欧美不卡 | 欧美精品一区在线 | 黄色亚洲网站 | 欧美日韩一区二区三区视频 | 夜夜艹天天干 | 少妇诱惑av | 亚洲一区二区久久 | 日韩精品在线观看免费 | 羞羞的视频免费在线观看 | 久久精品国产免费高清 | 久热电影 | 国产香蕉视频 | 日韩精品在线一区 | 97国产精品视频人人做人人爱 | 国产精品成人国产乱一区 | 精品www | 一级a爱片性色毛片免费 | 成年人免费看的视频 | www.国产91 | 成人超碰在线 | 中国美女av | 久久国产精品久久久久久 | 精品欧美一区二区中文字幕视频 | 在线免费观看黄色网址 | 蜜臀av日日欢夜夜爽一区 | 欧美一级欧美一级在线播放 | 天天插天天舔 | www国产成人免费观看视频 |