?? timer0int._c
字號:
/*******************************************
文件:TIMER0INT.C
環境:編譯為ICC AVR6.25A,仿真為AVR Studio4.10
硬件:ATMEGA16芯片
日期:2006年12月10日
功能:實現MEGA16的TIMER0的溢出中斷
備注:參考《AVR系列單片機C語言編程與應用實例》(清華大學出版社)
/******************************************/
#include <iom16v.h> //包含型號頭文件
#include <macros.h> //包含"位"操作頭文件
#include <stdio.h> //標準輸入輸出頭文件
#include <AVR_PQ1A.h> //包含自定義常量頭文件
#pragma interrupt_handler Timer0:10
/*******************************************
函數名稱: Timer0_init
功 能: Timer0初始化
參 數: 無
返回值 : 無
/********************************************/
void Timer0_init(void)
{
TCCR0|=0x03; //普通計時模式,普通端口操作,預分頻為64
TCNT0=231; //頻率為2.5KHz
SREG|=BIT(7); //開放全局中斷
TIMSK|=BIT(TOIE0);//開放TIMER0溢出中斷
DDRA|=BIT(PA0); //配置PA0引腳為輸出
}
/*******************************************
函數名稱: Timer0
功 能: Timer0的溢出中斷服務函數
參 數: 無
返回值 : 無
/********************************************/
void Timer0(void)
{
TCNT0=231; //重新賦初值
PORTA^=0X01; //取反PA0引腳,輸出2.5KHz的方波
}
/*******************************************
函數名稱: main
功 能: 完成初始化,等待TIMER0中斷
參 數: 無
返回值 : 無
/********************************************/
void main(void)
{
Board_init( ); //初始化開發板
Timer0_init(); //初始化定時器0
while(1)
{
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -