点阵屏还是比较耗电的,和显示的内容有关,在最小亮度的条件下,实测平均约130mA。为了节电,延长电池供电下的使用时间,引入了人体感应开关模块,在没有检测到人员活动的情况下关闭屏幕显示,单片机进入掉电模式。理论上是比较简单的,但是在实施的过程中遇到了不少的问题,记录下来与大家共享。

问题1、供电电压

  为了便于使用锂电池,系统使用3.3V电压,但是网购的人体感应开关模块是5V供电的。好在仔细看了模块资料,模块上的电路都是3.3V的,板上带了AMS1117稳压芯片将外接5V转换为3.3V使用,这样就容易了,将1117芯片拆除即可改造成3.3V供电。

问题2、STC12系列外部中断只支持下降沿/低电平触发,而感应模块是高电平有效

  这也不是不可解决的难题,最新的STC15系列单片机支持上升沿触发,能够直接使用。但我是要使用现成的STC12单片机模块,就只能另外想办法,那就是用三极管制作一个反相电路。

Vcc ━━━━━━━━┳━

          █ 1k

          ┣━━ P3^2

 感应输出     ┃

  ━━██━━━━≤ S8050

    10k     ┃

Gnd━━━━━━━━━┻━━

简单的画了一个电路图。

问题3、第一次感应触发正常,后续几次容易发生无法触发的情况

问题4、系统进入掉点模式后,半秒后即自动触发外部中断