电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

基于单片机测量脉冲信号高电平宽度的基本原理与实现

来源:-- 作者:-- 浏览:1745

标签:

摘要: 利用单片机测量脉冲信号高电平宽度的基本原理与实现方法,可在此基础上进行功能扩展。实验电路如图l所示。其中,四位数码管用于显示正脉冲宽度(单位为lOμa),是通过单片机外中断INT1和定时器Tl配合来测出外部脉冲高电平持续时间的。   当INT1脚出现下降沿时,进入INT1中断服务程序,程序首先判断脉冲位置,如果是第一个脉冲,则打开计数器T1的开关(将TR1设为1).否则关闭TI的开关(将TR

  利用单片机测量脉冲信号高电平宽度的基本原理与实现方法,可在此基础上进行功能扩展。实验电路如图l所示。其中,四位数码管用于显示正脉冲宽度(单位为lOμa),是通过单片机外中断INT1和定时器Tl配合来测出外部脉冲高电平持续时间的。

  当INT1脚出现下降沿时,进入INT1中断服务程序,程序首先判断脉冲位置,如果是第一个脉冲,则打开计数器T1的开关(将TR1设为1).否则关闭TI的开关(将TRI设为O)。此时.Tl没有马上计数,而是等到P3.4脚出现高电平时才开始计数。主函数在关闭Tl的情况下读取Tl的计数值,并送到四位数码管显示,如图2所示。

 

  1.主函数
  
  主函数前面主要包括基本的IO口定义、全局变量定义、头文件包含、函数声明等。主函数首先调用初始化函数,对各个资源进行初始化操作,然后不断检测TR1的状态,当TRI为O时立即读取THI和TL1的内容,并将其合成16位数据(此处,读者若使用联合体,更易实现).然后根据ERROR标志选择显示数据处理程序。当ERROR为l时,四位数码管显示ERROR.否则显示测得的数值。其程序流程如图3所示。

  2.中断服务函数
  
  定时器Tl工作在定时模式,即方式1.使用GATE控制。该函数的主要功能是完成高电平计数,并判断计数值是否溢出,如果溢出则置Error标志为l。定时器TO主要是给四位数码管提供动态显示数据位的刷新时间。外中断INT1服务函数,首先判断First_Puls_flage标志位的值,根据其值执行相应的程序段。如果FJrst_Puls_flage为l,则表明是第1个下降沿,此时打开计数器等操作;如果First_Puls-nae为0.Tl、TO、INTI中断服务函数清单如下:表明是第2个下降沿,此时停止计数等操作。

 

  //TI中断服务函数

 

  3.初始化函数
  
  初始化函数包括中断初始化函数和其他资源的初始化函数。中断初始化函数配置了中断的触发方式,是否允许中断及定时器工作模式等进行初始操作。

  //初始化配置s

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67