为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机C51延时时间怎样计算

2017-09-20 2页 doc 13KB 24阅读

用户头像

is_358746

暂无简介

举报
单片机C51延时时间怎样计算                      单片机C51延时时间怎样计算?  C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。 以某晶振为12MHz的单片机为例,晶振为12MHz即一个机器周期为1us。    一. 500ms延时子程序   程序:         void delay500ms(void)          {           unsigned char i,j,k...
单片机C51延时时间怎样计算
                      单片机C51延时时间怎样计算?  C程序中可使用不同类型的变量来进行延时。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。 以某晶振为12MHz的单片机为例,晶振为12MHz即一个机器周期为1us。    一. 500ms延时子程序   程序:         void delay500ms(void)          {           unsigned char i,j,k;             for(i=15;i>0;i--)             for(j=202;j>0;j--)             for(k=81;k>0;k--);          }      计算分析:          程序共有三层循环         一层循环n:R5*2 = 81*2 = 162us                   DJNZ   2us         二层循环m:R6*(n+3) = 202*165 = 33330us           DJNZ   2us + R5赋值 1us = 3us         三层循环: R7*(m+3) = 15*33333 = 499995us         DJNZ   2us + R6赋值 1us = 3us         循环外:   5us             子程序调用 2us + 子程序返回 2us + R7赋值 1us   = 5us         延时总时间 = 三层循环 + 循环外 = 499995+5 = 500000us =500ms    计算公式:延时时间=[(2*R5+3)*R6+3]*R7+5 程序:      二. 200ms延时子程序 void delay200ms(void)   {           unsigned char i,j,k;             for(i=5;i>0;i--)             for(j=132;j>0;j--)             for(k=150;k>0;k--);   }         三. 10ms延时子程序   程序:    void delay10ms(void)   {           unsigned char i,j,k;             for(i=5;i>0;i--)             for(j=4;j>0;j--)             for(k=248;k>0;k--);   }         四. 1s延时子程序   程序:    void delay1s(void)   {           unsigned char h,i,j,k;   for(h=5;h>0;h--)             for(i=4;i>0;i--)             for(j=116;j>0;j--)             for(k=214;k>0;k--);   } 
/
本文档为【单片机C51延时时间怎样计算】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索