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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

各位大神們看看這個波形用單片機可以怎么輸出?

[復制鏈接]
跳轉到指定樓層
樓主
基礎的頻率我是用STC15增強型PWM產生的并且可以調節頻率     

我嘗試過第一種方法    用STC15 PCA產生 100HZ的包絡線  然后在將這個波形送到INT0來觸發外部中斷  當外部中斷來的時候  我在中斷里面重新改變增強型PWM的頻率 從而實現一個I0口輸出兩種不同的頻率
經過反復折騰 么有成功   

我嘗試第二種 通過定時器定時  0-3S的時間   然后通過調節時間來觸發定時器中斷,當中斷到了以后在中斷里面更改頻率  通過這樣一來 還是失敗了 不可以   


請問大師些還有什么辦法可以     通過外圍電路合起來也可以     

還有就是  這樣的波形  叫什么波形     還是籠統的稱為  PWM調制波嗎  

下面是波形示例圖



有點類似于 花園灑水的噴頭  先是低頻  過幾秒 來一串高頻     

謝謝大家了









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

使用道具 舉報

沙發
ID:332444 發表于 2021-9-20 11:35 | 只看該作者
數值控制問題
回復

使用道具 舉報

板凳
ID:161164 發表于 2021-9-20 14:10 | 只看該作者
在你之前的貼子里,6樓不是已經給了答案了嗎?

1.gif (501.94 KB, 下載次數: 102)

1.gif
回復

使用道具 舉報

地板
ID:155507 發表于 2021-9-20 21:19 | 只看該作者
我給你來個程序試試

  1. /*---------------------------------------------------------------------*/
  2. /* --- STC MCU Limited ------------------------------------------------*/
  3. /* --- STC15F4K60S4 系列 定時器0,1可編程時鐘分頻輸出舉例---------------*/

  4. /* 如果要在程序中使用此代碼,請在程序中注明使用了STC的資料及程序        */
  5. /* 如果要在文章中應用此代碼,請在文章中注明使用了STC的資料及程序        */
  6. /*---------------------------------------------------------------------*/

  7. //本示例在Keil開發環境下請選擇Intel的8058芯片型號進行編譯
  8. //若無特別說明,工作頻率一般為11.0592MHz


  9. #include "reg51.h"

  10. typedef unsigned char BYTE;
  11. typedef unsigned int WORD;

  12. #define FOSC 11059200L

  13. //-----------------------------------------------

  14. sfr P0M1 = 0x93;
  15. sfr P0M0 = 0x94;
  16. sfr P1M1 = 0x91;
  17. sfr P1M0 = 0x92;
  18. sfr P2M1 = 0x95;
  19. sfr P2M0 = 0x96;
  20. sfr P3M1 = 0xb1;
  21. sfr P3M0 = 0xb2;
  22. sfr P4M1 = 0xb3;
  23. sfr P4M0 = 0xb4;
  24. sfr P5M1 = 0xC9;
  25. sfr P5M0 = 0xCA;
  26. sfr P6M1 = 0xCB;
  27. sfr P6M0 = 0xCC;
  28. sfr P7M1 = 0xE1;
  29. sfr P7M0 = 0xE2;

  30. sfr AUXR      = 0x8e;               //輔助特殊功能寄存器
  31. sfr INT_CLKO  = 0x8f;               //喚醒和時鐘輸出功能寄存器

  32. sbit T0CLKO   = P3^5;               //定時器0的時鐘輸出腳

  33. #define F1KHz (65536-FOSC/2/1000)    //1T模式
  34. //#define F38_4KHz (65536-FOSC/2/12/38400) //12T模式

  35. sbit T1CLKO   = P3^4;               //定時器1的時鐘輸出腳

  36. #define F300Hz (65536-FOSC/2/300)    //1T模式
  37. //#define F38_4KHz (65536-FOSC/2/12/38400) //12T模式

  38. //-----------------------------------------------

  39. void main()
  40. {
  41.     P0M0 = 0x00;
  42.     P0M1 = 0x00;
  43.     P1M0 = 0x00;
  44.     P1M1 = 0x00;
  45.     P2M0 = 0x00;
  46.     P2M1 = 0x00;
  47.     P3M0 = 0x00;
  48.     P3M1 = 0x00;
  49.     P4M0 = 0x00;
  50.     P4M1 = 0x00;
  51.     P5M0 = 0x00;
  52.     P5M1 = 0x00;
  53.     P6M0 = 0x00;
  54.     P6M1 = 0x00;
  55.     P7M0 = 0x00;
  56.     P7M1 = 0x00;

  57.     AUXR |= 0x80;                   //定時器0為1T模式
  58. //  AUXR &= ~0x80;                  //定時器0為12T模式

  59.     AUXR |= 0x40;                   //定時器1為1T模式
  60. //  AUXR &= ~0x40;                  //定時器1為12T模式

  61.     TMOD = 0x00;                    //設置定時器為模式0(16位自動重裝載)
  62.    
  63.     TMOD &= ~0x04;                  //C/T0=0, 對內部時鐘進行時鐘輸出
  64. //  TMOD |= 0x04;                   //C/T0=1, 對T0引腳的外部時鐘進行時鐘輸出

  65.     TL0 = F1KHz;                 //初始化計時值
  66.     TH0 = F1KHz >> 8;
  67.     TR0 = 1;
  68.     INT_CLKO |= 0x01;                //使能定時器0的時鐘輸出功能

  69.     TMOD = 0x00;                    //設置定時器為模式1(16位自動重裝載)
  70.    
  71.     TMOD &= ~0x40;                  //C/T1=0, 對內部時鐘進行時鐘輸出
  72. //  TMOD |= 0x40;                   //C/T1=1, 對T1引腳的外部時鐘進行時鐘輸出

  73.     TL1 = F300Hz;                 //初始化計時值
  74.     TH1 = F300Hz >> 8;
  75.     TR1 = 1;
  76.     INT_CLKO |= 0x02;                //使能定時器1的時鐘輸出功能


  77.     while (1);                      //程序終止
  78. }

復制代碼


回復

使用道具 舉報

5#
ID:725110 發表于 2021-9-21 00:56 | 只看該作者
用三個IO口,輸出三路PWM波形,然后加與非門,使用第三個PWM波來控制兩種波形的工作時間
回復

使用道具 舉報

6#
ID:123289 發表于 2021-9-21 22:42 | 只看該作者
1、做個定時中斷,時常數從變量XT中取得。
2、中斷服務程序,只做一件事,將P1.1求反(設它就是你需要的輸出)。
3、將你需要的頻率折算成周期,再將周期的一半折算成時常數送入XT時(如1KH,折算成1ms,一半就是0.5Mms,再折算成時常數,你自己折吧),就得到你所需要的頻率了。
4、修改XT的值,就可以改變輸出的頻率。
回復

使用道具 舉報

7#
ID:213173 發表于 2021-9-22 07:00 | 只看該作者
使用PCA輸出高速脈沖功能,改變CCAP0H,CCAP0L重裝值就改變輸出頻率。你這頻率變化像是救護車鳴笛聲源。
回復

使用道具 舉報

8#
ID:254747 發表于 2021-9-27 09:30 | 只看該作者
非常感謝各位大佬 提供了這么多方案   謝謝   太感謝了    提前祝各位大佬國慶節日快樂 !!!
回復

使用道具 舉報

9#
ID:254747 發表于 2021-9-27 09:31 | 只看該作者
wulin 發表于 2021-9-22 07:00
使用PCA輸出高速脈沖功能,改變CCAP0H,CCAP0L重裝值就改變輸出頻率。你這頻率變化像是救護車鳴笛聲源。

嗯嗯   謝謝   我去測試一下
回復

使用道具 舉報

10#
ID:254747 發表于 2021-9-27 09:32 | 只看該作者
yzwzfyz 發表于 2021-9-21 22:42
1、做個定時中斷,時常數從變量XT中取得。
2、中斷服務程序,只做一件事,將P1.1求反(設它就是你需要的輸 ...

嗯嗯  這個方法我測試過了   可行    謝謝 大佬
回復

使用道具 舉報

11#
ID:254747 發表于 2021-9-27 09:34 | 只看該作者
angmall 發表于 2021-9-20 21:19
我給你來個程序試試

非常感謝你,還給我提供了程序  辛苦啦  
回復

使用道具 舉報

12#
ID:254747 發表于 2021-9-27 09:35 | 只看該作者
lkc8210 發表于 2021-9-20 14:10
在你之前的貼子里,6樓不是已經給了答案了嗎?

好的  我去查一下   可能是我當時沒有看清楚   我在去看看  謝謝哦   
回復

使用道具 舉報

13#
ID:254747 發表于 2021-10-13 15:00 | 只看該作者
lkc8210 發表于 2021-9-20 14:10
在你之前的貼子里,6樓不是已經給了答案了嗎?

你好你展示的這個波形  是通過單片機發出來的還是 門電路發出來的啊  可以指教一下嗎
回復

使用道具 舉報

14#
ID:161164 發表于 2021-10-13 16:10 | 只看該作者
不將就123 發表于 2021-10-13 15:00
你好你展示的這個波形  是通過單片機發出來的還是 門電路發出來的啊  可以指教一下嗎

單片機啊~
就是那你之前的貼子里,6樓的方案
回復

使用道具 舉報

15#
ID:254747 發表于 2021-10-14 09:32 | 只看該作者
lkc8210 發表于 2021-10-13 16:10
單片機啊~
就是那你之前的貼子里,6樓的方案

哦哦 好的  非常感謝   我去研究一下  
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产91一区二区三区 | 欧美日韩精品免费观看 | 亚洲人的av | 欧美美女二区 | 欧美黑人体内she精在线观看 | 亚洲国产一区二区在线 | 久久久久久国产精品免费免费狐狸 | 亚洲视频手机在线 | 99国内精品久久久久久久 | 不卡的av在线 | 亚洲色视频 | 91高清视频在线观看 | 精品福利一区二区三区 | 精品一区二区在线观看 | 久久久久久亚洲精品 | 狠狠爱免费视频 | 成人精品一区二区三区中文字幕 | 欧美黄色一区 | 久久偷人 | 日韩欧美在 | 欧美日韩精品亚洲 | 一级片在线播放 | 91亚洲精品久久久电影 | 伊大人久久 | 亚洲高清久久 | 欧美中文字幕一区二区三区亚洲 | 亚洲精品久久国产高清情趣图文 | 欧美日韩国产一区二区三区 | 日韩精品一区在线 | 日日操夜夜操天天操 | av网站在线免费观看 | 男人午夜视频 | 欧美国产日韩成人 | 亚洲欧美日韩国产综合 | 老牛嫩草一区二区三区av | 亚洲久久久 | 免费高清av| 欧美精品一区二区在线观看 | 日韩高清一区 | 婷婷在线免费 | 久久精品国产一区二区 |