AVR单片机开发4——定时器T0 中断方式
/*定時器T0測試程序????????????????????????????????????? */
/*目標器件:ATmega168????????????????????????????????? */
/*晶振:RC 8MHZ?????????????????????????????????????? */
?????????????????????????????????????????
TCCRn定時計數(shù)器控制寄存器
? TCNTn計數(shù)器,不斷的計數(shù)
? TIMSK定時計數(shù)器中斷屏蔽寄存器
? TIFR中斷標志寄存器
/***************************************************************************/
/*********************************包含頭文件********************************/
#include <_iom88to328v.h>
#include <macros.h>
/****************************************************************************
函數(shù)功能:端口初始化程序
入口參數(shù):
出口參數(shù):
****************************************************************************/
void port_init (void)
{
? DDRB=0XFF;
? PORTB=0XFF;
}
/****************************************************************************
函數(shù)功能:定時器初始化程序
入口參數(shù):
出口參數(shù):
****************************************************************************/
void timer0_init(void)
{
?? TCCR0B = 0x00; //stop
?? ASSR? = 0x00; //set async mode? 設(shè)置異步模式
?? TCNT0 = 0x3c;
?? OCR0B? = 0x00;
?? TCCR0B = 0x05; //1024分頻
}
/****************************************************************************
函數(shù)功能:定時中斷服務(wù)程序
入口參數(shù):
出口參數(shù):
****************************************************************************/
#pragma interrupt_handler timer0_ovf_isr:17
// #define iv_TIMER0_OVF?? 17
void timer0_ovf_isr(void)
{
?? TCNT0 = 0x3c;
?? PORTB ^= 0x01;
}
/****************************************************************************
函數(shù)功能:主程序
入口參數(shù):
出口參數(shù):
****************************************************************************/
void main (void)
{
?? CLI();???? //disable all interrupts
?? port_init();
?? timer0_init();
?? MCUCR = 0x00;
? TIMSK0 = 0x01;??? //T0溢出使能
?? SEI();????? //enable interrupts?? ?
}
完整資料打包(含仿真):
AVR單片機開發(fā)1-5程序及仿真合集-單片機文檔類資源-CSDN下載
總結(jié)
以上是生活随笔為你收集整理的AVR单片机开发4——定时器T0 中断方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家用无线路由做MAC绑定防止卡王***
- 下一篇: 黑盒测试分类