只要脉冲波形和幅度合适,直接输入单片机的任何一个引脚,如 P1^0.
在收到高电平时启动定时器,低电平时关闭定时器,即可得到脉冲宽度
TH0=0;//清定时器
TL0=0;
while(P1^0!=1);//等待高电平到来
TR0=1;//启动定时器
while(P1^0==1);//等待高电平过去
TR0=0;//关闭定时器
tt=TH0256+TL0;//读定时器值,假设不溢出
如果脉冲频率较高,改为用计数器测量单位时间内的脉冲个数的方法
1、打开Simulink,创建一个新的模型。
2、在Simulink库浏览器中找到PulseGenerator模块,并将其拖拽到模型中。
3、在PulseGenerator模块的参数设置中,将“Sampletime”设置为所需的采样时间,将“Pulsewidth”设置为所需的脉冲宽度。
4、将一个变量或者参数控制器连接到PulseGenerator模块的“Pulseperiod”输入端口,以实现频率可调。这个变量可以是一个常数,也可以通过添加一个“FromWorkspace”模块来从工作区中读取一个变量。
5、连接PulseGenerator模块的输出到模型中的其他模块进行进一步处理或显示。
6、运行模型,可以通过更改连接到“Pulseperiod”输入端口的变量的值来调整脉冲信号的频率。
根据计时器重复计时此半周期时间再对I/O反相,在I/O脚上得到此频率的脉冲。
根据百度百科查询显示,利用定时器T1的中断来控制蜂鸣器发出1kHz的音频信号,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。
计算机内的信号就是脉冲信号,又叫数字信号。此外,脉冲也用来表示思想感情上的冲动和要求。
以上就是关于如何向单片机提供一个外部脉冲信号供定时器测量全部的内容,包括:如何向单片机提供一个外部脉冲信号供定时器测量、matlab中simulink如何搭建频率可调的脉冲信号、如何根据音频的周期计算脉冲数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)