打印
[LPC]

NXP LPC1768宝马开发板 第一章GPIO实验

[复制链接]
2458|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 szopenmcu 于 2015-1-21 15:01 编辑

第一章    NXP LPC1768—— GPIO

开发环境:集成开发环境μVision4 IDE版本4.60.0.0
主机系统:Microsoft Windows XP
开发平台:旺宝NXP LPC1768开发板

1.1 GPIO简介
1.2 硬件描述
1.3 程序说明
1.4 实验现象

1GPIO
GPIOGeneral Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读出引脚的状态-是高电平或是低电平。GPIO 口是个比较重要的概念,用户可以通过 GPIO 口和硬件进行数据交互(UART),控制硬件工作(LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。因此,GPIO 口的使用非常广泛。
2硬件描述:
         
想要控制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=12FCCO=400。由此可计算M=100N=6PLL0CFG寄存器包含PLL0倍频器和分频器值,我们往这个寄存器写值来实现分频与倍频
上面我们算得M=100N=6,把他们分别减一,换算成16进制
      #define PLL0CFG_Val           0x00050063

接下来就可以配置我们的CPU时钟了,PLL0输出时钟必须要经过分频才能
提供给CPU使用,PLL0输出的分频由CCLKCFG寄存器进行控制。当PLL0被旁路时,可通过1分频。当PLL0正在运行时,输出必须经过分频以使CPU时钟频率(CCLK)工作在限定的范围内。可使用一个8位分频器进行选择,包括降低CPU的操作频率来暂时节省功耗而无需关闭PLL0
  CCLKPLL0输出信号中得到,通过CCLKSEL+1分频。当CCLKSEL1时,CCLK的频率是PLL0输出频率的一半;当CCLKSEL3时,CCLK的频率是PLL0输出频率的四分之一,如此类推。这里我们把它设置成
#define CCLKCFG_Val           0x00000007
CCLK的频率 = PLL0输出频率的八分之一 =50MHz

现在我们一步一步来点亮LED
在端口配置的函数里面,有两个重要寄存器,FIODIRFIOPIN

我们从这张表可以看到,要把某个端口方向设置成输出,只需把FIODIR这个寄存器的某个位写1即可。根据手册说明,除了32位长和仅可以进行字访问的FIODIR寄存器外,每个高速GPIO口也可通过一些字节和半字访问的寄存器来控制。这些额外的寄存器除了提供与FIODIR寄存器相同的功能外,还可以更容易、更高速地访问物理端口引脚。比如LPC_GPIO2->FIODIR  = 0x000000ff;  我们也可以写成LPC_GPIO2->FIODIR0  = 0xff;
  
   设置好方向之后,即可按我们自己的要求输出高低电平来实现我们当初设计的功能。
   细心的你一定发现了,在void  LED_config(void)这个函数里,有配置GPIO0的语句。奇怪啊!LED没有接在GPIO0IO口啊。通过计算我们可以知道这两句配置的是P0.21这个IO口。打开我们的原理图,可以看到P0.21接到了SN74ALVC164245DIR这个端口,74ALVC164245 双电源供电,实现3.3V5V电平转换,宝马1768的板子没有用5VIO,所以电源都接3v3,其中DIR控制传输方向,DIR高电平 A to B ;DIR低电平 B TO A
  
我们把DIR拉高,数据的传输方向是A to B,目的是防止数据被意外干扰。
   
4、实验现象:
把程序下载到板子上,程序运行后,可以看到LED从左到右,然后从右到左流动,流到最左边时LED全亮,最后全灭,以此循环。

源代码:
【01】宝马1768_GPIO(2014.05.10).rar (68.19 KB)



相关帖子

沙发
szopenmcu|  楼主 | 2015-1-27 09:25 | 只看该作者
沙发

使用特权

评论回复
板凳
YingziSeek| | 2015-1-27 09:29 | 只看该作者
谢谢分享

使用特权

评论回复
地板
szopenmcu|  楼主 | 2015-1-28 09:46 | 只看该作者
YingziSeek 发表于 2015-1-27 09:29
谢谢分享

多谢谢支持:)

使用特权

评论回复
5
szopenmcu|  楼主 | 2015-4-2 14:18 | 只看该作者
配套书本目录附上:



lab 1.开发环境和开发工具
lab 2.GPIO和LED控制
lab 3.键盘与中断
lab 4.串口通信
lab 5.利用UART实现调度台
lab 6.定时器与计数器
lab 7.五向键与有限状态机
lab 8.实时时钟
lab 9.I2C接口与设备
lab 10.LCD控制器与LCD显示
lab 11.模数转换实验
lab 12.数模转换实验

使用特权

评论回复
6
cdf961214| | 2015-4-3 12:42 | 只看该作者
LPC1768FBD100  20 原装现货
                 北京长实拓展电子有限公司
        本公司主营TI. NXP. IR. ON. SILIABS
                                               
18B20温度传感器特价销售  
爱普生RX8025SA RX8025T/UC RX8025T/UB IC电表时钟芯片                                            等著名世界品牌产品。
MSP430F一系列TI储存芯片 微控处理器
MSP430F149 169 249 449 1611 5438 5438AIPZR  等。
C8051F 一系列SILICON 单片机 微控处理器
C8051F020 021 022 023 040 120 310 320 330 340 350等
LPC一系列NXP单片机  
LPC2132FBD64 LPC2134FBD64 LPC2214FBD144  
LPC2378FBD144 LPC2292FBD144等一系列供应
专营:低压差 基准源 三 五 七端稳压 二三极管 场效应 快恢复 肖特基二极管 可控硅 达林顿 整流桥 TVS管 光藕 MAX AD 集成电路 
                   北京长实拓展电子销售:陈冬锋
                                     QQ:2850327057
                      电话:15711002528,13641144498

使用特权

评论回复
7
Yurnero_72| | 2015-4-22 10:54 | 只看该作者
MARK

使用特权

评论回复
8
LitterCabbage| | 2015-7-14 20:05 | 只看该作者
谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:专业生产销售STM32开发板,仿真器,http://openmcu.taobao.com/

71

主题

283

帖子

11

粉丝