STC12C5A60S2单片机各个模块程序代码资料

STC12C5A60S2单片机各个模块程序代码资料

ID:41791173

大小:174.50 KB

页数:30页

时间:2019-09-02

STC12C5A60S2单片机各个模块程序代码资料_第1页
STC12C5A60S2单片机各个模块程序代码资料_第2页
STC12C5A60S2单片机各个模块程序代码资料_第3页
STC12C5A60S2单片机各个模块程序代码资料_第4页
STC12C5A60S2单片机各个模块程序代码资料_第5页
资源描述:

《STC12C5A60S2单片机各个模块程序代码资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//****************************************************************************////STC12C5A60S2可编程时钟模块//////说明:STC12C5A60S2单片机有三路可编程时钟输出CLKOUT0/T0/P3.4//CLKOUT1/T1/P3.5、CLKOUT2/P1.0////涉及寄存器:AUXR(辅助寄存器)、WAKE_CLKO(时钟与系统掉电唤醒控制寄存器)//BRT(独立波特率发生器定时器寄存器)////程序说明://本程序可选实现P3.4输

2、出CLKOUT0时钟、P3.5输出CLKOUT1时钟//P1.0输出CLKOUT2时钟//////****************************************************************************//#include#include//#definePort_BRT//如果想测试独立波特率发生器时钟输出请打开此句//若想测试CLKOUT1和CLKOUT0请注释此句#ifdefPort_BRT/*条件编译独立波特率发生器时钟输出*/

3、//*********************************////CLKOUT2时钟初始化////*********************************//voidCLKOUT_init(void){WAKE_CLKO=0x04;//Bit2-BRTCLKO允许P1.0配置为独立波特率发生器的时钟输出//BRT工作在1T模式下时的输出频率=Sysclk/(256-BRT)/2//BRT工作在12T模式下时输出频率=Sysclk/12/(256-BRT)/2AUXR=0x14;//Bit4-BRTR允许独立波特率发

4、生器运行//Bit2-BRTx12BRT工作在1T模式下BRT=0xff;//更改该寄存器的值可实现对输出的时钟频率进行分频}#else/*条件编译CLKOUT0时钟输出*///*********************************////CLKOUT0时钟和CLKOUT1初始化////*********************************//voidCLKOUT_init(void){WAKE_CLKO=0x03;//允许将P3.4/T0脚配置为定时器0的时钟输出CLKOUT0//T0工作在1T模式时的输出频率

5、=SYSclk/(256-TH0)/2//T0工作在12T模式时的输出频率=SYSclk/12/(256-TH0)/2//1T指的是每1个时钟加1,是普通C51的12倍//12T指的是每12个时钟加1与普通C51一样//允许将P3.5/T1脚配置为定时器1的时钟输出CLKOUT1,只能工作在定时器模式2下//T1工作在1T模式时的输出频率=SYSclk/(256-TH0)/2//T1工作在12T模式时的输出频率=SYSclk/12/(256-TH0)/2//1T指的是每1个时钟加1,是普通C51的12倍//12T指的是每12个时钟加1与

6、普通C51一样AUXR=0xc0;//T0定时器速度是普通8051的12倍,即工作在1T模式下//T1定时器速度是普通8051的12倍,即工作在1T模式下TMOD=0x22;//定时器0工作模式为方式2,自动装载时间常数//定时器1工作模式为方式2,自动装载时间常数TH0=0xff;//更改该寄存器的值可实现对输出的时钟频率进行分频TL0=0xff;TH1=0xff;//更改该寄存器的值可实现对输出的时钟频率进行分频TL1=0xff;TR1=1;TR0=1;}#endif//*******************************

7、***////主程序////**********************************//voidmain(){CLKOUT_init();while(1);}//****************************************************************************////STC12C5A60S2系统时钟模块//////说明:STC12C5A60S2单片机有两个时钟源,内部R/C振荡时钟和外部晶体时钟//出厂标准配置是使用外部晶体或时钟//////涉及寄存器:CLK_DIV(时

8、钟分频寄存器)//由该寄存器的Bit0-2组合可实现对时钟源进行0、2、4、8、16//32、64、128分频//////程序说明://对外部时钟进行分频得到Sysclk,然后经过P1.0的独立波特率//时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。