打印

大家过来参谋参谋

[复制链接]
1494|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
是这样的,产品升级,要把该产品的显示和按键部分替换掉

该产品的主控板与显示和按键部分连接如下:

图中U1为74LS164,DATA为主控板输入数据线,CLK为时钟,KEY为主控板的按键输入引脚,LED为发光二极管的控制引脚
这个图的原理我就不说了吧,基本上是利用74LS164来做按键扫描和LED显示
现在想要替换这部分,按键值由PC经过RS232传输过来,同时要求主控板不做任何修改

通过测量插针上面的引脚电平发现发现,主控板是先扫描按键然后再扫描LED,在按键按下时,KEY变为低电平,主板板通过检测该电平以及发送到CLK脉冲的个数来判断按键是否按下

我是这样考虑的,用一块MCU,采用计数的方法对CLK脉冲计数,当收到的按键值是N的时候,就在计数N个脉冲的时候,在一个与KEY相连的引脚上输出低电平
大家看看这样可行不,或者还有什么其他的方案

Snap1.jpg (22.52 KB )

Snap1.jpg

相关帖子

沙发
因特网用户|  楼主 | 2009-10-15 20:51 | 只看该作者
现在有另外一个方案 ,采用数据选择器
在LS164后面加一个数据选择器,然后根据MCU接受到的值来确定选择哪一路
假如收到按键值N,就通过数据选择器选择LS164的QN引脚输出

使用特权

评论回复
板凳
maychang| | 2009-10-15 21:03 | 只看该作者
看不懂。
楼主究竟要干什么?
“现在想要替换这部分,按键值由PC经过RS232传输过来,同时要求主控板不做任何修改”
替换这部分,我的理解是用其它电路来代替这部分,为何还要求不做任何修改?
既然按键值已经由串行信号传输过来,想必是传输到MCU,直接用就是了,为什么还要输出个什么东西到键?

使用特权

评论回复
地板
因特网用户|  楼主 | 2009-10-15 21:07 | 只看该作者
有一块主控板和按键显示面板啊  
现在要把按键显示面板替换掉   不改主控板的程序   按键值通过PC送给主控板

使用特权

评论回复
5
因特网用户|  楼主 | 2009-10-15 21:11 | 只看该作者
确切的说 这个主控板和显示面板是一个产品  是系统的一部分  这个东西不是我们做的  现在系统其他部分要升级  要给这个按键显示板换掉   通过RS232直接发键值给控制板   所以就没办法改控制板程序
只要用其他的办法使按键时序兼容控制板

使用特权

评论回复
6
踢球老越位| | 2009-10-15 21:12 | 只看该作者
74LS164不是单向传输的么?怎么用它来进行按键扫描呢?

使用特权

评论回复
7
因特网用户|  楼主 | 2009-10-15 21:16 | 只看该作者
你看我在一楼的图  是单向传输没错   按键扫描的时候是依次发数据1111110B这样的  在Qn上面就依次输出低电平,如果按键按下时,此时主控板的MCU检测KEY引脚,发现是低,就根据发送到脉冲数来得到是那个键按下的

使用特权

评论回复
8
maychang| | 2009-10-15 21:18 | 只看该作者
就是,我也疑惑这点。
RS232把键值发给控制板,又不能改控制板程序,发过来又有什么用?
“在LS164后面加一个数据选择器,然后根据MCU接受到的值来确定选择哪一路”,不改程序你能怎么选择?

使用特权

评论回复
9
因特网用户|  楼主 | 2009-10-15 21:23 | 只看该作者
难道是我没表述明白?

我是说把显示和按键面板换掉  然后加个MCU接受串口数据  再根据主控板发过来的信号已经接受到的串口数据来确定所加MCU应该发给主控板的信号

我觉得自己表述比较清楚了啊

使用特权

评论回复
10
Randy.J.Heiky| | 2009-10-15 21:27 | 只看该作者
你那么编程复杂了点

就拿个8051接串口 PC出什么 MCU这边并口出什么 后面串转并的电路和原来一样 不用动脑 小下午就行

使用特权

评论回复
11
因特网用户|  楼主 | 2009-10-15 21:28 | 只看该作者
就是这么个意思啊  有个产品 分主控板和显示按键面板 ,显示按键面板是用LS164驱动的,接线我在一楼已经说过了

现在的问题是:LED显示不要了,按键要通过RS232传输过来,俺主控板的按键扫描时序,把这个键值发给主控板

使用特权

评论回复
12
因特网用户|  楼主 | 2009-10-15 21:32 | 只看该作者
再表述一边吧

就拿一个仪器来说吧,有按键和显示部分啊,现在要把这连部分不要,我把按键命令通过PC发给仪器,这台仪器不是自己做的吧,程序改不了,就是要做个这样的东西,在PC和仪器主控板之间实现一个相当于协议转换的东西

使用特权

评论回复
13
maychang| | 2009-10-15 21:45 | 只看该作者
9搂的叙述比12楼明白。
不必另加什么数据选择器。一共四根线,速度又不快,你增加的MCU除串口外只需要四根口线模拟应有的时序即可。这个增加的MCU工作量也很小,用带串口的最简单的MCU就行。

使用特权

评论回复
14
因特网用户|  楼主 | 2009-10-15 21:51 | 只看该作者
问题是这个产品很变态   CLK时钟低电平300ns  高电平2us    一般的MCU忙不过来    还没见过这么变态的

使用特权

评论回复
15
因特网用户|  楼主 | 2009-10-15 21:55 | 只看该作者
maychang大侠说的 我想过
如果CLK比较慢的话, 我可以根据接收到的键值,采样CLK,对脉冲计数,接受到N,在低N个脉冲的时候,在一个IO输出低电平就可以满足按键的扫描时序了,问题是脉冲实在太快了,51是来不及了,一般的MCU也不行啊,才想到硬件计数器或者LS164+数据选择器的方案

使用特权

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

本版积分规则

161

主题

1040

帖子

0

粉丝