打印

怎么检测300个点的高低电平

[复制链接]
3113|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gdmgb520|  楼主 | 2009-10-27 13:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
huangqi412| | 2009-10-27 13:52 | 只看该作者
一起还是分散...

使用特权

评论回复
板凳
DONGXU| | 2009-10-27 14:46 | 只看该作者
扩展数字口到300个,8位机一次测8个口,16位机一次测16个口,32位机一次测32个口,

使用特权

评论回复
地板
gdmgb520|  楼主 | 2009-10-27 15:09 | 只看该作者
一起还是分散...
huangqi412 发表于 2009-10-27 13:52

应该算分散的吧。就是相当于300个独立按键,要看哪个键接通或断开。

使用特权

评论回复
5
gdmgb520|  楼主 | 2009-10-27 15:12 | 只看该作者
扩展数字口到300个,8位机一次测8个口,16位机一次测16个口,32位机一次测32个口,
DONGXU 发表于 2009-10-27 14:46


用8位的at89s51,用74hc151来扩展行不行?另外加74hc244做总线驱动。六位地址线,一个完整IO口做数据采集。
用定时器中断进行数据采集,每50毫秒进行一次。

行吗?

使用特权

评论回复
6
xiaotao_82| | 2009-10-28 16:04 | 只看该作者
提个方案供大家讨论:把这些开关量当做并行的信号,给转成串行的。前提是给这些开关量分组编号。

使用特权

评论回复
7
gdmgb520|  楼主 | 2009-11-9 13:50 | 只看该作者
我现在用的是74hc244做驱动,74hc151来选通数据
P00——P05做地址线,P20——P27做数据输入端

使用特权

评论回复
8
gdmgb520|  楼主 | 2009-11-9 14:01 | 只看该作者
吧320个数据分成8组(8个采集板),每组40个,每块板用5+1快74hc151,每块板每次往外送一个数据,所以P0口的00——05从000000变到111111(0x00到0x29)就可以吧320个数据读入。
由于C51数组元素不能是位变量,所以8个数据作为一个字节来存放。
当然给这 320个开关量编号(1-320),那么第一个数组元素dat[0]存放的就是1号,41号,81号,121号,161号,201号,241号,281号这八个数据。数组dat下标为0——39,共40个元素。

大家看看,这样是否合理。

使用特权

评论回复
9
TDC_01| | 2009-11-13 23:34 | 只看该作者
分时点阵扫描,具体怎么做,方式很多种,如果你用8位机,选成38行*8列的好像做起来舒服些。一次读入8列。读38次就好了。

使用特权

评论回复
10
wangyujiao| | 2009-11-14 07:51 | 只看该作者
ls正解 省时省IO

使用特权

评论回复
11
iC921| | 2009-11-14 14:41 | 只看该作者
16×20或8×38(或8×40)的矩阵扫描,应该都可以

使用特权

评论回复
12
gdmgb520|  楼主 | 2009-11-17 09:50 | 只看该作者
谢谢各位,由于我用的是51,所以用了8*40的方案,就是像我八楼说的那样做的,用的芯片也是那样。

使用特权

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

本版积分规则

67

主题

452

帖子

1

粉丝