电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2793|回复: 0
收起左侧

单片机C语言实例-320-输出负脉宽为200微秒的方波

[复制链接]
发表于 2022-3-28 10:08:11 | 显示全部楼层 |阅读模式
单片机C语言实例-320-输出负脉宽为200微秒的方波

//实例54-2:测量负脉冲宽度
#include<reg51.h>   //包含51单片机寄存器定义的头文件
sbit u=P3^2;    //将u位定义为P3.2
/*******************************************
函数功能:主函数
******************************************/       
void main(void)
  {
   TMOD=0x02;  //TMOD=0000 0010B,使用定时器T0的模式2
   EA=1;   //开放总中断
   EX0=1;  //允许使用外中断
   IT0=1;  //选择负跳变来触发外中断
        ET0=1;  //允许定时器T0中断
        TH0=0;  //定时器T0赋初值0
        TL0=0;   //定时器T0赋初值0
        TR0=0;   //先关闭T0
        while(1)  
    ; //无限循环, 不停检测输入负脉冲宽度

}
/**************************************************************
函数功能:外中断0的中断服务程序
**************************************************************/
void int0(void) interrupt 0 using 0 //外中断0的中断编号为0
{
   TR0=1;   //外中断一到来,即启动T0计时
        TL0=0;  //从0开始计时
        while(u==0)  //低电平时,等待T0计时
           ;
                P1=TL0; //将结果送P1口显示
                TR0=0;  //关闭T0
}
               

更多详情参考附件文档
+08:00C130联盟网3719.png
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

发表回复

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

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表