...我需要编写延时40ms的子程序,但不懂如何入手.麻烦高手们帮帮忙...
发布网友
发布时间:2024-01-10 07:44
我来回答
共2个回答
热心网友
时间:2024-07-24 17:03
首先需要确定晶振频率,然后可以采用软件延时和硬件延时两种方法。
软件延时就是靠编写循环程序让其循环执行来达到延时目的,另一种方法是硬件延时,用单片机内部的定时器来产生延时效果,这种方法不占用CPU资源,推荐用此方法。
首先需要确定晶振频率,然后可以采用软件延时和硬件延时两种方法。
软件延时就是靠编写循环程序让其循环执行来达到延时目的,另一种方法是硬件延时,用单片机内部的定时器来产生延时效果,这种方法不占用CPU资源,推荐用此方法。
假设晶振频率12MHz,那么一个机器周期为12/12MHz=1us
软件延时40ms:
MOV R3,#200
DIY1:MOV R2,#100
DIY:DJNZ R2,DIY;执行一次2us,共执行20000次
DJNZ R3,DIY1
硬件延时涉及到定时器,需要计算定时初值,40ms可以采用定时器的模式1,最大可延时65ms,这个涉及到的东西较多,我就不具体说了,你可以查看单片机的相关书籍,上面讲的很详细。
热心网友
时间:2024-07-24 17:04
告诉我你的晶振频率。还有你是要汇编还是C?都说一下。