打印

将索尼LH51-2数显表的实时数据提交至电脑主机

[复制链接]
2705|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovelearning|  楼主 | 2010-9-1 22:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近本人在做一个项目,就是要将索尼LH51-2数显表的实时数据提交至电脑主机,这里的实时数据只是两个二位数码管的,即每按一次发送键,会将四位数码管的实时数据进行提交。
本人用了AT89S51编程,用的是汇编语言,已经实现了将0至9的段码值翻译成对应的十六进制ASCII值,并经RS232接口串行发送至电脑主机,利用串口调试助手显示出来,我编写的汇编源程序是通过查表的方式来实现的。
我的想法是,数码管的段码值逐位输入至P0口,逐位翻译后串行发送。但问题是,索尼LH51-2数显表中数码管的段码如何输入至AT89S51的P0口呢,如何提取数码管的段码呢,在数码管显示时,我测得每一个数码管的八段引脚都是高电平,这样一来,每次输入P0口的都是#0FFH...还有,怎样才能逐位输入至P0口,即将千位、百位、十位、个位的数码管段码逐位进行输入,如何控制,如何实现呢,或者有没有别的可行方案呢?请各位高手出谋划策,我由衷的感谢大家!!
以下附件是本人编写的汇编源程序,注:千位、百位、十位、个位的数码管的八段引脚(a、b、c...g、dp)已处理为并联,P3.3、P3.4、P3.5、P3.6分别接千位、百位、十位、个位数码管的公共端。
依次发送4组数据.rar (6.02 KB)

相关帖子

沙发
HWM| | 2010-9-1 22:49 | 只看该作者
从数码管取数不是正道,其显示完全可能是扫描的。建议从其输出口取(如果有的话)。

使用特权

评论回复
板凳
chunyang| | 2010-9-1 23:08 | 只看该作者
正如楼上HWM所言,优选的方式首先是看数显表是否存在数据接口,如有,这会使电路大大简化,也不存在译码问题,如没有,应先分析该表的电路结构和显示时序,看能否在其总线上取得数据,实在不行时才考虑从数码管上取,这是最后不得以才用到的招数。
多位数码管显示通常会采用动态扫描方式,每次只选通一只数码管,从动态数码管上取得数据必须同步,设计思路是:用锁存器,利用位选通信号做锁存信号,将段码锁存,然后用MCU读出,MCU的读取必须和位选通扫描同步。根据数码管是共阴还是共阳、正逻辑驱动还是负逻辑驱动,可用二极管做线与或线或然后利用一片锁存器读取段码,当然嫌麻烦的话,用4片锁存器也无所谓。
从数码管取数的逻辑设计对初学者而言会有一定难度,尤其是比较繁琐,关键是要理清思路,正确、完整的理解原显示扫描设计,然后才能构架出适当的硬件电路,软件方面则没什么。

使用特权

评论回复
地板
lhkjg| | 2010-10-7 20:27 | 只看该作者
建议你看看它数码管是如何驱动的,如果跟国内一样也是用的164类型的串口转并口IC的话建议从数据输入端读取

使用特权

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

本版积分规则

0

主题

1

帖子

1

粉丝