zoukankan      html  css  js  c++  java
  • atmega8 例程:系统库函数的延迟

    /*********************************************************** 
    * 函数库说明:ATMEGE8 延迟库函数
    * 版本: v1.0
    * 修改: 庞辉
    * 修改日期: 2011年08月02日
    *
    * 说明: 无
    *
    * 版本更新:
    *
    ************************************************************
    *注意: LED PC5
    **********************************************************
    */

    #include <avr/io.h>

    //定义外部晶振
    #define F_CPU 6000000UL

    //延迟包含头文件
    #include <util/delay.h>

    //函数声明
    void Delay_s(int ss);


    int main(void)
    {
    //LED等PC5设置为输出
    DDRC |= (1 << DDC5);
    //起始PC5输出高电平,LED不亮
    PORTC |= (1 << PC5);

    while(1)
    {
    //取反
    PORTC ^= (1 << PC5);
    //延迟1s
    Delay_s(1);
    }

    return 0;
    }

    /***********************************************************
    ** 名称:void Delay_s(int ss)
    ** 功能:精确1s延迟
    ** 入口参数:ss 需要延时的秒数
    ** 出口参数:无
    ** 使用说明:系统库函数延迟因晶振不同有大小限制
    **********************************************************
    */
    void Delay_s(int ss)
    {
    int i = 0;

    while(ss--)
    {
    for(i = 0; i < 25; i++)
    {
    _delay_ms(40);
    }
    }

    }

    //首先库文件<util/delay.h>里面不再定义F_CPU(即晶振频率),所以在main.c中自行定义。
    //且系统延迟函数因晶振的不同对延迟大小有限制,需要注意:
    /**
    \ingroup util_delay

    Perform a delay of \c __us microseconds, using _delay_loop_1().

    The macro F_CPU is supposed to be defined to a
    constant defining the CPU clock frequency (in Hertz).

    The maximal possible delay is 768 us / F_CPU in MHz.
    */


    /**
    \ingroup util_delay

    Perform a delay of \c __ms milliseconds, using _delay_loop_2().

    The macro F_CPU is supposed to be defined to a
    constant defining the CPU clock frequency (in Hertz).

    The maximal possible delay is 262.14 ms / F_CPU in MHz.
    */
  • 相关阅读:
    weblogic 扩展集群里受管节点
    docker搭建weblogic环境
    Docker 快速删除所有容器
    转载的mysql 相关
    mysql字符集修改步骤
    ORA-12705: Cannot access NLS data files or invalid environment
    Authentication for user weblogic denied
    ONS 禁用
    Java-并发-什么是CAS机制?
    862. 和至少为 K 的最短子数组-前缀和/数组/滑动窗口-困难
  • 原文地址:https://www.cnblogs.com/pang123hui/p/2312376.html
Copyright © 2011-2022 走看看