第7章lpc2132系统结构资源内容摘要:
ldr pc,ResetAddr [0xe59ff018] ldr pc,UndefinedAddr . . . [0xb9205f80] dcd 0xb9205f80 [0xe51ffff0] ldr pc,0x7ffff030 [0xe59ff018] ldr pc,FIQ_Addr ResetAddr [0x8000008c] dcd 0x8000008c UndefinedAddr [0x80000040] dcd 0x80000040 . . . Nouse [0x00000000] dcd 0x00000000 IRQ_Addr [0x00000000] dcd 0x00000000 FIQ_Addr [0x8000004c] dcd 0x8000004c 异常向量表反汇编代码 8条指令的机器码累加和为 0,表示用户代码有效 • 有效用户代码的判别 [0x00000000] 跳转地址数据不在累加范围内 通过调整该保留字,使累加和为 0 实时时钟 • RTC内部结构 时钟发生器 预分频器 时间计数器 报警控制 = 时钟控制 增量中断控制 中断标志 报警寄存器 PCLK 产生秒时钟 时间寄存器组与报警设定值进行比较 有两类中断,一种是时间增量中断,一种是报警中断 时钟发生器 预分频器 时间计数器 报警控制 = 时钟控制 增量中断控制 中断标志 报警寄存器 PCLK • 寄存器描述 时钟发生器 预分频器 时间计数器 报警控制 = 时钟控制 增量中断控制 中断标志 报警寄存器 PCLK 时间计数器时钟发生器预分频器报警控制增量中断控制中断标志报警寄存器 所有寄存器大致可以分为三类: ▪时钟产生寄存器; ▪时间寄存器组; ▪中断产生控制; • 寄存器描述 时间计数器 = 时钟发生器 预分频器 时钟控制 报警控制 增量中断控制 中断标志 报警寄存器 PCLK 时钟产生寄存器组控制产生 RTC时间计数器需要的秒时钟信号。 —— 时钟产生寄存器组 名称 有效位 描述 访问 PREINT 13 预分频值,整数部分 读写 PREFRAC 15 预分频值,小数部分 读写 CCR 4 时钟节拍计数器 读写 CTC 15 时钟控制寄存器 只读 • 寄存器描述 —— 预分频寄存器 名称 有效位 描述 访问 PREINT 13 预分频值,整数部分 读写 PREFRAC 15 预分频值,小数部分 读写 CCR 4 时钟节拍计数器 读写 CTC 15 时钟控制寄存器 只读 名称 有效位 描述 访问 PREINT 13 预分频值,整数部分 读写 PREFRAC 15 预分频值,小数部分 读写 CCR 4 时钟节拍计数器 读写 CTC 15 时钟控制寄存器 只读 预分频值,整数部分 读写PREFRAC 15 预分频值,小数部分 读写 预分频器用于将任何频率高于 PCLK时钟分频产生。 这样就可以不管外设时钟的频率为多少, RTC总是以正确的速率运行。 预分频寄存器分为整数部分和小数部分,因此有可能某个时钟节拍多包含一个 PCLK周期,而某个节拍却少一个 PCLK周期。 但是每个时钟节拍的周期一定是32768个 PCLK周期。 • 寄存器描述 预分频整数部分为 13位有效位,小数部分为 15位有效位。 预分频整数部分的计算公式为: PREINT = int(PCLK / 32768) – 1 预分频小数部分的计算公式为: PREFRAC = PCLK – ((PREINT + 1) 32768) —— 预分频寄存器 名称 有效位 描述 访问 PREINT 13 预分频值,整数部分 读写 PREFRAC 15 预分频值,小数部分 读写 CCR 4 时钟节拍计数器 读写 CTC 15 时钟控制寄存器 只读 预分频值,整数部分 读写PREFRAC 15 预分频值,小数部分 读写 • 寄存器描述 —— 时钟控制寄存器 名称 有效位 描述 访问 PREINT 13 预分频值,整数部分 读写 PREFRAC 15 预分频值,小数部分 读写 CCR 4 时钟节拍计数器 读写 CTC 15 时钟计数寄存器 只读 时钟控制寄存器包含 4位有效位,它用于控制时钟分频电路的操作,包括启动 RTC和复位时钟节拍计数器 (CTC)等功能。 CCR 4 时钟控制寄存器 读写 位 功能 描述 0 CLKEN 时钟使能。 当该位为 1时,时间计数器使能。 为 0时,时间计数器被禁止,这时可对其初始化。 1 CTCRST CTC复位。 为 1时,时钟节拍计数器复位。 在 CCR的bit1变为 0之前,它将一直保持复位状态。 3 : 2 CTTEST 测试使能。 在正常操作中,这些位应当全为 0。 • 寄存器描述 —— 时钟计数寄存器 名称 有效位 描述 访问 PREINT 13 预分频值,整数部分 读写 PREFRAC 15 预分频值,小数部分 读写 CCR 4 时钟节拍计数器 读写 CTC 15 时钟计数寄存器 只读 时钟节拍计数器对预分频器的输出时钟进行计数,用于产生秒的时钟节拍。 它是一个只读寄存器,但它可通过时钟控制寄存器 (CCR)复位为 0。 CTC 15 时钟计数寄存器 只读 位 功能 描述 0 保留 用户程序不要向该位写入 1 15 : 1 时钟节拍计数器 对预分频器的时钟输出进行计数,每计满 32768个时钟,该寄存器复位,并向时间计数器发送一个秒脉冲 • 寄存器描述 时间计数器 = 时钟发生器 预分频器 时钟控制 报警控制 增量中断控制 中断标志 报警寄存器 PCLK 时间计数器组中包含当前的时间,它们分为两类:完整时间寄存器和分类时间寄存器。 —— 时间计数器 • 寄存器描述 时间计数器 = 时钟发生器 预分频器 时钟控制 报警控制 增量中断控制 中断标志 报警寄存器 PCLK —— 时间计数器 名称 有效位 描述 CTIME0 32 包含秒、分、时和星期。 CTIME1 32 包含日期(月)、月和年 CTIME2 32 包含日期(年) 在 完整时间寄存器 中,时间以一个比较完整的格式存储,程序只需要 3次读操作即可读出所有计数器值。 这些寄存器为只读寄存器。 • 寄存器描述 —— 时间计数器 名称 有效位 描述 CTIME0 32 包含秒、分、时和星期。 CTIME1 32 包含日期(月)、月和年 CTIME2 32 包含日期(年) 名称 有效位 描述 CTIME0 32 包含秒、分、时和星期。 CTIME1 32 包含日期(月)、月和年 CTIME2 32 包含日期(年) (0~59) — (0~59) — (0~23) — (0~6) — 取值范围 秒 保留 分 保留 小时 保留 星期 保留 功能 5:0 7:6 13:8 15:14 30:16 23:21 26:24 31:27 CTIME0 (1~28,29,30) — (1~12) — (0~4095) — 取值范围 日期 (月 ) 保留 月 保留 年 保留 功能 4:0 7:5 11:8 15:12 27:16 31:28 CTIME1 (1~365,366) — 取值范围 日期 (年 ) 保留 功能 8:0 31:9 CTIME2 这两个寄存器意义不同, (月 )表示当日在当月中的序号, (年 )表示当日在当年中的序号 • 寄存器描述 —— 时间计数器 分类时间寄存器 包含 8个寄存器,所有寄存器都可读可写。 名称 有效位 描述 SEC 6 秒值。 该值的范围为 0~ 59。 MIN 6 分值。 该值的范围为 0~ 59。 HOUR 5 小时值。 该值的范围为 0~ 23。 DOM 5 日期(月)值。 该值的范围为 1~ 28,29,30或 31(取决于月份以及是否为闰年)。 DOW 3 星期值。 该值的范围为 1~ 365(闰年为 366)。 DOY 9 日期(年)值。 该值的范围为 1~ 365。 MONTH 4 月值。 该值的范围为 1~ 12。 YEAR 12 年值。 该值的范围为 0~ 4095。 名称 有效位 描述秒值。 该值的范围为 ~。 分值。 该值的范围为 ~。 小时值。 该值的范围为 ~。 日期(月)值。 该值的范围为 ~ 或 (取决于月份以及是否为闰年)。 星期值。 该值的范围为 ~ (闰年为 )。 日期(年)值。 该值的范围为 ~。 月值。 该值的范围为 ~。 年值。 该值的范围为 ~。 注意 :这些日期的寄存器只能在适当的时间间隔处递增,而在定义的溢出点处复位。 为了使这些值有意义,它们不能进行计算且必须正确初始化。 其中 DOY寄存器需要单独初始化,也就是说该寄存器的值不会因为对年、月、日寄存器进行初始化而自动确定到一个正确 的值。 • 寄存器描述 时间计数器 = 时钟发生器 预分频器 时钟控制 报警控制 增量中断控制 中断标志 报警寄存器 PCLK RTC部件的中断分为两类,一类为 时间计数器的增量中断 ,由增量中断寄存器控制。 另一类为 报警匹配产生的中断 ,由报警屏蔽寄存器控制。 —— 中断产生寄存器 名称 描述 访问 ILR 中断位置寄存器 读写 CIIR 递增中断寄存器 读写 AMR 报警屏蔽寄存器 读写 报警寄存器组 设定报警时间 读写 • 寄存器描述 —— 中断产生寄存器 名称 描述 访问 ILR 中断位置寄存器 读写 CIIR 递增中断寄存器 读写 AMR 报警屏蔽寄存器 读写 报警寄存器组 设定报警时间 读写 名称 描述 访问 ILR 中断位置寄存器 读写 CIIR 递增中断寄存器 读写 AMR 报警屏蔽寄存器 读写 报警寄存器组 设定报警时间 读写 名称 描述 访问中断位置寄存器 读写递增中断寄存器 读写报警屏蔽寄存器 读写报警寄存器组 设定报警时间 读写位 功能 描述 0 RTCCIF 为 1时,表示计数器增量中断模块产生了中断。 向该位写入 1清除该中断标志。 1 RTCALF 为 1时,表示报警寄存器产生了中断。 向该位写入 1清除该中断标志位。 中断位臵寄存器是一个 2位的寄存器,它指出哪些模块产生中断,它实际上是一个中断标志寄存器。 • 寄存器描述 —— 中断产生寄存器 名称 描述 访问 ILR 中断位置寄存器 读写 CIIR 递增中断寄存器 读写 AMR 报警屏蔽寄存器 读写 报警寄存器组 设定报警时间 读写 计数器增量中断寄存器可使计数器每次增加时产生一次中断,比如设臵秒增加中断为 1,则每秒均产生一次中断。 在清除增量中断标志之前,该中断一直保持有效。 • 寄存器描述 —— 中断产生寄存器 名称 描述 访问 ILR 中断位置寄存器 读写 CIIR 递增中断寄存器 读写 AMR 报警屏蔽寄存器 读写 报警寄存器组 设定报警时间 读写 CIIR 功能 描述 0 IMSEC 为 1时,秒值的增加产生一次中断。 1 IMMIN 为 1时,分值的增加产生一次中断。 2 IMHOUR 为 1时,小时值的增加产生一次中断。 3 IMDOM 为 1时,日期(月)的增加产生一次中断。 4 IMDOW 为 1时,星期值的增加产生一次中断。 5 IMDOY 为 1时,日期(年)的增加产生一次中断。 6 IMMON 为 1时,月值的增加产生一次中断。 7 IMYEAR 为 1时,年值的增加产生一次中断。 • 寄存器描述 —— 中断产生寄存器 名称 描述 访问 ILR 中断位置寄存器 读写 CIIR 递增中断寄存器 读写 AMR 报警屏蔽寄存器 读写 报警寄存器组 设定报警时间 读写 报警屏蔽寄存器允许用户屏蔽任意的报警寄存器,被屏蔽的报警寄存器将不与时间计数器比较。 未被屏蔽的报警寄存器与时间计数器比较如果匹配,将产生中断。 该中断只有在从不匹配到匹配时才发生,可以避免中。第7章lpc2132系统结构资源
相关推荐
码适用于数据较少的情况,否则容易引起联想错误。 系统详细设计 代码设计 建设工程 信息管理 部门代码 一般采用区间码或分组码。 2位部门码又可以采用区间码。 例如: 00~ 49表示基本生产部门 50~ 99表示管理科室。 人员代码 采用部门代码加顺序码。 代码设计示例 班组码 部门码 * * * * 班组码 部门码 顺序码 * * * * * * * 物资代码 采用分组码或区间码
出的组合。 只有 A口可工作在方式 2下。 INTE1为 , INTE2为。 52 方式 2的应用: 可用于中断控制输入输出方式。 当 A口工作于方式 2时, B口可工作于方式 1(此时 C口的剩余位都用作 B口选通控制线); B口也可工作于方式 0(此时C口的剩余位也只能用作方式 0下的输入输出线)。 8255工作方式小结 53 四、 8255芯片的应用 芯片与系统的连接
} 示例 下一页 上一页 停止放映 第 29 页 改进的冒泡排序算法 38 从上述举例中可以看出 , 从第 4趟冒泡起 , 序列已有序 , 结果是空跑了 3趟。 若两次冒泡处理过程中 , 没有进行交换 , 说明序列已有序 , 则停止交换。 这就是改进的冒泡算法的处理思想。 用改进的冒泡算法处理 , 比较次数有所减少。 对于数列 { 65,97,76,13,27,49,58 } 比较次数
简,并显示化简过程。 例 命令如下: syms x y。 s=(x^2+y^2)^2+(x^2y^2)^2。 simple(s) %MATLAB自动调用多种函数对 s进行化简,并显示每步结果 西南科技大学网络教育 西南科技大学网络教育2. 符号矩阵运算 transpose(S) 返回 S矩阵的转置矩阵。 determ(S) 返回 S矩阵的行列式值。 colspace(S) 返回 S矩阵列空间的基
位的影响和控制程度,分别采用 成本法( cost method) 或 权益法( equity method) 进行核算。 21 Renmin University of China 长期股权投资的成本法 成本法的适用范围。 根据 《 企业会计准则第 2号 ——长期股权投资 》 的规定,长期股权投资按成本法核算的适用范围为:( 1)投资企业能够对被投资单位实施控制的长期股权投资