第c12章51内核单片机LPC935入门_第1页
第c12章51内核单片机LPC935入门_第2页
第c12章51内核单片机LPC935入门_第3页
第c12章51内核单片机LPC935入门_第4页
第c12章51内核单片机LPC935入门_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机技术基础教程与实践作者:夏路易电子工业出版社所有第12章 51内核单片机LPC935入门P89LPC933/934/935/936是具有51内核的单片机,指令执行速度6倍于标准51单片机,广泛使用在需要减少芯片数量、电路板空间和系统成本的设计中。 P89LPC93x单片机共有4个型号,分别是P89LPC933/934/935/936,虽然他们都是28脚封装,但内部资源不相同, 器件代码存储器扇区容量ADC1ADC0CCU数据存储器P89LPC9334kB1kB有 P89LPC9348kB1kB有 P89LPC9358kB1kB有有有有P89LPC93616kB2kB有有有 单片机技术基础

2、教程与实践作者:夏路易电子工业出版社所有12.1 LPC935单片机简介单片机简介 1. LPC935单片机主要特点(1)8kB可字节擦除的Flash程序存储器。(2)256字节RAM数据存储器。LPC935还包括一个512字节的附加片内RAM。(2)512字节片内用户数据E2PROM存储区,可用来存放用户设置参数等。(3)2个4路输入的8位A/D转换器/DAC输出。2个模拟比较器,可选择输入引脚和参考电压源。(4)2个16位定时/计数器(每一个定时器均可设置为溢出时触发相应端口输出或作为PWM输出),1个可用作实时时钟的23位计数器的系统定时器。(5)增强型UART。具有波特率发生器、间隔检

3、测、帧错误检测、自动地址检测功能;(6)400kHz频率的I2C总线通信端口和SPI通信端口。(7)捕获/比较单元(CCU)提供PWM,输入捕获和输出比较功能。(8)选择片内高精度RC振荡器时不需要外接晶体。可选择RC振荡器选项并且其频率可进行很好的调节。(9)电源VDD(也可用VCC表示)电压范围为2.43.6V。I/O口可承受5V电压(可上拉或驱动到5.5V)。(10)最少有23个I/O口,当选择片内振荡器和片内复位时,I/O口可高达26个。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有2. 封装 该系列采用PLCC28和TSSOP28封装,尺寸非常小,常用封装形式为TSSOP2

4、8, P2.0/ICB/DAC0/AD031P2.1/OCD/AD022P0.0/CMP2/KBI0/AD013P1.7/OCC/AD004P1.6/OCB5P1.5/RST(INPUT)6Vss7P3.1/XTAL18P3.0/XTAL2/CLKOUT9P1.4/INT110P1.3/INT0/SDA11P1.2/T0/SCL12P2.2/MOSI13P2.3/MISO14P2.4/SS15P2.5/SPICLK16P1.1/RXD17P1.0/TXD18P0.7/T1/KBI719P0.6/CMP1/KBI620VDD21P0.5/CMPREF/KBI5/PCL22P0.4/CIN1A/K

5、BI4/DAC1/AD13/PDA23P0.3/CIN1B/KBI3/AD1224P0.2/CIN2A/KBI2/AD1125P0.1/CIN2B/KBI1/AD1026P2.6/OCA27P2.7/ICA28LPC935/936.单片机技术基础教程与实践作者:夏路易电子工业出版社所有(1)PORT0(P0.0P0.7):P0口是输出类型可定义的8位I/O 口,在上电复位时,P0口配置为仅为输入模式。P0口可以设定为开漏、准双向、推挽或是仅输入模式,其中准双向与标准51单片机用法相同,每一个引脚均可单独设定。P0口还具有键盘输入中断功能。所有引脚都具有施密特触发输入。(2)PORT1(P1.0

6、P1.7):P1是一个8位I/O口。在上电复位时,P1配置为仅为输入模式。P1口可由用户定为开漏、准双向、推挽或是仅输入模式,每一位均可单独设定。注意P1.2-P1.3作为输出时为开漏。P1.5为仅为输入模式。所有引脚都具有施密特触发输入。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有PORT2(P2.0P2.7):P2是8位I/O口,在上电复位时,P2配置为仅为输入模式。P2口可设定为开漏、推挽、准双向或是仅为输入模式,每一位均可单独设定。所有引脚都具有施密特触发输入。PORT3(P3.0P3.1):P3是一个2位I/O口,在上电复位时,P3口配置为仅为输入模式。P3口可设定为开漏

7、、推挽、准双向或是仅为输入模式,每一个引脚均可单独设定。所有引脚都具有施密特触发输入。单片机技术基础教程与实践作者:夏路易电子工业出版社所有VSS:地线0V,电平参考点。VDD: 电源,单片机正常操作模式、空闲模式和掉电模式时的工作电源。有关引脚的一些说明:I/O引脚可以根据需要配置成准双向、推挽、输入和开漏四种形式,设计系统时应该根据需要设计单片机外围电路。若是不使用外部复位引脚P1.5,则外部复位引脚可用作输入引脚;若是使用内部RC振荡器作为时钟源,则时钟引脚P3.0与P3.1可作为一般I/O使用。单片机技术基础教程与实践作者:夏路易电子工业出版社所有该单片机比51单片机多出如下功能:(1

8、)模数和数模模块、模拟比较器模块,使该单片机具有模拟量处理功能。(2)SPI、I2C模块使该单片机有与3线、2线通信接口芯片的通信能力。(3)捕获、比较CCU模块使该单片机有捕获与比较功能,可以测量脉冲信号的周期与输出PWM脉冲。(4)实时时钟RTC模块,可以产生系统时钟源。(5)键盘中断功能使该单片机可以不增加外部芯片的情况下实现键盘中断功能。(6)增强型UART使产生波特率更准确。(7)内部RC振荡器使时钟要求不严格的系统设计中的外围元件更少。(8)内部E2PROM使保存数据、参数、设置更容易。(9)定时器除具有工作模式0、1、2、3外,还有工作模式6,在工作模式6可以实现PWM功能。 单

9、片机技术基础教程与实践作者:夏路易电子工业出版社所有与51单片机的差别还有:(1)特殊功能寄存器LPC935的特殊寄存器与标准51单片机兼容(具有相同的地址),但是LPC935的特殊寄存器比标准51多,这是因为LPC935单片机具有更多的内部模块。(2)引脚模式多,除准双向模式外,还有仅输入、推挽和开漏模式,因此需要两个寄存器定义引脚模式,较51单片机的引脚使用复杂。(3)CPU时钟、复位引脚、看门狗、掉电检测、启动状态位等是由用户配置字UCFG1设置的,该配置字在FLASH存储器中,需要在用户程序运行前单独配置。(4)进入ISP的方式与一般51单片机不同,需要采用3脉冲、帧检测或直接跳入等方

10、式进入ISP。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有加速2时钟51CPU4k/8k/16k代码存储器256字节RAM512字节数据EEPROMPORT3PORT2PORT1PORT0键盘中断可编程振荡器分频器可配置振荡器片内RC振荡器晶体/振荡器X1X2看门狗针定时器CPU时钟UARTIIC总线SPI实时时钟RTC定时器0/1模拟比较器CCUADC0/DAC01ADC1/DAC1电源监控器上电复位,掉电复位P0P1P2P3LPC935/936.单片机技术基础教程与实践作者:夏路易电子工业出版社所有5. 存储器组织IAP进入点扇区0扇区1扇区2扇区3扇区4扇区5扇区6扇区700

11、00H03FFH1E00H1FFFH1BFFH1C00HISP代码512BFFEFHFF00H直接寻址特殊功能寄存器堆栈、直接、间接128字节芯片内存储器IDATA堆栈、直接、间接128字节芯片内存储器DATA4个寄存器组数据存储器.代码存储器单片机技术基础教程与实践作者:夏路易电子工业出版社所有(1)DATA00H-7FH:128字节的内部数据存储器,可以直接或是间接存取,堆栈常放在该区中。(2)IDATA00H-FFH:256字节的间接数据存储器,包含DATA区的128字节,可以使用间接存取指令存取。(3)SFR只能直接存取的CPU寄存器、外围控制和状态寄存器。(4)XDATA外部数据或辅

12、助RAM,容量为512字节,该存储器空间类似于51单片机使用MOVX指令存取的64k存储空间。(5)CODE代码存储空间,寻址范围为64k。(5)E2PROM通过SFR存取的512字节的数据存储器,可以在断电后保存数据不丢失。单片机技术基础教程与实践作者:夏路易电子工业出版社所有6. 特殊功能寄存器单片机中所有模块的功能、工作方式等都是由特殊功能寄存器控制的,学习单片机的第一步就是学习各个模块的工作原理与如何设置特殊功能寄存器。LPC935单片机约有120个寄存器,比51单片机(21个)多很多,下面介绍各个内部模块的原理与其相关的寄存器各位定义。单片机技术基础教程与实践作者:夏路易电子工业出版

13、社所有12.2 时钟时钟高频中频低频RC振荡器看门狗振荡器7.3728MHz400kHzDIVMRCCLKOSCCLKXTAL1XYAL2RTCADC0ADC1CPUWDT2CCUUARTSPIIIC定时器0/1CCLKPCLK.单片机技术基础教程与实践作者:夏路易电子工业出版社所有(1)外时钟(2)石英晶体振荡器(分为高(4M18MHz)、中(100k4MHz)和低频(20100kHz)(3)内部RC振荡器时钟RCCLK7.373MHz 。(4)内部看门狗振荡器(400kHz+30% -20%)单片机技术基础教程与实践作者:夏路易电子工业出版社所有OSCCLK经过分频模块DIVM后产生如下时

14、钟:(1)CCLKCCLK是CPU时钟,是时钟分频器DIVM的输出。每个机器周期包含2个CCLK周期,大多数指令执行时间为1到2个机器周期(2或4个CCLK周期)。CCLK还是ADC0、ADC1和RTC的时钟。(2)用于不同外围器件的时钟PCLK,频率为CCLK/2。PCLK是定时器0、定时器1、I2C、SPI、UART、CCU、WDT模块的时钟源,其中WDT时钟源可以是内部看门狗振荡器或是PCLK。RTC时钟源可以是PLCK或是石英晶体振荡器。单片机技术基础教程与实践作者:夏路易电子工业出版社所有2. RC振荡器LPC935单片机具有输出频率为7.373MHz的内部RC振荡器,其输出频率可由

15、一个频率调准寄存器TRIM进行调整。在复位时,TRIM寄存器的值初始化为出厂时预设置值以将振荡器频率调整为7.373MHz,1%。若是不需要精确的时钟频率,则可以使用RC振荡器向CPU和内部模块提供时钟。若是需要精确定时则需要外接石英晶体,若是没有特殊要求,晶体频率应该选择容易产生串行通信波特率的频率,例如11.0592MHz。 位76543210符号RCCLKENCLKTRIM.5TRIM.4TRIM.3TRIM.2TRIM.1TRIM.0复位00(位5:0)复位后,为工厂设置参数(位0:5)TRIM5TRIM0:用于调整RC振荡器频率值。复位后,恢复出厂值。(位6)RCCLK:该位置1,C

16、PU采用内部RC振荡器。(位7)ENCLK:该位置1,若不使用石英晶体,从XTAL2引脚输出频率为CCLK/2的时钟。单片机技术基础教程与实践作者:夏路易电子工业出版社所有3. 看门狗时钟看门狗采用独立的振荡器,工作频率为400kHz,该振荡器输出可以作为CPU时钟,在不需要高时钟频率的情况下节省功率。4. 时钟唤醒延迟该芯片内部有唤醒定时器,用于等待时钟稳定,对于石英晶体振荡器,延迟时间为992个时钟周期加60100s;对于内部RC振荡器或是看门狗振荡器,延迟时间为224个时钟周期加60100s。5. DIVM寄存器OSCCLK信号与CPU之间设置有分频器,可以对OSCCLK频率分频,通过设

17、置分频寄存器DIVM(地址95H),可以得到最大为510倍的分频比,分频公式如下:CCLK频率= fosc/(2N)这里N是DIVM的值。fosc是OSCCLK的频率,N取值范围为0255,当N为0,CCLK=fosc。DIVM的值可以在用户程序中随时设置而无需中断程序运行。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有12.3 复位该单片机的复位源如下:(1)外引脚复位(如果用户配置字UCFG1中RTE为1)(2)上电检测。(3)掉电检测。(4)看门狗定时器。(5)软件复位。(6)UART打断检测复位。对于每一个复位源,在复位寄存器RSTSRC中都有一个标志位,用户可以读该寄存器已

18、检查是哪个复位源产生的复位,而且各标志位可以软件写0复位。芯片复位RPR(UCFG1.6)RST引脚WDTE(UCFG1.7)看门狗定时器复位软件复位SRST(AUXR1.3)上电检测UART间隔检测EBRR(AUXR1.6)掉电检测复位BOPD(PCON.5).单片机技术基础教程与实践作者:夏路易电子工业出版社所有位76543210符号 BOFPOFR_BKR_WDR_SFR_EX复位xx110000其中:(位0)R_EX:外部复位标志(位1)R_SF: 软件复位标志(位2)R_WD:看门狗定时器复位标志(位3)R_BK:帧打断检测复位(位4)POF:上电复位标志(位5)BOF:掉电复位单片

19、机技术基础教程与实践作者:夏路易电子工业出版社所有复位向量:该单片机复位后取指地址可以是地址0000h,或是启动地址(执行ISP程序的地址),启动地址由启动向量作为高字节,与低字节为00h组合而成。从启动地址取指的情况为:(1)UART打断复位。(2)启动状态位(BOOTSTAT.0)为1。(3)器件使用复位3脉冲方式进入ISP模式。单片机技术基础教程与实践作者:夏路易电子工业出版社所有12.4中断中断 LPC935具有4个优先级、15个中断源。任何一个中断源均可通过对中断使能寄存器IEN0和IEN1中相应的位置位或清零,实现单独使能或禁能。IEN0中还包含了一个全局使能位EA,它可使能所有的

20、中断。中断优先寄存器IP0,IP0H,IP1,IP1H用于设置每个中断源的中断优先级,就是说每个中断都由IPx 和IPxH(x0,1)寄存器中的两个位控制,这样可将其分配到4个优先级中的任意一个。正在执行的中断服务程序可响应更高级的中断,但不能响应同优先级或低级的另一个中断。最高级中断服务程序不响应其它任何中断。如果2个不同中断优先级的中断源同时申请中断时,响应较高优先级的中断申请。如果2个同优先级的中断源在指令周期开始同时申请中断,那么内部查询序列确定响应哪一个中断请求。中断服务函数的一般写法:void timer0 (void) interrupt 1 /定时器0中断void UART_I

21、SR(void) interrupt 4 /UART中断void ADC_isr() interrupt 14 /ADC中断void CMP_ISR() interrupt 8 /比较器中断 单片机技术基础教程与实践作者:夏路易电子工业出版社所有掉电唤醒CPU中断IEOEX0IE1EX1BOFEBOKBIFEKBIEWDRTECTF0ET0TF1ET1TI &RI/RIES/ESRTIESTSIE12CSPIFESP1CCUECCUEEIFENADCI0ADCI0ENADCI1ADCI1ENBI0BNDI0ENBI1BNDI1EADEEEA(IE0.7)CMF2RTCFERTCWDOV

22、FCMF1(RTCCON.1)外部中断0外部中断1掉电检测键盘中断实时时钟模拟比较定时器0定时器1串口串口发送IIC总线SPI中断捕获比较看门狗ADC0ADC1ADC0超界中断ADC1超界中断ADC使能EEPROM读写完成中断.单片机技术基础教程与实践作者:夏路易电子工业出版社所有12.5 I/O口口1. I/O引脚配置在LPC935单片机的I/O口中,P1.5(RST)只能作为输入口,无法进行配置,P1.2(SCL/T0)和P1.3(SDA/ INT0 )只能配置为输入或开漏输出,除此之外,其他所有的I/O引脚均可由用户程序配置成4种I/O类型:准双向口(标准51端口输出)、推挽、开漏输出或

23、输入。 PnM1PnM2引脚模式00准双向01推挽10仅输入(高阻)11开漏单片机技术基础教程与实践作者:夏路易电子工业出版社所有2. 准双向准双向口电路如图所示。准双向口具有输出和输入功能。因为准双向口输出逻辑高电平时驱动能力很弱,允许外部电路将其拉低。当引脚输出为低电平时,它的驱动能力很强,可灌入较大的电流。 延 迟 2个 CPU时 间V D D引 脚施 密 特 输 入强弱极 弱输 出 数 据输 入干 扰 抑 制.口 锁 存 器单片机技术基础教程与实践作者:夏路易电子工业出版社所有 3. 开漏输出当输出口线锁存器为0时,开漏输出断开所有的上拉晶体管,仅驱动端口的下部晶体管。若要输出逻辑高电

24、平,必须有外部上拉电阻到VDD。 施密特输入输入干扰抑制.输出数据.引脚.口锁存器.单片机技术基础教程与实践作者:夏路易电子工业出版社所有4. 仅输入仅输入口是带有干扰抑制电路的施密特触发输入,只是输入,没有输出功能。施密特输入输入干扰抑制.引脚.单片机技术基础教程与实践作者:夏路易电子工业出版社所有5. 推挽输出推挽输出配置的下拉结构与开漏输出以及准双向口的下拉结构相同,但当锁存器为1时提供持续的强上拉。推挽模式一般用于输出口需要输出更大拉电流的情况。推挽引脚带有一个具有干扰抑制电路的施密特触发输入。 V D D引 脚施 密 特 输 入输 出 数 据输 入干 扰 抑 制.口 锁 存 器强PN

25、单片机技术基础教程与实践作者:夏路易电子工业出版社所有 6. P0口和模拟比较器功能 LPC935内部集成了两个模拟比较器。为了得到好的模拟比较性能并降低功耗,用于模拟功能的引脚必须同时禁止数字输入和输出功能,把引脚设置成仅为输入可以禁止数字输出功能,而数字输入功能可通过数字输入禁能寄存器PT0AD禁止。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有7. 关于I/O引脚的一些说明(1)上电后,该单片机的所有的引脚都是仅为输入模式。(2)上电后,该单片机的所有的引脚(除P1.5引脚外),可以用软件配置引脚模式。(3)引脚P1.5只能是输入,P1.2和P1,3可以配置成开漏或是仅输入。(

26、4)由极限参数表,每个LPC935的输出引脚都可提供灌、拉电流(20mA)驱动LED灯。但是每个端口的输出电流总和不能超过规定的最大电流(100mA)。 0123410203040( mA)( V)IOHVOH. VDD为3.6V时的推挽输出高电平时的电压与电流关系曲线。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有12.6 定时器定时器0/1 LPC935有两个与51单片机兼容的定时/计数器,都可配置为定时器或事件计数器。另外增加了定时器溢出时Tx引脚自动翻转的功能。 用作定时器时,每经过一个PCLK,计数器值加1。用作计数器时,外部输入引脚(T0或T1)上每发生一次1到0的跳变(

27、下降沿)时计数器加1。使用该功能时,每个机器周期对外部输入采样一次。当某一机器周期时引脚电平为高,而下一机器周期时引脚电平为低时,计数器加1,其值在检测到跳变后的下一个机器周期被更新。由于检测1到0的跳变需要花费4个CPU时钟,所以计数频率最大值为CPU时钟频率CCLK的1/4。对外部输入信号的占空比并无限制,但信号必须至少保持一个完整的机器周期。这样可以保证输入电平信号在其改变之前至少被采样一次。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有1. 工作模式寄存器TMOD 位76543210符号T1GATET1C/TT1M1T1M0T0GATET0C/TT0M1T0M0复位00000

28、000(位1、0)T0M1、T0M0:定时器0的工作模式选择。这些位和TAMOD寄存器的T0M2位一起来决定定时器0的工作模式。(位2)T0C/T:定时器0的定时或计数功能选择。该位清0时,定时器0用作定时功能(从CCLK输入脉冲);该位置1时,定时器0用作计数功能(从T0脚输入脉冲)。(位3)T0GATE:定时器0的门控位。该位被置1时,仅当INT0脚为高电平且TR0控制位被置1时使能定时器0;该位被清0时,TR0控制位被置1时使能定时器0。(位4、5)T1M1、T1M0:定时器1的工作模式选择。这些位和TAMOD寄存器的T1M2位一起来决定定时器1的工作模式。(位6)T1C/T:定时器1的

29、定时或计数功能选择。该位清0时,定时器1用作定时功能(从CCLK输入脉冲);该位置1时,定时器1用作计数功能(从T1脚输入脉冲)。(位7)T1GATE:定时器1的门控位。该位被置1时,仅当INT1脚为高电平且TR1控制位被置1时使能定时器1;该位被清0时,TR1控制位被置1时使能定时器1。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有2. 定时器辅助模式寄存器该辅助模式寄存器TAMOD与模式寄存器TMOD共同决定时器模式。 位76543210符号T1M2T0M2复位xxx0 xxx0(位0)TnM2:该位与TnM1、TnM0三位共同决定定时器模式,定时器模式位TnM2:0选择的模式如

30、下:0008048单片机的定时器模式,“TLn”用作5位预分频器(模式0)。00116位定时器/计数器“THn”和“TLn”级联;无预分频器(模式1)。0108位自动重装定时器/计数器。溢出时THn的内容装入TLn(模式2)。011该模式下定时器0用作2个8位的定时器/计数器。TL0用作一个8位的定时器/计数器,由标准定时器0控制位来控制。TH0只可用作一个8位的定时器,由定时器1的控制位来控制。该模式下定时器1关闭(模式3)。100保留。用户不要配置成该模式。101保留。用户不要配置成该模式。110PWM模式。111保留。用户不要配置成该模式。 单片机技术基础教程与实践作者:夏路易电子工业出

31、版社所有3. 溢出触发功能定时器0/1的工作模式0、1、2、3与标准51单片机基本相同,但是增加了溢出触发输出功能。开关控制T0TR0GATEINT0C/T=0C/T=1TL0.(8位)TF0中断.TH0.(8位)TF1中断.TR1osc/2.T0引脚.翻转ENT9.T1引脚.翻转ENT1.溢出溢出(AUXR1.4)(AUXR1.5)PCLK(P1.2开漏)(P0.7)单片机技术基础教程与实践作者:夏路易电子工业出版社所有开关控制TnTRnGATEINTnC/T=0C/T=1TLn.THn(8位)(8位)TFn中断.开关控制TnTRnGATEINTnC/T=0C/T=1TLn.(8位)TFn中

32、断.THn(8位)重装.Tn引脚.溢出翻转Tn引脚.翻转ENTnENTn溢出PCLKPCLK.单片机技术基础教程与实践作者:夏路易电子工业出版社所有4. 模式6这时定时器0/1的计数周期为256个时钟,并输出PWM,与模式2有相同之处。TFn(n0和1,分别对应定时器0和1)由硬件置位和清零;TFn从低到高跳变时,使能中断,TFn也可由软件清零。TFn的低电平宽度为THn的值,必须在1254之间,TFn的高电平宽度为256THn。THn=00H,Tn引脚被强制为高电平;THn=FFH,Tn引脚被强制为低电平。开 关 控 制TRnGATEINTnC/T=0TLn.(8位)TFn中断.THn(8位

33、).Tn引 脚.翻 转ENTn溢 出PCLK.在 下 降 沿 重 装 THn在 上 升 沿 重 装 ( 256-THn)单片机技术基础教程与实践作者:夏路易电子工业出版社所有5. LPC935单片机的附加特性AUXR1寄存器包含了几个特殊用途的控制位。 位76543210符号CLKLPEBRRENT1ENT0SRST0DPS复位000000 x0(位0)DPS:数据指针选择。选择两个数据指针中的一个。(位1)-:未用。允许设置成“1”(位2)0:该位包含一个硬件0。这样就允许通过将AUXR1加1来使DPS位翻转而不影响该寄存器的其它位。(位3)SRST:软件复位。当SRST通过软件置位时, L

34、PC935就像硬件复位一样复位。(位4)ENT0:置位时,定时器0溢出使P1.2引脚翻转。输出频率是定时器0溢出速率的一半。(位5)ENT1:置位时,定时器1溢出使P0.7引脚翻转。输出频率是定时器1溢出速率的一半。(位6)EBRR:UART间隔检测复位使能。如果该位为1,UART间隔检测将导致芯片复位并使器件强制进入ISP模式。(位7)CLKLP:时钟低功耗选择。置位时降低时钟电路的功耗。当时钟频率为8MHz或以下时可置位该位。复位后该位清零,支持时钟频率高达12MHz的操作。单片机技术基础教程与实践作者:夏路易电子工业出版社所有12.7 串行通信模块串行通信模块LPC935具有一个与标准5

35、1单片机兼容的增强型串行(UART)模块。但有不同之处:(1)LPC935的UART模块具有独立的波特率发生器。波特率可以由时钟PCLK(常数分频)、定时器1溢出或者独立的波特率发生器产生。(2)LPC935的UART模块增加了帧错误检测、间隔检测、自动地址识别、可选的双缓冲以及几个中断选项。(3)由于波特率产生器产生的波特率与晶体频率关系不大,又不占用定时器1,所以编程中应该使用波特率产生器产生波特率。单片机技术基础教程与实践作者:夏路易电子工业出版社所有2. UART模块工作模式UART模块有4种工作模式:(1)模式0串行数据通过RxD引脚进入与输出。TxD引脚输出移位时钟。每次发送或接收

36、都为8位,LSB(最低位)在前。波特率固定为CPU时钟频率的1/16。在时钟脉冲的上升沿,数据输出或输入。(2)模式1TxD引脚发送,RxD引脚接收,数据格式为10位:1 个起始位(逻辑0),8个数据位(LSB在前)以及1个停止位(逻辑1)。当接收数据时,停止位保存于特殊功能寄存器SCON的RB8中。该模式的波特率可变,由定时器1溢出速率或波特率发生器决定。单片机技术基础教程与实践作者:夏路易电子工业出版社所有(3)模式2TxD引脚发送,RxD引脚接收,数据格式为11位:1个起始位(逻辑0),8个数据位(LSB在前),可编程的第9位及1个停止位(逻辑1)。发送数据时,第9位(SCON中的TB8

37、位)可置为0或1。例如可将奇偶位(PSW寄存器中的P位)放入TB8。接收数据时,第9位数据存入寄存器SCON的RB8位,而停止位不会被保存。波特率可编程为CCLK频率的1/16或1/32,由寄存器PCON内SMOD1位决定。由于波特率固定,因此该模式很少使用。(4)模式3TxD脚发送,RxD脚接收,每次数据为11位:1个起始位(逻辑0),8个数据位(LSB在前),1个可编程的第9位及1个停止位(逻辑1)。模式3与模式2的差别是模式3的波特率可变,由定时器1溢出率或波特率发生器决定。单片机技术基础教程与实践作者:夏路易电子工业出版社所有3. 波特率产生 LPC935的UART模块具有一个独立的波

38、特率发生器。波特率取决于对BRGR1和BRGR0预先编程的值。BRGCON寄存器中SBRGS位,可以确定UART模块使用定时器1或者波特率产生器产生波特率。 SMOD1=1SMOD1=02波特率模式1和3SBRGS=0SBRGS=1定时器1溢出波特率发生器.(由PCLK)(由CCLK)波特率来源 BRGCON1:0 决定定时器1或者波特率发生器输出产生波特率。 SMOD1(PCON.7) 该位置位时,基于PCLK的定时器T1溢出频率被2分频后作为通信波特率。独立的波特率发生器使用CCLK作为时钟源。 设置BRGR1和BRGR0只能在BRGCON寄存器的BRGEN位为0时,波特率SFR寄存器BR

39、GR1和BRGR0的值才可以变更。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有SCON.7(SM0)SCON.6(SM1)PCON.7(SMOD1)BRGCON.1(SBRGS)UART接收/发送波特率工作模式00 xxCCLK/16模式00100CCLK/(256-TH1)64模式110CCLK/(256-TH1)32x1CCLK/(BRGR1, BRGR0)+16)100 xCCLK/32模式21xCCLK/161100CCLK/(256-TH1)64模式310CCLK/(256-TH1)32x1CCLK/(BRGR1, BRGR0)+16)单片机技术基础教程与实践作者:夏路易

40、电子工业出版社所有波特率发生器控制寄存器BRGCON 位76543210符号SBRGSBRGEN复位xxxxxx00(位0)BRGEN:波特率发生器使能。只有当BRGEN为0时,才可对寄存器BRGR1和BRGR0进行写操作。(位1)SBRGS:选择波特率发生器用于产生UART模式1和3的波特率 单片机技术基础教程与实践作者:夏路易电子工业出版社所有 5. 串行口控制寄存器 位76543210符号SM0/FESM1SM2RENTB8RB8TIRI复位xxxxxx00(位0)RI:接收中断标志。在模式0,第8位接收完成时由硬件置1。在模式1,在接收停止位的中间时刻由硬件置1。在模式2或3,如果SM

41、OD0=0,在接近第9位(位8)的中间时刻置1;如果SMOD0=1,在接近停止位的中间时刻置1。该位必须通过软件清零。(位1)TI:发送中断标志。在模式0,在第8位数据发送结束时由硬件置1。在其它发送模式中,在发送停止位时由硬件置1。该位必须通过软件清零。(位2)RB8:模式2和3中是接收到的第9位数据,在模式1中(SM2必须为0),RB8是接收到的停止位。在模式0中,RB8未定义。(位3)TB8:模式2和3中将要发送的第9位数据,可以根据需要由软件置位或清零。(位4)REN:使能串行接收。由软件置1以使能接收。软件清零则禁止接收。(位5)SM2:使能模式2或3中的多机通信功能。在模式2或3中

42、,如果SM2=1而且接收到的第9位数据(RB8)为0时,则RI不会被激活。在模式0中,SM2应当为0。在模式1中,SM2必须为0。(位6)SM1:和SM0位共同定义串行口操作模式。(位7)SM0/FE:该位的用途由PCON寄存器中的SMOD0决定。如果SMOD0=0,该位为SM0,和SM1一起定义串口模式; 如果SMOD0=1,该位作为FE(帧错误)。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有模式SM0 SM1说明波特率模式00 0移位寄存器CCLK/16(任何复位时的默认模式)模式10 18 位UART可由波特率发生器产生模式21 09 位UARTCCLK/32或CCLK/16

43、模式31 19 位UART可由波特率发生器产生单片机技术基础教程与实践作者:夏路易电子工业出版社所有6. 串行口状态寄存器串行口状态寄存器SSTAT 位76543210符号DBMODINTLOCIDISDBISELFEBROESTINT复位xxxxxx00(位0)STINT:状态中断使能位。该位置1时,FE,BR或OE可产生中断。这些中断与RI(CIDIS=1时)或组合TI/RI(CIDIS=0时)共用中断向量(向量地址0023h)。该位清零时,FE,BR,OE不产生中断。FE,BR或OE位通常和RI一起使用,不管STINT的状态如何,RI都将产生中断。注意:如果EBRR(AUXR1.6)置位

44、,BR可导致间隔检测复位。(位1)OE:当接收缓冲区有数据,又接收到一个新字符的第8位时,则溢出错误标志OE将置位。该位通过软件清零。(位2)BR:间隔(打断)检测标志。当连续检测到11位都为低电平时表明检测到一个间隔。该位通过软件清零。间隔(打断)检测是UART模块检测到连续11个位的低电平,则状态寄存器SSTAT中的BR标志位置位,BR由软件或是单片机复位时清0。间隔检测常用于复位单片机或是强迫单片机进入ISP模式。(位3)FE:帧错误标志。在帧结束时没有收到有效的停止位时,该标志置位。通过软件清零。单片机技术基础教程与实践作者:夏路易电子工业出版社所有(位4)DBISEL:双缓冲发送中断

45、选择位。该位在双缓冲使能时控制中断产生的次数。当该位置位时,每向SBUF写入字符时,就产生一个发送中断;在最后一个字符发送的停止位开始(INTLO=0)或结束(INTLO=1)时再产生一次发送中断(即缓冲区已空)。最后这次中断可用于指示所有发送操作已完成。当该位为0时,每向SBUF写入一个字符只产生一次发送中断。在双缓冲被禁止时,该位必须为0。除了第一个写入的字符(SBUF为空时)之外,所有发送中断的时间都由INTLO决定。当写入第一个字符时,SBUF立即产生发送中断。(位5)CIDIS:组合中断禁止。该位置位时Rx和Tx中断各自独立。该位清零时选择Tx/Rx组合中断(与标准51单片机的UAR

46、T相同)。(位6)INTLO:发送产生中断的位置。0:在停止位开始时产生Tx中断;1:在停止位结束时产生Tx中断。模式0时该位必须为0。注意:在使用单缓冲时,如果在停止位结束时产生Tx中断,在下一个起始位之前将存在一个间隙。(位7)DBMOD:双缓冲模式。该位置位时使能双缓冲。在UART工作模式0时该位必须为0。为了和现有的标准51单片机兼容,该位复位时为0禁止双缓冲。单片机技术基础教程与实践作者:夏路易电子工业出版社所有12.8 用户配置字、引导向量与状态位用户配置字、引导向量与状态位 1. 用户配置字节(UCFG1)LPC935的用户配置字必须在上电时定义,因为他们保存在FLASH中,在用

47、户程序中不可设置。一般在编程时配置,就是使单片机进入ISP,然后通过编程软件进行配置,用户配置字节UCFG1格式如下: 位76543210符号WDTERPEBOEWDSEFOSC2FOSC1FOSC0未编程01100011(位2:0)FOSC2:0:CPU时钟振荡器类型选择, FOSC2:0说明111从XTAL1引脚输入的外部时钟100看门狗振荡器,400kHz(+20%,30%误差)011内部RC振荡器,频率为7.3728MHz010低频晶体20kHz100kHz001中频晶体100kHz4MHz000高频晶体4MHz18MHz单片机技术基础教程与实践作者:夏路易电子工业出版社所有位3)保留

48、。(位4)WDSE:看门狗安全使能位。(位5)BOE:掉电检测使能(位6)RPE:复位脚使能,当置1时,使能P1.5脚的外复位功能;清0时,P1.5可作为输入口使用。注意:在上电过程中,RPE选项无效,该引脚总是作为复位输入引脚。(位7)WDTE:看门狗定时器复位使能位,置位时使能看门狗定时器的复位。WDTE与WDSE共同配置看门狗功能:WDTE=0,WDSE=x,则看门狗不产生复位,而看门狗定时器可作为内部定时器,而且可以产生中断。WDTE=1,WDSE=0,使能看门狗复位,可以设置WDCLK位选择看门狗时钟源。WDTE=1,WDSE=1,使能看门狗复位,并具有如下特征:(1)强迫WDCLK

49、=1,看门狗使用看门狗时钟振荡器。(2)WDCON和WDL寄存器只允许写一次。(3)强迫WDRUN为1。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有2. 引导向量(BOOTVEC) LPC935包含两个特殊的Flash单元:引导向量和引导状态位。引导向量保存在引导向量寄存器(BOOTVEC)中 位76543210符号BOOTV4BOOTV3BOOTV2BOOTV1BOOTV0出厂默认00011111 BOOTV0:4是引导向量。如果选择引导向量作为复位地址,LPC935复位后从引导向量处开始执程序,引导向量以BOOTVEC作为地址高字节,00h作为地址低字节。一般情况下,不要修改引

50、导向量。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有器件引导向量ISP程序进入地址ISP代码地址范围引导扇区地址LPC9351FH1F00H1E00H1FFFH1C00H1FFFHLPC9363FH3F00H3E00H3FFFH3C00H3FFFH3. 状态位BOOTSTAT 位76543210符号DCCPCWPAWPBSB出厂默认00000001(位0)BSB:引导状态位。如果该位编程为1,LPC935复位后将一直从引导向量处(BOOTVEC 作为地址高字节,00h作为地址低字节)开始执行程序。(位5)AWP:激活写保护位。该位清零时,内部写使能标志强制置位,这时写Flash存储

51、器总是使能。(位6)CWP:配置写保护位。保护用户可编程配置字节(UCFG1,BOOTVEC和BOOTSTAT),防止无意写动作的产生。如果该位为1,将禁止这些配置字节寄存器的写操作。如果该位为0,使能这些寄存器的写操作。(位7)DCCP:禁能清除配置保护命令。如果该位为1,清除配置保护(CCP)命令在ISP或IAP模式下被禁止,但它仍可用于ICP或并行编程模式。如果该位为0,CCP命令在所有编程模式下都可使用。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有用户配置字、引导向量和状态位的设置对单片机的工作影响很大,因为他们可以不仅可以配置单片机的基本操作,还可以选择CPU时钟、选择I

52、SP程序的进入点和是否执行ISP程序。用户配置字、引导向量和状态位可以用ICP方式改写,但是需要注意在某种情况下,写入不适当的配置字、引导向量和状态位也可以使单片机不能进行ICP操作(相当于芯片损坏),所以一定要保证写入单片机允许写入的用户配置字、引导向量和状态位。另外若是使用ISP编程操作时,还要保证写入单片机的用户配置字、引导向量和状态位可以使单片机进入ISP工作模式。单片机技术基础教程与实践作者:夏路易电子工业出版社所有12.9 LPC935单片机中的其他模块简介单片机中的其他模块简介 本节简要介绍LPC935单片机中的AD转换、模拟比较、键盘中断、实时时钟、I2C接口、串行外围总线SP

53、I、捕获比较单元CCU、数据存储器E2PROM模块,详细资料请参考文献18。1. AD转换LPC935含有2个共享控制逻辑的8位、4路逐次逼近式模数转换模块。每个A/D转换器由一个4输入选择器、比较器、数模转换器和逐次比较寄存器组成。输入的模拟信号进入选择器,通过选择器的选择,输出到采样-保持电路,为比较器提供一个输入信号。控制逻辑连同逐次逼近式寄存器(SAR)来驱动一个数模转换器,为比较器提供另外一个模拟输入,比较器的输出又送到SAR。SAR输出转换结果到转换结果寄存器和数模转换器。该A/D转换器具有如下特征:(1)两个具有共享控制逻辑的8位、4通道选择输入,逐次比较AD转换器。(2)每个A

54、D具有4个转换结果寄存器。(3)具有6种转换模式:(4)具有4个转换启动模式:(5)在AD时钟为3.3MHz时,8位转换时间接近3.9s。(6)可以通过中断和查询方式获取转换完成时刻。(7)具有边界限制中断,以检测转换数值是否超限。(8)每个AD转换器中的DAC引脚直接输出到引脚,因此在不进行AD转换的情况下,实现DAC转换。(9)A/D转换要求其内部时钟源的频率范围为500kHz3.3MHz。具有内部时钟分频器。(10)可以关闭AD,以减少功耗。单片机技术基础教程与实践作者:夏路易电子工业出版社所有2模拟比较器LPC935有2个可以配置成为不同工作模式的模拟比较器。当正相输入(二个可选择引脚

55、之一)电压大于反相输入时(可选择外部引脚输入参考电压或内部参考电压),输出信号为“1”(可从寄存器读出或输出到引脚),反之则输出为“0”。通过配置,比较器输出值发生改变时可以产生中断 比较器1.变化检测CN1CP1CO1OE1CMF1(P0.4)CIN1A(P0.3)CIN1B(P0.5)CMPREF内部Vref比较器2.变化检测CN2CP2CO2OE2CMF2(P0.2)CIN2A(P0.1)CIN2BCMP1(P0.6)CMP2(P0.0)中断EC.该比较器功能如下:(1)具有8种输入、输出信号的配置方式。(2)内部参考电压VREF为1.23V10%。(3)比较器输入和参考电压引脚还可作为

56、I/O口使用。当用作I/O口时这些引脚输入电压最大值为5V。而当用作比较器输入信号时的最大电压值为4V。(4)当比较器输出状态改变时中断标志位置位,此标志位可通过软件查询或用于产生一个中断。单片机技术基础教程与实践作者:夏路易电子工业出版社所有3. 键盘中断键盘中断就是当P0口的输入数据等于或不等于某预置数据时产生一个中断。该功能常用于总线地址识别或对键盘的识别。该功能由如下寄存器实现:(1)键盘中断屏蔽寄存器(KBMASK)用于定义连接到P0口的输入引脚。(2)键盘模式寄存器(KBPATN)用于定义与P0口引脚输入数据相比较的数据。(3)键盘中断控制寄存器(KBCON),当键盘中断功能有效且

57、条件匹配时,键盘中断控制寄存器(KBCON)中的键盘中断标志置位。如果使能中断,则产生键盘中断。键盘中断控制寄存器(KBCON)还可以定义比较方式:等于或不等于。如果用户设置KBPATN=0FFH和比较方式为不相等时,这样由KBMASK寄存器使能的任何连接到P0口引脚的按键按下(为低电平),都将使中断标志位置位并产生中断(如果使能中断)。该中断可用于将CPU从空闲模式或掉电模式中唤醒。为了置位中断标志,P0口输入信号的保持时间必须长于6个CCLK。 单片机技术基础教程与实践作者:夏路易电子工业出版社所有4. 实时时钟RTCLPC935的实时时钟(RTC)是一个23位的递减计数器。该计数器的时钟

58、源可以是CPU时钟(CCLK)或是晶体振荡器,如果晶体振荡器作为CPU时钟源,则RTC必须使用CCLK作为它的时钟源。 RTCHRTCL溢出时重装MSBLSB7位预分频器(23位减法计数器)(128)RTC复位上电复位CCLKXTAL2XTAL1RTCS1RTCS0RTCENRTCF掉电唤醒ERTCRTC溢出标志RCT使能RTC时钟选择中断(与看门狗共用)低频中频高频.单片机技术基础教程与实践作者:夏路易电子工业出版社所有5. 串行外围总线SPILPC935具有SPI接口模块。SPI是一种全双工、高速、同步的通信总线,有两种操作模式:主模式和从模式。在主模式或从模式中均支持高达3Mbit/s的

59、速率。SPI接口通信需要4个引脚:SPI时钟引脚SPICLK;主出从入引脚MOSI;主入从出引脚MISO;从机选择引脚SS。 8位移位寄存器SPI时钟产生器MOSIMISOMISOMOSI8位移位寄存器SPICLKSPICLKI/OSS主机从机.8位移位寄存器SPI时钟产生器MOSIMISOMISOMOSI8位移位寄存器SPICLKSPICLKSSSSSPI时钟产生器.8位 移 位 寄 存 器SPI时 钟 产 生 器MOSIMISOMISOMOSI8位 移 位 寄 存 器SPICLKSPICLKI/OSSSPI时 钟 产 生 器MISOMOSI8位 移 位 寄 存 器SPICLKSSSPI时

60、钟 产 生 器I/O主 机从 机从 机.单片机技术基础教程与实践作者:夏路易电子工业出版社所有6. 数据存储器E2PROMLPC935具有保存数据的512个字节片内数据E2PROM。通过三个特殊寄存器,用户可以字节读、字节写以及可擦除(通过行填充和扇区填充):E2PROM的操作模式:字节模式:一次读、写一个字节数据,数据存放在数据寄存器(DEEDAT)。而地址在地址寄存器(DEEADR)中。每次写操作需要大约4ms的时间。读操作在地址写入地址寄存器后的3个机器周期内完成。单片机技术基础教程与实践作者:夏路易电子工业出版社所有7. I2C接口I2C(IIC)接口通过I2C总线通信。I2C数据引脚为P1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论