AVR单片机微秒级和毫秒级延时函数

发布者:delta14最新更新时间:2015-10-19 来源: eefocus关键字:AVR单片机  微秒级  毫秒级  延时函数 手机看文章 扫描二维码
随时随地手机看文章
在用单片机IO口模拟总线时序时老是碰到问题,自己总结了一下大多数是因为我们的延时不准确造成的,所以自己调了两个延时函数,我板子上用的是AT Mega128的单片机和16MHz的晶振,用示波器看了这两个函数产生的波形还挺准确的,希望大家能用得上 ^_^

 

//16MHz晶振   时间范围:1-65535us

void Delay_us(unsigned int us)
{
   unsigned int i;
  i = us/2;
  i--;
  asm("nop"); asm("nop");
    for(;i!=0;i--)      
    {
          asm("nop");     asm("nop");     asm("nop");
          asm("nop");     asm("nop");     asm("nop");
          asm("nop");     asm("nop");     asm("nop");
    }
   
}

//16MHz晶振   时间范围:1-65535ms 

void Delay_Ms(unsigned int t)
 
    for(;t>0;t--)      
          Delay_us(1100);
}

关键字:AVR单片机  微秒级  毫秒级  延时函数 引用地址:AVR单片机微秒级和毫秒级延时函数

上一篇:atmega16与ad530
下一篇:avr调试熔丝位说明,以及引脚失效

推荐阅读最新更新时间:2024-03-16 14:36

AVR单片机片内AD数字模拟转换器程序
/*AVR片内的AD转换器程序,本测试程序是把内部的AD转换器设置为连续转换模式,更多模式相见手册的191-207页*/ #include iom16v.h #define uchar unsigned char #define uint unsigned int #define set_bit(a,b) a|=(1 b) #define clr_bit(a,b) a&=~(1 b) #define get_bit(a,b) a&(1 b) uchar ADC_8bit()//AD转换函数 { ADMUX=0xe0;//*REFS1:0=11H表示参考电压由内部2。56V供电AREF引脚加电容? // ADL
[单片机]
AVR单片机教程——PWM调光
PWM 两位数码管的驱动方式是动态扫描,每一位都只有50%的时间是亮的,我们称这个数值为其占空比。让引脚输出高电平点亮LED,占空比就是100%。 在驱动数码管时,我们迫不得已使占空比为50%,因为不能让两位真正同时地显示不同的数字。但是,我们也可以有意地让LED的占空比不到100%,以降低其亮度。 占空比是可以用程序来调节的。下面的程序允许用户用按键调整蓝色LED的占空比,并通过数码管来显示。 #include ee1/ee.h #define DUTY_MAX 9 int main() { led_init(); button_init(PIN_NULL, PIN_NULL); segment_
[单片机]
基于AVR单片机的AT24C02子程序
/******************************************************************** 目 的: 建立AT24C02操作库 目标系统: 基于AVR单片机 应用软件: ICCAVR *********************************************************************/ /*0101010101010101010101010101010101010101010101010101010101010101010
[单片机]
AVR单片机教程——蜂鸣器
引子 定时/计数器(简称定时器)是单片机编程中至关重要的一部分,再简单的单片机也会带有定时器。 也许你会觉得我们已经在delay函数中接触过定时器了,然而并不是,它只是软件地通过“浪费时间”来实现延时。我们接触定时器在数码管中,segment_auto函数可以自动完成动态扫描,好像在main函数背后又开了一个线程,两者并行执行一样。这就用到了定时器中断。 中断是一种必要的程序流程控制方法,但这两讲我们先聚焦于利用定时器来输出波形。 本讲中,我们用定时器来输出一定频率的方波,让蜂鸣器发出声音。 定时/计数器 ATmega324PA提供了3个定时器:定时器0、定时器1、定时器2。其中,定时器0和2都是8位的,定时器1是
[单片机]
基于AVR单片机和EM4094射频卡读写基站的多协议读写器的设计
引言 射频识别(RFID)是利用无线方式对电子数据载体(电子标签)进行识别的一种新兴技术。与接触式IC卡和条形码识别等系统比较,它有着巨大的优势。利用射频识别技术,能有效实现对数量大、分布区域广的信息进行智能化管理,达到高效快捷运作的目的,特别是在第二代身份证、物流、交通航运、自动收费、超市、门禁系统管理、服务领域等方面有着广泛的应用前景。随着我国国民经济的快速发展,国内RFID行业也正经历着深刻的变革。 RFID系统一般是由读写器、射频卡、应用软件来组成。其中读写器的设计是至关重要的,它决定了系统的稳定性和准确性。 除了要求其能支持一系列协议、标准和收发器外,对读写器可能还有其它功能性方面的要求,如高性能、防冲突、远/近感应距离
[单片机]
基于<font color='red'>AVR单片机</font>和EM4094射频卡读写基站的多协议读写器的设计
AVR单片机的RTOS-AVRX应用
简介:AVRX是一个不错的RTOS,最显著的特点就是内核小,速度快,编译后大概只需500~700字节,且基本的调度功能一个也不少。由于其代码公开,结合不同型号AVR单片机的特性,可以在此基础上进行系统的裁减和扩展,使之能达到更好的效果,本文为AVR嵌入式系统的应用提供了借鉴。 引言 随着技术的发展,嵌入式系统的设计及应用对人们的生活产生了很大的影响,并将逐渐改变人们未来的生活方式,在特定的操作系统上开发应用程序,可以使开发人员忽略掉很多底层硬件细节,使得应用程序调试更方便、易于维护、开发周期缩短并且降低开发成本,因而嵌入式操作系统深得开发人员的青睐。 AVR微处理器是Atmel公司开发的8位嵌入式RISC处理器,它具有
[单片机]
通过采用AVR单片机ATXmega128A1进行便携式仪表的设计
1.引言 工业化仪表,因其集信息的获取.转换.存储.传输.分析.处理及显示于一体而成为工业控制领域的基础和核心之一.随着计算机技术.微电子技术的发展,工业化仪表已逐渐发展成为具有微处理器系统的智能化仪表.便携式智能仪表因其携带方便.操作方便.界面友好.人机接口丰富.功耗低等特性,使得其在当今生活中越来越普及. AVR XMEGA是8/16位AVR微处理器的升级版本.其采用Atmel picoPower技术,所有器件均可使用1.6V工作电压.MCU具有5霺唤醒时间和100nA的业界极低耗电量,其内部增加集成了全速USB?高速高精度模拟系统.DMA控制器和创新的事件系统,最大限度的提升了数据吞吐量和实时性能,并有效减轻了处理器负载
[单片机]
通过采用<font color='red'>AVR单片机</font>ATXmega128A1进行便携式仪表的设计
单键开关电路在AVR单片机中的应用
 1 引 言   单键开关电路已经广泛应用于PDA、手机和电子词典等数码产品中,其实现方式多种多样。一般可采用RS触发器、计数器以及采用555集成电路等等。在单片机的一些实际应用中,以上的实现方式会增加整个电路的复杂度,不能达到简洁、实用的效果。本文将介绍一种可以在单片机应用中实现的,简易、稳定的轻触式单键开关电路。    2 电路原理   如图1所示,DC-DC为一个带有关断控制端的直流稳压电源芯片,MCU是一个单片机。当按下S1时,Q1和D1导通,稳压芯片工作,为单片机供电。单片机马上将相应的I/O引脚置为输出高,这时Q1和Q2导通,整个电路进入工作状态。而后单片机再将这个I/O引脚设置为输入,由于上拉电阻R4的存在,Q
[单片机]
单键开关电路在<font color='red'>AVR单片机</font>中的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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