atmega8 例程:定时器T1 普通模式

本文详细介绍了如何使用ATMEGA8单片机的定时器T1进行普通模式的10ms定时操作,包括初始化设置、中断处理及应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
/*****************************************************************
*  函数库说明:ATMEGA8 定时器T1 普通模式
*  版本:      v1.00
*  修改:      庞辉    芜湖联大飞思卡尔工作室             									       
*  修改日期:  2011年08月11日 							   
*			   											   
*  说明:	   6M外部晶振    10ms定时
*                                                          
*  版本更新:  详见readme.txt
*
*              20110805  V1.02                                            
*                                                                                          
******************************************************************
*注意: LED   PC5
******************************************************************/

#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)
{
    //LED设置为输出
    DDRC |= (1 << DDC5);
    
    //6M / 8 * 7500 = 10ms
    TCNT1 = 65535 - 7500;
    //开定时器T1溢出中断
    TIMSK |= (1 << TOIE1);
    //开总中断
    sei(); 
    //T1定时器普通模式、8分频,并开启定时器
    TCCR1B |= (1 << CS11);

    while(1);

    return 0;
}  

volatile int i = 0;

SIGNAL(SIG_OVERFLOW1)
{
    i++;
    TCNT1 = 65535 - 7500;
    //LED电平取反

    //当i累加到100时,即1s
    if(i == 100)
    {
        i = 0;
        PORTC ^= (1 << PC5);
    }
}

产品特性 • 高性能、低功耗的 8 位AVR® 微处理器 • 先进的RISC 结构 – 130 条指令 – 大多数指令执行时间为单个时钟周期 – 32个8 位通用工作寄存器 – 全静态工作工作16 MHz 时性能高达16 MIPS – 只需两个时钟周期的硬件乘法器 • 非易失性程序和数据存储器 – 8K 字节的系统内可编程Flash 擦写寿命: 10,000 次 – 具有独立锁定位的可选Boot 代码区 通过片上Boot 程序实现系统内编程 真正的同时读写操作 – 512 字节的EEPROM 擦写寿命: 100,000 次 – 1K字节的片内SRAM – 可以对锁定位进行编程以实现用户程序的加密 • 外设特点 – 两个具有独立预分频器8定时器/ 计数器, 其中之一有比较功能 – 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器 – 具有独立振荡器的实时计数器RTC – 三通道PWM – TQFP与MLF 封装的8 路ADC 810 位ADC – PDIP封装的6 路ADC 810 位ADC – 面向字节的两线接口 – 两个可编程的串行USART – 可工作于主机/ 从机模式的SPI 串行接口 – 具有独立片内振荡器的可编程看门狗定时器 – 片内模拟比较器 • 特殊的处理器特点 – 上电复位以及可编程的掉电检测 – 片内经过标定的RC 振荡器 – 片内/ 片外中断源 – 5种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式及Standby 模式 • I/O 和封装 – 23个可编程的I/O 口 – 28引脚PDIP 封装,32 引脚TQFP 封装,32 引脚MLF 封装 • 工作电压 – 2.7 - 5.5V (ATmega8L) – 4.5 - 5.5V (ATmega8) • 速度等级 – 0 - 8 MHz (ATmega8L) – 0 - 16 MHz (ATmega8) • 4 Mhz 时功耗, 3V, 25°C – 工作模式: 3.6 mA – 空闲模式: 1.0 mA – 掉电模式: 0.5 μA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值