营销型网站有哪些平台,设计制作合同交印花税吗,网站短链接生成器,wordpress主题:yusi目录
前言
一、原理图及知识点介绍
二、代码分析
知识点四#xff1a;delay(u16 i)这个函数为什么i1时#xff0c;大约延时10us#xff1f; 前言
已经是第二个实验了#xff0c;上一个实验是点亮第一个LED灯#xff0c;这个实验是LED的闪烁。 一、原理图及知识点介绍…目录
前言
一、原理图及知识点介绍
二、代码分析
知识点四delay(u16 i)这个函数为什么i1时大约延时10us 前言
已经是第二个实验了上一个实验是点亮第一个LED灯这个实验是LED的闪烁。 一、原理图及知识点介绍
原理图与上一小节相同请参考上一小节
51单片机普中HC6800-EM3 V3.0实验例程软件分析 实验一 点亮第一个LED_ManGo CHEN的博客-CSDN博客
二、代码分析
先来介绍一下工程 下面我们就直接上代码
/**************************************************************************************
* LED闪烁实验 *
实现现象下载程序后D11指示灯闪烁
注意事项无
***************************************************************************************/#include reg52.h //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;sbit ledP0^0; //将单片机的P0.0端口定义为led/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数i1时大约延时10us
*******************************************************************************/
void delay(u16 i)
{while(i--);
}/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{while(1){led0;delay(50000); //大约延时450msled1;delay(50000); //大约延时450ms }
} 前面的知识点一、二、三都在前一小节51单片机普中HC6800-EM3 V3.0实验例程软件分析 实验一 点亮第一个LED_ManGo CHEN的博客-CSDN博客
知识点四delay(u16 i)这个函数为什么i1时大约延时10us 下面是从MCU手册中的原话 从上面可以看出一句汇编指令机器周期12个CPU工作时钟要想知道delay这个函数中的while语句翻译成汇编有几条汇编指令组成 我们使用的为12MHZ的晶振也就是一个机器周期为1us
下面我我们仿真做实验
1、先将程序运行到while语句开头此时系统运行时间为394us 2、再将程序运行到while语句结尾处此时系统运行时间为401us消耗了7us的时间刚好执行了7条汇编指令。 3、再将程序运行到while语句开头处此时系统运行时间为403us共消耗了9us的时间大概10us的样子不是太准确 因为不是太准确例程中
delay(50000); //大约延时450ms
确实是用的9us来计算的延时。 现在知道单片机中的延时是怎么得出来的了吧。