总结C51、STM32和S3C2440的时钟体系和定时器

发布者:美人如玉剑如虹最新更新时间:2018-07-21 来源: eefocus关键字:C51  STM32  S3C2440  时钟体系  定时器 手机看文章 扫描二维码
随时随地手机看文章

/* 
名称:总结C51、STM32和S3C2440的时钟体系和定时器 
说明:对于C51单片机来说,其谈不上什么时钟体系。片上运行的所有东西都靠一个时钟脉冲提供–外部晶振。 
对于STM32来说,其时钟体系比较复杂。为了达到降低能耗的目的,再设计STM32时,其厂商特地设计了一个STM32的时钟树。就连最简单的点亮一个LED灯,都必须配置其时钟树,再打开对应的时钟开关。

在这里简单介绍一些STM32的时钟树的主要部分: 
时钟树

对于这个复杂的时钟树,它的来源可以为外部高速时钟、外部低速时钟、内部低速时钟、内部高速时钟(HSE、HSI、LSI、LSE)。当然,具体选择哪个需要根据需要。在这里选择一个主要的来讲:就是外部高速时钟(HSE)。然后,外部高速时钟经过锁相环(PLL)之后得到PLLCLK。再然后经过选择成为系统时(SYSCLK)系统时钟最大为72MHz。系统时钟一般经过分频之后,就输送给各个外设,就是接下来的步骤,即系统时钟经过AHB预分频得到APB总线时钟HCLK。再再然后,HCLK经过APB1分频得到PCLK1,以后输送给APB1外设(一些低速外设)。HCLK经过APB2分频得到PCLK2,以后输送给APB2外设(一些高速设备)。

基本的流程图为:HSE->PLLCLK->SYSCLK->HCLK->PCLK1(或PCLK2)。(结合STM32时钟树看更容易理解。)

这么复杂的时钟树,对于一些不用的设备就可以关闭其时钟,对于一些低速的设备提供低速的时钟信号,这样也就达到了节能的目的。也因为这个,我们在使用某个外设的时候,一般需要对应的打开其外设的时钟信号(默认是关闭的),哪怕只是点亮一个小小的LED灯。

对于S3C2440来说,它的时钟体系要比C51要复杂,但对于STM32来说,是简单不少了。简单说来,它有3种时钟:FCLK、HCLK、PCLK。其中FCLK用于CPU内核;HCLK用于AHB总线上的高速设备;PCLK用于APB总线上的低速设备。当系统刚上电时,FCLK等于外部输入的时钟(一般比较低)。然后然后可以通过软件启动MPLL(锁相环倍频)。倍频之后FCLK就变为倍频之后的时钟信号了。再然后,可以通过CLKDIVN寄存器设置FCLK、HCLK、PCLK的比例。时钟配置就结束了。是不是相对于STM32的时钟树要简单多了。对于具体的外设来说,也没有什么打开时钟、关闭时钟之说,因为据我估计这个时钟玩意一直是开启的。

再来总结下这三个芯片的定时器: 
三个芯片定时器个性已经在以前的博客中说了。 
共性嘛,现在想想,说起来一句话,都是对脉冲的计数。不同的是,高级一点的芯片,在这个计数基础上加了一些其他的功能(如PWM,输入捕获等等)。

*/


关键字:C51  STM32  S3C2440  时钟体系  定时器 引用地址:总结C51、STM32和S3C2440的时钟体系和定时器

上一篇:STM32_GPIO之点亮LED实验
下一篇:C51、STM32和S3C2440中断体系的比较

推荐阅读最新更新时间:2024-03-16 16:09

关于STM32开发板晶振相关的问题汇总
1、自己做了个STM32的板子,,但是手里没有8M的晶振,所以就用了,12M的,,但是不正常,上电之后PA15和PA14接的是两个led,PA15接的led常亮,PA14接的的led不亮,,而且芯片下载程序又能下载,应该不是芯片坏的问题吧,,而且不管我些什么程序进去,两个脚的状态都不变,,我怀疑是电路有问题,,可是我仔细检查了电路和板子,都没问题,,JTAG正常使用。我用的是12M的晶振,这会有影响吗?感觉不管下什么程序进去感觉芯片好像没有运行。 答:如果使用12M的晶振,那么要修改启动文档中的关于RCC的语句。 因为如果你使用库文件的话,ST的库,默认外部晶振是8M,所以如果你不修改RCC部分的语句,会造成CPU不启动,
[单片机]
51单片机程序——定时器控制蜂鸣器
#include reg52.h #define uint unsigned int sbit bb=P3^5; //位定义蜂鸣器接口 sbit led1=P0^0; //位定义LED接口 unsigned int i=0; void delay(uint z); //延迟函数声明 void main() { TMOD=0x01; //TMOD赋值,以确定T0和T1的工作方式 TH0=(65536-50000)/256; //计算初值,并将其写入TH0、TL0或TH1、TL1 TL0=(65536-50000)%6; E
[单片机]
STM32之LED按键中断
*************************************************************************************************************************************** 开发板 :奋斗STM32 CPU :STM32F103 开发环境:keil uVsion4 *****************************************************************************************************************************
[单片机]
STM32单片机(五)-寄存器地址理解和控制LED闪烁
芯片:stm32f103zet6 1、存储单元一般应具有存储数据和读写数据的功能,一般以8位二进制作为一个存储单元,也就是一个字节.每个单元有一个地址,是一个整数编码,可以表示为二进制整数。 2、stm32是32位单片机,说明基本的寄存器是32位的,4字节。内存地址需要4位 3、基址也就是基础地址,最开始的地址,这个查看芯片手册,是人家规定的。 4、偏移,即偏移地址,一般是正整数,也是增加的数字。比如基址是10,偏移是4,地址就是10+4=14. 下面STM32F10xxx中内置外设的起始地址。 每个外设的起始地址就是,每个外设的基址了,当然这个基址也可以再分解为基址和偏移地址。 比如,GPIOB的起始
[单片机]
<font color='red'>STM32</font>单片机(五)-寄存器地址理解和控制LED闪烁
STM32 USART串口DMA接收和发送模式
串口DMA发送: 发送数据的流程: 前台程序中有数据要发送,则需要做如下几件事 1. 在数据发送缓冲区内放好要发送的数据,说明:此数据缓冲区的首地址必须要在DMA初始化的时候写入到DMA配置中去。 2. 将数据缓冲区内要发送的数据字节数赋值给发送DMA通道,(串口发送DMA和串口接收DAM不是同一个DMA通道) 3. 开启DMA,一旦开启,则DMA开始发送数据,说明一下:在KEIL调试好的时候,DMA和调试是不同步的,即不管Keil 是什么状态,DMA总是发送数据。 4. 等待发送完成标志位,即下面的终端服务函数中的第3点设置的标志位。或者根据自己的实际情况来定,是否要一直等待这个标志位,也可以通过状态机的方式来循
[单片机]
<font color='red'>STM32</font> USART串口DMA接收和发送模式
STM32中的时钟
下面就以STM32开发板中最常见的STM32F103系列芯片的时钟为例,介绍一下STM32中的时钟。 时钟作用 说到时钟,你一定会问,这是用来计时的吗?没错,是用来计时的,但这只是它在STM32中的一项功能而已,下面就为你列出了时钟的具体功能。 计时作用(供给某些计数器统计时间); 控制时序(串口数据的传输,只能一位一位的传输); 控制信号(将时钟的上升下降沿作为独特的控制标志)。 STM32时钟模型 STM32内部时钟树 时钟源 时钟源就是产生时钟的电路啦,我们来一起看一下,什么样的电路可以产生时钟。 STM32中的时钟源分为以下五种: 低速内部时钟LSI:频率为40kHz ; 高速内部时钟HSI :频率为8MH
[单片机]
<font color='red'>STM32</font>中的<font color='red'>时钟</font>
关于调试STM32程序时,某些标志位被调试软件意外清除的问题
在调试的过程中,使用调试软件的寄存器或存储器显示窗口,可以很方便地查看外设寄存器的状态。 很多朋友都碰到过这样的问题:在单步调试时始终不能在显示窗口看到某些标志位的变化,应该设置这些标志位的时候,窗口中却显示为0,不少人都错误地认为这是芯片的问题。 我们知道,不少STM32外设的状态寄存器位,可以通过对某些寄存器的读操作而清除(例如I2C的I2C_SR1中的很多标志位),在调试过程中,每当程序停止在设置的断点或单步停止时,调试软件都会自动地读出所有指定的寄存器和存储器中的内容,并刷新窗口的显示,调试软件的这个读操作恰好清除了那些标志位,造成了上面描述的现象。 有几个简单的办法解决这个问题: 1)关闭寄存器或存储器显示窗口 2
[单片机]
基于Cortex-M3的STM32微控制器处理先进电机控制方法
  变频器的问世和先进的 电机控制 方法让 三相无刷电机 (交流感应电机或永磁同步电机)曾经在调速应用领域取得巨大成功。这些高性能的电机驱动器过去主要用于工厂自动化系统和机器人。十年来,电子元器件的大幅降价使得这些电机驱动器能够进入对成本敏感的市场,例如:家电、空调或个人医疗设备。本文将探讨基于ARM的标准微控制器如何在一个被DSP和FPGA长期垄断的市场上打破复杂的控制模式,我们将以意法半导体的基于Cortex-M3内核的STM32系列微控制器为例论述这个过程。   首先,我们回顾一下电机控制的基本原理。在电机控制系统内,为什么处理器非常重要?我们为什么需要非常好的计算性能?毕竟,Nicolas Tesla在一个世纪前发明
[安防电子]
基于Cortex-M3的<font color='red'>STM32</font>微控制器处理先进电机控制方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved