打印
[国产单片机]

EM78P156问题~

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

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

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

我的想法是不是P62作串行数据的时候送0和送1分别设为上拉和下拉,那驱动数码管的电平才不会通过导通的按键对数据造成影响吧。只是个人想法,因为EMC的片子只能写一次,所以还没写入程序验证,希望各位爱动脑的高手们给个指导,看这儿人都还是挺热心的。

补充:四个按键是分别接的四个笔段端,不是一起的接的。接线示意:

按键一端--1K电阻--P62--DSA+DSB

164并出Q--120电阻--数码管笔段+按键另一端

相关帖子

沙发
谈的元| | 2007-12-27 19:46 | 只看该作者

还是画个图吧

使用特权

评论回复
板凳
mohanwei| | 2007-12-27 19:57 | 只看该作者

同意

使用特权

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

示意图

使用特权

评论回复
5
McuPlayer| | 2007-12-28 14:37 | 只看该作者

串转并+端口复用

使用特权

评论回复
6
wksqx| | 2007-12-28 16:35 | 只看该作者

分时复用

扫描数码管的时候不检测按键。

检测按键是先关短公共端的三极管,然后通过164在Q4或Q5或Q6或Q7输出一个低电平,在通过p62口检测。
如要检测s1 ,那么Q4为低,Q5、Q6、Q7为高(P62口要配置上拉)
,这时检测P62口为低那就说明S1按下,检测其他口也一样。

使用特权

评论回复
7
westsfw|  楼主 | 2007-12-28 17:39 | 只看该作者

谢谢几位了~

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

使用特权

评论回复
8
McuPlayer| | 2008-1-13 23:54 | 只看该作者

检测按键的时间非常短

微妙级的,暂时关闭显示,凡人的眼睛看不出来的

使用特权

评论回复
9
luxinsun| | 2008-1-16 08:33 | 只看该作者

一直按着按键。数码管会工作正常吗?

一直按着按键。数码管会工作正常吗?

使用特权

评论回复
10
mohanwei| | 2008-1-16 08:51 | 只看该作者

不会,因为有电阻……

使用特权

评论回复
11
lanbiao| | 2008-1-22 11:51 | 只看该作者

如果你用定时中断的话就可以正常工作了

如果你用定时中断的话就可以正常工作了

使用特权

评论回复
12
工具书| | 2008-2-21 21:01 | 只看该作者

可能会出现闪烁

这样做时,高亮度的LED可能会出现闪烁现象。

使用特权

评论回复
13
兴隆| | 2008-2-23 21:10 | 只看该作者

好像EMC教材上就是这个例子。

使用特权

评论回复
14
westsfw|  楼主 | 2008-3-6 09:21 | 只看该作者

可以检测长按

把P62设置成上拉但禁止下拉的话,按键长按的话数码管也是不受影响的.

使用特权

评论回复
15
weihualong| | 2008-3-6 11:31 | 只看该作者

是不是没有把数码管的阴极画出来

我想是这样:
   先把数码管阴极打开,送要显示的数据进164,送完数后P62已经变成低电平,这时无论你按哪个按键都不会影响数码管的显示(164有足够的驱动能力). 影响数码管的亮度的只能是P62有送数的瞬间(这时数据可能有高电平,通过按键上的电阻加到数码管),为了防止这一点,送数据的时候可以先把阴极关起来,送好数据后再打开.
   显示完成后(延迟一段时间),要检测按键的时候,同样先把数码管阴极关闭,
然后4个按键对应的口,送一个0,3个1,然后P62转成输入状态,假定它的上拉电阻
是100K,的话,很容易被0的那个按键拉成低电平.
   这个电路很绝.
   

使用特权

评论回复
16
weihualong| | 2008-3-6 11:46 | 只看该作者

补充一点

没用过义隆的IC,不太清楚义隆的口是怎样的,如果用51的那种口,肯定会和7楼说的那样,如果用松翰的那种口,就不存在这个问题.

使用特权

评论回复
17
gtw| | 2008-3-7 18:22 | 只看该作者

按键不能同时按下

使用特权

评论回复
18
xwj| | 2008-3-7 19:44 | 只看该作者

可以同时按下的

使用特权

评论回复
19
jgxdz| | 2008-3-14 09:09 | 只看该作者

IIC-CHINA展览会图片

学习了

使用特权

评论回复
20
westsfw|  楼主 | 2008-3-17 09:32 | 只看该作者

最后结论

其实电路有些出入,实际上只有一个电阻,如图:
实现上是每2ms扫描一位数码管,第4个2ms关闭所有显示,即置高数码管位选,此时检测按键,在P62上拉且禁止下拉的时候是可以实现长按闪烁的

使用特权

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

本版积分规则

19

主题

131

帖子

0

粉丝