历史上的今天
今天是:2025年02月28日(星期五)
2021年02月28日 | STM8内部时钟切换
2021-02-28 来源:eefocus
简介:在STM8内部有时钟切换功能,可以在需要时变换时钟的频率。板子为STM8_Discovery,LED为PD0。
程序如下:
//功能:STM8的内部时钟分频切换
#include "iostm8s105c6.h"
// 函数功能:延时函数
// 输入参数:ms -- 要延时的毫秒数,这里假设CPU的主频为2MHZ
void DelayMS(unsigned int ms)
{
unsigned char i;
while(ms != 0)
{
for(i=0;i<250;i++)
{
}
for(i=0;i<75;i++)
{
}
ms--;
}
}
//GPIO口初始化
void GPIO_init(void)
{
PD_DDR = 0x01;//配置PD端口的方向寄存器PD0输出
PD_CR1 = 0x01;//设置PD0为推挽输出
PD_CR2 = 0x00;
}
//时钟初始化
void CLK_init(void)
{
CLK_SWR =0xE1; //选择芯片内部的16MHZ的RC振荡器为主时钟
}
main()
{
int i;
GPIO_init();
CLK_init();
while(1) //进入无限循环
{
//下面设置CPU时钟分频器,使得CPU时钟=主时钟/4
//通过发光二极管,可以看出,程序运行的速度确实明显下降了
CLK_CKDIVR =0x1A; // 主时钟 = 16MHZ/8= 2MHz
// CPU时钟 = 主时钟 / 4= 500KHZ
for(i=0;i<10;i++)
{
PD_ODR = 0x01;
DelayMS(100);
PD_ODR = 0x00;
DelayMS(100);
}
// 下面设置CPU时钟分频器,使得CPU时钟=主时钟
CLK_CKDIVR =0x0A; // 主时钟 = 16MHZ/2 =8MHz
// CPU时钟 = 主时钟/4 = 2MHZ
for(i=0;i<10;i++)
{
PD_ODR = 0x01;
DelayMS(100);
PD_ODR = 0x00;
DelayMS(100);
}
}
}
上一篇:STM8单片机的时钟系统
下一篇:STM8实现万年历(高亮调时)
史海拾趣
|
在ISSCC大会开幕的头一天晚上,按照惯例举办了一场晚间技术研讨会。其中,由模拟技术研究领域的著名研究员们进行研讨的模拟电路技术专题研讨会,是每次都有众多人员参加的重头会议。今年的主题是“模拟电路设计的黄金时代结束了吗?(Is the Golden ...… 查看全部问答> |
|
ARM CPU S3C44B0X与C54X DSP的接口设计 1 ARM CPU S3C44B0X的特点 ARM是一款32位的精简指令集(RISC)处理器架构,以其高性能、低功耗、低成本占有市场。由于ARM公司采用IP授权的方式经营,全球几乎所有的大半导体公司都有基于ARM的SOC芯片。 S3C44B0X是SAMSUNG(三 ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 请大家继续追加、我会整理出清单。 一、国内TV DESIGN HOUSE: 上海这边的有全景、 奇普、英诺、pixelworks、 trident、ST、高清、 天柏、复旦微电子、先锋、上广电、大亚、戎讯、协和、华 ...… 查看全部问答> |
|
在很多项目中我们都需要菜单,特别是多层菜单应用比较广泛,但是写一个能够很方便移植的多层菜单非常麻烦,我们这里就先研究一下单层菜单的翻滚的实现方式。 下面就以一个例子来说明此菜单的具体实现方法: 1. 假设本菜单使用在1 ...… 查看全部问答> |
|
【设计工具】Xilinx新版FPGA设计工具使FPGA可重复编程 赛灵思(Xilinx)公司推出新版FPGA设计的实时调试和验证软件。该公司的ChipScope Pro 6.2i使FPGA可重复编程,对于逻辑和嵌入式系统的调试可灵活和快速地完成。该软件的主要性能是附加了ATC2核,可将ChipScope Pro 6.2i与Agilent公司的16900、1690和16 ...… 查看全部问答> |




