找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5409|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STC12C5A60S2輸出可調(diào)占空比的PWM脈沖源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:23844 發(fā)表于 2019-11-9 20:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
測試STC12C5A60S2輸出可調(diào)占空比的PWM脈沖帶兩個按鍵,分別加大與減少占空比調(diào)整,
可以用萬用表電壓檔測量PWM輸出IO的電壓會隨著占空比高低變化

單片機(jī)源程序如下:
  1. /**********
  2. 測試STC12C5A
  3. 輸出可調(diào)占空比的PWM脈沖
  4. 調(diào)整范圍
  5. 20191109
  6. *********/
  7. #include "STC12C5A.H"   // 包含STC12C5A60S2寄存器定義文件

  8. sbit UpKey=P3^5;  //調(diào)小占空比按鍵
  9. sbit DownKey=P3^4;//調(diào)大占空比按鍵

  10. #define ADJdata CCAP0H//宏定義

  11. void delayms(unsigned int delay)
  12. {
  13.         unsigned int a,b;
  14.         for(a=delay;a>0;a--)
  15.         for(b=150;b>0;b--);
  16. }

  17. void main()
  18. {
  19.         CCAPM0=0x42;            // 設(shè)置PCA模塊為PWM輸出方式。
  20.         //B7  B6     B5    B4   B3    B2   B1   B0
  21.         //*  ECOM0 CAPPn CAPNn MATn TOGn PWMn ECCFn
  22.         // 開啟比較器允許  允許PWM引腳輸出脈沖
  23.         CR=1;                        // PCA計數(shù)器開始運行
  24.         ADJdata=0x80;        // 脈寬控制初值50%        
  25.         while(1)
  26.                 {
  27.                 if(UpKey==0)
  28.                         {
  29.                         delayms(20);
  30.                         if(UpKey==0)
  31.                                 {
  32.                                 while(UpKey==0);
  33.                                 ADJdata+=5;
  34.                                 if(ADJdata>=255) ADJdata=255;//最大
  35.                                 }
  36.                         }
  37.                 if(DownKey==0)
  38.                         {
  39.                         delayms(20);
  40.                         if(DownKey==0)
  41.                                 {
  42.                                 while(DownKey==0);
  43.                                 if(ADJdata<=25) ADJdata=30;//最低
  44.                                 ADJdata-=5;
  45.                                 }
  46.                         }
  47.                 }               
  48. }                                                                  
復(fù)制代碼





評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:554892 發(fā)表于 2020-4-2 19:15 | 只看該作者
很有價值,頂一個
回復(fù)

使用道具 舉報

板凳
ID:945807 發(fā)表于 2022-12-3 15:06 | 只看該作者
厲害, 很有價值,頂一個
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表