No.108597 作者:旺宝电子 邮件:83843725@qq.com ID:132629 登陆:4次 文章数:2篇 最后登陆IP:112.95.254.77 最后登陆:2015/1/16 15:06:56 注册:2014/12/1 15:13:58 财富:120 发帖时间:2015/1/14 14:46:24 发贴者IP:112.95.254.77 标题:旺宝电子:NXP LPC1768宝马开发板第一章GPIO实验 摘要:No.108597NXP LPC1768宝马开发板第一章GPIO实验 [fly]第一章 NXP LPC1768—— GPIO 开发环境:集成开发环境μVision4 IDE版本4.60.0.0 主机系统:Microsoft Windows XP 开发平台:旺宝NXP LPC1768开发板 1.1 GPIO简介 1.2 硬件描述 1.3 程序说明 1.4 实验现象 1、GPIO: GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读出引脚的状态-是高电平或是低电平。GPIO 口是个比较重要的概念,用户可以通过 GPIO 口和硬件进行数据交互(如 UART),控制硬件工作(如 LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。因此,GPIO 口的使用非常广泛。 2、硬件描述: 图片1.jpg 想要控制LED,当然是通过控制LPC1768 I/0的高低电平来实现,在LPC1768上,I/O引脚可以被软件设置成不同的功能,如输入或输出,所以被称为GPIO (General-purpose I/O)。在本实验中,主要是用GPIO来控制开发板上的LED,实现跑马灯的效果。注意要短接JP8。 3、程序说明: 我们先来简单了解一下系统时钟分频倍频。假如我们要得到PLL0=400MHz的时钟,计算公式如下: FCCO=(2×M×FIN)/ N PLL输入和设定必须满足下面的条件: 1) FIN的范围:32KHz~50MHz; 2) FCCO的范围:275MHz~550MHz。 可通过求解PLL等式来得到其它的PLL参数: M =(FCCO×N)/(2×FIN) N =(2×M×FIN)/ FCCO FIN=(FCCO×N)/(2×M) 这里FIN=12,FCCO=400。由此可计算M=100,N=6;PLL0CFG寄存器包含PLL0倍频器和分频器值,我们往这个寄存器写值来实现分频与倍频 图片2.jpg 上面我们算得M=100,N=6,把他们分别减一,换算成16进制 #define PLL0CFG_Val 0x00050063 接下来就可以配置我们的CPU时钟了,PLL0输出时钟必须要经过分频才能 提供给CPU使用,PLL0输出的分频由CCLKCFG寄存器进行控制。当PLL0被旁路时,可通过1分频。当PLL0正在运行时,输出必须经过分频以使CPU时钟频率(CCLK)工作在限定的范围内。可使用一个8位分频器进行选择,包括降低CPU的操作频率来暂时节省功耗而无需关闭PLL0。 图片3.jpg CCLK从PLL0输出信号中得到,通过CCLKSEL+1分频。当CCLKSEL=1时,CCLK的频率是PLL0输出频率的一半;当CCLKSEL= ......
>>返回讨论的主题
|