WWW_PLCJS@_COM%-PLC-技.术_网
记得前几年在一次笔试的题中,有这样一道题。用5个IO口接10以上的按键,可以利用二极管,三极管,电阻,电容等;并画出判断的流程。总之能够方便实现就好。当时胡乱答了一通,大概是想应用正反向的扫描方式来完成。WWcW_PLCJS_COM-PLC-技.术_网
如果现在碰到这样的题目,我可是能比较轻松的完成了。一般的多按键的扫描,大家都很容易想到行列式扫描。可行列式扫描有时也有些缺点,比如需要的IO口,比较多一点,IO口少了,用这样的方式就没有什么意思了。WW.W_PLCJS_COM-PLC-技.术_网
最近在设计FPPA的RTC程序时,刚好也碰到类似的问题,一个18PIN的MCU,电源,复位,时钟脚等,就占了5个脚了,也就是说,能够利用的IO最多13个。而为了显示方便,MCU外接了个RT-1602C,这样就消耗了11脚。呵呵,还剩下2个口,时钟总得设置调整吧。想想一个UP键,一个DOWN键,还的选择设置的项,如小时,分钟,还是秒等,所以SHIFT键也得有,还是在用一个进入设置模式和设置确认的键操作才比较方便的。哈哈,4个键了,就两个口,怎么用呀。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
不是说RESET脚可以做输入吗,恩把这个也用上,现在有三个输入了。四个键还是不很方便呀。于是认真考虑了下,觉得这样是可行的。WWcW_PLCJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
这样用的话,3个口,可以扫描7个键了。想想看,3个口,你怎么使用矩阵式扫描呀,我想类似的情况,可能其他朋友也可能会碰上的。谁还有比这样扫描更方便的方式吗,大家不妨交流一下。WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
FPPA的RTC功能还是不错的,配上他们的中断方式和一般的不一样,所以在时间计数方面,理论是可以消除任何的软件造成的误差,所有的误差全来自32.768K的晶振了。我的晶振是从华强北随便拿的,经过半月的时间校对,发现还是有近30秒的误差了。后来仔细一想,可能也算正常吧,晶振有20PPM,50PPM,100PPM等。一天就有60*24*60=86400秒,如果50PPM的误差,那么一天的误差就有(50/1000000)*86400=4.32秒。WWW_PL※CJS_COM-PLC-技.术_网
普通MCU曾经我也做过RTC显示,但是没有经过这么长时间的测试,所以一般能够精确到什么程度也不是很清楚了,不知道你的设计怎么样,呵呵!WWW_PL※CJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户