logo资料库

LPC1768基础教程.pdf

第1页 / 共63页
第2页 / 共63页
第3页 / 共63页
第4页 / 共63页
第5页 / 共63页
第6页 / 共63页
第7页 / 共63页
第8页 / 共63页
资料共63页,剩余部分请下载后查看
写在前面
第一部分 LPC1768介绍
简介
第二部分 最小板硬件电路
硬件电路简介
电源电路
复位电路
JTAG接口电路
串口电路
按键电路
LED显示电路
EEPROM电路
USB从机电路
LPC1768芯片
第三部分 编译环境和程序下载
编译环境
使用JLINK下载
使用NXP公司提供的ISP软件下载程序
第四部分 芯片编程介绍
系统文件介绍
LPC17XX的基本使用介绍
关于系统初始化
PLL0R控制寄存器PLL0CON
PLL0配置寄存器 PLL0CFG
PLL0状态寄存器 PLL0STAT
PLL0馈送寄存器 PLL0FEED
PLL0和掉电模式
PLL0频率的计算
外设功率控制
外设时钟控制
管脚输出配置
寄存器描述
实例详解
实验1——4LED跑马灯1
实验2——4LED跑马灯2
实验3——UART的使用
实验4——按键实验
M3 LPC1768 基础教程 NXP Cortex----M3 LPC1768 NXP Cortex 基础教程 M3 LPC1768 NXP Cortex NXP Cortex M3 LPC1768 基础教程 基础教程 活活活活生变改技科 生变改技科 生变改技科 生变改技科 好好好好美更活生让子电 美更活生让子电 美更活生让子电 美更活生让子电 作者作者作者作者::::天下的人 天下的人 天下的人天下的人 时间时间时间时间::::2010 2010 年年年年 9999 月月月月 2222 日日日日 20102010 邮箱邮箱邮箱邮箱::::zdeh726@163.com zdeh726@163.com zdeh726@163.com zdeh726@163.com
电子让生活更美好 写在前面 写在前面 写在前面 写在前面 首先说一说为什么写这个教程,转眼间就毕业了,学校的日子还没 有过够。就要工作了,由于需要想要搞一搞 ARM M3,很显然芯片选型 落在了 STM32 和 NXP 的 LPC17XX 上了。最后选择了 LPC1768 这款型号, 买开发板、学习(以前我只用过单片机和一点点 STM32),学习的过程 还算顺利,找到了 ZLG 翻译的中文资料和 3 个版本的例程。学习开始 了,从 LED 灯、串口、AD、到内部定时器等等。学习的过程夹杂着 心酸和喜悦,在学习的过程中发现网络上还没有现成的学习资料。市 场上的开发板的一部分不是自己开发的都是参考的 NXP 和 ARM 公司的 官方版本,其实这本身并没有什么不好,但是后面的问题出来了,程 序注释不详细,除了手册就没有参考资料了。所以在学习的过程中就 在想要是把自己学习的过程总结一下,出一点资料,为那些奋斗在学 习一线的电子爱好者出一份力,这是一件多么令人高兴的事呀!于是 有了今天这个教程的诞生。在这里首先要感谢的是 ZLG 公司为这个系 列芯片提供了中文参考资料,其次感谢该公司注释比较详尽的程序, 为我的学习和应用提供了不少帮助。 关于同是 ARM M3 内核的 STM32 和 LPC17XX 比较,我想大家争论最大 的地方是价格。我想说的是 LPC17XX 是 NXP 公司推出的基于 M3 内核比 较高端的芯片。应该拿 STM32 中高端芯片和 LPC17XX 比较。我曾经买 过几片 stm32f103VET6 是 100 脚 512KB flash、64KB SRAM、72MHz、AD、 DA、定时器、USB 从机和 FSMC。而 LPC1768,100 脚、512KB flash、 64KB SRAM、100MHz、AD、DA、32 位定时器、USB 主/从/OTG、以太网、 天下的人(红豆电子)与贞明电子协同打造 1
电子让生活更美好 电机控制 PWM、正交编码器接口等。STM32 有 FSMC 的优势,LPC1768 有以太网、USB 主机等优势。可能你要说 stm32F105 和 stm32f107 也有 带 USB 主机,以太网的。可是看看价格也差不多,这几个芯片目前的 价格都在 40 元左右。还有编程,stm32 有库,而 NXP 没有,但是我觉 得 NXP 的寄存器操作也很简单,不信试试就知道了。 下面说说本教程的主要内容安排:第一部分主要介绍 LPC1768 的特 点。第二部分介绍本教程使用的最小系统版的硬件电路。第三部分是 编译环境和下载程序介绍。第四部分是芯片编程介绍,第五部分是实 例详解。芯片内部功能和操作详解会柔和在实例的每一个实验中。最 后感谢一下辛苦的我自己,没有自己的辛勤劳动就没有这个教程。期 待早一点完成这个教程。 注意注意注意注意:本教程叙述语言力求简洁大方,例程力求通俗易懂,可以不 深入追究的东西(如协议内容)就不深入追究。本教程适合的对象是 学过或致力于学习单片机或对 ARM7、ARM cortex m3 有所了解的人或 想学 LPC17XX 的初学者适用。高手绕行。 天下的人(红豆电子)与贞明电子协同打造 2
电子让生活更美好 第一部第一部第一部第一部分分分分 LPC1768 LPC1768 介绍介绍介绍介绍 LPC1768 LPC1768 1.11.11.11.1 简介简介简介简介 LPC1768 是 NXP 公司推出的基于 ARM Cortex-M3 内核的微控制器 LPC17XX 系列中的一员。LPC17XX 系列 Cortex-M3 微处理器用于处 理要求高度集成和低功耗的嵌入式应用。LPC1700 系列微控制器的 操作频率可达 100MHz(新推出的 LPC1769 和 LPC1759 可达 120MHz)。 ARM Cortex-M3 CPU 具有 3 级流水线和哈佛结构。LPC17XX 系列微 控制器的外设组件包含高达 512KB 的 flash 存储器、64KB 的数据 存储器、以太网 MAC、USB 主机/从机/OTG 接口、8 通道 DMA 控制 器、4 个 UART、2 条 CAN 通道、2 个 SSP 控制器、SPI 接口、3 个 IIC 接口、2 输入和 2 输出的 IIS 接口、8 通道的 12 位 ADC、10 位 DAC、电机控制 PWM、正交编码器接口、4 个通用定时器、6 输 出的通用 PWM、带有独立电池供电的超低功耗 RTC 和多大 70 个的 通用 IO 管脚。 1.2 特性(部分) 64KB 片内 SRAM 包括: 32KB 可供高性能 CPU 通过本地代码/数据总线访问; 2 个 16KB SRAM 模块、带独立访问路径、可进行更高吞吐量的操 作。这些 SRAM 可用于以太网、USB、DMA 存储器,以及通用指令和 数据存储。 串行接口: 以太网 MAC 带 RMII 接口和相关的 DMA 控制器; 天下的人(红豆电子)与贞明电子协同打造 3
电子让生活更美好 USB 2.0 全速从机/主机/OTG 控制器,带有用于从机、主机功能 的片内 PHY 和相关的 DMA 控制器; 4 个 UART、带小数波特率发生功能、内部 FIFO、DMA 支持和 RS-485 支持。1 个 UART 带有 modem 控制 IO 并支持 RS-485,全部的 UART 都支持 IrDA; CAN 控制器,带有 2 个通道; SPI 控制器,具有同步、串行、全双工通信和可编程的数据长度; 2 个 SSP 控制器,带有 FIFO,可按多种协议进行通信。其中一 个可选择用于 SPI,并且和 SPI 公用中断。SSP 接口可以与 GPDMA 控制器一起使用。 3 个增强型的 IIC 总线接口。 IIS 接口,用于数字音频输入和输出,具有小数速率控制功能。 IIS 接口可与 GPDMA 一起使用。IIS 接口支持 3 线数据发送和接收 或 4 线组合发送和接收连接,以及主机时钟输入输出; 其他外设: 4 个通用定时/计数器,共有 8 个捕获输入和 10 个比较输出。每 个定时器都有一个外部计数输入。 一个电机控制 PWM,支持三相的电机控制; 通过片内 PLL,没有高频晶振,CPU 页可以以最高频率运转。 第二个专用的 PLL 可用于 USB 接口,以允许增加主PLL的灵 活性; 天下的人(红豆电子)与贞明电子协同打造 4
电子让生活更美好 器件选型表: 方框图: 天下的人(红豆电子)与贞明电子协同打造 5
电子让生活更美好 第二部分 最小板硬件电路 第二部分 最小板硬件电路 最小板硬件电路 第二部分第二部分 最小板硬件电路 2.12.12.12.1 硬件电路简介 硬件电路简介 硬件电路简介 硬件电路简介 硬件电路基本结构图: EEPROM JTAG UART KEY 微控制器 电源 图 1 硬件电路基本结构图 硬件电路原理图: 3V3 12 PLED LED_POWER LED供电电电 R12 680 R11 680 R10 680 R9 680 D1 LED2 D2 LED2 D3 LED2 D4 LED2 3V3 D5 LED2 R8 680 P2.0 P2.1 LED P2.2 P2.3 GND POWER_LED 3V3 GND 3V3 R6 10K R5 10K R4 10K R3 10K R2 10K R1 10K 3V3 R13 10K S2 P2.10 3V3 R14 10K S3 P2.11 3V3 R15 10K S4 P2.12 12 SW-PB INT0 INT0 GND SW-PB key1 GND INT0&KEY SW-PB key2 GND 3V3 供电供电电电 P_BATT 12 VDDA VSSA VREF+ VREF- BT1 Battery 3V3 R7 10K C10 S1 0.1uF SW-PB GND GND RSTOUT VREF- RESET P1.31 P1.30 P0.28 P0.27 TRST TDI TMS TCK RTCK TDO RESET JTAG 1 3 5 7 9 11 13 15 17 19 2 4 6 8 10 12 14 16 18 20 JTAG P0.26 P0.25 P0.24 P0.23 VDDA VSSA VREF+ P0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 IO&PIN TDO TDI TMS TRST TCK P0.26 P0.25 P0.24 P0.23 VDDA VSSA VREF+ RSTOUT VREF- RX1 RESET RX2 VBAT P1.31 P1.30 X1 X2 P0.28 P0.27 P3.26 P3.25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 U1 TDO/SWO TDI TMS/SWDIO TRST TCK/SWDCLK P0.26/AD0.3/AOUT/RXD3 P0.25/AD0.2/I2SRX_SDA/TXD3 P0.24/AD0.1/I2SRX_WS/CAP3.1 P0.23/AD0.0/I2SRX_CLK/CAP3.0 VDDA VSSA VREF+ NC RSTOUT VREF- RTCX1 RESET RTCX2 VBAT P1.31/SCK1/AD0.5 P1.30/VBUS/AD0.4 XTAL1 XTAL2 P0.28/SCL0/USB_SCL P0.27/SDA0/USB_SDA P3.26/STCLK/MAT0.1/PWM1.3 P3.25/MAT0.0/PWM1.2 C21 0.1uF C22 0.1uF U3 C1+ C1- C2+ C2- 1 3 4 5 P0.10 11 P0.2 10 P0.11 12 P0.3 9 15 GND V- MAX3232CSE 3V3 0.1uF VCC V+ 16 2 C24 C23 GND 3V3 3V3 VDDIO_1 P0.29 P0.30 VSS_1 28 29 30 31 C15 0.1uF VDDIO_1 P0.29/USB_D+ P0.30/USB_D- VSS_1 0.1uF 14 RXD2 7 13 TXD2 8 6 C25 0.1uF GND RXD2 S_COM 1 3 5 2 4 6 3,5;4,6选选选电0 1,3;2,4选选选电2 P0.2 P0.3 P2.10 RESET ISP 1 2 3 4 TXD2 COM 1 6 2 7 RTS 3 8 4 9 5 DTR 11 10 D Connector 9 GND P3.26 P3.25 VDDIO_1 P0.29 P0.30 VSS_1 P1.18 P1.19 P1.20 P1.21 P1.22 P1.23 P1.24 P1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 IO&PIN P1.25 P1.26 VSS_2 VDDREG_1 P1.27 P1.28 P1.29 P0.0 P0.1 P0.10 P0.11 P2.13 GND GND C16 0.1uF 3V3 P1.18 P1.19 P1.20 P1.21 P1.22 P1.23 P1.24 P1.25 P1.26 32 33 34 35 36 37 38 39 40 P1.18/USB_UP_LED/PWM1.1/CAP1.0 P1.19/MC0A/USB_PPWR/CAP1.1 P1.20/MCFB0/PWM1.2/SCK0 P1.21/MCABORT/PWM1.3/SSEL0 P1.22/MC0B/USB_PWRD/MAT1.0 P1.23/MCFB1/PWM1.4/MISO0 P1.24/MCFB2/PWM1.5/MOSI0 P1.25/MC1A/MAT1.1 P1.26/MC1B/PWM1.6/CAP0.0 VSS_2 41 VDDREG_1 42 VSS_2 VDDREG_1 P1.27 P1.28 P1.29 P0.0 P0.1 P0.10 P0.11 P2.13 43 44 45 46 47 48 49 50 P1.27/CLKOUT/USB_OVRCR/CAP0.1 P1.28/MC2A1.0/MAT0.0 P1.29/MC2B/PCAP1.1/MAT0.1 P0.0/RD1/TXD3/SDA1 P0.1/TD1/RXD3/SCL1 P0.10/TXD2/SDA2/MAT3.0 P0.11/RXD2/SCL2/MAT3.0 P2.13/EINT3/I2STX_SDA LPC1768 UART&ISP 3V3 R18 10K RTC IO口 LED USB P2.12/EINT2/I2STX_WS P2.11/EINT1/I2STX_CLK P2.10/EINT0/NMI VDDIO_2 VSS_3 P0.22/RTS1/TD1 P0.21/RI1/RD1 P0.20/DTR1/SCL1 P0.19/DSR1/SDA1 P0.18/DCD1/MOSI0/MOSI P0.17/CTS1/MISO0/MISO P0.15/TXD1/SCK0/SCK P0.16/RXD1/SSEL0/SSEL P2.9/USB_CONNECT/RXD2 P2.8/TD2/TXD2 P2.7/RD2/RTS1 P2.6/PCAP1.0/RI1/TRACECLK P2.5/PWM1.6/DTR1/TRACEDATA0 P2.4/PWM1.5/DSR1/TRACEDATA1 P2.3/PWM1.4/DCD1/TRACEDATA2 VDDIO_3 VSS_4 P2.2/PWM1.3/CTS1/TRACEDATA3 P2.1/PWM1.2/RXD1 P2.0/PWM1.1/TXD1 P0.9/I2STX_SDA/MOSI1/MAT2.3 P0.8/I2STX_WS/MISO1/MAT2.2 P0.7/I2STX_CLK/SCK1/MAT2.1 P0.6/I2SRX_SDA/SSEL1/MAT2.0 P0.5/I2SRX_WS/TD2/CAP2 P0.4/I2SRX_CLK/RD2/CAP2.0 P4.28/RX_MCLK/MAT2.0/TXD3 VSS_6 VDDREG_2 P4.29/TX_MCLK/MAT2.1/RXD3 P1.17/ENET_MDIO P1.16/ENET_MDC P1.15/ENET_REF_CLK P1.14/ENET_RX_ER P1.10/ENET_RXD1 P1.9/ENET_RXD0 P1.8/ENET_CRS P1.4/ENET_TX_EN P1.1/ENET_TXD1 P1.0/ENET_TXD0 VDDIO_4 VSS_5 P0.3/RXD0/AD0.6 P0.2/TXD0/AD0.7 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 98 P2.12 P2.11 P2.10 VDDIO_2 VSS_3 P0.22 P0.21 P0.20 P0.19 P0.18 P0.17 P0.15 P0.16 P2.9 P2.8 P2.7 P2.6 P2.5 P2.4 P2.3 VDDIO_3 VSS_4 P2.2 P2.1 P2.0 P0.9 P0.8 P0.7 P0.6 P0.5 P0.4 P4.28 VSS_6 VDDREG_2 P4.29 P1.17 P1.16 P1.15 P1.14 P1.10 P1.9 P1.8 P1.4 P1.1 P1.0 VDDIO_4 VSS_5 P0.3 P0.2 RTCK 100 RTCK 3V3 C20 0.1uF GND 3V3 C19 0.1uF GND GND C18 0.1uF 3V3 3V3 C17 0.1uF GND P2.12 P2.11 P2.10 VDDIO_2 VSS_3 P0.22 P0.21 P0.20 P0.19 P0.18 P0.17 P0.15 P0.16 P3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 IO&PIN P0.9 P0.8 P0.7 P0.6 P0.5 P0.4 P4.28 VSS_6 VDDREG_2 P4.29 P1.17 P1.16 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 IO&PIN RX1 C14 1 Y1 10PF 2 RX2 C13 X1 C12 1 Y2 2 X2 C11 10PF 22PF 22PF P2.9 P2.8 P2.7 P2.6 P2.5 P2.4 P2.3 VDDIO_3 VSS_4 P2.2 P2.1 P2.0 P1.15 P1.14 P1.10 P1.9 P1.8 P1.4 P1.1 P1.0 VDDIO_4 VSS_5 P0.3 P0.2 GND GND ISP P2.10 RESET S_d 1 3 2 4 Q1 8050 D6 R17 33K RTS 使使选电0下下下下,1,2;3,4一一一一电 Diode 1N4148 GND 3V3 R26 4.7K R25 4.7K P0.28 P0.27 8 6 5 4 U4 VCC SCL SDA GND 24C02 WP A0 A1 A2 7 1 2 3 GND Q2 8050 D7 DTR R16 33K GND Diode 1N4148 GND USB_D- P0.30 USB_D+ P0.29 C27 20pF C28 20pF R19 22 R20 22 3V3 GND Q3 PNP_8550 R23 10k R24 2K GND Power_1 123 1,2USB供供 2,3供电电电供供 LPC1768_1 VCC VUSB P1.30 R21 4k7 C26 0.1uF J1 1 2 3 4 VBUS D- D+ GND 787780-1 R22 1K5 USB_DEVICE USB_CONNECT P2.9 S_USB 1 2 3 GND 2,3直电电电 1,2芯芯电电 power 1 3 2 C8 220uF C6 0.01uF C5 0.1uF U2 3 1 IN GND OUT OUT REG1117-3.3 2 4 3V3 C9 220uF C7 0.1uF GND MINA_POWER L1 10uH L3 10uH 3V3 GND VDDA C1 0.1uF C2 1uF VSSA L2 10uH L4 10uH VREF+ C3 0.1uF C4 1uF VREF- POWER_S 天下的人(红豆电子)与贞明电子协同打造 6 图 2 硬件电路原理图
电子让生活更美好 2.22.22.22.2 电源电路 电源电路 电源电路电源电路 Power_1 123 1,2USB供供 2,3供电电电供供 VCC power 1 3 2 C8 220uF C6 0.01uF C5 0.1uF 3 1 U2 IN GND OUT OUT REG1117-3.3 2 4 3V3 C9 220uF C7 0.1uF GND MINA_POWER L1 10uH L3 10uH 3V3 GND VDDA C1 0.1uF C2 1uF VSSA L2 10uH L4 10uH VREF+ C3 0.1uF C4 1uF VREF- POWER_S LPC17XX 系列微控制器在电源部分需要五种电压源对其供电,分 别是: A、 内核和外部通路所需的 3.3V 电源 VDD(3V3); B、 内部稳压器所需的 3.3V 电源 VDD(REG)(3V3); C、 模拟部分(如片上 ADC 和 DAC)所需的 3.3V 电源; D、 模数转换器 ADC 所需的参考电源 VREFP; E、 实时时钟 RTC 所需的 3.3V 电源 VBAT; 在本设计中电源采用外部 5V 供电,可以是 USB 取电也可以是电 源适配器供电。通过 Power_1 短路冒选择,若短路 1、2 则是 USB 取电。若短路 2、3 则是电源接口取电!电源进入目标板后首先经 过一个开关 POWER_S,控制电源的通断。然和经过 C5、C6、C8 三 个电容滤波,输入 1117-3.3 以获得 3.3V 电源。LPC1768 具有独立 的模拟电源和 AD 输入参考电压,为了降低噪声和出错几率,模拟 电源和数字电源需要隔离,本设计的 L1-L4 就是将数字电源的高 频噪声和模拟电源隔离。1117-3.3 是 3.3V 稳压芯片输出电流高达 800mA。实时时钟 RTC 部分本部分采用纽扣电池供电,供电管脚连 接短路冒,不用时可以取掉。 天下的人(红豆电子)与贞明电子协同打造 7
分享到:
收藏