关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。
单片机复位电路原理是在单片机的复位引脚rst 上外接电阻和电容,(具体电路可去搜索复位这两个字有很多),实现上电复位,而复位时间是(时钟周期=12×振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由rc电路计算出时间常数。
单片机复位后各寄存器的状态
a=00h,表明累加器已被清零; psw=00h,表明选寄存器0组为工作寄存器组;sp=07h,表明堆栈指针指向片内ram 07h字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08h单元中;po-p3=ffh,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;ip=×××00000b,表明各个中断源处于低优先级;ie=0××00000b,表明各个中断均被关断;
而置位可以把它初始化到任意一个状态.复位、置位是指将器件的逻辑值设为特定的值,一般我所了解“复位”一般指将寄存器
的q端输出设为0,“置位”指将寄存器的q端输出设为1.利用单片机的setb指令可以实现置1这个操作。