#define XTAL_FREQ   12000000

#define VECT_TAB_OFFSET  0x0000

void SystemInit(void)

{

//PLL0时钟配置

LPC_SC->SCS       = 0X00000020;               /*使能外部主晶振,频率范围1-20M*/

if (LPC_SC->SCS & (1 << 5))                 /* 主时钟被使能  */

{

while ((LPC_SC->SCS & (1<<6)) == 0);/*   等待主晶振使能并稳定  */

}

LPC_SC->CCLKCFG   = 0x00000003;      /* 选择PLL到CCLK的分频     4  */

LPC_SC->PCLKSEL0  = 0x00000000;    /*选择外设时钟从CCLK的分屏 均为0,均为4分频率,后期可改 */

LPC_SC->PCLKSEL1  = 0x00000000;

LPC_SC->CLKSRCSEL = 0x00000001;    /* 选择CCLK时钟源  主震荡器作为PLL0时钟源      */

LPC_SC->PLL0CFG   = 0x00050063;    /* 选择PLL倍频     N 6 M 100 pllout 400M   */

LPC_SC->PLL0FEED  = 0xAA;

LPC_SC->PLL0FEED  = 0x55;

LPC_SC->PLL0CON   = 0x01;             /* 使能PLL0                */

LPC_SC->PLL0FEED  = 0xAA;

LPC_SC->PLL0FEED  = 0x55;

while (!(LPC_SC->PLL0STAT & (1<<26)));/* 等待PLL0锁定  */

LPC_SC->PLL0CON   = 0x03;             /* 使能PLL0连接并使能           */

LPC_SC->PLL0FEED  = 0xAA;

LPC_SC->PLL0FEED  = 0x55;

while (!(LPC_SC->PLL0STAT & ((1<<25) | (1<<24))));/* 等待连接并使能成功 */

//PLL1时钟配置

LPC_SC->PLL1CFG   = 0x00000023;      /*设置PLL1分频 M 3 P 2  */

LPC_SC->PLL1FEED  = 0xAA;

LPC_SC->PLL1FEED  = 0x55;

LPC_SC->PLL1CON   = 0x01;             /* PLL1 Enable                        */

LPC_SC->PLL1FEED  = 0xAA;

LPC_SC->PLL1FEED  = 0x55;

while (!(LPC_SC->PLL1STAT & (1<<10)));/* 等待PLL时钟锁定                   */

LPC_SC->PLL1CON   = 0x03;             /* 使能并连接              */

LPC_SC->PLL1FEED  = 0xAA;

LPC_SC->PLL1FEED  = 0x55;

while (!(LPC_SC->PLL1STAT & ((1<< 9) | (1<< 8))));/* 等待连接并使能成功 */

LPC_SC->PCONP     = 0x00000008;        /* 初始化仅仅打开UART0时钟  */

LPC_SC->CLKOUTCFG = 0x00000000;         /* 不使用CLOCK输出         */

LPC_SC->FLASHCFG  = 0x0000403A;         //设置flash访问时间

#if (__RAM_MODE__==1)        //根据配置

SCB->VTOR  = 0x10000000 | VECT_TAB_OFFSET;

#else

SCB->VTOR  = 0x00000000 | VECT_TAB_OFFSET;     //中断向量表在flash区间,偏移为0

#endif

}

lpc1768的系统时钟的更多相关文章

  1. windows 系统时钟

    偶然发现了一个函数用以查询操作系统的时钟间隔: BOOL WINAPI GetSystemTimeAdjustment( _Out_ PDWORD lpTimeAdjustment, _Out_ PD ...

  2. STM32学习笔记(六) SysTick系统时钟滴答实验(stm32中断入门)

    系统时钟滴答实验很不难,我就在面简单说下,但其中涉及到了STM32最复杂也是以后用途最广的外设-NVIC,如果说RCC是实时性所必须考虑的部分,那么NVIC就是stm32功能性实现的基础,NVIC的难 ...

  3. STM32学习笔记:系统时钟和SysTick定时器

    原文:http://blog.sina.com.cn/s/blog_49cb42490100s60d.html 1.     STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HS ...

  4. STM32F4_RCC系统时钟配置及描述

    Ⅰ.概述 对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳. 对于使用开发板学习的朋友来说,RCC系统时钟这一块知识估计没怎么去配置过,原因在于开发板提供的 ...

  5. Linux 系统时钟(date) 硬件时钟(hwclock)

    /********************************************************************* * Linux 系统时钟(date) 硬件时钟(hwclo ...

  6. DELPHI下读取与设置系统时钟

    在DELPHI下读取与设置系统时钟 很多朋友都想在自己的程序中显示系统时间 这在DELPHI中十分容易 利用DateToStr(Date)及TimeToStr(Time)函数即可实现. 二者的函数原型 ...

  7. 安装WP8 SDK出现“根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内”的解决办法

    今天重装系统了,在安装WP8 SDK时,安装了一小部分就提示“根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内”的错误. 根据错误提示,貌似跟时间有关,百度了下.果真.把系统时间往前调 ...

  8. MSP430主系统时钟以及430的低功耗设置

    如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可 ...

  9. LPC17XX 数据手册摘要之系统时钟与功率控制

    系统时钟与功率控制 一.系统时钟 LPC17XX有三个独立的时钟振荡器,分别是主振荡器(MIAN_OSC).内部RC振荡器(IRC_OSC).实时时钟振荡器(RTC_OSC).LPC17XX时钟框图如 ...

随机推荐

  1. 在WIN7/8下把XP装入VHD (上)

    系统平台:win8.1 操作目的:工作中需要使用一个只能在winxp下运行的软件,但我平时都用win8.1,也不想弄个麻烦的双系统.在无忧论坛研究了两天后找到个比较好的办法,在VHD里装个window ...

  2. 购物车CheckBox全选、反选

    注意:不是很完美 //--------------------主布局文件--------------------------------- <LinearLayout xmlns:android ...

  3. C 汇编代码 函数调用指令和栈平衡

    1. CALL指令: CALL指令可不是如唤指令,而是子程序调用指令.那么汇编语言中的子程序是什么呢?子程序能被其它程序调用,在实现某种功能后能自动返回到调用程序去的程序.其最后一条指令一定是返回指令 ...

  4. [转]MD5加密算法的java实现

    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /* * MD5 算法 */ pu ...

  5. HDU 1054 Strategic Game(树形DP)

    Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. Java中域 实例域 静态域

    1.java中的域 所谓的域,翻译成英文就是field, 也就是我们常说的字段,或者说是属性. 比如类的字段(属性),局部的,全局的.所谓域,其实是“field”的翻译 然后实例域,就是 实例(&qu ...

  7. StringWriter/PrintWriter在Java输出异常信息中的作用

    闲来无事,看看JUnit的源代码.刚刚开始看就发现一段有趣的代码: public String trace() { StringWriter stringWriter = new StringWrit ...

  8. Git学习 -- 搭建Git服务器

    搭建环境 服务器端:CentOS 6.5   IP:192.168.101.129 客户端:CentOS 6.5 . Windows 服务器端: 创建repository版本库,例如/srv/test ...

  9. HDU 3265 Posters ——(线段树+扫描线)

    第一次做扫描线,然后使我对线段树的理解发生了动摇= =..这个pushup写的有点神奇.代码如下: #include <stdio.h> #include <algorithm> ...

  10. 使用for循环还是foreach循环?

    很多时候我们很自然的认为,for循环的时候使用foreach和原来的for循环用下标的方式遍历是相同的. 而且因为foreach循环写法简单,很容易理解,而且少去了很多麻烦的变量,所以估计在学会使用f ...