52单片机大家都用过,但是定时器2的一些功能相比不是用的很多。今天我就看了数据手册和网上的一些资料,也编了一个输出40KHz的方波:
【8052定时器2的可编程时钟输出模式的实例】
/* File name:40khz.c Date:2012/04/27 Description:use timer 2 to generator the 40khz precisely CPU:STC89C52RC Ctystal:12MHzFormula Fsoc OUTPUT CLK = ---------------------------- 4 * [65536-(RCAP2H, RCAP2L)] C/T2=0; TR2=1; T2OE=1; */#includeint main(void) {T2MOD=0x02; TH2=0xff; TL2=0xb5; C_T2=0; TR2=1; RCAP2H=0XFF; RCAP2L=0XB5; while(1) { }return 0; }
编译完之后,我想在keil里仿真一下,用logic analyzer看一下P1.0的输出,可是没有成功,按时我把HEX文件下到板子里后,yeah!成功了!输出了很精确的40kHz方波,这样就可以用于超声波测试仪所需要的方波了!!不错哦~~
最后上两个图片
文章图片
文章图片
转载于:https://www.cnblogs.com/CodeWorkerLiMing/archive/2012/04/27/2474197.html
推荐阅读
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- 嵌入式-外设|DDR3基础详解
- ffmpeg|从零开始仿写一个抖音App——基于FFmpeg的极简视频播放器
- #|Multimedia
- USB转串口|USB转四串口芯片CH9344
- python|Python的DEBUG LOG
- ARM的C语言程序优化
- linux|【原创】ARM LINUX 外部RTC实时时钟驱动移植(RX8025)
- linux进程通信(一)--共享内存+信号量,代码示例
- C|堆和栈