可以借助软件快速生成代码。利用STC-ISP 就可以

1.打开stc-isp后点击软件延时计算器
2.选择好使用的单片机型号、晶振频率、延时的时间
3.点击生成代码 即可。
有时候生成的c代码会有
_nop_(); //这句指令执行仅仅耗费1微秒的时间,可以删除,影响不大
我们可以将这句代码给删除掉 ,不删除程序就会报错(你没有定义_nop_()的前提下)。删除后其实基本上不会产生太大的误差,因为1微妙实在是太短了。
使用心得:
我们可以将生成的代码稍微改造一下,可以让我们的程序更加灵活,例如生成一个一毫秒的延时函数,通过在函数定义时增加一个形参变量,通过形参变量来控制1ms延时程序执行的次数来随意调节时长。
生成后复制过来的代码是这样的:
void Delay1ms() //@11.0592MHz
{
unsigned char i, j;
_nop_();
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
在花括号里面的那一堆程序段就可以空耗CPU一毫秒,从而达到延时。
下面我们对它进行稍微的改造
void Delay(int n) //@11.0592MHz
{

本文介绍如何使用STC-ISP软件快速生成单片机延时代码,并提供了C语言及汇编语言的延时函数改造示例,使程序更加灵活。

1万+

被折叠的 条评论
为什么被折叠?



