点阵屏还是比较耗电的,和显示的内容有关,在最小亮度的条件下,实测平均约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、系统进入掉点模式后,半秒后即自动触发外部中断
原文地址:http://longman.blog.51cto.com/2730483/1707834