各位!求解决一个IO输出三种灯状态的问题!

现在有一颗充电芯片,需要在充电芯片的stat(状态脚)上做文章:充电时候stat为0,充满了为1,异常状态输出pwm(电池没插为异常)。
需求是:充电时候绿灯闪,黄灯灭;充满了绿灯亮,黄灯灭;异常状态是黄灯闪,绿灯灭。目前充电和充满可以用555芯片来实现闪烁,但是黄灯灭很难实现,而异常状态就更不知道怎么搞了。。各位亲们快来帮帮忙啊!!

方法A
接电容滤波得到一个模拟电压值,然后通过ADC就可以知道stat脚的具体状态
方法B
接到外部中断脚,记录一定时间,比如一秒内的中断次数,如果次数很多那说明是在输出PWM

如果不用芯片,用纯硬件实现的话估计需要滤波得到模拟电压然后用至少两个比较器来选择输出