• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

51单片机1秒内记录高电平脉冲次数的程序

1759609189@qq.com 2017-04-23 浏览量:1820
51单片机1秒内记录高电平脉冲次数的程序
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 輸入時候用Inverter反向(7404),然後51用ISR偵測negative edge(下降沿)

    #include <reg51.h> 
    unsigned char count=0;
    void main() 
    { 
    EA=1; 
    EX0=1;     /*开中断*/
    IT0=1;     /*中断触发方式为下降沿触发*/
    while(1); 
    } 
    void Int0() interrupt 0 using 0   
    /*中断服务程序,interrupt 0是中断类型号  using 0是使用0号寄存器*/
    { 
    //中断服务子程序; 
        count++;
    }
    以上就可以達到您的需求


    • 发布于 2017-04-23
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:6
  • 你的高电平脉冲的最小宽度是多少?如果是在几百微秒以上 可以使用微秒定时器去检测高电平,一秒内计数就OK了
    • 发布于2017-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 就是个中断计数的程序而已,计算上升沿或者下降沿的个数就行
    • 发布于2017-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 用中断触发进入一个函数,然后+1
    • 发布于2017-04-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 用定时器的计数模式,记录一秒内上升沿的个数,即为高电平个数。
    • 发布于2017-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 用定时器的计数模式,记录一秒内上升沿的个数,即为高电平个数。
    • 发布于2017-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 很容易啊,你留个电话,直接跟你说
    • 发布于2017-04-23
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

51单片机1秒内记录高电平脉冲次数的程序