我感觉你的最终目的是在电源掉电前要计算机要执行一套保护现场或者其他的动作。那么用这种方法就太慢了,计算机可能没时间进行处理。
推荐你个电路,MAX813L,你可以使用它的第4脚的功能。将7805输入端的电压经2个电阻分压后输入4脚,保证正常情况下4脚稍高于1.25V。
当电源掉电时,15V滤波电容上的电压逐渐下降,当4脚低于1.25V,MAX813L的5脚输出低电平,接入单片机进行判断和采取措施。
由于15V滤波电容比较大,可以保证程序有足够的时间来进行掉电处理。
如果你只是判断有无15V,而且单片机电源与15V无关,那么只要把15V用一个二极管整流,然后加2个电阻分压,再加个电容稍微滤波就OK了。反应速度取决于电容和分压电阻大小。
检测之前先设计采样电路,单片机只是把采样过来的信号进行了AD转换.
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
基本结构
运算器
运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。
控制器
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:
(1) 从内存中取出一条指令,并指出下一条指令在内存中的位置。
(2) 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。
(3) 指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
主要寄存器
(1)累加器A
(2)数据寄存器DR
(3)指令寄存器IR和指令译码器ID
(4)程序计数器PC
(5)地址寄存器AR
加上整流电路就可以了。再加一个稳压管,把整流后的电压限制在电源电压5V。
在R2上再并联一个电容就可以了。
(供参考)