找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6478|回复: 21
收起左侧

可以用单片机做一个控制多路的开关吗?

  [复制链接]
ID:381535 发表于 2018-8-2 03:24 | 显示全部楼层 |阅读模式
本人对电工和单片机知之甚少。
需要将函数发生器产生的100 kHz 的三角形波(2V到4V)按周期顺序送入多条并行线路。初步想法是用单片机做一个可以高速切换的开关,按照三角形波的周期时间打开不同的通道(如下图所示)。最近看了下C51教程,感觉有点像类似流水灯的东西。

问题1: 请问可以直接用单片机实现这个开关吗?
问题2: 如果可以的话,是不是只需要将单片机的引脚和线路相连,然后再编一个类似流水灯的程序就行?
问题3: 本人手头有C51 单片机 At89c2051, 请问是否可以实现这个功能?如果不行,需要什么样的单片机?
问题4: 不知道单片机是不是最好的方法,请问还有其他方法吗?

开关功能

开关功能




回复

使用道具 举报

ID:308437 发表于 2018-8-2 08:56 | 显示全部楼层
单片机可以做。使用外部中断输入就可以了。具体是捕获上升沿和下降沿,
不过,你这个“100 kHz ”频率有点高,要实现有点难。
你可以找一个款高速的单片机试一下

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:7485 发表于 2018-8-2 09:11 | 显示全部楼层
100kHz?有点高了。用什么单片机?多少的晶振?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:382025 发表于 2018-8-2 10:03 | 显示全部楼层
可以的 单片机具有强大的中断功能  可以实现这个功能
回复

使用道具 举报

ID:97554 发表于 2018-8-2 10:12 | 显示全部楼层
楼主可以了解一下CD4017数字电路,但是也存在相同问题,CD4017的极限时钟频率好像只有5.5M,跟楼主要求的10M比起来差了很多

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:302217 发表于 2018-8-2 13:11 | 显示全部楼层
大多数单片机输出10us脉冲式比较难的,即使有能做到的,波形畸变也会很严重。能输出这个脉冲的单片机,工作频率会很高,成本也会很高,所以应该采用触发器分频器等,如4017之类的芯片来做。对于4017,10us输出是很容易的了,波形边沿在百纳秒级,对于10us脉冲来说,已经没什么问题。而且输出几路也是可调的。

评分

参与人数 2黑币 +40 收起 理由
yousunny + 10 很给力!
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:215304 发表于 2018-8-2 16:18 | 显示全部楼层
单片机可以做。使用外部中断输入就可以了。具体是捕获上升沿和下降沿,
不过,你这个“100 kHz ”频率有点高,要实现有点难。
你可以找一个款高速的单片机试一下
回复

使用道具 举报

ID:381535 发表于 2018-8-2 20:55 | 显示全部楼层
ahshmj 发表于 2018-8-2 09:11
100kHz?有点高了。用什么单片机?多少的晶振?

单片机的速度是不是由晶振决定的? 手头的at89c2051晶振频率是24Mhz.
回复

使用道具 举报

ID:381535 发表于 2018-8-2 20:57 | 显示全部楼层
230000 发表于 2018-8-2 13:11
大多数单片机输出10us脉冲式比较难的,即使有能做到的,波形畸变也会很严重。能输出这个脉冲的单片机,工作 ...

谢谢回复!

我不需要单片机输出脉冲,只需要按function generator 的周期切换就行。这个跟脉冲有关系吗?
回复

使用道具 举报

ID:381535 发表于 2018-8-2 20:58 | 显示全部楼层
astonzorro 发表于 2018-8-2 16:18
单片机可以做。使用外部中断输入就可以了。具体是捕获上升沿和下降沿,
不过,你这个“100 kHz ”频率有点 ...

什么东西可以作为外部中断?function generator 可以吗?
回复

使用道具 举报

ID:117207 发表于 2018-8-2 22:41 | 显示全部楼层
这个看着很简单吧
回复

使用道具 举报

ID:370041 发表于 2018-8-3 10:11 | 显示全部楼层
说实话,,,最好用单片机控制多选一数据选择器,,,应为单片机管脚输出电压是恒定的,51中断也是可以实现的
回复

使用道具 举报

ID:7485 发表于 2018-8-3 10:36 | 显示全部楼层
psufhvka 发表于 2018-8-2 22:41
这个看着很简单吧

这个不简单或者说根本做不到。10us能执行几条指令?他还是4路输出,而且每路之间下降沿和上升沿无缝衔接,一条指令都插不进去,怎么切换?
回复

使用道具 举报

ID:385318 发表于 2018-8-20 10:13 | 显示全部楼层
用中断就可以了
回复

使用道具 举报

ID:388067 发表于 2018-8-20 11:32 | 显示全部楼层
你这个频率有点高啊,用硬件电路好点!
回复

使用道具 举报

ID:388116 发表于 2018-8-20 14:06 | 显示全部楼层
gguo2 发表于 2018-8-2 20:57
谢谢回复!

我不需要单片机输出脉冲,只需要按function generator 的周期切换就行。这个跟脉冲有关系 ...

单片机捕获脉冲跟时钟主频也有关系,建议使用ST或新唐的高速MCU来做。
回复

使用道具 举报

ID:388191 发表于 2018-8-20 16:06 | 显示全部楼层
使用外部中断输入捕获上升沿和下降沿
回复

使用道具 举报

ID:381535 发表于 2018-8-21 04:15 | 显示全部楼层
qinmiss 发表于 2018-8-3 10:11
说实话,,,最好用单片机控制多选一数据选择器,,,应为单片机管脚输出电压是恒定的,51中断也是可以实现 ...

谢谢, 你说的是对的,我用4051复用器实现了
回复

使用道具 举报

ID:388356 发表于 2018-8-21 08:49 | 显示全部楼层
使用外部中断输入
回复

使用道具 举报

ID:388356 发表于 2018-8-21 08:50 | 显示全部楼层
使用外部中断输入
回复

使用道具 举报

ID:388013 发表于 2018-8-21 11:55 | 显示全部楼层
可以试试利用延时给io口供高电平通过修改io定时器提供高电平的时间来实现。
回复

使用道具 举报

ID:382067 发表于 2018-8-24 13:19 来自手机 | 显示全部楼层
个人认为如果要求的晶振比较高,而且要生成很多不同的波形,建议转用FPGA
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表