访问电脑版页面

导航:老古开发网手机版AVR单片机ATMega8系列单片机

atmega8 例程:系统库函数的延迟

导读:/************************************************************ 函数库说明:ATMEGE8 延迟库函数* 版本: v1.0 * **
关键字:
atmega8,延迟,系统库函数,

/***********************************************************

* 函数库说明:ATMEGE8 延迟库函数

* 版本: v1.0

*

************************************************************

*注意: LED PC5

***********************************************************/

#include

//定义外部晶振

#define F_CPU 6000000UL

//延迟包含头文件

#include

//函数声明

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);

}

}

}


//首先库文件里面不再定义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.

*/


来源:互联网   作者:karen  2019/1/7 12:20:01
栏目: [ ATMega8系列单片机]

相关阅读

atmega8 例程:USART串口通信

ATmega8多数的I/O口外部中断问题

atmega8 例程:系统库函数的延迟

atmega8 例程:PWM

atmega8 例程:AD中断方式采集

ATmega8控制STA013和MMD/SD卡的电路图

atmega8 默认内部RC振荡 + 解锁

用 Atmega8 实现D触发锁存器的功能

ATmega8驱动74HC595程序

基于ATmega8的电动车蓄电池智能管理系统设计

让atmega8可以和飞思卡尔xs128一样对IO引脚进行定义

基于ATmega8的超声波倒车雷达实现方案

ATMega8 查询方式 A/D转换测试程序

8 位AVR® 微处理器 ATmega8515 ATmega8515L

基于Stm32F101和Atmega8的投影机升降控制设计

ATmega8单片机与时钟器件DS3231的接口设计

ADF7020+ATMEGA88原理应用

基于ATmega8的新型电动自行车调速控制系统设计

ATmega8535L ATmega8535L AVR® 微处理器

[转载]基于Atmega8及MSM7512的嵌入式Modem设计