1、一般 CPU 的资料上会讲 CPU 的复位时间在 410 个时钟周期,那么如果一个 100M 的 CPU 复位时间应当在 1 微秒级,复位芯片一般输出的复位时间在 200ms 左右,为什么差距这么大呢?我觉得有 3 个原因: 1、电源,电源部分由于存在很多的容感器件,因此电源稳定需要时间,特别是开关电源。如果复位时间真的依照 CPU 的复位时间参考,恐怕电源的抖动都会引起 CPU 的启动,所以我认为电源是主要原因,至少应当在 ms 级2、CPU 外围器件,例如 RAM、flash 芯片,外围的控制芯片往往与 CPU 公用一个复位信号或者即使不公用,整个板子中 CPU 也应当在外围器件之后完成复
2、位吧,因为 CPU 中执行指令吗,否则如果在外部启动会产生指令异常,更有甚者产生总线异常中断,至少根据我的经验这些外围器件的复位时间应当在 us 级。3、抗干扰,因为如果复位时间达到很小,一个小的感性传绕恐怕就会引起复位吧,这里有点常识的人也知道关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路原理是在单片机的复位引脚 rst 上外接电阻和电容,(具体电路可去 http:/ 首页去搜索复位这两个字有很多),实现上电复位,而复位时
3、间是( 时钟周期 =12振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由 rc 电路计算出时间常数。单片机复位后各寄存器的状态A00H,表明累加器已被清零; PSW00H,表明选寄存器 0 组为工作寄存器组;SP07H,表明堆栈指针指向片内 RAM 07H 字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到 08H 单元中;Po-P3FFH,表明已向各端口线写入 1,此时,各端口既可用于输入又可用于输出;IP 00000B,表明各个中断源处于低优先级;IE000000B ,表明各个中断均被关断;而置位可以把它初始化到任意一个状态.复位、置位是指将器件的逻辑值设为特定的值,一般我所了解“复位”一般指将寄存器的 Q 端输出设为 0,“置位” 指将寄存器的 Q 端输出设为 1.利用单片机的 setb 指令可以实现置 1 这个操作。