4447|3

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

笔者做产品的一个“恶习 [复制链接]

 用外复位引脚既作人工复位又作键盘!!!!



                                朋友们可以跟风也请大方地批判



硬件用一个单脉冲电路产生一次按键触发,复位单片机同时也做一位键盘,由于采用了单脉冲电路,用户长按“复位键盘”无效,不会造成长复位单片机“死机”。



有如下几个问题:

第一如何判断是人工复位(复位键盘)而非上电复位?这不难,单片机内部“冷热上电”复位标志可区分是上电复位还是人工复位(按键)。

第二 如何解决瞬间停电,而单片机在停电瞬间还没退出“欠压运行”状态时的误识别(冷启动热启动模糊)-----硬件上我们一定能而且轻易能做到单脉冲电路的储能在掉电时段内维持时间比单片机上的电荷存能维持时间更长!



第三。“一个万一干扰型”复位造成按键假象和按键抖动怎么区分和消除万一真是死机了用户做的是人工启动-------单脉冲电路本身就是消抖动电路,所以单脉冲电路自身抖动可不考虑,至于偶然的干扰触发和用户人工启动--------一是增加时间延迟 二是软件上进行判断-----当一个外部“复位按键”和“复位”双有效时,开启一个定时,超出定时以外,还没有新的键输入,此键“纯属干扰”或者是死机后“人工重启”!还有下面的第四条消除更多疑虑

第四。“复位键盘”一般作不重要的键使用,例如只着光标键,异常退出键等,不建议用着“确认”和“功能”选择键使用。

第五。为什么有这种恶习 1.节省口线 2键盘复位 3系统高效

节省口线对51单片机很有用!有时候差一条口线会造成恶化,最后差很多口线,例如你口线不够你就扩展口线,51挂外设就会占住PO口拖住P2干扰P3口,累死累加器,MOVX指令只能用累加器寻址,所以你扩展一个口恶化三个口,笔者过去从来没用过89C51只用89C2051后来STC12C4052AD,笔者对口线规划超牛,15根口线一般不作并行扩展,最终还能剩1~2根悬乎着,关于这方面的技巧笔者下面可以专门开讨论。用3跟口线做8位远程显示16位远程键盘,笔者在很多电子网站都有写作!做数码管类常规键盘大家找我好了,我做的既稳定又美观还节省口线还省元件,还特别好布板,更特别省软件。但今天对430已经没有什么优势了,430口线太腐败了,口线够我们挥洒的不知道怎么浪费。



重要的是“键盘复位”。当我们发现计算机有点卡(其实死机了)我们常乱按键盘来企图启动计算机,无效的时候才按“硬复位”,万不得以才“硬关电”!这是个使用惯性和用户习惯,最好的办法是尊重是沿袭!当然我们不能指望内部看门狗和外部看门狗能彻底解决问题(要是能的话,还不能在微机上做出更好的看门狗来?!)。

系统高效,使用高效,如果你给你的产品说明书上写“当您遇到操作不灵时请按红色复位键重启或者关电后等待半分钟再请上电时:

这句话就含有这样的意思:一。也许这键一年用不上,而用得上时,用户得去找说明书 二。意味着你的产品还不是全自动化,依旧需要用户干扰才能动作!

既然任何单片机系统都要设“人工复位”键,为什么不整合一下,把本来很正常的辅助设施----这往往又是用户质疑愤懑的设施,而在电子工程师看来完全正常的的设计而对外行又不太说得清的“秀才遇到兵”,变成一种“无形的淡化”“无奈的掩饰”和“我说不清我干脆不说”!!!

最新回复

例如你用外部计数器CD4017,复位一根口线,时钟一根口线,太浪费了,你这样在复位脚上接一个电阻电容作积分使用----短时间的脉冲,计数,长时间的脉冲---复位! 74HC595相当于一片74HC373+74HC164,所有就需要三条口线串行两条锁存一条,其实锁存这条完全可省去,用数据线变通一下代替,和74HC164一样两线搞定!  详情 回复 发表于 2009-12-23 17:24
点赞 关注
 
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

第一个很简单的节省口线办法

如果你有10个同步输出外设,DA和CLOCK各用1个,那20根口线没了!用片选用多路选择器?要有片选可以啊,没有呢,这样你把10个数据端并起来,一根线,时钟各管各,让时钟作片选,数据变时钟没变,所以就不干扰了,既然是有时钟的同步系统,所以速度一般是很快的,你常常本身需要降速使用。估计这种方法大家都在用!
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

键盘和显示最占口线

而且现在随着发光二极管效率的提高,用动态显示是主流了(但大家注意在运动的物体里例如汽车火车轮船等)不推荐用动态显示,这样会造成使用者视觉昏花。

动态显示更灵活更鲜活,对多媒体显示更只有动态才能利用人类的视觉暂留“静态”欺骗我们的眼睛形成特技效果!

既然是动态显示,你就得对显示的位和段进行定时扫描,而显示缓冲区一般是连续地址的间接寻址,高级语言是递增着的指针,一句话指针对内与显示缓存器一一对应,对外与显示的“位编码”一一对应!换句话说,你一定此刻选中一个数码显示的位,而且这个位对应的缓存器号(指针)是确定的,在这位上横一根口线,按上按键就是“顺序扫描的编码的键盘”这个键盘当且竟当扫描到当前显示位且当前正好用户按下键才有效,既然是扫描的编码的所以常规键盘“发现键”在顺序扫描找到那个键的传统编程模块就不需要了!而且这样的键盘是唯一开放的所有永远没有双键按下的“重键”(双按下也只有一个键),不需要进行多键异常处理!笔者最“恶毒”的时候,连横起这跟线也一并省去了!
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 

尽量使用边缘触发的外设

例如你用外部计数器CD4017,复位一根口线,时钟一根口线,太浪费了,你这样在复位脚上接一个电阻电容作积分使用----短时间的脉冲,计数,长时间的脉冲---复位!

74HC595相当于一片74HC373+74HC164,所有就需要三条口线串行两条锁存一条,其实锁存这条完全可省去,用数据线变通一下代替,和74HC164一样两线搞定!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表