C51软件精确延时(us级)

发布者:初入茅庐最新更新时间:2021-11-24 来源: eefocus关键字:C51  软件  精确延时  us级 手机看文章 扫描二维码
随时随地手机看文章

C语言代码如下:


/*----------------------------------------------------------------------

Function: 软件精确延时

Descripton: 一种是利用C51的赋值、比较、自减三个单周期指令实现的软件延时;

另一种是利用C51库函数_nop_()软件延时一个机器周期。

系统晶振频率为: 11.0592MHz

Author: Zhang Kaizhou

Date: 2019-6-19 11:51:55

-----------------------------------------------------------------------*/

#include

#include

#define uchar unsigned char

#define uint unsigned int


void main(){

uint i; // 可通过改变i的数据类型来扩大延时的长度范围

i = 100; while(i) i--;

/*

延时长度 = 10.85 + (i - 1) * 8.68;

则i = ((延时长度 - 10.85) / 8.68) + 1;

例:延时60us, 则i = (60 - 10.85) / 8.68 + 1 = 7;

(i的值为向上取整时,延时时长会略大于目标时长[2个机器周期];

(i的值为向下取整时,延时时长会略小于目标时长[2个机器周期])

*/

_nop_(); // 延时一个机器周期1.08us

while(1);

}

关键字:C51  软件  精确延时  us级 引用地址:C51软件精确延时(us级)

上一篇:LCD1602显示总结
下一篇:单片机控制直流电机从而实现各种运动组合

推荐阅读最新更新时间:2024-11-08 10:38

基于模块化设计的嵌入式软件测试方法
摘要:分析嵌入式软件的特点,综述传统的软件测试方法;针对嵌入式软件的特点,提出嵌入式软件的四级测试流程和集成测试的测试模型,并结合开发数控系统的实例进行分析。 关键词:模块化设计 嵌入式软件 软件测试 测试方法 测试模型 数控系统 嵌入式设计已经成为工业现代化、智能化的必经之路,嵌入式产品已经深入到各行各业。嵌入式系统的专用程度较高,系统的整体继承性相对较小,为了保证系统的稳定性,软件的测试成为嵌入式开发的一个重要环节。由于嵌入式软件自身的特点,传统的软件测试理论不能直接用于嵌入式软件的测试,因此,研究嵌入式软件的测试有重要意义。 1 基本概念简述 1.1 模块化设计 软件的设计是以一定的方法为基础的。面对越
[应用]
Microscan推出I-PAK®软件与多达四个机器视觉智能相机支持
2014 年 11月—Microscan, 在全球领先的条码,机器视觉,和照明解决方案,宣布推出 Visionscape® I-PAK® VH, 一个软件解决方案,使该公司最新的机器视觉智能相机的能力,一个简单的,机器视觉检测的自适应接口。 在1988发布的Itran(在Microscan公司系一家),I-PAK最初设计用于在制药应用标签的质量检验。软件符合药品市场的需求完美,提供21 CFR Part 11的规定通过密码保护的用户角色和工具包检查任务从标签的存在和位置,日期/批号的精度,基本就像盖放置产品的完整性。自发布,I-PAK已成为医药和其他包装行业的最广泛的选择的包装检测系统。今天,Microscan公布其最新
[物联网]
C51中的INTRINS.H:内部函数
函数名: _crol_,_irol_,_lrol_ 原 型: unsigned char _crol_(unsigned char val,unsigned char n); unsigned int _irol_(unsigned int val,unsigned char n); unsigned int _lrol_(unsigned int val,unsigned char n); 功 能:_crol_,_irol_,_lrol_以位形式将val 左移n 位,该函数与8051 RLA 指令 相关,上面几个函数不同于参数类型。 例: #include main() { unsigned int y; C
[单片机]
英特尔Jack Weast:探索未来汽车,软件定义汽车时代已来临
英特尔汽车业务致力于采用更具灵活性与多样性的开放式架构 Jack Weast ,英特尔院士、英特尔公司 副总裁、 汽车事业部总经理 我从小生活在一个酷爱汽车的家族中,对汽车有着近乎狂热般的喜爱。人们戏言称我们家私人汽车的数量必须超过我父母结婚的周年数,而我父母已经将这一纪录保持了近 50 年。我们有许多辆阿尔法、科尔维特、克莱斯勒、菲亚特、雷诺、宝马、名爵、梅赛德斯、凯迪拉克、雪佛兰、玛莎拉蒂、法拉利、吉普车、还有一辆道奇公羊面包车和卡车、本田,还有很多车我甚至都记不清了。 作为英特尔汽车事业部的领导者,老实说,我来到这里是出于对汽车的热爱。 然而随着时间的流逝,我的家人由于超过了安全
[汽车电子]
英特尔Jack Weast:探索未来汽车,<font color='red'>软件</font>定义汽车时代已来临
C8051F(330)精确延时程序(24.5M)
//********************************************** // 功能:C8051F(330)精确延时 24.5M //********************************************** #include c8051f330.h #include intrins.h //---------------------------------------------- void Reset_Sources_Init() { RSTSRC = 0x04; } void PCA_Init() { PCA0MD &= ~0x40; PCA
[单片机]
c51 串口 波特率的计算
在串行通信中,收发双方对发送或接收的数据速率要有一定的约定,我们通过软件对MCS 51串行口编程可约定四种工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T溢出率决定。 串行口的四种工作方式对应着三种波特率。由于输人的移位时钟的来源不同,所以,各种方式的波特率计算公式也不同。 一、方式0的波特率 方式0时,移位时钟脉冲由56(即第6个状态周期,第12个节拍)给出,即每个机器周期产生一个移位时钟,发送或接收一位数据。所以,波特率为振荡频率的十二分之一,并不受 PCON寄存器中SMOD的影响,即: 方式0的波特率=fosc/12 三、方式l和方式3的波特率 方式1和方式3
[单片机]
<font color='red'>c51</font> 串口 波特率的计算
51单片机之实现流水灯
在实现流水灯之前,我们有必要提一点,C51代码在写之前,要参考电路图来写。拿流水灯来说,我们来看图二,LED灯,也就是二极管,八只LED的正极通过一根总线接在+5V的电压上,再看图一,可知八只LED灯的负极接在LED、P2的8个I/O口上。根据二极管的导通条件可知,在单片机的IO口输出低电平时,才能点亮LED灯。 下面贴上代码: #include reg52.h #define uchar unsigned char #define uint unsigned int sbit LED1 = P2^0; sbit LED2 = P2^1; sbit LED3 = P2^2; sbit LED4 = P2^3;
[单片机]
51单片机之实现流水灯
射频EDA仿真软件介绍(包括算法,原理)
  微波系统的设计越来越复杂,对电路的指标要求越来越高,电路的功能越来越多,电路的尺寸要求越做越小,而设计周期却越来越短。传统的设计方法已经不能满足系统设计的需要,使用微波EDA软件工具进行微波元器件与微波系统的设计已经成为微波电路设计的必然趋势。随着单片集成电路技术的不断发展,GaAs、硅为基础的微波、毫米波单片集成电路(MIMIC)和超高速单片集成电路(VHSIC)都面临着一个崭新的发展阶段,电路的设计与工艺研制日益复杂化,如何进一步提高电路性能、降低成本,缩短电路的研制周期,已经成为电路设计的一个焦点,而EDA技术是设计的关键。EDA技术的范畴包括电子工程设计师进行产品开发的全过程,以及电子产品生产过程中期望由计算机提供的各
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved