找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5490|回復(fù): 2
收起左側(cè)

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

  [復(fù)制鏈接]
ID:23844 發(fā)表于 2019-11-9 20:21 | 顯示全部樓層 |閱讀模式
測(cè)試STC12C5A60S2輸出可調(diào)占空比的PWM脈沖帶兩個(gè)按鍵,分別加大與減少占空比調(diào)整,
可以用萬(wàn)用表電壓檔測(cè)量PWM輸出IO的電壓會(huì)隨著占空比高低變化

單片機(jī)源程序如下:
  1. /**********
  2. 測(cè)試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.         // 開(kāi)啟比較器允許  允許PWM引腳輸出脈沖
  23.         CR=1;                        // PCA計(jì)數(shù)器開(kāi)始運(yùn)行
  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ù)制代碼





評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:554892 發(fā)表于 2020-4-2 19:15 | 顯示全部樓層
很有價(jià)值,頂一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:945807 發(fā)表于 2022-12-3 15:06 | 顯示全部樓層
厲害, 很有價(jià)值,頂一個(gè)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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