控制LED灯做跑马灯你应该会把,这个咱不说了,是不是对于用霍尔元件做外部中断产生问题?
主要是霍尔元件会产生半开关状态,造成外部中断误读?
如果是这个问题,两个小方法可以减少这种误差,将霍尔元件接到三极管的B极,或者是施密特触发器的触发口。
以保证霍尔元件的触发型号给单片机的是cmos电平。其次就是在程序中设定死区,将中断中读到的触发次数进行过滤,即在某一定的时间内,比如100ms,读到的电平必须一直保持高电平或者低电平,或者是,在100ms内,读到10次同样的电平,则确认霍尔元件完全打开。或者完全关闭。若在次期间出现电平变化,则变化前的计数全部无效,应该清零。
|