51单片机利用for语句嵌套实现简单的延时1s功能 |
您所在的位置:网站首页 › c语言for循环延时1秒怎么写 › 51单片机利用for语句嵌套实现简单的延时1s功能 |
原标题:51单片机利用for语句嵌套实现简单的延时1s功能 51单片机利用for语句嵌套实现简单的延时1s功能 名词解释: (1)时钟周期。定义为时钟频率的倒数,本例使用12MHz的时钟频率,它的时钟周期大约就是1/12μs。 (2)机器周期。单片机的基本操作周期,STC89C51系列的单片机来说,一个机器周期由12个时钟周期组成,也就是1μs。 (3)指令周期。指的是单片机执行一条指令需要的时间,一个指令周期需要1~4个机器周期。一个for循环需要8个指令周期。 假设单片机采用了12MHz的时钟频率,利用for语句嵌套实现简单的延时1s功能。 unsigned int i; Unsigned char j; //定义两个循环变量i、j for (i = 1000; i > 0; i--) //外层循环1000次 for (j = 124; j > 0; j--) ; //内层循环124次 内层循环代码含义: 在12MHz的时钟频率下,for循环124次所消耗的时间ntime是: ntime= 124次 × 8个指令周期 × 1μs = 992μs 也就是内循环延时大概为1ms。 那么,全部执行完成花费的总时间T大约是: T = 1000 × ( ntime + 8 × 1 ) = 1000 ms=1s,基本上达到延时1s的功能。这个延时程序中外层循环的变量是多少,整个for嵌套语句就延时大约多少毫秒,在以后的应用当中,会经常用到这个程序进行不需要精确时间的延时。 比如,要实现4s的延时,就把i=1000修改为i=4000就可以了。返回搜狐,查看更多 责任编辑: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |