我刚学单片机的,我需要编写延时40ms的子程序,但不懂如何入手.麻烦高手们帮帮忙!谢谢

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:57:48

首先需要确定晶振频率,然后可以采用软件延时和硬件延时两种方法。
软件延时就是靠编写循环程序让其循环执行来达到延时目的,另一种方法是硬件延时,用单片机内部的定时器来产生延时效果,这种方法不占用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,这个涉及到的东西较多,我就不具体说了,你可以查看单片机的相关书籍,上面讲的很详细。

告诉我你的晶振频率。还有你是要汇编还是C?都说一下。