找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC8系列單片機(jī)發(fā)高速脈沖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:282021 發(fā)表于 2019-10-2 10:10 來自手機(jī) | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
再做一個stc 發(fā)出高數(shù)脈沖,說明書程序沒有弄清楚,請大神解答,這個如何控制輸出

Screenshot_2019-10-02-10-03-34-406.png (124.66 KB, 下載次數(shù): 46)

Screenshot_2019-10-02-10-03-34-406.png

Screenshot_2019-10-02-10-04-43-679.png (271.58 KB, 下載次數(shù): 41)

Screenshot_2019-10-02-10-04-43-679.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:155507 發(fā)表于 2019-10-3 17:59 | 只看該作者
需要習(xí)慣并學(xué)會看手冊
請參考STC-ISP里的范例程序里的STC8系列的 "PCA/CCP口切換"

我給你來個程序試試
  1. #include "reg51.h"
  2. #include "intrins.h"



  3. //測試工作頻率為11.0592MHz

  4. #define T38K4HZ         (11059200L / 2 / 38400)

  5. sfr     CCON        =   0xd8;
  6. sbit    CF          =   CCON^7;
  7. sbit    CR          =   CCON^6;
  8. sbit    CCF3        =   CCON^3;
  9. sbit    CCF2        =   CCON^2;
  10. sbit    CCF1        =   CCON^1;
  11. sbit    CCF0        =   CCON^0;
  12. sfr     CMOD        =   0xd9;
  13. sfr     CL          =   0xe9;
  14. sfr     CH          =   0xf9;
  15. sfr     CCAPM0      =   0xda;
  16. sfr     CCAP0L      =   0xea;
  17. sfr     CCAP0H      =   0xfa;
  18. sfr     PCA_PWM0    =   0xf2;
  19. sfr     CCAPM1      =   0xdb;
  20. sfr     CCAP1L      =   0xeb;
  21. sfr     CCAP1H      =   0xfb;
  22. sfr     PCA_PWM1    =   0xf3;
  23. sfr     CCAPM2      =   0xdc;
  24. sfr     CCAP2L      =   0xec;
  25. sfr     CCAP2H      =   0xfc;
  26. sfr     PCA_PWM2    =   0xf4;
  27. sfr     CCAPM3      =   0xdd;
  28. sfr     CCAP3L      =   0xed;
  29. sfr     CCAP3H      =   0xfd;
  30. sfr     PCA_PWM3    =   0xf5;
  31. sfr     P_SW1       =   0xa2;

  32. unsigned int value;

  33. void PCA_Isr() interrupt 7
  34. {
  35.     CCF0 = 0;                    //清中斷標(biāo)志
  36.     CCAP0L = value;
  37.     CCAP0H = value >> 8;         //更新比較值
  38.     value += T38K4HZ;
  39. }

  40. void main()
  41. {
  42.     CCON = 0x00;                            //初始化PCA控制寄存器
  43.     CMOD = 0x08;                            //PCA時鐘為系統(tǒng)時鐘
  44.     CL = 0x00;                              //復(fù)位PCA寄存器
  45.     CH = 0x00;
  46.     CCAPM0 = 0x4d;                         //PCA模塊0為16位定時器模式并使能脈沖輸出
  47.     value = T38K4HZ;
  48.     CCAP0L = value;                       //CCP0 P1.7輸出38.4KHz方波
  49.     CCAP0H = value >> 8;                  //初始化PCA模塊0
  50.     value += T38K4HZ;
  51.     P_SW1 = 0x00;             //ECI/P1.2, CCP0/P1.7, CCP1/P1.6, CCP2/P1.5,CCP3/P1.4
  52. //  P_SW1 = 0x10;             //ECI_2/P2.2, CCP0_2/P2.3, CCP1_2/P2.4, CCP2_2/P2.5,CCP3_2/P2.6
  53. //  P_SW1 = 0x20;             //ECI_3/P7.4, CCP0_3/P7.0, CCP1_3/P7.1, CCP2_3/P7.2,CCP3_3/P7.3
  54. //  P_SW1 = 0x30;             //ECI_4/P3.5, CCP0_4/P3.3, CCP1_4/P3.2, CCP2_4/P3.1,CCP3_4/P3.0

  55.     CR = 1;                                     //啟動PCA計時器
  56.     EA = 1;

  57.     while (1);
  58. }

復(fù)制代碼
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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