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

QQ登錄

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

搜索

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

查看數(shù): 3015 | 評(píng)論數(shù): 1 | 收藏 2
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2019-10-2 10:10

正文摘要:

再做一個(gè)stc 發(fā)出高數(shù)脈沖,說(shuō)明書程序沒(méi)有弄清楚,請(qǐng)大神解答,這個(gè)如何控制輸出

回復(fù)

ID:155507 發(fā)表于 2019-10-3 17:59
需要習(xí)慣并學(xué)會(huì)看手冊(cè)
請(qǐng)參考STC-ISP里的范例程序里的STC8系列的 "PCA/CCP口切換"

我給你來(lái)個(gè)程序試試
  1. #include "reg51.h"
  2. #include "intrins.h"



  3. //測(cè)試工作頻率為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時(shí)鐘為系統(tǒng)時(shí)鐘
  44.     CL = 0x00;                              //復(fù)位PCA寄存器
  45.     CH = 0x00;
  46.     CCAPM0 = 0x4d;                         //PCA模塊0為16位定時(shí)器模式并使能脈沖輸出
  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;                                     //啟動(dòng)PCA計(jì)時(shí)器
  56.     EA = 1;

  57.     while (1);
  58. }

復(fù)制代碼

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

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

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