mini244-------keil for ARM系列之时钟的配置(附带LED代码)

发布者:支持中文最新更新时间:2017-11-27 来源: eefocus关键字:mini244  keil  ARM系列  时钟  配置 手机看文章 扫描二维码
随时随地手机看文章

整篇文章的结构如下:

一、直接把时钟管理用到的寄存器罗列出来进行分析。

二、对其中的一些原理性的东西做介绍。

三、对于在后面编写串口时会出现的问题注意点提出说明。

四、LED 代码

 

 

一、在时钟管理中会用到的寄存器有以下一些。

LOCKTIME,MPLLCON,UPLLCON,CLKCON,CLKSLOW,CLKDIVN,CAMDIVN。

LOCKTIME:是对于配置好锁相环之后需要延时的一段时间,这时为了上锁稳定。其中包括两部分

①U_LTIME:这是UCLK(USB专用的一个时钟)配置好后需要的延时时间。

②M_LTIME:这时FCLK(系统时钟即CPU的频率),HCLK(一些高速设备所用到时钟),PCLK(低速设备所用到的时钟)这三者配置好后需要的上锁延时。

MPLLCON:是配置外部晶振与系统时钟之间关系的一个寄存器。之间的关系如下。

一定要要按照公式进行严格的计算,比如MPLLCON = 0;MPLLCON |= (0x38<<12)|(0x2<<4)|(0x3);这样MDIV=56  ,PDIV = 2, SDIV=3.   mpll = (2*64*12)/(4*8)=48MHZ;

UPLLCON:是配置USB使用的时钟的配置寄存器。配置方式与计算方式

其中对应的位与MPLLCON相同。(现在还没有使用到)

CLKCON:就是按照对应的位配置哪些设备的时钟使能了,对应的时钟更够给他提供对应的心跳。

CLKSLOW:可以对UPLL或者MPLL进行开关,也能对他们进行频率的减小。按照默认数值就行。

CLKDIVN:这是时钟分频寄存器。

可以看出来,仅仅只有HCLK会受CAMDIVN的影响,但是HCLK被影响后,会间接的对PCLK产生影响,

CAMDIVN:相机时钟分频寄存器。

CLKDIVN与CAMDIVN联合起来进行时钟的分频,推荐把HCLK配置到00,或者01上,这样就可以实现由CLKDIVN来分频。

在上面得到48MHZ的频率后,现在继续配置。CLKDIVN = 0;  CLKDIVN |=0x1;进行这样的配置。CAMDIVN=0;

最后可以得到FCLK=48M,  HCLK = 48M,  PCLK = 24M,

二、对其中的一些原理性的东西做介绍。

频率是如何进行产生与分频的。

在板子中有两个锁相环路。

第一个就是MPLL,这是对外部晶振(时钟)进行倍频,因为高频晶振价格高,所以就用锁相环路来进行倍频。

从图中也能看出来,倍频后的频率没有进过分频就直接进入到了FCLK这里了。

倍频后,再经过分频就能得到HCLK与PCLK了。所以形成我们使用的频率要进过两步

①倍频,②分频。

第二锁相环路是UPLL,专门来为USB提高时钟的,不作分析。

三、对于在后面编写串口时会出现的问题注意点提出说明。

注意①S3C2440中文档有误

比如我们看第一个   MDIV = 56---->m=64;PDIV=2------->p=4;SDIV=2------->s=2;按照公式计算出来频率是96MHZ

(对于这个地方我理解是因为MPLL得出来的频率就是FCLK的频率,所以在测试的时候把SDIV改成3才得到48M,不知道这里理解正确没有,如果有错,还希望指正)所以配置的时候,最好按照自己计算出的数字去配置。

注意② 系统在初始化代码中会进行时钟的配置,

在后面配置的时候可以先进行一下清零在重新配置,不要按照手册上的初始值进行与或操作来进行配置,因为初始化代码已经改变这些时钟的初始值了。

 

四、LED代码

led.C代码


  1. #include   

  2. #include "led.h"  

  3. //  

  4. void Led_Delay(void)  

  5. {  

  6.     int i,j;  

  7.     for(i=0;i<5000;i++)  

  8.     {  

  9.         for(j=0;j<50;j++);  

  10.     }  

  11. }  

  12. //  

  13. void Led_Init(void)  

  14. {  

  15. //GPB5-8都配置为输出  

  16.     GPBCON &=~(0x3FC00);  

  17.     GPBCON |=(1<<10)|(1<<12)|(1<<14)|(1<<16);  

  18. }  

  19.   

  20. void Led(unsigned char num)  

  21. {  

  22.     GPBDAT |= 0x1E0;  

  23.     switch(num)  

  24.     {  

  25.         case 1:  

  26.         GPBDAT &=~(0x20);break;  

  27.         case 2:  

  28.         GPBDAT &=~(0x40);break;  

  29.         case 3:  

  30.         GPBDAT &=~(0x80);break;  

  31.         case 4:  

  32.         GPBDAT &=~(0x100);break;  

  33.     }  

  34.     Led_Delay();  

  35.     GPBDAT |= 0x1E0;  

  36. }  

  37. void Led_Test(void)  

  38. {  

  39.     unsigned char i;  

  40.     for(i=1;i<5;i++)  

  41.     {  

  42.         Led(i);  

  43.     }  

  44. }  

LED.H的代码


  1. void Led_Delay(void);               //led中专用延时函数  

  2. void Led_Init(void);                //led中基本初始化操作  

  3. void Led(unsigned char num);            //第num个led被点亮  

  4. void Led_Test(void);                //led测试程序  


关键字:mini244  keil  ARM系列  时钟  配置 引用地址:mini244-------keil for ARM系列之时钟的配置(附带LED代码)

上一篇:mini2440----keil for ARM系列之串口
下一篇:mini2440----keil for ARM下的调试与下载环境的搭建

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

Keil c51的应用及特性解析
Keil c51号称作为51系列单片机最好的开发环境,大家一定都很熟悉。它的一些普通的特性大家也都了解,(书上也都说有)如:因为51内的RAM很小,C51的函数并不通过堆栈传递参数(重入函数除外),局部变量也不存储在堆栈中,而是存在于固定的RAM中及寄存器中。那么看一下下面的程序。 void fun1(unsigned char i) { } 正常情况参数i通过R7传入函数,那么它的实际地址在什么地方呢?就是R7吗?回答这个问题之前我们先来了解keil c51的几个有趣的特性(不考虑重入函数)。 一、函数在调用前定义与在调用后定义产生的代码是有很大差别的(特别是在优化级别大于3级时)。(本人也不太清楚为什么,大概因为在
[单片机]
R16版本对网络切片功能进行了增强
3GPP RAN全会副主席、中国移动首席专家徐晓东一句话解读R16新特性。 “ 在刚刚过去的一个周末,在通信领域迎来了一个重磅消息:北京时间7月3日23:00左右,负责制定3G以来通信标准的国际组织3GPP(the 3rd Generaon Partnehip Project)在TSG#88会议(在线会议)上通过并冻结标准Rel-16版,这标志着,5G Rel-16版标准全面冻结,5G正式进入第二阶段——“工业5G”时代。 你可能会问 之前我们不常常看到很多“5G智能产线” “5G智慧工厂”、“5G炼钢”这些报道吗? 怎么现在才说可以初步投入商用呢? 其实 你之前看到的可能都是一个“假”的工业5G
[机器人]
Software République宣布智能安全可持续出行计划初战告捷
2022 年 7月 12 日,中国—— 由Atos、达索系统(Dassault Systèmes)、Orange、雷诺集团(Renault Group)、意法半导体(STMicroelectronics)和泰雷兹(Thales)宣布共同成立软件共和国(Software République)至今已经过去一年,这个以智能安全可持续出行为己任的开放式创新生态系统近期在第六届 Viva Technology* 科技博览会上展示了第一阶段开发成果。 在短短几个月内,Software République 采取了重大创新举措,应对交通出行给社会和环境带来的挑战。该组织促成并加强了与私营领域(初创企业、中小企业、大型集团)、政府部门(地方
[物联网]
keil MDK编译器(V4.01)与H-JTAG的问题
前一阵子转投到MDK下面做开发,因为公司以前都用h-jtag做下载仿真工具,用的h-jtag版本为V0.9,我拿以前在ads1.2中编译成功的程序,稍作修改,在mdk下编译成功,仿真也没有问题,但下载到cpu中却怎么也没有结果,原本我以为是自己还不熟悉mdk,可能是那里设置的不对,所以我找了很多资料,也看了mdk自带的帮助文件,确信我的设置没有错.后来我不断的修改程序,将程序精简到只是简单的操作I/O口,可是这种程序下载到cpu中竟然还是不可以.再后来我开始怀疑是h-jtag的问题,更新了h-jtag到V1.0版本,再将mdk下的程序下载到mdk下,程序终于在硬件上运行了! 如果是用mdk+h-jtag做开发的朋友,在
[单片机]
安兔兔放出魅族PRO 6s配置 用户体验更让人期待
    在11月3日,魅族即将在河北秦皇岛发布全新的PRO 6s,根据之前高层透露,该机手机号称经过6个月的时间进行改造,而现在安兔兔放出了关于该机的参数。   来自安兔兔的资料显示,PRO 6s依然搭载联发科Helio X25处理器,采用了1080P的屏幕,前置500万+后置2100万像素摄像头,搭配4GB RAM+32G ROM的存储组合。   为什么没有换其它处理器,可能是李楠强调过“联发科X25已经足够使用,手机如饮水,其实很多人跑大型游戏的机会很少。日常中顺畅贴心舒适与否,冷暖自知”,因此魅族把更多的精力放在了其它地方。     因此,小编猜测这次魅族PRO 6s应该会在用户体验上面给人惊喜,
[手机便携]
ATmega16 时钟
ATmega16芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。 不同的时钟选项将在后续部分进行介绍。当CPU 自掉电模式或省电模式唤醒之后,被选择的时钟源用来为启动过程定时,保证振荡器在开始执行指令之前进入稳定状态。当CPU从复位开始工作时,还有额外的延迟时间以保证在MCU 开始正常工作之前电源达到稳定电平。这个启动时间的定时由看门狗振荡器完成。看门狗溢出时间所对应的WDT 振荡器周期数列于Table 3。看门狗振荡器的频率由工作电压决定,详见 P286“ATmega16 典型特性” 。 缺省时钟源 器件出厂时CKSEL = “0010”, SUT = “10”。这个缺
[单片机]
ATmega16 <font color='red'>时钟</font>源
基于单片机的日历时钟模块设计
在实时监控系统的设计中,要实时监测各个控制信号,更重要的是在发生故障时能准确记录故障数据,以便准确分析排除错误。监控系统中一般都要定时采集现场数据,对某些重要的信息不仅要记录其内容,还要记录下该信息发生的准确时间,所记录的实时时间信息应长期保存,因此需要实时时钟来实现。常用的单片机没有实时时钟,若需采用定时器实现,一旦系统掉电,时钟就不能运行,这是实时监控系统 不允许的,而采用独立运行的实时时钟便可实现。但一般的时钟芯片在系统掉电时,其数据也会丢失,需提供备用电池。而时钟芯片DS12887在系统掉电时数据不丢失,广泛应用于测量和控制系统。因此,这里给出了实时时钟DS12887在单片机应用系统中的应用。 1 主要器件造型 1.1
[单片机]
基于单片机的日历<font color='red'>时钟</font>模块设计
80c51单片机的基本配置有哪些 80c51单片机各个引脚及功能
  80c51单片机的基本配置有哪些   80C51单片机的基本配置包括:   CPU:80C51单片机的CPU由一个8位的ALU(算术逻辑单元)、一个8位的累加器、一个8位的B寄存器、一个16位的程序计数器和一个8位的状态寄存器组成。   存储器:80C51单片机的存储器包括程序存储器(ROM)、数据存储器(RAM)和特殊功能寄存器(SFR)。   时钟源:80C51单片机支持多种时钟源,包括外部晶体、外部时钟信号、内部振荡器等。   中断系统:80C51单片机支持多种中断源和中断优先级设置,可以灵活处理各种外部事件。   IO端口:80C51单片机的IO端口由多个可编程的输入输出引脚组成,可以连接各种外部设备。   通信接口:
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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