⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer2._c

📁 protues_atmeg8学习之:timer篇源代码
💻 _C
字号:
/******************************************/
//文件名:Timer2CTC.c
//功能: T/C2的CTC模式的应用
//作者:  young
//时间: 2006.10.9
//目标MCU:ATmega8   
//晶振:  8MHZ
/******************************************/
#include <iom8v.h>
#include <macros.h>
#include "Delay.h"

//初始化端口
void init_port(void)  
{   
    DDRB  = 0x08; //OC2(PB3)设为输出
    PORTB = 0xFF;
    PORTC = 0x00;
    DDRC  = 0xFF;
    PORTD = 0x00;
    DDRD |= 0xFF;
}  

//初始化T/C2
void init_timer2(void)  
{     
    TCCR2 = 0x00;     //T/C2工作于定时方式,先停止T/C2 
    TCNT2 = 0x00;     //计数初始值0
    OCR2  = 0xFD;     //设置比较参考值		
    TIMSK|= 0x80;     //打开TOV2的比较匹配中断	
	//T/C2工作于定时方式CTC(WGM2[1:0]=2),
	//比较匹配时触发OC2取反(COM2[1:0]=1),
	//系统时钟256分频(CS2[2:0]=0xC)
	TCCR2|= (1<<WGM21)|(1<<COM20)|(1<<CS22)|(1<<CS21);
}  

//初始化所以硬件 
void init_devices(void)  
{
    CLI();          //关闭全局中断
    init_port();	    
    init_timer2();
    SEI();          //打开全局中断
} 

//主函数
void main(void)  
{
    init_devices();  
    while(1) 
    { 
        ;
    }  
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -