请问怎样用89C51采集多路脉冲信号?

2015-04-24来源: laogu关键字:89C51  脉冲信号
问:怎样用89C51采集多路脉冲信号? 脉冲信号是一方波,需要用89C51进行脉冲计数,如果一路的话是不是可以用计数器啊?如果路数较多呢?

答:
要看频率多高,如果不高可以通过查询实现多路计数。(yanggt)2005-3-5 14:15:00 

频率在1-3000Hz之间,好实现吗?(athome)2005-3-5 16:22:36 
3000Hz,十几路也没问题。(yanggt)2005-3-5 22:55:08 
yanggt:能指点的具体一点吗?我悟性差,两天也没悟出来!(athome)2005-3-11 15:56:35 

比如说采样8路信号,把8路信号接在单片机某个口上(如p1口), 然后以信号的最高频率的两倍定时读取这个口上的信号,如果某一位发生了电平变化,改路计数值就加一,同理,十几路也可以同样处理。(cjs)2005-3-11 16:36:12 -35

防万一,先向采集脚写1,再读入(禤显佳)2005-3-11 16:50:53 

加上一句,要以最小的信號的寬度計算頻率. 
比如,一個脈衝高(低)電平為1us,低(高)電平為1ms,
你不能說是1khz,而應是1mhz.

统计1秒内各路信号发生跳变的次数,然后分别除以2,结果就是频率。(yanggt)2005-3-12 14:42:56 

几条指令供你参考: 
    MOV    B, P1
CLP:    MOV    A, P1
    XCH    A, B
    XRL    A, B        ;发生跳变的引脚对应的
位=1
CCH0:    JNB    ACC.0, CCH1
    INC    CNTR0
    ...
    ...
CCH1:    JNB    ACC.1, CCH2
2005-3-12 14:47:19


谢谢各位鼎力相助,只是觉得有些地方不妥,比如-- 
比如,如果键盘或者液晶屏或者其它某地方发生中断要求处理,或
者某地方需要精确延时,耽误了P1口的查询,不是很容易丢失脉冲
数吗?

这些就需要编程技巧了,都可以解决。 
“如果键盘或者液晶屏或者其它某地方发生中断要求处理",这些是不
会经常发生的。有足够的时间处理他们。

"某地方需要精确延时,耽误了P1口的查询",还有定时器呢!

关键字:89C51  脉冲信号

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/2015/0424/article_19607.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MCS-51系列单片机的结构
下一篇:LCD 240*128 T6963C C51程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Autotalks和大唐完成C-V2X芯片组级互操作性评估

Autotalks和大唐已于6月底在北京完成了对C-V2X直接通信相应解决方案的芯片组级互操作性评估,以验证其解决方案并得出结论,它们的功能符合3GPP Rel.14 标准。Autotalks和大唐的原始测试是根据最新的CCSA(中国通信标准协会)草案制定的标准正在考虑世界上第一个。该测试具有开创性,展示了Autotalks公司独立的直接通信(PC5)解决方案的准备情况,使他们在中国部署C-V2X成为可能。“在与中国领先的汽车制造商进行多次成功的现场测试后不久,大唐实现了这个重要的里程碑,显示了我们的C-V2X技术在大规模部署方面的成熟,”Autotalks的亚太区业务开发和营销副总裁Ram Shallom说
发表于 2019-07-19

新版USB Type-C新规范出炉,可直接支持HDMI输出

 USB Type-C接口有可能成为未来多数笔记本电脑、智能手机的唯一数据接口,但这些仅支持USB接口的设备仍必须与那些非USB接口的设备进行交互,比如显示器、电视机等。因此,设计人员需要考虑如何在单个连接器中实现USB和其他高速接口的转换,其中涉及到切换引脚功能、提供诸如ESD的外部瞬变保护以及维护信号质量等问题。USB Type-C标准通过定义备用模式(Alt Mode)来满足这些需求,这种方法能够动态地更改引脚的功能,从而支持非USB的数据传输协议。 本文对各类标准进行了介绍,有了这些标准,USB Type-C才能连接到HDMI或其他非USB形式的数据接口。本文中还包含将HDMI备用模式增加到USB
发表于 2019-07-19
新版USB Type-C新规范出炉,可直接支持HDMI输出

ETC在国内不温不火发展4年,终于迎来了高光时刻?

ETC支付使用率约45%,而随着车联网和智慧交通的不断发展,未来ETC的地位很有可能受到一定的打击。  这还得从ETC的原理说起。ETC,其英文全称是Electronic Toll Collection System,翻译过来就是电子不停车收费系统,ETC的实现离不开三大要素:车载电子标签(OBU)、路侧单元(RSU)和专用短程通信技术(DSRC)。当车辆驶近收费站时,OBU与RSU通过DSRC进行通讯,利用计算机联网与银行进行后台处理,从而达到车辆不停车即可完成交费的目的。 而DSRC,笔者在《DSRC之殇,车联网真的要向C-V2X一边倒了吗?》这篇文章中曾盘点过这项技术,就车联网应用而言,它并不
发表于 2019-07-17
ETC在国内不温不火发展4年,终于迎来了高光时刻?

STM32开发笔记11: 在Keil中使用C++进行程序设计

单片机型号:STM32F030R8    希望在Keil中使用C++进行程序设计,开始时,总是报错,经过仔细分析,原因时Keil在默认情况下不支持C++进行程序设计。本文将介绍在Keil中使用C++进行程序设计的方法。    1、在Keil中使用C++进行程序设计,首先需要系统支持,如下图所示。      2、建立类,需要2个文件,cpp和hpp,在hpp中对类进行描述,在cpp中完成函数实现。      依循上述方法就可以使用C++进行程序设计了。
发表于 2019-07-17
STM32开发笔记11: 在Keil中使用C++进行程序设计

STM32开发笔记73: C++中子类调用父类同名函数的处理方法

单片机型号:STM32L053R8T61、问题父类有1方法:Enable_RS485,如下所示:class CUart{public: uint8_t u8_UartNumber; //端口号1-8 uint32_t u32_BaudRate; //波特率 uint8_t u8_Parity; //效验位 CC0 C0; //485控制引脚C0 CC1 C1; //485控制引脚C1 UART_HandleTypeDef hUART; uint8_t u8_UartReceiveBuffer[1];public: CUart(uint8_t
发表于 2019-07-13

浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)

引子STM32的硬件I2C很多人都对它望而却步。因为很多电工都说,STM32 硬件 I2C有BUG、不稳定、死机等等……最后都使用GPIO模拟I2C。的确,模拟I2C好用。但是在我看来在一个72M的Cortex-M3的MCU上这样做非常不妥。一般来说I2C是一种慢速总线,就算工作在400kHz的快速模式上,I2C传送每个字节仍需要至少23us——还没有计算地址、起始信号和结束信号的发送。如果使用GPIO模拟的I2C,这23us的CPU时间都在空转中浪费了,而这23us已经可以做不少的事情了,所以在STM32上I2C还是使用硬件为佳——虽然它多多少少有点缺陷。这篇文章不是给完全没有接触过STM32 硬件I2C的新手看的,看这
发表于 2019-07-13
浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved