标题: 如何用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
有一点思路
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |