打印

EM78P156问题~

[复制链接]
4809|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
westsfw|  楼主 | 2007-12-27 09:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问一个问题,高手们给看看:

看过别人一个产品,用的是EM78P156的单片机,其中驱动数码管用的是74HC164,然后164的串行数据输入端也就是156的P62口竟然也用来检测按键,我来说说怎么接的线吧。

164的并行输出通过120的电阻接共阴数码管的各笔段,是动态扫描显示,串入口DSA、DSB一起接156的P62口,移位时钟是P63,然后有四个按键开关一端接在驱动数码管的电阻的笔段端(只用了四根),一端通过1K的电阻接到了156的P62也就是串行数据口上,想了好久没想明白他是怎么做到P62的输出不会被按键的状态影响的。

我的想法是不是P62作串行数据的时候送0和送1分别设为上拉和下拉,那驱动数码管的电平才不会通过导通的按键对数据造成影响吧。只是个人想法,因为EMC的片子只能写一次,所以还没写入程序验证,希望各位爱动脑的高手们给个指导,看这儿人都还是挺热心的。
其实关键问题是怎么做到按键的状态不会影响P62的输出。这么来说吧:按键是随机的,按下的时间也是不确定的,假如某时刻Q4输出为低,S1又被按下,那这时候如果P62上拉的话可以输出确定的高电平吗??如果下拉呢???反过来如果Q4=1,S1按下,如果P62下拉的话能输出0吗???所以关键问题是解决P62怎么不被按键状态干扰,否则如果常按按键的话数码管会灭的。我用51试过了。谢谢先~
下面有图

相关帖子

沙发
westsfw|  楼主 | 2007-12-27 21:19 | 只看该作者

这个问题有问题吗?????

这个问题有问题吗?????

使用特权

评论回复
板凳
westsfw|  楼主 | 2007-12-28 09:32 | 只看该作者

给个看看吧

使用特权

评论回复
地板
etual| | 2007-12-28 19:09 | 只看该作者

P62接多一个 10K 的电阻下拉

送 0001 到 Q4~Q7 
转换 P62 为输入口,如果读到高电平,则认为 S1 按下
同样的 送 0010 到 Q4~Q7 判断 S2
...
...
这样就能判断出4个按键了
不过这电路不能处理两个按键同时按下的情况

使用特权

评论回复
5
westsfw|  楼主 | 2007-12-29 10:20 | 只看该作者

谢谢了。

其实关键问题是怎么做到按键的状态不会影响P62的输出。这么来说吧:按键是随机的,按下的时间也是不确定的,假如某时刻Q4输出为低,S1又被按下,那这时候如果P62上拉的话可以输出确定的高电平吗??如果下拉呢???反过来如果Q4=1,S1按下,如果P62下拉的话能输出0吗???所以关键问题是解决P62怎么不被按键状态干扰,否则如果常按按键的话数码管会灭的。我用51试过了。谢谢先~

使用特权

评论回复
6
工控秀才| | 2007-12-29 10:44 | 只看该作者

可以判断吧

按键也不是检测一次就算OK.利用总相等应该可以判断的.

使用特权

评论回复
7
etual| | 2007-12-29 18:47 | 只看该作者

随便说说

怎么实现,这个是程序的问题
假如你有4位的数码管,那么加上按键扫描一共就是5个时间片
严格分配5个时间片就可以了,3ms 一个时间片就能保证不闪了。
另外,前面说了,P62再接一个 10K 的电阻到地。

使用特权

评论回复
8
etual| | 2007-12-29 18:53 | 只看该作者

或者这样想

时间片是3ms,也就是说
0ms 扫描第一位
3ms 扫描第二位
6ms 扫描第三位
9ms 扫描第四位
12ms 什么也不错,关掉数码管不显示
15ms 扫描第一位 (一个循环了)

这样出来数码管能正常显示么?答案是肯定的。
然后我们将扫描按键的程序插进去 12ms 那个时间片进行扫描
(这个时候数码管是关掉的,COM口全部置电平就OK了,seg口不用管)

再说第三次,你的P62口缺了一个10K到地的电阻了.....

使用特权

评论回复
9
xwj| | 2007-12-29 19:06 | 只看该作者

既然数码管公共极是可控的,读按键时关闭位选即可


4楼,这个可以“处理两个按键同时按下的情况”,也可判断多键同按
只是麻烦点罢了

使用特权

评论回复
10
zzdianzimi| | 2007-12-30 16:09 | 只看该作者

为什么要加个十K到地啊??/?不太明白,

使用特权

评论回复
11
hotpower| | 2007-12-30 16:24 | 只看该作者

这个电路有个原则错误,在很多经典电路上都发生过~~~

当2键压下是P62的电压为1/2VCC~~~

所以要加4个二极管防止线与和1/NVCC的错误发生~~~

当然单键无所谓,如果2键压下是行扫描时在P62处量量电压~~~

俺遇到过很多这种电路~~~有很多人问我为什么2键压下测试不了...

哈哈~~~想想分压电路吧~~~

使用特权

评论回复
12
westsfw|  楼主 | 2007-12-31 12:34 | 只看该作者

谢谢~

谢谢各位了,俺再试试~到时候把结果送上来

使用特权

评论回复
13
chenzhangneng| | 2012-12-24 13:25 | 只看该作者
等结果一起研究

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

131

帖子

0

粉丝