5.28335外设测试讲解.docx

2008-3-7 看门狗溢出时间计算: WDCLK(看门狗时钟)= CLKOUT(经PLL后输出的系统时钟)/ 512 WD 的计数寄存器是 8 位的增量计数器,且计数溢出后要延时一个周期。 所以 WD的OVERFRE (溢出频率)= WDCLK / WDPS(WD 分频系数)/ 257 OVERTIME(溢出时间)=1S / OVERFRE =55255 * WDPS / CLKOUT (S) WDCR (控制寄存器)写时不可以用位设定,因为当写访问 WDCR 时, WDCHK(2:0) 要写 101B ,否则会引起系统复位。 WDCHK(2:0) 读值为 000B。 而我们定义的位操作, 实际就是先读寄存器的值, 再与对应的位相或或相与置位清0后再写 回寄存器,这样位写 WDCHK(2:0) 将都被写 000B 而引起复位。 2008-3-8 中断标志寄存器IFR,由CPU内核控制,一旦中断被响应,IFR会被CPU自动清除(除INTR 指令引起的中断外) ,不需要人工干预。 IFR 中断标志寄存器只有 INT1~INT6 ,那上面说的是用 INTR 引起外部中断,那时就需要人 工干预了?引起的中断如何执行? 无法观察到 IFR 的变化,其一直为0,可能是有置 1,只是中断响应又把它清 0 了。那上述 所说的除外情况是怎样的情况呢。 用 INTR 进外部中断时,不可屏蔽,即 IMR 对其无影响。 IMR 只是屏蔽对外部中断源的响 应。 CMD文件里可以用/* */来注释,其它的汇编的文件,如 .ASM、.H文件就只能用;来注释。 外部中断XINT1、XINT2。外部中断输入引脚必须至少被拉低或拉高5或11个 CLKOUT 时钟周期才被认为是有效的中断请求输入,这由 SCSR2中的I/O QUAL位决定。 每一个外设中断都有三个屏蔽位:INTM、INTn、各自的屏蔽位。两个中断请求标志位:IFR、 PIRQR0~2、各自的中断请求标志位。 2008-3-10 中断被响应后,CUP级IFR中相应中断标志位自动清零,外部中断的 XINT1/2的外设级中 断标志位也会自动被清零; 但片内外设 (包括事件管理中断和系统模块中断) 中断被响应后 不会自动清 0,需要用户对其进行写 1 清 0。 通过 INTR 指令来请求中断时, CPU 不会清除 IFR 中的位。 但仿真时观察 IFR 值一直为 0? 通过 INTR 指令来请求外设中断时,不会装 PIVR 外设中断向量, PIVR 默认的 0000装入。 INTM 在硬件中断被响应时自动置 1,因此在中断服务程序返回时一定要重新开中断。如果 要实现中断嵌套,可以在中断服务程序中开放中断。 查看是否有可屏蔽中断发出请求,应看其标志位而不是 PIRQR0~2。 中断有两个中断向量: CPU中断向量(即0?40H地址的向量表)和外设中断向量 PIV。 参考:中断向量表(文档) 2008-3-10 IO 口设置: MCRA、MCRB、MCRC :复用功能选择位。=0为通用10 口,= 1为特殊功能引脚。 MCRB15-9为仿真器用,只能写1。 MCRC14不是复用端口( I0PF6),只能写0。 Pn DATDIR (n=A,B,C,D,E,F):高字节为方向控制,0为输入,1为输出。 低字节为数据。 2008-3-11 事件管理器 当进入 CPU 级中断后,可以以 PIVR 判断中断源,也可以用中断标志位来判断。 中断标志位要手动清除,否则以后中断源就不再产生请求。 (是不产生还是一直进中断?) 功率驱动保护中断:当引脚被置为低电平并保持两个 CPU 时钟周期时,将产生一个外部中PWM 输出管脚置成高阻状态;同时,不 CPU 时钟周期时,将产生一个外部中 PWM 输出管脚置成高阻状态;同时,不 管中断是否被屏蔽,与中断的相关标志位也被置1并向 DSP 内核发出中断请求。 与通用定时器相关的输入: 1 ?内部CPU时钟 2?TCKINA/B :外部引脚时钟,最大频率是 CPU时钟占有率的1/4 TDIRA/B :用于确定通用定时器计数增减方式,高电平为增计数,低电平为减计断 4 ?复位信号RESET 与通用定时器相关的输出: ?通用定时器比较输出 TxCMP (x = 1,2, 3, 4 ); ?至ADC模块的A/D转换启动信号。由 PGPTCONA/B相应位来规定 3?计数方向指示位 定时器中用到的寄存器: 1?GPTCONA/B 16位全局通用定时器控制寄存器 T2STAT14 通用定时器2的状态,只读。0 减计数;1 增计数。 T1STAT13 T2TOADC10-9 通用定时器2启动模数转换事件。 T1TOADC8-7 通用定时器 4 启动模数转换事件。 00 无事件启动模数转换 0

文档评论(0)

1亿VIP精品文档

相关文档