嵌入式技术与应用ARM硬件结构

上传人:博****1 文档编号:578667621 上传时间:2024-08-24 格式:PPT 页数:122 大小:1.38MB
返回 下载 相关 举报
嵌入式技术与应用ARM硬件结构_第1页
第1页 / 共122页
嵌入式技术与应用ARM硬件结构_第2页
第2页 / 共122页
嵌入式技术与应用ARM硬件结构_第3页
第3页 / 共122页
嵌入式技术与应用ARM硬件结构_第4页
第4页 / 共122页
嵌入式技术与应用ARM硬件结构_第5页
第5页 / 共122页
点击查看更多>>
资源描述

《嵌入式技术与应用ARM硬件结构》由会员分享,可在线阅读,更多相关《嵌入式技术与应用ARM硬件结构(122页珍藏版)》请在金锄头文库上搜索。

1、 嵌入式技术与应用嵌入式技术与应用 智能电器与智能系统省重点实验室智能电器与智能系统省重点实验室 ARM硬件结构硬件结构5C H A P T E R第第5章章 目录目录q1.简介q2.引脚配置q3.存储器寻址q4.系统控制模块q5.存储器加速模块q6.外部存储器控制器q7.引脚连接模块q8. 向量中断控制器q9.GPIOq10.UART0q11.UART1q12.I2C接口q13.SPI接口q14.定时器0/1q15.脉宽调制器(PWM)q16.A/D转换器q17.实时时钟q18.看门狗5.14 定时器定时器0/1特性特性LPC2000LPC2000系列系列“微控制器微控制器”具有两个功能强大

2、的定时器,具有两个功能强大的定时器,它们具有以下特性:它们具有以下特性:具有具有3232位可编程预分频器;位可编程预分频器;多达多达4 4路捕获通道,可设置被捕获信号的特征;路捕获通道,可设置被捕获信号的特征;4 4个个3232位匹配寄存器,可设置匹配发生后的动作;位匹配寄存器,可设置匹配发生后的动作;4 4个对应于匹配寄存器的外部输出,可设置匹配输个对应于匹配寄存器的外部输出,可设置匹配输出的信号特征。出的信号特征。5.14 定时器定时器0/1应用LPC2000LPC2000CAPCAPMATMAT捕获外部信号捕获外部信号用于对内部事件进行用于对内部事件进行计数的间隔定时器,计数的间隔定时器

3、,或者产生系统节拍或者产生系统节拍匹配输出匹配输出管脚名称管脚名称管脚方向管脚方向管脚描述管脚描述CAP0.3CAP0.0CPA1.3CAP1.0输入输入捕获信号捕获信号,用来捕获管脚的跳变,可配置为将定时器,用来捕获管脚的跳变,可配置为将定时器值装入一个捕获寄存器,并可选择产生一个中断。可值装入一个捕获寄存器,并可选择产生一个中断。可选择多个管脚用作捕获功能,而且,假设如果有选择多个管脚用作捕获功能,而且,假设如果有2个个管脚被选择并行提供管脚被选择并行提供CAP0.2功能,它们的输入将进功能,它们的输入将进行逻辑或,所得结果用作一个捕获输入。行逻辑或,所得结果用作一个捕获输入。定时器引脚描

4、述定时器引脚描述信号过滤信号过滤捕获控制寄存器捕获控制寄存器TxTx定时器定时器捕获寄存器捕获寄存器多个引脚作为捕多个引脚作为捕获功能时,对输获功能时,对输入信号相或处理入信号相或处理如果输入信号满如果输入信号满足设定的要求,足设定的要求,将触发捕获动作将触发捕获动作管脚名称管脚名称管脚方向管脚方向管脚描述管脚描述MAT0.3MAT0.0MAT1.3MAT1.0输出输出外部匹配输出外部匹配输出0/1。当匹配寄存器。当匹配寄存器0/1(MR3:0)等于)等于定时器计数器(定时器计数器(TC)时,该输出可翻转、变为低电)时,该输出可翻转、变为低电平、变为高电平或不变。外部匹配寄存器(平、变为高电平

5、或不变。外部匹配寄存器(EMR)控制该输出的功能。可选择多个管脚并行用作匹配输控制该输出的功能。可选择多个管脚并行用作匹配输出功能。例如,同时选择出功能。例如,同时选择2个管脚并行提供个管脚并行提供MAT1.3功功能。能。定时器引脚描述信号输出信号输出匹配控制寄存器匹配控制寄存器TxTx定时器定时器匹配寄存器匹配寄存器= =当定时器值等于预设当定时器值等于预设的匹配值时,从引脚的匹配值时,从引脚输出特定的信号输出特定的信号信号输出信号输出= =5.14 定时器定时器0/1寄存器描述寄存器描述LPC2000LPC2000微控制器中与定时器相关的寄存器数量较多,微控制器中与定时器相关的寄存器数量较

6、多,但可以分为三类:但可以分为三类:基本功能相关寄存器;基本功能相关寄存器;匹配功能相关寄存器;匹配功能相关寄存器;捕获功能相关寄存器;捕获功能相关寄存器;寄存器描述基本功能寄存器基本功能寄存器名称名称描述描述访问访问复位值复位值TCR定时器控制寄存器定时器控制寄存器。控制定时器计数器功能(禁止或复位)。控制定时器计数器功能(禁止或复位)。读写读写0TC定时器计数器定时器计数器。为。为32位计数器,计数频率为位计数器,计数频率为PCLK经过预分频计经过预分频计数器后频率值。数器后频率值。读写读写0PR预分频控制寄存器预分频控制寄存器。用于设定预分频值,为。用于设定预分频值,为32位寄存器。位寄

7、存器。读写读写0PC预分频计数器预分频计数器。为。为32位计数器,计数频率为位计数器,计数频率为PCLK,当计数值等,当计数值等于预分频计数器的值时,于预分频计数器的值时,TC计数器加一。计数器加一。读写读写0IR中断标志寄存器中断标志寄存器。读该寄存器识别中断源,写该寄存器清除中断。读该寄存器识别中断源,写该寄存器清除中断标志。标志。读写读写0预分频计数器预分频计数器TxPC定时器计数器定时器计数器TxTC预分频寄存器预分频寄存器TxPR定时器控制定时器控制TxTCR中断标志寄存器中断标志寄存器TxIRFpclk寄存器描述基本功能寄存器基本功能寄存器预分频计数器预分频计数器TxPC定时器计数

8、器定时器计数器TxTC预分频寄存器预分频寄存器TxPR定时器控制定时器控制TxTCR中断标志寄存器中断标志寄存器TxIRFpclk预分频计数器预分频计数器TxPC定时器计数器定时器计数器TxTC预分频寄存器预分频寄存器TxPR定时器控制定时器控制TxTCR中断标志寄存器中断标志寄存器TxIRFpclkTxPRTxPRTxPR寄存器为寄存器为3232位寄存器,该寄存器指定了预分频计位寄存器,该寄存器指定了预分频计数器的最大值。数器的最大值。位位31 : 0功能功能预分频值预分频值寄存器描述基本功能寄存器基本功能寄存器预分频计数器预分频计数器TxPCTxPC定时器计数器定时器计数器TxTCTxTC

9、预分频寄存器预分频寄存器TxPRTxPR定时器控制定时器控制TxTCRTxTCR中断标志寄存器中断标志寄存器TxIRTxIRFpclkFpclkTxPRTxPRTxPCTxPCTxPCTxPC寄存器为寄存器为3232位寄存器。预分频计数器每个位寄存器。预分频计数器每个pclkpclk周期加周期加1 1。当其到达预分频寄存器中保存的值时,定。当其到达预分频寄存器中保存的值时,定时器计数器加时器计数器加1 1,预分频计数器在下个,预分频计数器在下个pclkpclk周期复位。周期复位。这样,当这样,当PR=0PR=0时,定时器计数器每个时,定时器计数器每个pclkpclk周期加周期加1 1,当当PR

10、=1PR=1时,定时器计数器每时,定时器计数器每2 2个个pclkpclk周期加周期加1 1。位位31 : 031 : 0复位值复位值功能功能计数值计数值0 0寄存器描述基本功能寄存器基本功能寄存器预分频计数器预分频计数器TxPC定时器计数器定时器计数器TxTC预分频寄存器预分频寄存器TxPR定时器控制定时器控制TxTCR中断标志寄存器中断标志寄存器TxIRFpclkTxPR 定时器控制寄存器定时器控制寄存器TCRTCR用于控制定时器计数器的操作。用于控制定时器计数器的操作。TCR功能功能描述描述复位值复位值0计数器使能计数器使能1:定时器计数器和预分频计数器定时器计数器和预分频计数器使能使能

11、计数;计数;0:定时器计数器和预分频计数器定时器计数器和预分频计数器停止停止计数。计数。01计数器复位计数器复位为为1时定时器计数器和预分频计数器在时定时器计数器和预分频计数器在PCLK的下一个上升沿同步复位。计数器在的下一个上升沿同步复位。计数器在TCR的的bit1恢复为恢复为0之前保持复位状态。之前保持复位状态。0TxTCR寄存器描述基本功能寄存器基本功能寄存器预分频计数器预分频计数器TxPC定时器计数器定时器计数器TxTC预分频寄存器预分频寄存器TxPR定时器控制定时器控制TxTCR中断标志寄存器中断标志寄存器TxIRFpclkTxPR当预分频计数器到达计数的上限时,定时器计数器寄当预分

12、频计数器到达计数的上限时,定时器计数器寄存器(存器(TxTCTxTC)加)加1 1。TCTC从从0x000000000x00000000计数一直到计数一直到0xFFFFFFFF0xFFFFFFFF,然后翻转至,然后翻转至0 0,除非中途被复位。计数值,除非中途被复位。计数值翻转不会引起中断。翻转不会引起中断。TxTC位位31 : 0复位值复位值功能功能计数值计数值0寄存器描述基本功能寄存器基本功能寄存器预分频计数器预分频计数器TxPC定时器计数器定时器计数器TxTC预分频寄存器预分频寄存器TxPR定时器控制定时器控制TxTCR中断标志寄存器中断标志寄存器TxIRFpclkTxPR中断寄存器包含

13、中断寄存器包含4 4个位用于匹配中断,另外个位用于匹配中断,另外4 4个位用于个位用于捕获中断。如果有中断产生,捕获中断。如果有中断产生,IRIR中的对应位会置位。中的对应位会置位。向对应的向对应的IRIR位写入位写入1 1会复位中断,写入会复位中断,写入0 0无效。无效。位位功能功能描述描述位位功能功能描述描述0MR0中断中断匹配匹配0中断中断4CR0中断中断捕获捕获0中断中断1MR1中断中断匹配匹配1中断中断5CR1中断中断捕获捕获1中断中断2MR2中断中断匹配匹配2中断中断6CR2中断中断捕获捕获2中断中断3MR3中断中断匹配匹配3中断中断7CR3中断中断捕获捕获3中断中断TxIR寄存器

14、描述寄存器描述匹配功能寄存器匹配功能寄存器名称名称描述描述访问访问复位值复位值MCR匹配控制寄存器匹配控制寄存器,用于控制在匹配时是否产生中断或复位,用于控制在匹配时是否产生中断或复位TC读写读写0MR0匹配寄存器匹配寄存器0,通过,通过MCR寄存器可以设置匹配发生时的动作寄存器可以设置匹配发生时的动作读写读写0MR1匹配寄存器匹配寄存器1,通过,通过MCR寄存器可以设置匹配发生时的动作寄存器可以设置匹配发生时的动作读写读写0MR2匹配寄存器匹配寄存器2,通过,通过MCR寄存器可以设置匹配发生时的动作寄存器可以设置匹配发生时的动作读写读写0MR3匹配寄存器匹配寄存器3,通过,通过MCR寄存器可

15、以设置匹配发生时的动作寄存器可以设置匹配发生时的动作读写读写0EMR外部匹配寄存器外部匹配寄存器,EMR控制外部匹配管脚控制外部匹配管脚MATx.0MATx.3读写读写0匹配控制匹配控制MCR匹配值匹配值MR0MR3匹配输出匹配输出EMR定时器计数器定时器计数器TC寄存器描述匹配功能寄存器匹配功能寄存器匹配控制MCR匹配值MR0MR3匹配输出EMR定时器计数器TC匹配控制匹配控制MCRMCR匹配值匹配值MR0MR0MR3MR3匹配输出匹配输出EMREMR定时器计数器定时器计数器TCTCMCR匹配控制寄存器用于控制在发生匹配时所执行的操作。匹配控制寄存器用于控制在发生匹配时所执行的操作。位位功能

16、功能描述描述复位值复位值0中断中断(MR0)为为1时,时,MR0与与TC值的匹配将产生中断。为值的匹配将产生中断。为0时禁止。时禁止。01复位复位(MR0)为为1时,时,MR0与与TC值的匹配将使值的匹配将使TC复位。为复位。为0时禁止。时禁止。02停止停止(MR0)为为1时,时,MR0与与TC值的匹配将清零值的匹配将清零TCR的的bit0位,使位,使TC和和PC停止。为停止。为0时该特性被禁止。时该特性被禁止。05 : 3MR1与匹配与匹配0(MR0)对应位功能相同(略)对应位功能相同(略)08 : 6MR2011 : 9MR30寄存器描述匹配功能寄存器匹配功能寄存器匹配控制匹配控制MCRM

17、CR匹配值匹配值MR0MR0MR3MR3匹配输出匹配输出EMREMR定时器计数器定时器计数器TCTC匹配寄存器匹配寄存器(MR0(MR0MR3)MR3)值与定时器计数值相比较,当两值与定时器计数值相比较,当两个值相等时自动触发在个值相等时自动触发在MCRMCR寄存器中设置的动作。寄存器中设置的动作。MR0MR0MR3MR3位位31 : 031 : 0复位值复位值功能功能匹配值匹配值0 0寄存器描述匹配功能寄存器匹配功能寄存器匹配控制匹配控制MCRMCR匹配值匹配值MR0MR0MR3MR3匹配输出匹配输出EMREMR定时器计数器定时器计数器TCTC外部匹配寄存器提供外部匹配管脚外部匹配寄存器提供

18、外部匹配管脚MATn.0MATn.0MATn.3(nMATn.3(n为为0 0或或1)1)的控制和状态。的控制和状态。EMR寄存器描述匹配功能寄存器匹配功能寄存器匹配控制匹配控制MCRMCR匹配值匹配值MR0MR0MR3MR3匹配输出匹配输出EMREMR定时器计数器定时器计数器TCTCEMREMR位位功能功能描述描述复位值复位值0外部匹配外部匹配0反映相应外部匹配的状态,而不管是否连反映相应外部匹配的状态,而不管是否连接到管脚。发生匹配时该位的动作由接到管脚。发生匹配时该位的动作由EMR中相应的控制位决定。中相应的控制位决定。01外部匹配外部匹配102外部匹配外部匹配203外部匹配外部匹配30

19、5 : 4外部匹配控制外部匹配控制0决定相应外部匹配的功能。决定相应外部匹配的功能。00:不执行任何动作;不执行任何动作;01:将对应的外部匹配输出设置为将对应的外部匹配输出设置为0;10:将对应的外部匹配输出设置为将对应的外部匹配输出设置为1;11:使对应的外部匹配输出翻转。使对应的外部匹配输出翻转。07 : 6外部匹配控制外部匹配控制109 : 8外部匹配控制外部匹配控制2011 : 10外部匹配控制外部匹配控制30寄存器描述捕获功能寄存器捕获功能寄存器名称名称描述描述访问访问复位值复位值CCR捕获控制寄存器,用于设置捕获信号的触发特征,以及捕捕获控制寄存器,用于设置捕获信号的触发特征,以

20、及捕获发生时是否产生中断。获发生时是否产生中断。读写读写0CR0捕获寄存器捕获寄存器0,在捕获,在捕获0引脚上产生捕获时间时,引脚上产生捕获时间时,CR0装载装载TC的值。的值。只读只读0CR1功能同上。功能同上。只读只读0CR3功能同上。功能同上。只读只读0CR3功能同上。功能同上。只读只读0捕获控制捕获控制CCRCCR捕获寄存器捕获寄存器CR0CR0CR3CR3定时器计数器定时器计数器TCTC寄存器描述捕获功能寄存器捕获功能寄存器捕获控制CCR捕获寄存器CR0CR3定时器计数器TC捕获控制捕获控制CCRCCR捕获寄存器捕获寄存器CR0CR0CR3CR3定时器计数器定时器计数器TCTCCCR

21、在发生捕获事件时,捕获控制寄存器用于控制是否将定在发生捕获事件时,捕获控制寄存器用于控制是否将定时器计数值装入寄存器。同时还可以设置被捕获信号的时器计数值装入寄存器。同时还可以设置被捕获信号的特征。特征。寄存器描述捕获功能寄存器捕获功能寄存器捕获控制捕获控制CCR捕获寄存器捕获寄存器CR0CR3定时器计数器定时器计数器TCCCR位位功能功能描述描述复位值复位值0CAPn.0上升沿捕获上升沿捕获为为1时,时,CAPn.0引脚上引脚上0到到1的跳变将导致的跳变将导致TC的内的内容装入容装入CR0。为。为0时,该特性被禁止。时,该特性被禁止。01CAPn.1下降沿捕获下降沿捕获为为1时,时,CAPn

22、.0引脚上引脚上1到到0的跳变将导致的跳变将导致TC的内的内容装入容装入CR0。为。为0时,该特性被禁止。时,该特性被禁止。02CAPn.0事件中断事件中断为为1时,时,CAPn.0的捕获事件将产生一个中断。为的捕获事件将产生一个中断。为0时该特性被禁止。时该特性被禁止。05 : 3CAPn.1与与CAPn.0对应位功能相同(略)对应位功能相同(略)08 : 6CAPn.2与与CAPn.0对应位功能相同(略)对应位功能相同(略)011 : 9CAPn.3与与CAPn.0对应位功能相同(略)对应位功能相同(略)0寄存器描述捕获功能寄存器捕获功能寄存器捕获控制捕获控制CCR捕获寄存器捕获寄存器CR

23、0CR3定时器计数器定时器计数器TC每个捕获寄存器都与一个或几个器件管脚相关联。当管每个捕获寄存器都与一个或几个器件管脚相关联。当管脚发生特定的事件时,可将定时器计数值装入该寄存器。脚发生特定的事件时,可将定时器计数值装入该寄存器。捕获控制寄存器的设定决定捕获功能是否使能,以及捕捕获控制寄存器的设定决定捕获功能是否使能,以及捕获事件在管脚的上升沿、下降沿或是双边沿发生。获事件在管脚的上升沿、下降沿或是双边沿发生。 CR0CR3位31 : 0复位值功能捕获值05.14 定时器定时器0/1使用定时器的注意要点使用定时器的注意要点定时计数器定时计数器(TC)(TC)本身不能产生中断,只有与匹配寄存本

24、身不能产生中断,只有与匹配寄存器发生匹配后才能引起中断事件;器发生匹配后才能引起中断事件;在定时器匹配发生后,可以不停止定时器工作,而动在定时器匹配发生后,可以不停止定时器工作,而动态修改匹配寄存器的值;态修改匹配寄存器的值;定时器使用匹配功能的同时,还可以使用捕获功能,定时器使用匹配功能的同时,还可以使用捕获功能,而不必分时使用;而不必分时使用;定时器计数时钟频率定时器计数时钟频率 = = F Fpclkpclk / (PR+1) / (PR+1)定时器操作示例定时器设置为匹配时复位计数器并产生中断。预分频设定时器设置为匹配时复位计数器并产生中断。预分频设置为置为2 2,匹配寄存器设置为,匹

25、配寄存器设置为6 6。在发生匹配的定时器周期。在发生匹配的定时器周期结束时,定时器计数值复位。这样就使匹配值具有完整结束时,定时器计数值复位。这样就使匹配值具有完整长度的周期。长度的周期。PR=2, PR=2, MRxMRx=6, =6, 匹配时使能中断和复位匹配时使能中断和复位预分频计数器计数频率为PCLK定时器计数器计数频率为PCLK/3最后一个周期复位定时器计数器产生匹配中断定时器操作示例操作流程操作流程计算定时器的计算定时器的计数频率计数频率设置匹配值及设置匹配值及工作模式工作模式设置捕获方式设置捕获方式设置定时器中断设置定时器中断VICVIC启动定时器启动定时器TCRTCR定时器操作

26、示例定时器定时器0 0初始化初始化操作流程操作流程计算定时器的计算定时器的计数频率计数频率设置匹配值及设置匹配值及工作模式工作模式设置捕获方式设置捕获方式设置定时器中断设置定时器中断VICVIC启动定时器启动定时器TCRTCR操作流程操作流程计算定时器的计算定时器的计数频率计数频率设置匹配值及设置匹配值及工作模式工作模式设置捕获方式设置捕获方式设置定时器中断设置定时器中断VICVIC启动定时器启动定时器TCRTCRVoid Time0Init(void)Void Time0Init(void) T0TC = 0; T0TC = 0; T0PR = 0; T0PR = 0; T0MCR = 0x

27、03; T0MCR = 0x03; T0MR0 = T0MR0 = FpclkFpclk / 10; / 10; T0TCR = 0x01; T0TCR = 0x01; C C代码:代码:定时器设置为定时器设置为0 0设置预分频值设置预分频值设置匹配模式,复位并中断设置匹配模式,复位并中断设置匹配值,设置匹配值,0.1S0.1S启动定时器启动定时器0 0LPC2000定时器操作示例用定时器测量脉冲宽度用定时器测量脉冲宽度. T0TC = 0; T0TC = 0; T0PR = 0; T0PR = 0; while(IO0PIN & 0x01) != 0); while(IO0PIN & 0x0

28、1) != 0); T0TCR = 0x01; T0TCR = 0x01; while(IO0PIN & 0x01) = 0); while(IO0PIN & 0x01) = 0); T0TCR = 0x00; T0TCR = 0x00; time = T0TC; time = T0TC;.C C代码:代码:定时器设置为定时器设置为0 0设置预分频值设置预分频值等待引脚电平变低等待引脚电平变低启动定时器启动定时器0 0等待引脚电平变高等待引脚电平变高关闭定时器关闭定时器0 0读取定时器值,即为脉宽读取定时器值,即为脉宽P0.0tVtime定时器操作示例定时器操作示例匹配输出匹配输出Void V

29、oid MATOut(voidMATOut(void) ) PINSEL0 = 0x00000800; PINSEL0 = 0x00000800; T0TC = 0; T0TC = 0; T0PR = 0; T0PR = 0; T0MCR = 0x01; T0MCR = 0x01; T0EMR = 0xC0; T0EMR = 0xC0; T0MR1 = 5000; T0MR1 = 5000; T0TCR = 0x01; T0TCR = 0x01; C C代码:代码:定时器设置为定时器设置为0 0设置预分频值设置预分频值设置匹配后复位设置匹配后复位TCTC设置匹配后设置匹配后MAT0.1MAT0

30、.1输出翻转输出翻转输出频率周期控制输出频率周期控制启动定时器启动定时器0 0设置引脚连接模块设置引脚连接模块将引脚将引脚P0.5P0.5设置为输出设置为输出50%50%的方波,程序设置了的方波,程序设置了MR1MR1匹配匹配后复位定时器,并且后复位定时器,并且MAT0.1MAT0.1输出电平翻转。输出电平翻转。定时器操作示例定时器捕获定时器捕获Void Void TimeCAP(voidTimeCAP(void) ) PINSEL0 = 0x20; PINSEL0 = 0x20; T0PR = 0; T0PR = 0; T0CCR = 0x02; T0CCR = 0x02; T0TC = 0

31、; T0TC = 0; T0TCR = 0x01; T0TCR = 0x01; C C代码:代码:设置预分频值为设置预分频值为0 0设置为下降沿捕获设置为下降沿捕获清零清零TCTC启动定时器启动定时器设置引脚连接模块设置引脚连接模块示例使用定时器对示例使用定时器对P0.2P0.2引脚的信号进行捕获,并设置为引脚的信号进行捕获,并设置为下降沿捕获。当有捕获事件产生时自动把定时器的当前下降沿捕获。当有捕获事件产生时自动把定时器的当前值装载到值装载到T0CR0T0CR0寄存器中。寄存器中。第第5章章 目录目录q1.简介q2.引脚配置q3.存储器寻址q4.系统控制模块q5.存储器加速模块q6.外部存储

32、器控制器q7.引脚连接模块q8. 向量中断控制器q9.GPIOq10.UART0q11.UART1q12.I2C接口q13.SPI接口q14.定时器0/1q15.脉宽调制器(PWM)q16.A/D转换器q17.实时时钟q18.看门狗5.15 脉宽调制器脉宽调制器特性特性LPC2000LPC2000系列微控制器的脉宽调制器建立在独立的系列微控制器的脉宽调制器建立在独立的3232位位标准定时器之上,具有如下特性:标准定时器之上,具有如下特性:带可编程带可编程3232位预分频的位预分频的3232位定时器位定时器/ /计数器;计数器;7 7个匹配寄存器,可实现个匹配寄存器,可实现6 6个单边沿控制或个

33、单边沿控制或3 3个双边个双边沿控制沿控制PWMPWM输出,或两者的混合输出;输出,或两者的混合输出;脉冲周期和宽度可以是任何的定时器计数值;脉冲周期和宽度可以是任何的定时器计数值;匹配寄存器更新与脉冲输出同步,防止产生错误匹配寄存器更新与脉冲输出同步,防止产生错误脉冲。脉冲。5.15 脉宽调制器脉宽调制器PWM简介简介LPC2000LPC2000的的PWMPWM基于标准的定时器模块,具有定时器的基于标准的定时器模块,具有定时器的所有特性,它是定时器功能中匹配事件的功能扩展。所有特性,它是定时器功能中匹配事件的功能扩展。使用使用PWMPWM功能,可以在指定引脚输出需要的波形。输出功能,可以在指

34、定引脚输出需要的波形。输出波形可分为两类:波形可分为两类:单边沿输出;单边沿输出;双边沿输出。双边沿输出。5.15 脉宽调制器脉宽调制器PWM简介简介使用两个匹配寄存器就可以实现单边沿控制的使用两个匹配寄存器就可以实现单边沿控制的PWMPWM输出。输出。其中一个匹配寄存器(其中一个匹配寄存器(PWMMR0PWMMR0)控制)控制PWMPWM周期,另一个周期,另一个匹配寄存器控制匹配寄存器控制PWMPWM边沿的位置,即占空比。边沿的位置,即占空比。PWMMR0PWMMR0是是所有所有PWMPWM输出共用的,所以每增加一路输出共用的,所以每增加一路PWMPWM输出,实际输出,实际上只要增加一个控制

35、占空比的匹配寄存器。当上只要增加一个控制占空比的匹配寄存器。当PWMMR0PWMMR0发生匹配时,输出都会变成高电平。发生匹配时,输出都会变成高电平。单边沿输出单边沿输出5.15 脉宽调制器脉宽调制器PWM简介单边沿输出单边沿输出TPWMMR0控控制制PWM周期周期其它匹配寄存器其它匹配寄存器控制边沿位置控制边沿位置其它匹配寄存器其它匹配寄存器控制边沿位置控制边沿位置不同占空比的单边沿控制不同占空比的单边沿控制PWMPWM输出输出所有单边沿输出在周所有单边沿输出在周期开始时都为高电平,期开始时都为高电平,并在匹配发生前一直并在匹配发生前一直保持高电平保持高电平5.15 脉宽调制器脉宽调制器PW

36、M简介简介实现双边沿输出需要实现双边沿输出需要3 3个匹配寄存器进行控制。其中个匹配寄存器进行控制。其中PWMMR0PWMMR0用于控制用于控制PWMPWM周期,其它两个匹配寄存器分别控周期,其它两个匹配寄存器分别控制制PWMPWM输出的前沿和后沿的位置。与单边沿输出一样,输出的前沿和后沿的位置。与单边沿输出一样,PWMMR0PWMMR0是所有输出共用的,所以每增加一路双边沿输是所有输出共用的,所以每增加一路双边沿输出,需要增加两个匹配控制寄存器。出,需要增加两个匹配控制寄存器。双边沿输出双边沿输出5.15 脉宽调制器脉宽调制器PWM简介T T双边沿控制双边沿控制PWMPWM输出正负脉冲输出正

37、负脉冲PWMMR0PWMMR0控制控制PWMPWM周期周期其它匹配寄存器其它匹配寄存器控制边沿位置控制边沿位置其它匹配寄存器其它匹配寄存器控制边沿位置控制边沿位置双边沿输出双边沿输出5.15 脉宽调制器脉宽调制器PWMPWM简介简介PWMPWM输出触发关系输出触发关系PWMPWM通道通道单边沿单边沿PWM (PWM (PWMSELnPWMSELn = 0) = 0)双边沿双边沿PWM (PWM (PWMSELnPWMSELn = 1) = 1)置位置位复位复位置位置位复位复位1 1匹配匹配0 0匹配匹配1 1匹配匹配0 0匹配匹配1 12 2匹配匹配0 0匹配匹配2 2匹配匹配1 1匹配匹配2

38、 23 3匹配匹配0 0匹配匹配3 3匹配匹配2 2匹配匹配3 34 4匹配匹配0 0匹配匹配4 4匹配匹配3 3匹配匹配4 45 5匹配匹配0 0匹配匹配5 5匹配匹配4 4匹配匹配5 56 6匹配匹配0 0匹配匹配6 6匹配匹配5 5匹配匹配6 6举例说明:使用举例说明:使用PWMPWM通道通道5 5输出时。输出时。如果为单边沿输出,那么匹配如果为单边沿输出,那么匹配0 0事件置位输出引脚,匹配事件置位输出引脚,匹配5 5事件复位输出引脚。事件复位输出引脚。如果为双边沿输出,那么匹配如果为双边沿输出,那么匹配4 4事件置位输出引脚,匹配事件置位输出引脚,匹配5 5事件复位输出引脚。事件复位

39、输出引脚。5 5匹配匹配0 0匹配匹配5 5匹配匹配4 4匹配匹配5 55.15 脉宽调制器脉宽调制器PWM引脚描述引脚描述管脚名称管脚名称管脚方向管脚方向管脚描述管脚描述PWM1输出输出一共有一共有6个个PWM输出通道输出通道PWM2输出输出一共有一共有6个个PWM输出通道输出通道PWM3输出输出一共有一共有6个个PWM输出通道输出通道PWM4输出输出一共有一共有6个个PWM输出通道输出通道PWM5输出输出一共有一共有6个个PWM输出通道输出通道PWM6输出输出一共有一共有6个个PWM输出通道输出通道5.15 脉宽调制器脉宽调制器PWM寄存器描述寄存器描述PWMPWM模块的控制寄存器数量较多

40、,但是因为它是建立在模块的控制寄存器数量较多,但是因为它是建立在标准定时器的基础上,所以一部分寄存器功能与定时器标准定时器的基础上,所以一部分寄存器功能与定时器功能类似。所有寄存器大致可以分为两类:功能类似。所有寄存器大致可以分为两类:基本功能寄存器基本功能寄存器匹配控制寄存器匹配控制寄存器PWMPWM寄存器描述寄存器描述基本功能寄存器基本功能寄存器名称名称描述描述访问访问PWMTCRPWMTCRPWMPWM定时器控制寄存器定时器控制寄存器。控制。控制PWMPWM定时器计数器功能(禁止或复位)。定时器计数器功能(禁止或复位)。 读写读写PWMTCPWMTCPWMPWM定时器计数器定时器计数器。

41、为。为3232位计数器,计数频率为位计数器,计数频率为PCLKPCLK经过预分频计数经过预分频计数器后的频率值。器后的频率值。读写读写PWMPRPWMPRPWMPWM预分频控制寄存器预分频控制寄存器。用于设定预分频值,为。用于设定预分频值,为3232位寄存器。位寄存器。读写读写PWMPCPWMPCPWMPWM预分频计数器预分频计数器。为。为3232位计数器,计数频率为位计数器,计数频率为PCLKPCLK,当计数值等于,当计数值等于预分频计数器的值时,预分频计数器的值时,TCTC计数器加一。计数器加一。读写读写PWMIRPWMIRPWMPWM中断标志寄存器中断标志寄存器。读该寄存器识别中断源,写

42、该寄存器清除中断。读该寄存器识别中断源,写该寄存器清除中断标志。标志。读写读写预分频计数器预分频计数器PWMPCPWMPC定时器计数器定时器计数器PWMTCPWMTC预分频寄存器预分频寄存器PWMPRPWMPR定时器控制定时器控制PWMTCRPWMTCR中断标志寄存器中断标志寄存器PWMIRPWMIRFpclkFpclk大部分寄存器的功能与大部分寄存器的功能与定时器部件相同,所以定时器部件相同,所以仅介绍与之不同的地方仅介绍与之不同的地方预分频计数器预分频计数器PWMPC定时器计数器定时器计数器PWMTC预分频寄存器预分频寄存器PWMPR定时器控制定时器控制PWMTCR中断标志寄存器中断标志寄

43、存器PWMIRFpclk预分频计数器预分频计数器PWMPC定时器计数器定时器计数器PWMTC预分频寄存器预分频寄存器PWMPR定时器控制定时器控制PWMTCR中断标志寄存器中断标志寄存器PWMIRFpclkPWMPWM定时器控制寄存器定时器控制寄存器TCRTCR用于控制定时器计数器的操作。用于控制定时器计数器的操作。TCR功能功能描述描述复位值复位值0计数器使能计数器使能1:定时器计数器和预分频计数器使能计数;定时器计数器和预分频计数器使能计数;0:定时器计数器和预分频计数器停止计数。定时器计数器和预分频计数器停止计数。01计数器复位计数器复位为为1时,定时器计数器和预分频计数器在时,定时器计

44、数器和预分频计数器在PCLK的下一个上升沿同步复位。计数器在的下一个上升沿同步复位。计数器在TCR的的bit1恢复为恢复为0之前保持复位状态。之前保持复位状态。02保留保留用户程序不要向该位写入用户程序不要向该位写入1NA3PWM使能使能为为1时,时,PWM模式使能。为模式使能。为0时,时, PWM禁止禁止0PWMTCRPWM寄存器描述基本功能寄存器基本功能寄存器预分频计数器预分频计数器PWMPC定时器计数器定时器计数器PWMTC预分频寄存器预分频寄存器PWMPR定时器控制定时器控制PWMTCR中断标志寄存器中断标志寄存器PWMIRFpclk寄存器描述基本功能寄存器基本功能寄存器中断寄存器包含

45、中断寄存器包含1111个位。其中个位。其中7 7个位用于匹配中断,其个位用于匹配中断,其它的位保留。中断发生时,对应位将被置一。向对应它的位保留。中断发生时,对应位将被置一。向对应的的IRIR位写入位写入1 1会复位中断,写入会复位中断,写入0 0无效。无效。位位功能功能描述描述位位功能功能描述描述0PWMMR0匹配匹配0中断中断4:7保留保留1PWMMR0匹配匹配1中断中断8PWMMR4匹配匹配4中断中断2PWMMR0匹配匹配2中断中断9PWMMR5匹配匹配5中断中断3PWMMR0匹配匹配3中断中断10PWMMR6匹配匹配6中断中断PWMIRPWM寄存器描述匹配功能寄存器匹配功能寄存器名称名

46、称描述描述访问访问PWMMCRPWMMCRPWMPWM匹配控制寄存器匹配控制寄存器。用于控制匹配时是否产生中断或复位。用于控制匹配时是否产生中断或复位TCTC。读写读写PWMMR0PWMMR0PWMMR6PWMMR6PWMPWM匹配定时器匹配定时器。每个寄存器对应于一个匹配值。除。每个寄存器对应于一个匹配值。除MR0MR0和和TCTC匹配匹配会置位所有单边沿模式下的会置位所有单边沿模式下的PWMPWM输出外,其它的匹配事件将清零相输出外,其它的匹配事件将清零相应的单边沿或双边沿应的单边沿或双边沿PWMPWM输出。在双边沿模式下,匹配事件还将置输出。在双边沿模式下,匹配事件还将置位下一个相邻的位

47、下一个相邻的PWMPWM输出。比如输出。比如PWM2PWM2发生匹配,会清零发生匹配,会清零PWM2PWM2输出,输出,如果在双边沿模式下还将置位如果在双边沿模式下还将置位PWM3PWM3输出。输出。读写读写PWMPCRPWMPCRPWMPWM控制寄存器控制寄存器。使能。使能PWMPWM输出并选择输出并选择PWMPWM通道类型为单边沿或双边通道类型为单边沿或双边沿控制。沿控制。读写读写PWMLERPWMLERPWMPWM锁存使能寄存器锁存使能寄存器。使能新的。使能新的PWMPWM匹配值有效。匹配值有效。读写读写锁存使能锁存使能PWMLERPWMLER定时器计数器定时器计数器PWMTCPWMTC

48、PWMPWM控制控制PWMPCRPWMPCR匹配控制匹配控制PWMMCRPWMMCR映像寄存器映像寄存器匹配寄存器匹配寄存器PWMMRxPWMMRxPWMPWM输出输出锁存使能锁存使能PWMLER定时器计数器定时器计数器PWMTCPWM控制控制PWMPCR匹配控制匹配控制PWMMCR映像寄存器映像寄存器匹配寄存器匹配寄存器PWMMRxPWM输出输出PWM寄存器描述匹配功能寄存器匹配功能寄存器锁存使能锁存使能PWMLER定时器计数器定时器计数器PWMTCPWM控制控制PWMPCR匹配控制匹配控制PWMMCR映像寄存器映像寄存器匹配寄存器匹配寄存器PWMMRxPWM输出输出PWMMCR位位功能功能

49、描述描述复位值复位值0中断中断(PWMMR0)为为1时,时,PWMMR0与与PWMTC值的匹配时将产生中值的匹配时将产生中断,该中断被禁止。断,该中断被禁止。01复位复位(PWMMR0)为为1时,时,PWMMR0与与PWMTC值的匹配时将产生复值的匹配时将产生复位,该中断被禁止。位,该中断被禁止。02停止停止(PWMMR0)为为1时,时,PWMMR0与与PWMTC值的匹配时将产生停值的匹配时将产生停止,该中断被禁止。止,该中断被禁止。04:20PWMMR16功能与功能与PWMMR0相同(略)相同(略)0PWM寄存器描述匹配功能寄存器匹配功能寄存器锁存使能锁存使能PWMLER定时器计数器定时器计

50、数器PWMTCPWM控制控制PWMPCR匹配控制匹配控制PWMMCR映像寄存器映像寄存器匹配寄存器匹配寄存器PWMMRxPWM输出输出PWMMRxPWMPWM匹配寄存器值连续与匹配寄存器值连续与PWMPWM定时器计数值相比较。当这定时器计数值相比较。当这两个值相等时自动触发相应动作。这些动作包括产生中两个值相等时自动触发相应动作。这些动作包括产生中断、复位断、复位PWMPWM定时器计数器或停止定时器。定时器计数器或停止定时器。位位31 : 0复位值复位值功能功能设定的匹配值设定的匹配值0PWM寄存器描述匹配功能寄存器匹配功能寄存器锁存使能锁存使能PWMLERPWMLER定时器计数器定时器计数器

51、PWMTCPWMTCPWMPWM控制控制PWMPCRPWMPCR匹配控制匹配控制PWMMCRPWMMCR映像寄存器映像寄存器匹配寄存器匹配寄存器PWMMRxPWMMRxPWMPWM输出输出PWMPWM锁存使能寄存器用于控制锁存使能寄存器用于控制PWMPWM匹配寄存器的更新。匹配寄存器的更新。在产生在产生PWMPWM时,为了保证一个周期的完整,在更改时,为了保证一个周期的完整,在更改PWMPWM匹配寄存器之后,并不能立即生效。而是在匹配寄存器之后,并不能立即生效。而是在MR0MR0发生发生匹配并且匹配并且PWMLERPWMLER中的相应位置位时才能使修改值生效。中的相应位置位时才能使修改值生效。

52、PWMLERPWMLERPWM寄存器描述匹配功能寄存器匹配功能寄存器锁存使能锁存使能PWMLERPWMLER定时器计数器定时器计数器PWMTCPWMTCPWMPWM控制控制PWMPCRPWMPCR匹配控制匹配控制PWMMCRPWMMCR映像寄存器映像寄存器匹配寄存器匹配寄存器PWMMRxPWMMRxPWMPWM输出输出PWMLER位位功能功能描述描述复位值复位值0使能使能PWM匹配匹配0锁存锁存该位置位后,写入该位置位后,写入PWM匹配寄存器匹配寄存器0(PWMMR0)的值的值才能在才能在MR0发生匹配事件后生效。发生匹配事件后生效。06 : 1使能使能PWM匹配匹配16锁存锁存功能同上,只是

53、分别对应匹配功能同上,只是分别对应匹配1到匹配到匹配6。07保留保留用户程序不要向该位写入用户程序不要向该位写入1。NAPWMPWM寄存器描述寄存器描述匹配功能寄存器匹配功能寄存器锁存使能锁存使能PWMLERPWMLER定时器计数器定时器计数器PWMTCPWMTCPWMPWM控制控制PWMPCRPWMPCR匹配控制匹配控制PWMMCRPWMMCR映像寄存器映像寄存器匹配寄存器匹配寄存器PWMMRxPWMMRxPWMPWM输出输出PWMPCRPWMPCRPWMPWM匹配控制寄存器用于使能并选择每个匹配控制寄存器用于使能并选择每个PWMPWM通道的类型。通道的类型。PWM寄存器描述匹配功能寄存器匹

54、配功能寄存器PWMPCR位位功能功能描述描述复位值复位值1 : 0保留保留用户程序不要向这些位写入用户程序不要向这些位写入1。NA2PWMSEL2为为0时,时,PWM2通道选择单边沿控制模式。为通道选择单边沿控制模式。为1选择选择双边沿模式。双边沿模式。03PWMSEL3功能同上,控制功能同上,控制PWM3通道的输出模式。通道的输出模式。04PWMSEL4功能同上,控制功能同上,控制PWM4通道的输出模式。通道的输出模式。05PWMSEL5功能同上,控制功能同上,控制PWM5通道的输出模式。通道的输出模式。06PWMSEL6功能同上,控制功能同上,控制PWM6通道的输出模式。通道的输出模式。0

55、8 : 7保留保留用户程序不要向这些位写入用户程序不要向这些位写入1。NA9PWMENA1为为1时,使能时,使能PWM1输出;为输出;为0时禁止。时禁止。010PWMENA2为为1时,使能时,使能PWM2输出;为输出;为0时禁止。时禁止。011PWMENA3为为1时,使能时,使能PWM3输出;为输出;为0时禁止。时禁止。012PWMENA4为为1时,使能时,使能PWM4输出;为输出;为0时禁止。时禁止。013PWMENA5为为1时,使能时,使能PWM5输出;为输出;为0时禁止。时禁止。014PWMENA6为为1时,使能时,使能PWM6输出;为输出;为0时禁止。时禁止。015保留保留用户程序不要

56、向这些位写入用户程序不要向这些位写入1。NA5.15 脉宽调制器脉宽调制器使用使用PWM的注意要点的注意要点修改匹配寄存器之后,必须设置锁存使能寄存器中的修改匹配寄存器之后,必须设置锁存使能寄存器中的相应位,否则匹配寄存器的值不能生效;相应位,否则匹配寄存器的值不能生效;修改匹配寄存器时,不需要停止修改匹配寄存器时,不需要停止PWMPWM定时器,以免产定时器,以免产生无完整的生无完整的PWMPWM波形;波形;不使用不使用PWMPWM功能时,可将该部件作为一个标准的功能时,可将该部件作为一个标准的3232位位定时器使用;定时器使用;PWMTCPWMTC计数频率计数频率= = FpclkFpclk

57、 / (PWMPR+1) / (PWMPR+1)PWM使用示例操作流程操作流程连接连接PWMPWM输出输出功能引脚功能引脚设置预分频值设置预分频值设置匹配值设置匹配值设置设置PWMPWM输出方式输出方式启动启动PWMPWM定时器定时器PWMPWM使用示例使用示例Void PWM1Out(uint16 FREQ)Void PWM1Out(uint16 FREQ) PINSEL0 &= 0xFFFFFFFC; PINSEL0 &= 0xFFFFFFFC; PINSEL0 |= 0x00000002; PINSEL0 |= 0x00000002; PWMPCR = 0x200; PWMPCR = 0

58、x200; PWMMCR = 0x02; PWMMCR = 0x02; PWMPR = 0x00; PWMPR = 0x00; PWMMR0 = PWMMR0 = FpclkFpclk / FREQ; / FREQ; PWMMR1 = PWMMR0 / 2; PWMMR1 = PWMMR0 / 2; PWMLER = 0x03; PWMLER = 0x03; PWMTCR = 0x09; PWMTCR = 0x09; PWM1PWM1输出输出5050占空比方波占空比方波输出频率,单位输出频率,单位HzHz设置引脚连接模块设置引脚连接模块连接连接PWM1PWM1输出输出使能使能PWM1PWM1输

59、出输出MR0MR0匹配后复位定时器匹配后复位定时器设置预分频值为设置预分频值为0 0设置设置PWMPWM周期周期设置占空比为设置占空比为50%50%使能使能PWMPWM匹配锁存匹配锁存使能使能PWMPWM,启动定时器,启动定时器单边沿输出单边沿输出PWM使用示例Void PWM2Out(uint16 FREQ)Void PWM2Out(uint16 FREQ) PINSEL0 &= 0xFFFF3FFF; PINSEL0 &= 0xFFFF3FFF; PINSEL0 |= 0x00008000; PINSEL0 |= 0x00008000; PWMPCR = 0x404; PWMPCR = 0

60、x404; PWMMCR = 0x02; PWMMCR = 0x02; PWMPR = 0x00; PWMPR = 0x00; PWMMR0 = PWMMR0 = FpclkFpclk / FREQ; / FREQ; PWMMR1 = PWMMR0 / 5; PWMMR1 = PWMMR0 / 5; PWMMR2 = PWMMR1 * 2; PWMMR2 = PWMMR1 * 2; PWMLER = 0x07; PWMLER = 0x07; PWMTCR = 0x09; PWMTCR = 0x09; PWM2PWM2双边沿控制输出双边沿控制输出输出频率,单位输出频率,单位HzHz设置引脚连接模

61、块连设置引脚连接模块连接接PWM1PWM1输出输出设置设置PWM2PWM2双边沿输出双边沿输出MR0MR0匹配后复位定时器匹配后复位定时器设置预分频值为设置预分频值为0 0设置设置PWMPWM周期周期设置前沿在周期的设置前沿在周期的1/51/5处处设置后沿在周期的设置后沿在周期的2/52/5处处使能使能PWMPWM匹配锁存匹配锁存使能使能PWMPWM,启动定时器,启动定时器双边沿输出双边沿输出第第5章章 目录目录q1.简介q2.引脚配置q3.存储器寻址q4.系统控制模块q5.存储器加速模块q6.外部存储器控制器q7.引脚连接模块q8. 向量中断控制器q9.GPIOq10.UART0q11.UA

62、RT1q12.I2C接口q13.SPI接口q14.定时器0/1q15.脉宽调制器(PWM)q16.A/D转换器q17.实时时钟q18.看门狗5.16 A/D转换器转换器特性特性LPC2114/2124LPC2114/2124具有一个具有一个ADAD转换器,转换器,LPC2200LPC2200系列具有两系列具有两个个ADAD转换器,它们具有如下特性:转换器,它们具有如下特性:1010位逐次逼近式模式转换器;位逐次逼近式模式转换器;测量范围:测量范围:0 03.3V3.3V;1010位转换事件位转换事件=2.44us=2.44us;可设置可设置ADAD转换触发方式;转换触发方式;具有掉电模式。具有

63、掉电模式。5.16 A/D转换器转换器A/D转换器描述A/DA/D转换器的基本时钟由转换器的基本时钟由VPBVPB时钟提供。可编程分频器时钟提供。可编程分频器可将时钟调整至逐步逼近转换所需的可将时钟调整至逐步逼近转换所需的4.5MHz4.5MHz(最大)。(最大)。如要要得到如要要得到1010位精度的结果,需要位精度的结果,需要1111个个A/DA/D转换时钟。转换时钟。A/DA/D转换器的参考电压来自转换器的参考电压来自V V3A3A和和V VSSASSA引脚引脚。5.16 A/D5.16 A/D转换器转换器A/D转换器描述引脚名称引脚名称类型类型引脚描述引脚描述AIN7AIN7AIN0AI

64、N0输入输入模拟输入模拟输入。A/DA/D转换器单元可分时测量这转换器单元可分时测量这8 8个引脚上的输个引脚上的输入信号电压。即使这些引脚设置为入信号电压。即使这些引脚设置为GPIOGPIO功能,仍可以使功能,仍可以使用用A/DA/D转换器部件。转换器部件。V V3A3A,V,VSSASSA电源电源模拟电源和地模拟电源和地。它们分别与标称的。它们分别与标称的V V3 3和和V VSSDSSD的电压相同,的电压相同,但为了降低噪声和出错几率,两者应当隔离。转换器的但为了降低噪声和出错几率,两者应当隔离。转换器的V VrefPrefP和和V VrefNrefN信号在内部与这两个电源信号相连。信号

65、在内部与这两个电源信号相连。A/DA/D引脚描述引脚描述5.16 A/D转换器转换器A/D转换器内部结构转换器内部结构ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7A/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7名称名称描述描述访问访问复位值复位值ADCRA/D控制寄存器控制寄存器。A/D转换开始前,必须设转换开始前,必须设置置ADCR寄存器来选择工作模

66、式。寄存器来选择工作模式。读写读写0x0000001ADDRA/D数据寄存器数据寄存器。该寄存器包含。该寄存器包含ADC的结束的结束标志位和标志位和10位的转换结果(当结束标志位位的转换结果(当结束标志位为为1时,转换结果才是有效的)。时,转换结果才是有效的)。读写读写NAA/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL控

67、制寄存器控制寄存器SELSEL:从:从AIN3AIN3AIN0(LPC2114/2124)AIN0(LPC2114/2124)或或AIN7AIN7AIN0(LPC2212/2214)AIN0(LPC2212/2214)中选择采样中选择采样和转换输入引脚。和转换输入引脚。Bit0Bit0控制控制AIN0AIN0,bit1bit1控制控制AIN1AIN1,依此类推。,依此类推。1 1: :对应输入端被选中;对应输入端被选中; 0 0: :对应输入端未选中;对应输入端未选中;注意注意:软件模式下只能置位其中一位,硬件模式下可以是任意组合。:软件模式下只能置位其中一位,硬件模式下可以是任意组合。A/D

68、转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL控制寄存器控制寄存器0123456700000000位值AIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7A/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN

69、0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL控制寄存器控制寄存器CLKDIVCLKDIV:将:将VPBVPB时钟(时钟(PCLKPCLK)进行分频,得到)进行分频,得到ADAD转换时钟。转换时钟。分频后的时钟必须分频后的时钟必须小于或等于小于或等于4.5MHz4.5MHz。通常将。通常将CLKDIVCLKDIV编程为允许的最小值,以获得编程为允许的最小值,以获得4.5MHz4.5MHz或稍低或稍低于于4.5MHz4.5MHz的时钟。的时钟。A/DA/D转换器时钟转换器时钟 PC

70、LK / ( CLKDIV + 1)PCLK / ( CLKDIV + 1)A/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL控制寄存器控制寄存器BURSTBURST:BURST/BURST/软件方式控制。当该位为软件方式控制。当该位为0 0时,选择软件方式启动时,选择软件方式启动ADAD转换,需要转换,需要1111个时钟才

71、能完成。当该位为个时钟才能完成。当该位为1 1时,选择时,选择BURST(BURST(突发突发) )模式启动模式启动ADAD转换,所需时转换,所需时钟数由钟数由CLKCLK字段控制。字段控制。 BURSTBURST模式下,对所有在模式下,对所有在SELSEL字段中置字段中置1 1的位对应的输入端进行转换,首先转的位对应的输入端进行转换,首先转换的是最低有效位。然后是更高的位。如此周而复始,直至该位清零。换的是最低有效位。然后是更高的位。如此周而复始,直至该位清零。A/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkA

72、D转换时钟转换时钟VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL控制寄存器控制寄存器0123456700110110位位值值AIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7首先转换最低有效位再转换更高的有效位AIN2AIN3AIN5AIN6A/D转换器寄存器描述ADDRADDRA/DA/D转换控制电路转换控制电路A/DA/D数据寄存器数据寄存器ADCRADCRA/DA/D控制寄存器控制寄存器FpclkFpclkADAD转换时钟转换时钟VICVICAIN

73、0AIN0AIN1AIN1AIN7AIN7ADCRADCR位位272726:2426:2423:2223:22212119:1719:17161615:815:87:07:0功能功能EDGEEDGESTARTSTARTTEST1:0TEST1:0PDNPDNCLKSCLKSBURSTBURSTCLKDIVCLKDIVSELSEL控制寄存器控制寄存器CLKSCLKS:控制:控制BURSTBURST模式下每次转换需要使用的时钟数和所得模式下每次转换需要使用的时钟数和所得ADDRADDR转换结果的转换结果的LSLS位中可确保精度的位的数目,位中可确保精度的位的数目,CLKSCLKS可在可在1111个

74、时钟(个时钟(1010位)位)4 4个时钟(个时钟(3 3位)之位)之间选择:间选择:000=11000=11个时钟个时钟/10/10位,位,001=10001=10个时钟个时钟/9/9位,位,111=4111=4个时钟个时钟/3/3位。位。A/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7ADCR位位272726:2426:2423:2223:22212119:1719:17161615:815:87:07:0功能功能EDGEEDGESTARTSTARTTEST1

75、:0TEST1:0PDNPDNCLKSCLKSBURSTBURSTCLKDIVCLKDIVSELSEL控制寄存器控制寄存器PDNPDN:控制:控制ADAD部件是否工作。部件是否工作。1 1:A/D:A/D转换器处于正常工作模式;转换器处于正常工作模式;0 0:A/D:A/D转换器处于掉电模式;转换器处于掉电模式;A/D转换器寄存器描述ADDRADDRA/DA/D转换控制电路转换控制电路A/DA/D数据寄存器数据寄存器ADCRADCRA/DA/D控制寄存器控制寄存器FpclkFpclkADAD转换时钟转换时钟VICVICAIN0AIN0AIN1AIN1AIN7AIN7ADCRADCR位位2727

76、26:2426:2423:2223:22212119:1719:17161615:815:87:07:0功能功能EDGEEDGESTARTSTARTTEST1:0TEST1:0PDNPDNCLKSCLKSBURSTBURSTCLKDIVCLKDIVSELSEL控制寄存器控制寄存器TEST1:0TEST1:0:器件测试控制位。:器件测试控制位。0000: :正常模式;正常模式;0101: :数字测试模式;数字测试模式;1010:DAC:DAC测试模式;测试模式;1111: :一次转换测试模式;一次转换测试模式;A/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器

77、ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7ADCR位位272726:2426:2423:2223:22212119:1719:17161615:815:87:07:0功能功能EDGEEDGESTARTSTARTTEST1:0TEST1:0PDNPDNCLKSCLKSBURSTBURSTCLKDIVCLKDIVSELSEL控制寄存器控制寄存器STARTSTART:该字段用于控制:该字段用于控制ADAD转换的启动方式,该字段只有在转换的启动方式,该字段只有在BURSTBURST为为0 0时有效。时有效。000000: :不启动;不启动;00100

78、1: :立即启动转换;立即启动转换;010010:P0.16:P0.16引脚出现预置的电平时,启动引脚出现预置的电平时,启动ADAD转换。以下值也具有相同特性;转换。以下值也具有相同特性;011011:P0.22:P0.22引脚;引脚;100100:MAT0.1:MAT0.1引脚;引脚;101101:MAT0.3:MAT0.3引脚;引脚;110110:MAT1.0:MAT1.0引脚;引脚;111111:MAT1.1:MAT1.1引脚;引脚;A/D转换器寄存器描述ADDRADDRA/DA/D转换控制电路转换控制电路A/DA/D数据寄存器数据寄存器ADCRADCRA/DA/D控制寄存器控制寄存器F

79、pclkFpclkADAD转换时钟转换时钟VICVICAIN0AIN0AIN1AIN1AIN7AIN7ADCR位位272726:2426:2423:2223:22212119:1719:17161615:815:87:07:0功能功能EDGEEDGESTARTSTARTTEST1:0TEST1:0PDNPDNCLKSCLKSBURSTBURSTCLKDIVCLKDIVSELSEL控制寄存器控制寄存器EDGEEDGE:当:当STARTSTART字段的值为字段的值为010010111111时,该位的设置有效。时,该位的设置有效。0 0: :在所选在所选CAP/MATCAP/MAT信号的下降沿启动转

80、换信号的下降沿启动转换1 1: :在所选在所选CAP/MATCAP/MAT信号的上升沿启动转换信号的上升沿启动转换A/D转换器寄存器描述ADDRADDRA/DA/D转换控制电路转换控制电路A/DA/D数据寄存器数据寄存器ADCRADCRA/DA/D控制寄存器控制寄存器FpclkFpclkADAD转换时钟转换时钟VICVICAIN0AIN0AIN1AIN1AIN7AIN7位位3131303029:2729:2726:2426:2423:1623:1615:615:65:05:0功能功能DONEDONEOVERUNOVERUN0 0CHNCHN0 0V/VddAV/VddA0 0数据寄存器数据寄存

81、器0 0:这些位读出时为:这些位读出时为0 0。用于未来扩展功能更强大的。用于未来扩展功能更强大的ADAD转换器。转换器。ADDRA/D转换器寄存器描述ADDRADDRA/DA/D转换控制电路转换控制电路A/DA/D数据寄存器数据寄存器ADCRADCRA/DA/D控制寄存器控制寄存器FpclkFpclkADAD转换时钟转换时钟VICVICAIN0AIN0AIN1AIN1AIN7AIN7位位3131303029:2729:2726:2426:2423:1623:1615:615:65:05:0功能功能DONEDONEOVERUNOVERUN0 0CHNCHN0 0V/VddAV/VddA0 0数

82、据寄存器数据寄存器V/VddAV/VddA:当:当DONEDONE位为位为1 1时,该字段包含对时,该字段包含对SELSEL字段选中的字段选中的AinAin脚的转换脚的转换结果,为一个二进制数。结果,为一个二进制数。 转换结果为转换结果为0 0时,表示时,表示AinAin引脚电平小于、等于或接近于引脚电平小于、等于或接近于V VSSASSA。为。为0x3FF0x3FF时,表示时,表示AinAin引脚电平等于、大于或接近于引脚电平等于、大于或接近于V VddAddA。输入电压计算。输入电压计算公式为:公式为:Vin = Vin = 结果结果(VSSA / 0x3FF)(VSSA / 0x3FF)

83、ADDRA/D转换器寄存器描述ADDRADDRA/DA/D转换控制电路转换控制电路A/DA/D数据寄存器数据寄存器ADCRADCRA/DA/D控制寄存器控制寄存器FpclkFpclkADAD转换时钟转换时钟VICVICAIN0AIN0AIN1AIN1AIN7AIN7位位313029:2726:2423:1615:65:0功能功能DONEOVERUN0CHN0V/VddA0数据寄存器数据寄存器0 0:这些位读出时为:这些位读出时为0 0。它们允许连续。它们允许连续A/DA/D值的累加,而不需要屏蔽处值的累加,而不需要屏蔽处理,使得至少有理,使得至少有256256个值不会溢出到个值不会溢出到CHN

84、CHN字段。字段。ADDRA/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7位位313029:2726:2423:1615:65:0功能功能DONEOVERUN0CHN0V/VddA0数据寄存器数据寄存器CHNCHN:该字段包含的是:该字段包含的是LSLS位的转换通道。位的转换通道。ADDRA/D转换器寄存器描述ADDRADDRA/DA/D转换控制电路转换控制电路A/DA/D数据寄存器数据寄存器ADCRADCRA/DA/D控制寄存器控制寄存器FpclkFpclkAD

85、AD转换时钟转换时钟VICVICAIN0AIN0AIN1AIN1AIN7AIN7位位3131303029:2729:2726:2426:2423:1623:1615:615:65:05:0功能功能DONEDONEOVERUNOVERUN0 0CHNCHN0 0V/VddAV/VddA0 0数据寄存器0 0:这些位读出为:这些位读出为0 0。用于未来。用于未来CHNCHN字段的扩展,使之兼容更多通道的字段的扩展,使之兼容更多通道的转换值。转换值。ADDRADDRA/D转换器寄存器描述ADDRA/D转换控制电路转换控制电路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转

86、换时钟转换时钟VICAIN0AIN1AIN7位位3131303029:2729:2726:2426:2423:1623:1615:615:65:05:0功能功能DONEDONEOVERUNOVERUN0 0CHNCHN0 0V/VddAV/VddA0 0数据寄存器数据寄存器OVERUNOVERUN:在:在BURSTBURST模式下,如果在转换产生最低位之前,以前转换的模式下,如果在转换产生最低位之前,以前转换的结果丢失或被覆盖,该位将置位。读结果丢失或被覆盖,该位将置位。读ADDRADDR寄存器时,该位清零。寄存器时,该位清零。ADDRA/D转换器寄存器描述ADDRA/D转换控制电路转换控制电

87、路A/D数据寄存器数据寄存器ADCRA/D控制寄存器控制寄存器FpclkAD转换时钟转换时钟VICAIN0AIN1AIN7位位3131303029:2729:2726:2426:2423:1623:1615:615:65:05:0功能功能DONEDONEOVERUNOVERUN0 0CHNCHN0 0V/VddAV/VddA0 0数据寄存器数据寄存器DONEDONE:ADAD转换完成标志位。当转换完成标志位。当ADAD转换结束时该位置位。在读取转换结束时该位置位。在读取ADDRADDR或或ADCRADCR被写入时,该位清零。如果在转换过程中,设置了被写入时,该位清零。如果在转换过程中,设置了A

88、DCRADCR,那么该,那么该位将置位,并启动一次新的转换。位将置位,并启动一次新的转换。ADDR5.16 A/D转换器转换器使用A/D转换器的注意要点ADAD转换器的时钟不能大于转换器的时钟不能大于4.5MHz4.5MHz;使用使用MATMAT引脚触发引脚触发ADAD转换启动时,相应的转换启动时,相应的MATMAT信号不必信号不必输出到引脚。使用输出到引脚。使用MATMAT引脚触发的方法,可以实现引脚触发的方法,可以实现ADAD转转换定时启动;换定时启动;BURSTBURST模式下,每次转换结束后立即开始下一路的转模式下,每次转换结束后立即开始下一路的转换,所以换,所以BURSTBURST模

89、式具有最高的效率;模式具有最高的效率;软件模式下,软件模式下,SELSEL字段中只能有一位置位,如果多位字段中只能有一位置位,如果多位置位,将使用最低有效位。置位,将使用最低有效位。A/D转换器操作示例操作流程操作流程计算计算ADCADC部件时钟部件时钟设置设置引脚连接模块引脚连接模块设置设置ADAD工作模式工作模式启动启动ADAD转换转换等待转换结束等待转换结束读取转换结果读取转换结果A/D转换器操作示例转换器操作示例#define ADCLK 4500000 / #define ADCLK 4500000 / 定义定义ADAD部件时钟频率,单位:部件时钟频率,单位:HzHz#define

90、ADBIT 10 / #define ADBIT 10 / 定义定义BURSTBURST模式下的转换精度模式下的转换精度#define ADBIT2 (10 - ADBIT)#define ADBIT2 (10 - ADBIT). . PINSEL1 = (PINSEL1 & 0xFC3FFFFF) | 0x00400000; PINSEL1 = (PINSEL1 & 0xFC3FFFFF) | 0x00400000; ADCR = (0x01 27) | / EDGEADCR = (0x01 27) | / EDGE (0x05 24) | / START (0x05 24) | / STA

91、RT (0x00 22) | / TEST1:0 (0x00 22) | / TEST1:0 (0x01 21) | / PDN (0x01 21) | / PDN (ADBIT2 17)| / CLKS (ADBIT2 17)| / CLKS (0x00 16) | / BUREST (0x00 16) | / BUREST (Fpclk/ADCLK -1) 8) | / CLKDIV (Fpclk/ADCLK -1) 8) | / CLKDIV (0x01 0); / SEL (0x01 0); / SELADCR |= (1 24);ADCR |= (1 6) & 0x3FF; ADCD

92、ata = (ADDR 6) & 0x3FF; .使用软件方式对使用软件方式对Ain0Ain0转换:转换:设置引脚连接模块设置引脚连接模块硬件触发边沿设置硬件触发边沿设置ADAD启动设置启动设置测试模式设置测试模式设置ADAD部件上电设置部件上电设置BURSTBURST模式精度模式精度BURSTBURST模式使能模式使能启动启动ADAD转换转换等待转换结束等待转换结束读取转换结果读取转换结果转换通道选择转换通道选择ADCADC部件时钟部件时钟第第5章章 目录目录q1.简介q2.引脚配置q3.存储器寻址q4.系统控制模块q5.存储器加速模块q6.外部存储器控制器q7.引脚连接模块q8. 向量中断

93、控制器q9.GPIOq10.UART0q11.UART1q12.I2C接口q13.SPI接口q14.定时器0/1q15.脉宽调制器(PWM)q16.A/D转换器q17.实时时钟q18.看门狗5.17 实时时钟实时时钟特性LPC2000LPC2000系列微控制器内部集成了一个功能完整的实时系列微控制器内部集成了一个功能完整的实时时钟模块,它具有如下特性:时钟模块,它具有如下特性:带有日历和时钟功能;带有日历和时钟功能;超低功耗设计;超低功耗设计;提供秒、分、小时、日、月、年和星期;提供秒、分、小时、日、月、年和星期;可编程基准时钟分频器允许调节可编程基准时钟分频器允许调节RTCRTC以适应不同的

94、以适应不同的晶振频率。晶振频率。5.17 5.17 实时时钟实时时钟描述实时时钟实时时钟(RTC)(RTC)提供一套计数器在系统工作时对时间进提供一套计数器在系统工作时对时间进行测量。行测量。RTCRTC消耗的功率非常低,这使其适合于由电池消耗的功率非常低,这使其适合于由电池供电的,供电的,CPUCPU不连续工作不连续工作( (空闲模式空闲模式) )的系统。的系统。注意注意:由于:由于LPC2000LPC2000系列微控制器的系列微控制器的RTCRTC模块没有独立模块没有独立的时钟源,它使用的时钟频率是通过对的时钟源,它使用的时钟频率是通过对FpclkFpclk分频得到,分频得到,所以所以CP

95、UCPU不能进入掉电模式。不能进入掉电模式。5.17 5.17 实时时钟实时时钟RTC内部结构时钟发生器时钟发生器预分频器预分频器时间计数器时间计数器报警控制报警控制=时钟控制时钟控制增量中断控制增量中断控制中断标志中断标志报警寄存器报警寄存器PCLK产生秒时钟产生秒时钟时间寄存器组与报警时间寄存器组与报警设定值进行比较设定值进行比较有两类中断,一种有两类中断,一种是时间增量中断,是时间增量中断,一种是报警中断一种是报警中断时钟发生器时钟发生器预分频器预分频器时间计数器时间计数器报警控制报警控制=时钟控制时钟控制增量中断控制增量中断控制中断标志中断标志报警寄存器报警寄存器PCLK寄存器描述时钟

96、发生器时钟发生器预分频器预分频器时间计数器时间计数器报警控制报警控制= =时钟控制时钟控制增量中断控制增量中断控制中断标志中断标志报警寄存器报警寄存器PCLKPCLK时间计数器时间计数器时钟发生器时钟发生器预分频器预分频器时钟控制时钟控制报警控制报警控制增量中断控制增量中断控制中断标志中断标志报警寄存器报警寄存器所有寄存器大致可以分为三类:所有寄存器大致可以分为三类:时钟产生寄存器;时钟产生寄存器;时间寄存器组;时间寄存器组;中断产生控制;中断产生控制;寄存器描述时间计数器时间计数器= =时钟发生器时钟发生器预分频器预分频器时钟控制时钟控制报警控制报警控制增量中断控制增量中断控制中断标志中断标

97、志报警寄存器报警寄存器PCLKPCLK时钟产生寄存器组控制产生时钟产生寄存器组控制产生RTCRTC时间计数器需要的秒时时间计数器需要的秒时钟信号。钟信号。时钟产生寄存器组时钟产生寄存器组名称名称有效位有效位描述描述访问访问PREINTPREINT1313预分频值,整数部分预分频值,整数部分读写读写PREFRACPREFRAC1515预分频值,小数部分预分频值,小数部分读写读写CCRCCR4 4时钟节拍计数器时钟节拍计数器读写读写CTCCTC1515时钟控制寄存器时钟控制寄存器只读只读寄存器描述预分频寄存器预分频寄存器名称名称有效位有效位描述描述访问访问PREINT13预分频值,整数部分预分频值

98、,整数部分读写读写PREFRAC15预分频值,小数部分预分频值,小数部分读写读写CCR4时钟节拍计数器时钟节拍计数器读写读写CTC15时钟控制寄存器时钟控制寄存器只读只读名称名称有效位有效位描述描述访问访问PREINT13预分频值,整数部分预分频值,整数部分读写读写PREFRAC15预分频值,小数部分预分频值,小数部分读写读写CCR4时钟节拍计数器时钟节拍计数器读写读写CTC15时钟控制寄存器时钟控制寄存器只读只读PREINT13预分频值,整数部分读写PREFRAC15预分频值,小数部分读写预分频器用于将任何频率高于预分频器用于将任何频率高于65.536KHz65.536KHz的的PCLKPC

99、LK时钟分时钟分频产生频产生32.768KHz32.768KHz的基准时钟。这样就可以不管外设时的基准时钟。这样就可以不管外设时钟的频率为多少,钟的频率为多少,RTCRTC总是以正确的速率运行。总是以正确的速率运行。预分频寄存器分为整数部分和小数部分,因此有可能预分频寄存器分为整数部分和小数部分,因此有可能某个时钟节拍多包含一个某个时钟节拍多包含一个PCLKPCLK周期,而某个节拍却少周期,而某个节拍却少一个一个PCLKPCLK周期。但是每个时钟节拍的周期一定是周期。但是每个时钟节拍的周期一定是3276832768个个PCLKPCLK周期。周期。寄存器描述预分频整数部分为预分频整数部分为131

100、3位有效位,小数部分为位有效位,小数部分为1515位有效位。位有效位。 预分频整数部分的计算公式为:预分频整数部分的计算公式为: PREINT = int(PCLK / 32768) PREINT = int(PCLK / 32768) 1 1 预分频小数部分的计算公式为:预分频小数部分的计算公式为: PREFRAC = PCLK PREFRAC = PCLK (PREINT + 1) (PREINT + 1) 32768) 32768)预分频寄存器预分频寄存器名称名称有效位有效位描述描述访问访问PREINT13预分频值,整数部分预分频值,整数部分读写读写PREFRAC15预分频值,小数部分预

101、分频值,小数部分读写读写CCR4时钟节拍计数器时钟节拍计数器读写读写CTC15时钟控制寄存器时钟控制寄存器只读只读PREINT13预分频值,整数部分读写PREFRAC15预分频值,小数部分读写寄存器描述时钟控制寄存器时钟控制寄存器名称名称有效位有效位描述描述访问访问PREINT13预分频值,整数部分预分频值,整数部分读写读写PREFRAC15预分频值,小数部分预分频值,小数部分读写读写CCR4时钟节拍计数器时钟节拍计数器读写读写CTC15时钟计数寄存器时钟计数寄存器只读只读时钟控制寄存器包含时钟控制寄存器包含4 4位有效位,它用于控制时钟分频位有效位,它用于控制时钟分频电路的操作,包括启动电路

102、的操作,包括启动RTCRTC和复位时钟节拍计数器和复位时钟节拍计数器(CTC)(CTC)等功能。等功能。CCR4时钟控制寄存器读写位位功能功能描述描述0CLKEN时钟使能时钟使能。当该位为。当该位为1时,时间计数器使能。时,时间计数器使能。为为0时,时间计数器被禁止,这时可对其初始化。时,时间计数器被禁止,这时可对其初始化。1CTCRSTCTC复位复位。为。为1时,时钟节拍计数器复位。在时,时钟节拍计数器复位。在CCR的的bit1变为变为0之前,它将一直保持复位状态。之前,它将一直保持复位状态。3 : 2CTTEST测试使能测试使能。在正常操作中,这些位应当全为。在正常操作中,这些位应当全为0

103、。寄存器描述时钟计数寄存器时钟计数寄存器名称名称有效位有效位描述描述访问访问PREINT13预分频值,整数部分预分频值,整数部分读写读写PREFRAC15预分频值,小数部分预分频值,小数部分读写读写CCR4时钟节拍计数器时钟节拍计数器读写读写CTC15时钟计数寄存器时钟计数寄存器只读只读时钟节拍计数器对预分频器的输出时钟进行计数,用时钟节拍计数器对预分频器的输出时钟进行计数,用于产生秒的时钟节拍。它是一个只读寄存器,但它可于产生秒的时钟节拍。它是一个只读寄存器,但它可通过时钟控制寄存器通过时钟控制寄存器(CCR)(CCR)复位为复位为0 0。CTC15时钟计数寄存器时钟计数寄存器只读只读位位功

104、能功能描述描述0保留保留用户程序不要向该位写入用户程序不要向该位写入115 : 1时钟节拍时钟节拍计数器计数器对预分频器的时钟输出进行计数,每计满对预分频器的时钟输出进行计数,每计满32768个时个时钟,该寄存器复位,并向时间计数器发送一个秒脉冲钟,该寄存器复位,并向时间计数器发送一个秒脉冲寄存器描述时间计数器时间计数器=时钟发生器时钟发生器预分频器预分频器时钟控制时钟控制报警控制报警控制增量中断控制增量中断控制中断标志中断标志报警寄存器报警寄存器PCLK时间计数器组中包含当前的时间,它们分为两类:完时间计数器组中包含当前的时间,它们分为两类:完整时间寄存器和分类时间寄存器。整时间寄存器和分类

105、时间寄存器。时间计数器时间计数器寄存器描述时间计数器时间计数器=时钟发生器时钟发生器预分频器预分频器时钟控制时钟控制报警控制报警控制增量中断控制增量中断控制中断标志中断标志报警寄存器报警寄存器PCLK时间计数器时间计数器名称名称有效位有效位描述描述CTIME032包含秒、分、时和星期。包含秒、分、时和星期。CTIME132包含日期(月)、月和年包含日期(月)、月和年CTIME232包含日期(年)包含日期(年)在在完整时间寄存器完整时间寄存器中,时间以一个比较完整的格式存储,中,时间以一个比较完整的格式存储,程序只需要程序只需要3 3次读操作即可读出所有计数器值。这些寄存次读操作即可读出所有计数

106、器值。这些寄存器为只读寄存器。器为只读寄存器。寄存器描述时间计数器时间计数器名称名称有效位有效位描述描述CTIME032包含秒、分、时和星期。包含秒、分、时和星期。CTIME132包含日期(月)、月和年包含日期(月)、月和年CTIME232包含日期(年)包含日期(年)(059)(059)(023)(06)取值范围秒保留分保留小时保留星期保留功能5:07:613:815:1430:1623:2126:2431:27CTIME0(128,29,30)(112)(04095)取值范围日期(月)保留月保留年保留功能4:07:511:815:1227:1631:28CTIME1(1365,366)取值范

107、围日期(年)保留功能8:031:9CTIME2这两个寄存器意义不同,这两个寄存器意义不同,(月月)表示当日在当月中的序号,表示当日在当月中的序号,(年年)表示当日在当年中的序号表示当日在当年中的序号寄存器描述时间计数器时间计数器分类时间寄存器分类时间寄存器包含包含8 8个寄存器,所有寄存器都可读可写。个寄存器,所有寄存器都可读可写。名称名称有效位有效位描述描述SEC6秒值秒值。该值的范围为。该值的范围为059。MIN6分值分值。该值的范围为。该值的范围为059。HOUR5小时值小时值。该值的范围为。该值的范围为023。DOM5日期(月)值日期(月)值。该值的范围为。该值的范围为128,29,3

108、0或或31(取决(取决于月份以及是否为闰年)。于月份以及是否为闰年)。DOW3星期值星期值。该值的范围为。该值的范围为1365(闰年为(闰年为366)。)。DOY9日期(年)值日期(年)值。该值的范围为。该值的范围为1365。MONTH4月值月值。该值的范围为。该值的范围为112。YEAR12年值年值。该值的范围为。该值的范围为04095。名称名称有效位有效位描述描述SEC6秒值秒值。该值的范围为。该值的范围为059。MIN6分值分值。该值的范围为。该值的范围为059。HOUR5小时值小时值。该值的范围为。该值的范围为023。DOM5日期(月)值日期(月)值。该值的范围为。该值的范围为128,

109、29,30或或31(取决(取决于月份以及是否为闰年)。于月份以及是否为闰年)。DOW3星期值星期值。该值的范围为。该值的范围为1365(闰年为(闰年为366)。)。DOY9日期(年)值日期(年)值。该值的范围为。该值的范围为1365。MONTH4月值月值。该值的范围为。该值的范围为112。YEAR12年值年值。该值的范围为。该值的范围为04095。注意注意:这些日期的寄存器只能在适当的时间间隔处递增,而在定义的溢出点处:这些日期的寄存器只能在适当的时间间隔处递增,而在定义的溢出点处复位。为了使这些值有意义,它们不能进行计算且必须正确初始化。复位。为了使这些值有意义,它们不能进行计算且必须正确初

110、始化。其中其中DOYDOY寄存器需要单独初始化,也就是说该寄存器的值不会因为对年、月、寄存器需要单独初始化,也就是说该寄存器的值不会因为对年、月、日寄存器进行初始化而自动确定到一个正确日寄存器进行初始化而自动确定到一个正确 的值。的值。寄存器描述时间计数器时间计数器= =时钟发生器时钟发生器预分频器预分频器时钟控制时钟控制报警控制报警控制增量中断控制增量中断控制中断标志中断标志报警寄存器报警寄存器PCLKPCLKRTCRTC部件的中断分为两类,一类为部件的中断分为两类,一类为时间计数器的增量中时间计数器的增量中断断,由增量中断寄存器控制。另一类为,由增量中断寄存器控制。另一类为报警匹配产生的报

111、警匹配产生的中断中断,由报警屏蔽寄存器控制。,由报警屏蔽寄存器控制。中断产生寄存器中断产生寄存器名称名称描述描述访问访问ILRILR中断位置寄存器中断位置寄存器读写读写CIIRCIIR递增中断寄存器递增中断寄存器读写读写AMRAMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写寄存器描述中断产生寄存器中断产生寄存器名称名称描述描述访问访问ILR中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写名称描述访问ILR中断位置寄存

112、器读写CIIR递增中断寄存器读写AMR报警屏蔽寄存器读写报警寄存器组设定报警时间读写名称名称描述描述访问访问ILR中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写位位功能功能描述描述0RTCCIF为为1时,表示计数器增量中断模块产生了中断。时,表示计数器增量中断模块产生了中断。向该位写入向该位写入1清除该中断标志。清除该中断标志。1RTCALF为为1时,表示报警寄存器产生了中断。时,表示报警寄存器产生了中断。向该位写入向该位写入1清除该中断标志位。清除该中断标志位。

113、中断位置寄存器是一个中断位置寄存器是一个2 2位的寄存器,它指出哪些模块位的寄存器,它指出哪些模块产生中断,它实际上是一个中断标志寄存器。产生中断,它实际上是一个中断标志寄存器。寄存器描述中断产生寄存器中断产生寄存器名称名称描述描述访问访问ILR中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写计数器增量中断寄存器可使计数器每次增加时产生一次计数器增量中断寄存器可使计数器每次增加时产生一次中断,比如设置秒增加中断为中断,比如设置秒增加中断为1 1,则每秒均产生一次中,

114、则每秒均产生一次中断。在清除增量中断标志之前,该中断一直保持有效。断。在清除增量中断标志之前,该中断一直保持有效。寄存器描述中断产生寄存器中断产生寄存器名称名称描述描述访问访问ILR中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写CIIR功能功能描述描述0IMSEC为为1时,秒值的增加产生一次中断。时,秒值的增加产生一次中断。1IMMIN为为1时,分值的增加产生一次中断。时,分值的增加产生一次中断。2IMHOUR为为1时,小时值的增加产生一次中断。时,小时值的增加产

115、生一次中断。3IMDOM为为1时,日期(月)的增加产生一次中断。时,日期(月)的增加产生一次中断。4IMDOW为为1时,星期值的增加产生一次中断。时,星期值的增加产生一次中断。5IMDOY为为1时,日期(年)的增加产生一次中断。时,日期(年)的增加产生一次中断。6IMMON为为1时,月值的增加产生一次中断。时,月值的增加产生一次中断。7IMYEAR为为1时,年值的增加产生一次中断。时,年值的增加产生一次中断。寄存器描述中断产生寄存器中断产生寄存器名称名称描述描述访问访问ILR中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读

116、写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写报警屏蔽寄存器允许用户屏蔽任意的报警寄存器,被报警屏蔽寄存器允许用户屏蔽任意的报警寄存器,被屏蔽的报警寄存器将不与时间计数器比较。屏蔽的报警寄存器将不与时间计数器比较。未被屏蔽的报警寄存器与时间计数器比较如果匹配,未被屏蔽的报警寄存器与时间计数器比较如果匹配,将产生中断。该中断只有在从不匹配到匹配时才发生,将产生中断。该中断只有在从不匹配到匹配时才发生,可以避免中断重复。可以避免中断重复。注意注意:如果所有屏蔽位都置位,报警将被禁止。:如果所有屏蔽位都置位,报警将被禁止。寄存器描述中断产生寄存器中断产生寄存器名称名称描述描述访问访问IL

117、R中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写AMR功能功能描述描述0AMRSEC为为1时,秒值不与报警寄存器比较。时,秒值不与报警寄存器比较。1AMRMIN为为1时,分值不与报警寄存器比较。时,分值不与报警寄存器比较。2AMRHOUR为为1时,小时值不与报警寄存器比较。时,小时值不与报警寄存器比较。3AMRDOM为为1时,日期(月)值不与报警寄存器比较。时,日期(月)值不与报警寄存器比较。4AMRDOW为为1时,星期值不与报警寄存器比较。时,星期值不与报警寄存

118、器比较。5AMRDOY为为1时,日期(年)值不与报警寄存器比较。时,日期(年)值不与报警寄存器比较。6AMRMON为为1时,月值不与报警寄存器比较。时,月值不与报警寄存器比较。7AMRYEAR为为1时,年值不与报警寄存器比较。时,年值不与报警寄存器比较。寄存器描述中断产生寄存器中断产生寄存器名称名称描述描述访问访问ILR中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写报警寄存器的值与时间计数器相比较,如果所有未被报警寄存器的值与时间计数器相比较,如果所有未被屏蔽的报

119、警寄存器都与它们对应的时间计数器相匹配,屏蔽的报警寄存器都与它们对应的时间计数器相匹配,那么将产生一次中断。向中断位置寄存器的那么将产生一次中断。向中断位置寄存器的bit1bit1写入写入1 1清除中断。清除中断。名称名称描述描述访问访问ALSEC秒报警值秒报警值读写读写ALMIN分报警值分报警值读写读写ALHOUR小时报警值小时报警值读写读写ALDOM日期(月)报警值日期(月)报警值读写读写ALDOW星期报警值星期报警值读写读写ALDOY日期(年)报警值日期(年)报警值读写读写ALMON月报警值月报警值读写读写ALYEAR年报警值年报警值读写读写寄存器描述中断产生寄存器中断产生寄存器名称名称

120、描述描述访问访问ILR中断位置寄存器中断位置寄存器读写读写CIIR递增中断寄存器递增中断寄存器读写读写AMR报警屏蔽寄存器报警屏蔽寄存器读写读写报警寄存器组报警寄存器组设定报警时间设定报警时间读写读写5.17 实时时钟实时时钟使用使用RTC的注意要点的注意要点RTCRTC部件使用部件使用VPBVPB时钟,如果该时钟出现任何的异常都时钟,如果该时钟出现任何的异常都会导致时间值的偏移,所以芯片不能进入掉电模式;会导致时间值的偏移,所以芯片不能进入掉电模式;芯片掉电后芯片掉电后RTCRTC不能保持寄存器的内容;不能保持寄存器的内容;芯片复位后只有预分频寄存器被硬件初始化,其它寄芯片复位后只有预分频寄

121、存器被硬件初始化,其它寄存器的内容不受复位影响;存器的内容不受复位影响;RTCRTC部件的闰年计算比较简单,当年计数器的最低两位部件的闰年计算比较简单,当年计数器的最低两位为为0 0时,认为该年为闰年,这在时,认为该年为闰年,这在21002100年时会出错。闰年年时会出错。闰年影响影响2 2月份的日期数和年的日期数。月份的日期数和年的日期数。RTC使用示例设置设置RTCRTC基准基准时钟分频器时钟分频器初始化初始化RTCRTC时时钟值钟值报警中断设置报警中断设置启动启动RTCRTC读取当前时间读取当前时间或等待中断或等待中断操作流程操作流程Void RTCIni(void)Void RTCIn

122、i(void) PREINT = Fpclk/32768 PREINT = Fpclk/327681;1; PREFRAC = Fpclk PREFRAC = Fpclk(Fpclk/32768)*32768;(Fpclk/32768)*32768; YEAR = 200; YEAR = 200; MONTH = 2; MONTH = 2; DOM = 19; DOM = 19; DOW = 4; DOW = 4; HOUR = 8; HOUR = 8; MIN = 30; MIN = 30; SEC = 0; SEC = 0; CIIR = 0x01; CIIR = 0x01; CCR =

123、0x01; CCR = 0x01; RTC使用示例设置预分频寄存器设置预分频寄存器设置年设置年设置月设置月设置日(月)设置日(月)设置星期设置星期设置小时设置小时设置分设置分设置秒设置秒设置增量中断设置增量中断启动启动RTCRTCRTCRTC初始化示例初始化示例.ILR = 0x03;ILR = 0x03; / / 清除清除RTCRTC中断标志中断标志CIIR = 0x02;CIIR = 0x02; / / 设置分值增量中断设置分值增量中断ALHOUR = 12;ALHOUR = 12; / / 设置小时比较值设置小时比较值ALMIN = 0;ALMIN = 0; / / 设置分比较值设置分比

124、较值ALSEC = 0; / ALSEC = 0; / 设置秒比价值设置秒比价值AMR = 0xF8; / AMR = 0xF8; / 设置报警屏蔽寄存器设置报警屏蔽寄存器 / / 只允许时、分、秒比较只允许时、分、秒比较.RTC使用示例RTCRTC定时报警设置定时报警设置第第5章章 目录目录q1.简介q2.引脚配置q3.存储器寻址q4.系统控制模块q5.存储器加速模块q6.外部存储器控制器q7.引脚连接模块q8. 向量中断控制器q9.GPIOq10.UART0q11.UART1q12.I2C接口q13.SPI接口q14.定时器0/1q15.脉宽调制器(PWM)q16.A/D转换器q17.实时

125、时钟q18.看门狗5.18 看门狗看门狗看门狗简介看门狗简介在嵌入式应用中,在嵌入式应用中,CPUCPU必须可靠工作,即使因为某种原必须可靠工作,即使因为某种原因进入了一个错误状态,系统也应该可以自动恢复。因进入了一个错误状态,系统也应该可以自动恢复。看门狗的用途就是使微控制器在进入错误状态后的一看门狗的用途就是使微控制器在进入错误状态后的一定时间内复位。定时间内复位。其原理是在系统正常工作时,用户程序每隔一段时间其原理是在系统正常工作时,用户程序每隔一段时间执行喂狗动作(一些寄存器的特定操作),如果系统执行喂狗动作(一些寄存器的特定操作),如果系统出错,喂狗间隔超过看门狗溢出时间,那么看门狗

126、将出错,喂狗间隔超过看门狗溢出时间,那么看门狗将会产生复位信号,使微控制器复位。会产生复位信号,使微控制器复位。5.18 5.18 看门狗看门狗特性特性LPC2000LPC2000系列微控制器都集成有看门狗部件,其特性为:系列微控制器都集成有看门狗部件,其特性为:带内部预分频器的可编程带内部预分频器的可编程3232位定时器;位定时器;如果没有周期性重装(喂狗)动作,则产生片内复位;如果没有周期性重装(喂狗)动作,则产生片内复位;具有调试模式;具有调试模式;看门狗软件使能后,必须由复位来禁止;看门狗软件使能后,必须由复位来禁止;错误的喂狗动作,将立即引起复位。错误的喂狗动作,将立即引起复位。5.

127、18 5.18 看门狗看门狗内部结构内部结构WDFEEDWDFEED喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器WDMODWDMOD看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序5.18 看门狗看门狗内部结构内部结构WDFEEDWDFEED喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器WDMODWDMOD看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序执行正

128、确的执行正确的喂狗时序喂狗时序将预设的定时将预设的定时常数装入倒计常数装入倒计数器中数器中该常数不断自减,该常数不断自减,必须在为必须在为0 0之前再之前再次喂狗次喂狗如果溢出将引起如果溢出将引起看门狗复位看门狗复位寄存器描述寄存器描述WDFEEDWDFEED喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器WDMODWDMOD看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序WDFEEDWDFEED喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器WDMODWDMOD看门狗模

129、式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序名称名称描述描述访问访问WDMODWDMOD看门狗模式寄存器。该寄存器包含看门狗定时器的基本模式看门狗模式寄存器。该寄存器包含看门狗定时器的基本模式和状态。和状态。读读/ /设置设置WDTCWDTC看门狗定时器常数寄存器。该寄存器决定超时值。看门狗定时器常数寄存器。该寄存器决定超时值。读写读写WDFEEDWDFEED看门狗喂狗寄存器。通过它执行特定喂狗时序。看门狗喂狗寄存器。通过它执行特定喂狗时序。只写只写WDTVWDTV看门狗定时器值寄存器。反映

130、倒计数器当前值。看门狗定时器值寄存器。反映倒计数器当前值。只读只读寄存器描述寄存器描述WDFEEDWDFEED喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序看门狗模式寄存器看门狗模式寄存器WDMODWDMOD位位7 : 47 : 43 32 21 10 0功能功能保留保留WDINTWDINTWDTOFWDTOFWDRESETWDRESETWDENWDENWDENWDEN:看门狗中断使能位,该位只能置位。:看门狗中断使能位,该位只能

131、置位。该位置位后,将使能看门狗。一旦该位置位,软件无法将其清零。只有外该位置位后,将使能看门狗。一旦该位置位,软件无法将其清零。只有外部复位或看门狗定时器溢出能将其清零。部复位或看门狗定时器溢出能将其清零。注意注意:将该位置位后只是使能:将该位置位后只是使能WDTWDT,但没有启动,但没有启动WDTWDT,当第一次喂狗操作时才启动,当第一次喂狗操作时才启动WDTWDT。寄存器描述寄存器描述WDFEEDWDFEED喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位

132、复位中断中断喂狗时序喂狗时序看门狗模式寄存器看门狗模式寄存器WDMODWDMOD位位7 : 47 : 43 32 21 10 0功能功能保留保留WDINTWDINTWDTOFWDTOFWDRESETWDRESETWDENWDENWDRESETWDRESET:看门狗复位使能位,该位只能软件清除。:看门狗复位使能位,该位只能软件清除。该位置位后,看门狗溢出将引起复位。一旦该位置位,软件无法将该位置位后,看门狗溢出将引起复位。一旦该位置位,软件无法将其清零。只有外部复位或看门狗定时器溢出能将其清零。其清零。只有外部复位或看门狗定时器溢出能将其清零。寄存器描述寄存器描述WDFEEDWDFEED喂狗寄存

133、器喂狗寄存器WDTCWDTC常数寄存器常数寄存器看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序看门狗模式寄存器看门狗模式寄存器WDMODWDMOD位位7 : 47 : 43 32 21 10 0功能功能保留保留WDINTWDINTWDTOFWDTOFWDRESETWDRESETWDENWDENWDTOFWDTOF:看门狗超时标志。:看门狗超时标志。 当看门狗发生超时,看门狗超时标志置位。该标志由软件清零。当看门狗发生超时,看门狗超时标志置位。该标志由软件清零。寄存器描述寄存器描述WDF

134、EEDWDFEED喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序看门狗模式寄存器看门狗模式寄存器WDMODWDMOD位位7 : 47 : 43 32 21 10 0功能功能保留保留WDINTWDINTWDTOFWDTOFWDRESETWDRESETWDENWDENWDINTWDINT:看门狗中断标志。:看门狗中断标志。当看门狗发生超时,该位置位。该标志不能由软件清零,只能通过当看门狗发生超时,该位置位。该标志不能由软件清零,只能通

135、过外部复位或者看门狗复位清零。外部复位或者看门狗复位清零。寄存器描述寄存器描述WDFEEDWDFEED喂狗寄存器喂狗寄存器常数寄存器常数寄存器看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序看门狗常数寄存器看门狗常数寄存器WDMODWDMOD该寄存器决定看门狗超时值,当喂狗时序产生时,该寄存器的内该寄存器决定看门狗超时值,当喂狗时序产生时,该寄存器的内容重新装入看门狗定时器。该寄存器的复位值为容重新装入看门狗定时器。该寄存器的复位值为0xFF0xFF,即使写入,即使写入更小的值,也会装入

136、更小的值,也会装入0xFF0xFF。溢出最小时间:溢出最小时间:t tpclkpclk0xFF0xFF4 4溢出最大时间:溢出最大时间:t tpclkpclk0xFFFFFFFF0xFFFFFFFF4 4WDTCWDTC寄存器描述寄存器描述喂狗寄存器喂狗寄存器WDTCWDTC常数寄存器常数寄存器看门狗模式看门狗模式WDTVWDTV当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序看门狗喂狗寄存器看门狗喂狗寄存器WDMODWDMOD向该寄存器写入向该寄存器写入0xAA0xAA,然后写入,然后写入0x550x55会使会使WDTC

137、WDTC的值重新装入看门的值重新装入看门狗定时器。如果看门狗通过狗定时器。如果看门狗通过WDMODWDMOD寄存器使能,那么第一次喂狗寄存器使能,那么第一次喂狗操作还将启动看门狗运行。在看门狗能够产生中断操作还将启动看门狗运行。在看门狗能够产生中断/ /复位之前,复位之前,即看门狗溢出之前,必须完成一次有效的喂狗时序。即看门狗溢出之前,必须完成一次有效的喂狗时序。注意注意:如果喂狗时序不正确,将在喂狗之后的第二个:如果喂狗时序不正确,将在喂狗之后的第二个PCLKPCLK周期产生看门周期产生看门狗复位。狗复位。WDFEEDWDFEED寄存器描述寄存器描述喂狗寄存器喂狗寄存器WDTCWDTC常数寄

138、存器常数寄存器看门狗模式看门狗模式当前计数器当前计数器32bit32bit倒计数器倒计数器使能使能溢出溢出喂狗错误喂狗错误复位复位中断中断喂狗时序喂狗时序看门狗定时器值寄存器看门狗定时器值寄存器WDMODWDMOD该寄存器用于读取看门狗定时器的当前值,该寄存器为只读。该寄存器用于读取看门狗定时器的当前值,该寄存器为只读。WDFEEDWDFEEDWDTVWDTV5.18 看门狗看门狗使用看门狗的注意要点使用看门狗的注意要点WDTWDT定时器为递减计数,向下溢出时产生中断和复位;定时器为递减计数,向下溢出时产生中断和复位;使能看门狗后,必须要执行一次正确的喂狗操作才能启使能看门狗后,必须要执行一次

139、正确的喂狗操作才能启动看门狗;动看门狗;看门狗没有独立的振荡器,其使用看门狗没有独立的振荡器,其使用PCLKPCLK作为时钟。所以作为时钟。所以CPUCPU不能进入掉电模式,否则看门狗将停止工作;不能进入掉电模式,否则看门狗将停止工作;看门狗溢出时间看门狗溢出时间 = = N Nt tpclkpclk4 4使用示例设置看门狗定设置看门狗定时重装值时重装值设置看门狗工设置看门狗工作模式作模式一次喂狗操作一次喂狗操作启动看门狗启动看门狗操作流程操作流程使用示例使用示例设置看门狗定设置看门狗定时重装值时重装值设置看门狗工设置看门狗工作模式作模式一次喂狗操作一次喂狗操作启动看门狗启动看门狗操作流程操作

140、流程设置看门狗定设置看门狗定时重装值时重装值设置看门狗工设置看门狗工作模式作模式一次喂狗操作一次喂狗操作启动看门狗启动看门狗操作流程操作流程Void WDTInit(void)Void WDTInit(void)/ / 看门狗初始化看门狗初始化 WDTC = 0x10000; WDTC = 0x10000; WDMOD = 0x03; WDMOD = 0x03; WdtFeed(); WdtFeed(); Void WdtFeed(void)Void WdtFeed(void)/ / 喂狗程序喂狗程序 WDFEED = 0xAA; WDFEED = 0xAA; WDFEED = 0x55; WDFEED = 0x55; C代码:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号