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

標題: 51單片機pwm調制 產生多路分頻信號 倍頻 [打印本頁]

作者: titan90921    時間: 2019-10-21 18:55
標題: 51單片機pwm調制 產生多路分頻信號 倍頻
P1口各口輸出頻率不同的PWM信號,且P1.1口的PWM波周期是P1.0口的兩倍,P1.2口PWM周期是P1.1的兩倍,以此類推


單片機源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:定時器0
  3.   修改:無
  4.   內容:通過定時產生不同頻率方波
  5. ------------------------------------------------*/
  6. #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義

  7. /*------------------------------------------------
  8.                     定時器初始化子程序
  9. ------------------------------------------------*/
  10. void Init_Timer0(void)
  11. {
  12. TMOD |= 0x01;          //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響                     
  13. //TH0=0x00;              //給定初值,這里使用定時器最大值從0開始計數一直到65535溢出
  14. //TL0=0x00;
  15. EA=1;            //總中斷打開
  16. ET0=1;           //定時器中斷打開
  17. TR0=1;           //定時器開關打開
  18. }
  19. /*------------------------------------------------
  20.                     主程序
  21. ------------------------------------------------*/
  22. main()
  23. {
  24. Init_Timer0();
  25. while(1);
  26. }

  27. /*------------------------------------------------
  28.                  定時器中斷子程序
  29. ------------------------------------------------*/
  30. void Timer0_isr(void) interrupt 1 using 1
  31. {
  32. static unsigned char i;
  33. //重新賦值 12M晶振計算,指令周期1uS,500x2=1mS方波
  34. TH0=(65536-500)/256;                  
  35. TL0=(65536-500)*256;        


  36. i++;
  37. P1=i; //P1口8路輸出不同頻率,相當于一個分頻器,高頻用示波
  38.        //器測量,低頻可以直接用led觀測
  39.        //P1.0輸出1ms方波,P1.1輸出2ms,p1.2輸出4ms,以此類推

  40. }
復制代碼



作者: univers    時間: 2019-10-23 23:09
還可以這樣搞啊,i是自加輸出到p1口。
作者: titan90921    時間: 2019-10-24 15:36
univers 發表于 2019-10-23 23:09
還可以這樣搞啊,i是自加輸出到p1口。

對啊,二進制的神奇之處
作者: 如癡百感生    時間: 2019-10-25 14:47
有機會試試




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