• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

单片机高手COME IN

小弟想请教如何设计一个外围电路
要求 外部需要采集120个点的电平位(高或低电位)
,但一般单片机的P口只有10几个,该怎么做一个外围电路或是其他电路来采集这120个点的电平位(高或低电位),有资料的烦劳发我EMAIL:sunw2004@21cn.com  感谢
全部回复(13)
正序查看
倒序查看
njyd
LV.8
2
2005-11-05 01:31
用数据存储器端口扩展.
0
回复
sunw2004
LV.4
3
2005-11-05 21:08
@njyd
用数据存储器端口扩展.
小弟比较菜,请问有图发一份来参考,吗
0
回复
abing
LV.8
4
2005-11-06 11:10
@sunw2004
小弟比较菜,请问有图发一份来参考,吗
可以采用4066或4067
0
回复
ghsdwf
LV.6
5
2005-11-06 13:43
分时采集行不行?
0
回复
njyd
LV.8
6
2005-11-06 19:56
@ghsdwf
分时采集行不行?
  肯定要分时读入.
  也可以用锁存器,一次锁存,分次读入,这样取得的120个点都是同时的数据.
0
回复
abing
LV.8
7
2005-11-06 20:30
@njyd
  肯定要分时读入.  也可以用锁存器,一次锁存,分次读入,这样取得的120个点都是同时的数据.
完全可以,要求不是很高的话,就不用锁存了
0
回复
maychang
LV.6
8
2005-11-07 20:40
如果速度要求不高,可以用并变串芯片扩展,串行读入.这样只需要占用两条口线,电路简单.
如果速度要求较高,每秒读数百次,就要用并行扩展.120个开关量输入需要16片输入芯片,如果不需要同时读入可以用244,如果需要同时读入就要用锁存器如573等,另需要两片3-8译码器例如74HC138.电路复杂得多,电路板面积也大得多.
0
回复
sunw2004
LV.4
9
2005-11-08 20:16
@maychang
如果速度要求不高,可以用并变串芯片扩展,串行读入.这样只需要占用两条口线,电路简单.如果速度要求较高,每秒读数百次,就要用并行扩展.120个开关量输入需要16片输入芯片,如果不需要同时读入可以用244,如果需要同时读入就要用锁存器如573等,另需要两片3-8译码器例如74HC138.电路复杂得多,电路板面积也大得多.
如果速度要求不高,可以用并变串芯片扩展,串行读入.这样只需要占用两条口线,电路简单.

感谢!可否提供一张电路原理图, sunw2004@21cn.com
0
回复
abing
LV.8
10
2005-11-08 22:48
@sunw2004
如果速度要求不高,可以用并变串芯片扩展,串行读入.这样只需要占用两条口线,电路简单.感谢!可否提供一张电路原理图,sunw2004@21cn.com
你用的是那一种单片机

有多少I/O可用

只用两个I/O是可行,但硬件成本比较高

若采用AT89C2051+4051+4067(8片)12M晶振,每个口读出数据可高达1
万次每秒,
      4051+4067这个方案需要7个地此线和1个数据线,也就是说用8个I/O,你要是用这种方案我可以为你提供电路甚至单片机程序.

     要是采用串行控制,建议用串行发送地此信号,独立一个数据接收
口,这样外部扩展电路相对要简成本也效低,程序也要简单.
0
回复
qchung
LV.1
11
2005-11-09 12:58
这要看你是同时采集,还是分时采集?
0
回复
silentsjb
LV.1
12
2005-11-09 22:25
@abing
你用的是那一种单片机有多少I/O可用只用两个I/O是可行,但硬件成本比较高若采用AT89C2051+4051+4067(8片)12M晶振,每个口读出数据可高达1万次每秒,      4051+4067这个方案需要7个地此线和1个数据线,也就是说用8个I/O,你要是用这种方案我可以为你提供电路甚至单片机程序.    要是采用串行控制,建议用串行发送地此信号,独立一个数据接收口,这样外部扩展电路相对要简成本也效低,程序也要简单.
呵呵,我也比较赞成这个方案,应该可以满足要求的
0
回复
action19821
LV.3
13
2005-11-10 10:12
@abing
你用的是那一种单片机有多少I/O可用只用两个I/O是可行,但硬件成本比较高若采用AT89C2051+4051+4067(8片)12M晶振,每个口读出数据可高达1万次每秒,      4051+4067这个方案需要7个地此线和1个数据线,也就是说用8个I/O,你要是用这种方案我可以为你提供电路甚至单片机程序.    要是采用串行控制,建议用串行发送地此信号,独立一个数据接收口,这样外部扩展电路相对要简成本也效低,程序也要简单.
清说细一点好吗,谢谢,小弟现在要做一个24路的电压检测,但24路的一域值分布不同,希望能给我一些提点,谢谢500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/35/1131589043.gif');}" onmousewheel="return imgzoom(this);">
0
回复
sunw2004
LV.4
14
2005-11-10 22:19
@abing
你用的是那一种单片机有多少I/O可用只用两个I/O是可行,但硬件成本比较高若采用AT89C2051+4051+4067(8片)12M晶振,每个口读出数据可高达1万次每秒,      4051+4067这个方案需要7个地此线和1个数据线,也就是说用8个I/O,你要是用这种方案我可以为你提供电路甚至单片机程序.    要是采用串行控制,建议用串行发送地此信号,独立一个数据接收口,这样外部扩展电路相对要简成本也效低,程序也要简单.
我用的是AVR单片机MEGA8,编程语言BASICOM
18个I/O可用
你说的4051+4067可提供一个电路供参考吗?有程序更好,谢谢
本人刚入行,未入门,比较菜,
还有可否介绍一些此类外围设计的书籍和程序的编写方法的书籍吗?感谢
0
回复