×
嵌入式 > 技术百科 > 详情

增强型单片机STC12C5A60S2输出各种频率方波信号

发布时间:2020-06-08 发布时间:
|

设时钟频率Fosc=18.432MHz,设计程序,从P1.0/CLKOUT2引脚输出频率为124.540KHz的时钟;从T0(P3.4)引脚输出频率为125KHz的时钟;从T1(P3.5)引脚输出频率为38.4KHz的时钟。


解:使用STC12C5A60S2的可编程时钟输出功能完成所需要求。在下面的程序设计中(在此只给出C语言程序),T0、T1和独立波特率发生器BRT均工作在1T模式。

程序编制如下:


#include "stc12c5a.h"        //包含STC12C5A60S2的寄存器定义头文件

void main(void)

{

    TMOD = 0x22;               //T0和T1工作在方式2,8位自动重装计数器

    AUXR = AUXR | 0x80;      //T0工作在1T模式

    AUXR = AUXR | 0x40;      //T1工作在1T模式

    AUXR = AUXR | 0x04;      //独立波特率发生器工作在1T模式

//设置BRT的8位自动重装计数初值,输出时钟频率124.540KHz

    BRT = (256-74); 

//设置T0的8位自动重装计数初值,输出频率18432000/2/74 = 124540.54约为125KHz

    TH0 = (256-74);

//设置T1的8位自动重装计数初值,输出时钟频率18432000/2/240 = 38400Hz

    TH1 = (256-240); 

    WAKE_CLKO=WAKE_CLKO|0x07; //允许T0,T1,独立波特率发生器输出时钟

    TR0 = 1;      //启动T0开始计数,对系统时钟进行分频输出

    TR1 = 1;      //启动T1开始计数,对系统时钟进行分频输出

    AUXR =AUXR|0x10;  //启动BRT工作,对系统时钟进行分频输出

//至此时钟已经输出,用户可以通过示波器观看到输出的时钟频率

    while(1);

}


 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机与PC机的通讯介绍02