这里以51单片机为例。
之前帖子说道,如果有示波器,可以准确的测量代码延时的脉宽,根据示波器测量的结果做相应的调整,确保延时函数能达到满意的效果,如果没有示波器呢?
Keil集成开发软件已经帮你集成了虚拟的仪器:逻辑分析仪。
第一步,编写一个简单的方波程序。
#include "reg51.h"
#include "INTRINS.h"
sbit DQ=P1^1;
void Delay(char i)
{
while(i--)
_nop_();
}
void main(void)
{
while(1)
{
DQ=1;
Delay(48);
DQ=0;
Delay(48);
}
}
第二步,设置工程以你指定的时钟,并编译工程。
这里我设置的11.0592MHz晶振。
工程的Debug默认即可,即为模拟调试器
然后设置优化等级为0,不优化。编译后运行Debug
第三步
单击下面右边的箭头,调出下面那个虚拟逻辑分析仪,然后点SETUP,设置要跟踪的变量或寄存器,这里我们输入DQ,保存,单击第一个箭头运行。
之后按下停止,画面停止,这时候我们可以测量脉宽。
单击波形的某个点,作为测量起点,如下所示,然后鼠标在上面移动,会看到一个蓝色竖线这是相对偏移测量线,我们可以看到放到下降沿时候的数字变化,d:0.485026ms这就是测量的高电平脉宽。
这告诉我们程序产生的高电平脉宽是约485us,符合我们的设计要求。
你学会了吗?
|