标题: 如何用89C52单片机写脉宽测量的程序?求思路 [打印本页]

作者: small2    时间: 2021-12-17 22:21
标题: 如何用89C52单片机写脉宽测量的程序?求思路
有用89C52写的脉宽测量的程序。一定要用普中51学习板或相通的。要两路信号输入
1. 被测信号从P3.2定为T0和P3.3定为T1入

1. 总体LCD1602显示界面

a.    第一行高8位显示T0脉宽,第二行低8位显示T1脉宽,全用十进制显示
b.    第二行显示用T1的数值除以2个T0的数值。(此处可能要调可能是3个或4个)。N=T1/2T0
c.    如果商结果大于1999时,显示千位的 “OL”,(有两个板本另外一个是大于9999时)
也是最大显示为1999,(或9999),在这要求做3次计数相加求平均值再显示出来,如是9999的要求做5次计数再平均显示出来

作者: 0x0A    时间: 2021-12-17 22:56
这是学校的项目吧,思路在教材里
作者: 陈启泷    时间: 2021-12-18 08:40
自己多动手,这个不难得。网上很多参考
作者: 3125311919    时间: 2021-12-18 18:10

例如这段程序就是检测超声波高电平脉冲的     检测脉冲宽度   可以使用定时器精确计时    类似的
void main(void)
{

         TMOD=0x01;                   //设T0为方式1,GATE=1;
         TH0=0;
         TL0=0;         
         ET0=1;             //允许T0中断
         EA=1;                           //开启总中断       

        LcdInit();
        LcdShowStr(0,0,PuZh);
        while(1)
        {
                 StartModule();
             while(!Echo);                //当RX为零时等待
             TR0=1;                            //开启计数
             while(Echo);                        //当RX为1计数并等待
             TR0=0;                                //关闭计数
         Conut();                        //计算
                 delayms(80);
        }
                       
}


作者: small2    时间: 2021-12-18 21:25
3125311919 发表于 2021-12-18 18:10
例如这段程序就是检测超声波高电平脉冲的     检测脉冲宽度   可以使用定时器精确计时    类似的
void m ...

有一点思路




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1