发布网友 发布时间:2022-04-22 09:25
共3个回答
热心网友 时间:2023-08-16 06:50
你可以查一下每条for语句里面执行的时间啊,i=400,就是一个变量,通过改变其值来改变for的运行时间,就可以改变频率了。
你也许是想问为什么400就是1000HZ的频率。怎么计算的,对吧。
告诉你一个简单可行的办法,就是用proteus仿真软件,测试一下你的for的运行时间。
简单说就是设置一个IO口,当运行完for后,让该IO口取反,在测试程序中用whie(1) 一直这样做。然后通过proteus观察IO口的高低电平的变化时间,就可以知道for的运行时间了。当然,这也只是一个大概的测试方法。
粗略的延时就用for语句等实现,精确延时是用定时器完成的。
像你这个程序,只是个大概延时,没必要搞得非常精确,所以就用for语句实现了。
热心网友 时间:2023-08-16 06:50
/*------1000HZ-------*/就是不知道这些频率是怎么计算出来的 ,单片机的晶振是12MHZ,单片机初学者,请求用你通俗易懂的语言解释,谢谢,非常感谢,郁闷好几天了。
----
不是算的,是试验出来的。
想要输出不同的频率,就需要改变周期。
改变延时时间,即可:yanshi(7);、yanshi(10);。
要想得到准确的时间,就应该用汇编语言来编程。
用C语言,没有办法算时间,只能是瞎猫...。
热心网友 时间:2023-08-16 06:51
这程序里调用了一个延时程序 yanshi(10);