STC12C5A系列MCU用PCA模块输出脉冲,看手册跟着学编了一个测试输出时钟的例程
写了注释
单片机源程序如下:
- /************
- STC12C5A08AD MCU PCA输出高速脉冲
- **************/
- #include<STC12C5A.h>
- #include<intrins.h>
- #define FOSC 12000000L //最后的L表示这是一个long int的整型常量,长整型
- #define Fout 50 //实际需要输出的频率,修改这个值就可以修改输出频率
- #define ToutHZ (FOSC/4/Fout)//输出频率预设的初值
- #define BYTE unsigned char
- #define WORD unsigned int
- sbit LED0=P0^0; //PCA 测试频率输出引脚,同时在CCAP0(P1.3)引脚输出
- BYTE cnt;
- WORD value;
- void main()
- {
- CCON=0;
- CL=0;
- CH=0;
- CMOD=0x02;
- value=ToutHZ;
- CCAP0L=value;
- CCAP0H=value>>8;
- value+=ToutHZ;
- CCAPM0=0x4d;
- CR=1;
- EA=1;
- cnt=0;
- while(1);
- }
- void PCA_isr() interrupt 7 using 1
- {
- CCF0=0; //清除中断标志位
- CCAP0L=value;//更新计数值
- CCAP0H=value>>8;
- value+=ToutHZ;
- LED0=~LED0;//频率输出引脚,也可以从CCAP0(P1.3)引脚测量
- }
复制代码
所有资料51hei提供下载:用示波器实测完全OK
ClkOut1.rar
(622 Bytes, 下载次数: 18)
|