当前位置:文档之家› NXP Cortex-M3 LPC1768基础教程

NXP Cortex-M3 LPC1768基础教程

NXP Cortex-M3 LPC1768基础教程
NXP Cortex-M3 LPC1768基础教程

NXP Cortex NXP Cortex--M3 LPC1768基础教程基础教程

活生变改技科生变改技科 好美更活生让子电美更活生让子电

作者作者::天下的人天下的人

时间时间::2010年9月2日 邮箱邮箱::zdeh726@https://www.doczj.com/doc/0c4707152.html, zdeh726@https://www.doczj.com/doc/0c4707152.html,

写在前面

写在前面

首先说一说为什么写这个教程,转眼间就毕业了,学校的日子还没有过够。就要工作了,由于需要想要搞一搞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、以太网、

电机控制PWM、正交编码器接口等。STM32有FSMC的优势,LPC1768有以太网、USB主机等优势。可能你要说stm32F105和stm32f107也有带USB主机,以太网的。可是看看价格也差不多,这几个芯片目前的价格都在40元左右。还有编程,stm32有库,而NXP没有,但是我觉得NXP的寄存器操作也很简单,不信试试就知道了。

下面说说本教程的主要内容安排:第一部分主要介绍LPC1768的特点。第二部分介绍本教程使用的最小系统版的硬件电路。第三部分是编译环境和下载程序介绍。第四部分是芯片编程介绍,第五部分是实例详解。芯片内部功能和操作详解会柔和在实例的每一个实验中。最后感谢一下辛苦的我自己,没有自己的辛勤劳动就没有这个教程。期待早一点完成这个教程。

注意:本教程叙述语言力求简洁大方,例程力求通俗易懂,可以不注意

深入追究的东西(如协议内容)就不深入追究。本教程适合的对象是学过或致力于学习单片机或对ARM7、ARM cortex m3有所了解的人或想学LPC17XX的初学者适用。高手绕行。

第一部第一部分分 LPC1768介绍介绍 1.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 控制器;

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的灵活性;

器件选型表:

方框图:

第二部分第二部分 最小板硬件电路最小板硬件电路 2.1硬件电路简介硬件电路简介 硬件电路基本结构图:

图1 硬件电路基本结构图

硬件电路原理图:

2,3直电电电1,2芯芯电电

图2 硬件电路原理图

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部分本部分采用纽扣电池供电,供电管脚连接短路冒,不用时可以取掉。

GND

LPC17XX系列微控制器拥有4个复位源,分别是外部RESET复位,看门狗复位,上电复位(POR)以及掉电检测复位(BOD)。本部分硬件电路完成上电复位和外部复位。

本设计中芯片的外部复位和上电复位由按键复位和RC复位电路完成。芯片是低电平复位有效,当复位管脚上的低电平持续一定的时钟周期就会发生芯片复位。上电时复位低电平时间由RC的值决定。手动复位时需要按下复位按键S1,当松开复位按键S1后复位发生。

系统时钟电路

2.4系统时钟电路

GND

GND

LPC17XX 包括3个独立的时钟源,分别为主时钟振荡器、RTC 时钟振荡器和内部RC 振荡器,在LPC17XX 复位后,LPC17XX 将由内部RC 振荡器提供时钟直至由软件切换到另外的时钟振荡源为止,这使得系统可以不依懒于外部时钟进行操作,而且使引导加载程序可以在一个确定的频率下进行操作。

A、 内部RC 振荡器

内部RC 振荡器(IRC)可以作为看门狗的时钟源,也可以作为时钟,驱动锁相环(PLL)提供给CPU。IRC 的精度不足,因此不能用于USB 接口,通常IRC 频率是4MHz,在开机或者芯片复位时,LPC17XX 使用IRC 作为时钟源,之后可以通过软件切换使用其他的时钟源。

B、 主晶振

主晶振可以用于使用或者不是用PLL0为CPU 提供时钟,其频率范围是1-24MHz,这个频率可以通过主PLL(PLL0)倍频至更高的频率直到CPU 最大频率。通常把主晶振输出的时钟称为

OSC_CLK,PLL0输入引脚上的时钟称为PLLCLKIN,ARM处理器时钟频率称为CCLK,当使用主晶振提供时钟并不激活PLL时,PLLCLKIN 和CCLK的值直接相等。

LPC17XX的板上晶振可以工作在两种模式下:从属模式(一般使用有源晶振的情况)和震荡模式(普通晶振),在从属模式下,输入时钟信号(XTAL1引脚)与一个100pF电容相连,其幅值不得少于200mV,XTAL2引脚不连接。在震荡模式下,由于片内集成了反馈电阻,所以主需要在外部连接一个晶振和电容就可以形成基本模式震荡。本设计中使用震荡模式。

C、RTC晶振

RTC晶振的频率是32.768KHz,一般用于给RTC实时时钟提供时钟源,RTC时钟源可以提供1Hz给RTC并且可以输出32KHz的时钟频率,作为PLL0和CPU或者看门狗定时器使用时钟源。

本设计中Y1是RTC时钟使用32.768KHz晶振,Y2是主晶振使用12MHz晶振。

2.5 JTAG接口电路

采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与LPC1768的连接如图。在RTCK引脚接一个4.7K的下拉电阻,使系统复位后LPC1768内部JTAG接口使能,这样就可以直接进行JTAG仿真调试了。

2.6串口电路

串口电路

Max3232是工作在3.3V的RS232电平转换芯片,内部有2组串口转换电路,本设计中将LPC1768的串口0和串口2引出,通过跳线帽复用一个串口头,当S_COM的1、3,2、4短路的时候选择串口2,3、5,4、6短路的时候选择串口0。在通过RS232串口ISP编程的时候必须将串口选择在串口0上。使用TTL电平通过ISP口进行ISP编程的时候没有这个限制。由于在用串口ISP编程的时候要使用到串口的RTS和DTR引脚,所以在进行串口ISP编程的时候不能使用3线串口。必须使用支持RTS和DTR的串口。

2.7按键电路按键电路

INT0&KEY

LPC1768最小板上一个设有3个通用按键和一个复位按键,其中INT0既可以做普通按键用也可以做外部中断使用。其余2个是普通按键。设计上每一个按键都添加了一个10K 的上拉电阻。 2.8 LED 显示电路显示电路

LED

POW ER_LED

LED

LPC1768最小板上有4个通用LED 灯和一个电源指示灯,通用LED 采用灌电流设计,并且有一个使能短路冒,当拔掉短路冒时LED 电路断电。 2.9 EEPROM 电路电路

GND

LPC1768支持400K高速模式的硬件IIC接口,所以设计了一片24C02为系统扩展一块电可擦除存储器。用于系统保持掉电需要保护的数据。24C02操作简便性能稳定,是保存小量数据的不错选择。为了减小总线操作功耗,总线的上拉电阻使用4.7K。

2.10 USB从机电路

从机电路

2,3直电电电

为了实现USB数据通讯和USB bootloader下载程序,LPC1768最小板板载了USB从机接口,此电路不但有USB总线的基本辅助原件,还有一个USB全速配置端口,USB主机的D+和D-总线是有下拉电阻的,当D+上出现上升沿时说明有一个USB全速设备插入,当D-上上出现上升沿时说明由一个USB低速设备插入。LPC1768支持USB全速,因此需要在D+上由一个1.5K的上拉电阻。如果S_USB 2,3脚短接,则Q3上电就导通,则无论何时接上USB接口都将使USB主机认为有一个全速USB插入。如果1,2短接则受到程序通过P2.9号管脚控制。这样可以使系统在做USB通讯时才让

主机认为由一个USB全速设备插入。

芯片

2.11 LPC1768芯片

上图就是LPC1768芯片管脚连接图,在每一对VDD和VSS之间都有一个0.1uF的去耦电容,以保证芯片正常稳定工作。

第三部分第三部分 编译环境和程序下载编译环境和程序下载编译环境和程序下载

3.1编译环境编译环境

LPC1768的编译环境主要有keil 或称MDK 和IAR,目前最新版本4.12(这里说的keil 是指keil 的ARM 版本,不是指keil 的51版本)。这两个编译软件都是比较有名的编译器,其中用过51的人不会不知道keil,当然IAR 也是一个强大的编译器,有良好的C++支持能力。一般入门我们选择keil,因为keil 操作简单使用方便。下面就介绍一下如何通过keil 创建一个LPC1768的工程。Keil 软件可以在官方网站上下载到限制版,当然你不喜欢限制版那就找个国内的破解软件吧!Google 一下就出来了。然后安装keil 软件,一般keil 被安装在C:\keil 路径下,不要改变其默认路径否则有可能出现编译头文件找不到路径的可能。安装好keil 后会

在桌面上出现快捷方式如图所示:。双击快捷方式将打开

keil 软件,如下图所示,一般打开后显示上次关闭时的工程。

新建工程步骤:

A、点击Project菜单下的New uVision Project。如图:

B、出现保存工程的界面,保存到我们想要保存的路径下,文件名即为本工程名,注意工程文件众多建议新建一个空文件夹保存。

C、选择芯片,在NXP列表下选择LPC1768芯片。然后点击OK。接下来出现的对话框选择“是”;

D、到现在一个工程就创建好了:

E、下面新建一个文件,点击或者File菜单下的New。

F、然后点击保存,出现保存对话款,输入文件名以.c为后

缀名。

G、接下来右键点击左侧Target1 下的Source Group1的下拉菜单的Add File to Group…将我们刚刚新建的文件添加到工程。

F、出现添加对话框后选择新建的文件或已有的C程序源文件,然后点击Add,点击Add后就可以点击Add下面的Close了。

接下来就可以编写程序了。编写好程序,点击编译,不过要想生成hex文件还要点击配置工程output。将Create HEX File前方框打钩,然后点击OK。

这样工程在编译的时候就会自动生成HEX文件了。如果需要使用jlink在keil环境下调试和下载程序,需要在Debug菜单下选择Use Cortex-M3 J-LINK 然后点击Seting。在seting下的debug 菜单下的Prot选择SW,MAX Clock选择3M,在flash download 页面下点击ADD,选择合适的型号和容量,点OK后到Utilities

英语语法教程

英语语法教程 lesson 1 名词的数 内容提要 名词分为专有名词和普通名词两大类。普通名词又分为个体名词和集体名词。在句子中可数名词要么前边 加冠词,要么用其复数形式。名词的复数通常加s,但以s, x, ch , sh结尾的词es ;以“辅音字母+ y” 结尾的词把“y”变成“i”,再加es。不规则名词的复数有其特殊形式。物质名词和抽象名词为不可数名词。 名词有主格(作主语)、宾格(作宾语)和属格(表示所属关系)。冠词分为不定冠词和定冠词,它们有其基本用法和特殊用法。数词分为基数词、序数词和分数词,数词与名词在实际运用中要呼应。 第一节名词的数 一、可数名词 1. 可数名词有单复数之分。在句中,名词的单数形式前边要有冠词或表示单数的限定词,否则就要用其复 数形式。名词的复数形式通常是在单数形式后加词尾s、es,或将y改为i再加es。但如果名词前边有表 示单数的冠词或表示单数的限定词,就不能用其复数形式 2. 有少数名词的复数形式是不规则的,child T children, man 宀men, woman T women, foot T feet, tooth T teeth, goose T geese, mouse T mice, ox T oxen 3. 英语里还有些名词的单复数变化较为特殊,需特别注意 analysis T analyses, bacterium T bacteria, basis T bases, crisis T crises, criterion T criteria, datum T data, formula T formulae (或formulas), fungus T fungi, phenomenon T phenomena,syllabus T syllabi, thesis T theses 4. 有些名词的单复数是一样的:aircraft, spacecraft, Chinese, deer, fish, Japanese, means, series, species 等。 5. 如果前边有表示复数的限定词时名词用其复数形式 6. 在形容词最高级中,表示范围的of 后要用名词复数形式 7. 有些集体名词在形式上是单数如people(人民,人们),police(警察),cattle(牲畜),staff(全体人员,全 体职员),但它们表达复数的含意。如果这些词做主语,其谓语须用复数形式。 8. hair 和fruit 一般情况下用单数,表示总体。但如果我们要表示若干根头发或几种水果时,就要用这两个词的复数形式 eg: He bought apples, oranges and other fruits. (“ fruits ”在此处意为“多种水果” ) 另外还要注意:police 和cattle 的谓语形式总是用复数形式。 9. 名词做定语时,不能用作复数 、不可数名词 1. 不可数名词为物质名词和抽象名词,如information, proverty, advice, anger, applause, baggage, cake, chalk,

(完整版)英语语法术语

英语语法术语 语法grammar 句法syntax 词法morphology 结构structure 层次rank 句子sentence 从句clause 词组phrase 词类part of speech 单词word 实词notional word 虚词structural word 单纯词simple word 派生词derivative 复合词compound 词性part of speech 名词noun 专有名词proper noun 普通名词common noun 可数名词countable noun 不可数名词uncountable noun 抽象名词abstract noun 具体名词concret noun 物质名词material noun 集体名词collective noun 个体名词individual noun 介词preposition 连词conjunction 动词verb 主动词main verb 及物动词transitive verb 不及物动词intransitive verb 系动词link verb 助动词auxiliary verb 情态动词modal verb 规则动词regular verb 不规则动词irregular verb 短语动词phrasal verb 限定动词finite verb 非限定动词infinite verb 使役动词causative verb 感官动词verb of senses 动态动词event verb 静态动词state verb

感叹词exclamation 形容词adjective 副词adverb 方式副词adverb of manner 程度副词adverb of degree 时间副词adverb of time 地点副词adverb of place 修饰性副词adjunct 连接性副词conjunct 疑问副词interrogative adverb 关系副词relative adverb 代词pronoun 人称代词personal pronoun 物主代词possessive pronoun 反身代词reflexive pronoun 相互代词reciprocal pronoun 指示代词demonstrative pronoun 疑问代词interrogative pronoun 关系代词relative pronoun 不定代词indefinite pronoun 物主代词possessive pronoun 名词性物主代词nominal possessive pronoun 形容词性物主代词adjectival possessive pronoun 冠词article 定冠词definite article 不定冠词indefinite article 数词numeral 基数词cardinal numeral 序数词ordinal numeral 分数词fractional numeral 形式form 单数形式singular form 复数形式plural form 限定动词finite verb form 非限定动词non-finite verb form 原形base form 从句clause 从属句subordinate clause 并列句coordinate clause 名词从句nominal clause 定语从句attributive clause

初级英语语法教程大全

初级英语语法简明教程第一讲英语简介 1 第二讲英语音标概述 2 第三讲英语语法基本内容简介 7 第四讲如何学好英语单词的几点建议 10 第五讲名词 11 第六讲代词 13 第七讲形容词 16 第八讲冠词 18 第九讲介词 21 第十讲数词 24 第十一讲连词 27 第十二讲动词 [1] 31 第十三讲动词 [2] 33 第十四讲动词 [3] 36 第十五讲句子概述 [1] 40 第十六讲句子概述 [2] 43

第十七讲句子成分 [1] 46 第十八讲句子成分 [2] 49 第一讲英语简介 英语属印欧语系日尔曼语族西支,由古代从欧洲大陆移民大不列颠岛的盎格鲁、撒克逊和朱特部落的日耳曼人所说的语言演变而来。1066年诺曼征服英国后三的百年内,英格兰的国王只讲法语,因此一大批法语词汇进入了古英语,古英语本身也失去了大部分曲折变化,进化为中古英语。1500年左右的元音大推移将中古英语变形为近代英语。1492年哥伦布发现了新大陆,英国的海外贸易急速扩大,建立了许多有特许专利的海外公司,如东陆公司(1579),非洲公司(1588),东印度公司(1600)。1588年打败了西班牙的“无敌舰队”,排除了海外竞争对手,把手伸向全世界。到17世纪初,英国在亚洲、非洲、北美、西印度群岛,先后建立了大量的殖民据点。1517年马丁路德的宗教改革,又给英语的发展提供了难得的机遇。文艺复兴的作家们用外借和造字等方法成套地扩大了英语词汇,拉丁语、法语、意大利语、希腊语、斯堪的纳维亚语、日尔曼语、阿拉伯语、印度语、西班牙语随着贸易、宗教等源源不断地注入英语的河流。从英语发展的历史看,大致可划分为古英语、近代英语和现代英语。 第二讲英语音标概述 一、元音和辅音 英语共有48个音标。音标的分类方法很多,有的分类特别详细,但大家不要花太多的时间去记住那些名称。毕竟,音标是用来读的,只要能读准就可以了。下面将音标学习中一些比较重要的概念和发音特点介绍一下。 1、元音

英语语法教案模板(共合集)

英语语法教案模板(共合集) 教 案 课程名称 英语语法 Lecture 1 Sentence Structure 教学重点及难点: 1. The claification of bound morpheme and the frequently applied bound morphemes; 2. The basic clause types and their transformation and expansion 教学基本内容 1. Basic Concepts of morphemes, words, phrases, clauses, and sentences; 2. Ways of word-formation: affixation, derivation and composition; 3. Ways of sentence analysis: one ways is to divide the predicate into predicate verb, object, complement and

adverbial.The other way is to divide the predicate into two parts: the operator and the predication.4. Basic clause types include SVC, SV, SVA, SVO, SVOA, SVOC, and SvoO.An affirmative clause can be transformed into a negative; a statement into a question, and a active clause into a paive.All these add varieties to the basic clause types. Lecture 1 Sentence structure Owing to the fact that sentences in authentic language differ structurally in thousands of ways, what is described here as sentence structure, sentence elements, or sentence patterns is only concerned with the simple sentence, or rather with the clause.1.1 clause elements As has been pointed out before, the clause or the simple sentence is structurally a sequence of phrases and logically a construction of ―subject+ predicate‖.That is to say, the clause or the simple sentence is not just an agglomeration of phrases; it is a group of phrases organized into a construction of ―subject+ predicate‖.1) Subject and predicate A full-fledged clause can generally be divided into two parts: the subject and the predicate.The subject is the topic or theme of the sentence, which tell of what the sentence is about.The predicate says something about the subject and bear the new information which the

英语语法大全下载教程文件

英语语法大全下载

英语语法大全 1、所有格:He is Fred's best friend.(-'s) 2、动词现在时的第三人称单数:Alfredo works.(-s) 3、动词过去式:Fred worked.(-ed),但亦有不规则变化。 4、现在分词/进行时态:Fred is working.(-ing)([注]如果动词的末音节为辅音结尾的闭音节,则须双写末辅音,如running) 5、过去分词:The car was stolen.(-en);Fred has talked to the police.(-ed),但亦有不规则变化。 6、动名词:Working is good for the soul.(-ing) 7、名词的复数:Fred has two blue eyes.(-s)([注]如果动词的尾字是s,sh,x,ch,则需加-es,如dishes) 8、形容词的比较级:Fred is smarter than Rick.(-er)形容词末尾加-er,多音节在前面”加more,如"more difficult"。 9、形容词的最高级:Fred has the fastest car.(-est)形容词末尾加-est,多音节词在前面加most,如"the most difficult"。 英语的基本语序为SVO,且基本上不能任意变换语序,除了在少数诗词以外;另一方面,有时英语会使用OSV的语序。(注:S:Subject[主语];V:Verbal phrase[谓语];O:Object[宾语]) 英语中所有的词可分成十大类,每一类词在句子中都有其特定的位置和作用。这十大词类是: 一、名词:表示人或事物的名称的词。 二、形容词:表示人或事物的特征的词。

相关主题
文本预览
相关文档 最新文档