我是靠谱客的博主 落寞野狼,最近开发中收集的这篇文章主要介绍AVR单片机开发4——定时器T0 中断方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


/*定时器T0测试程序                                      */
/*目标器件:ATmega168                                  */
/*晶振:RC 8MHZ                                       */
                                         
TCCRn定时计数器控制寄存器
  TCNTn计数器,不断的计数
  TIMSK定时计数器中断屏蔽寄存器
  TIFR中断标志寄存器


/***************************************************************************/
/*********************************包含头文件********************************/
#include <_iom88to328v.h>
#include <macros.h>
/****************************************************************************
函数功能:端口初始化程序
入口参数:
出口参数:
****************************************************************************/
void port_init (void)
{
  DDRB=0XFF;
  PORTB=0XFF;
}
/****************************************************************************
函数功能:定时器初始化程序
入口参数:
出口参数:
****************************************************************************/
void timer0_init(void)
{
   TCCR0B = 0x00; //stop
   ASSR  = 0x00; //set async mode  设置异步模式
   TCNT0 = 0x3c;
   OCR0B  = 0x00;
   TCCR0B = 0x05; //1024分频
}


/****************************************************************************
函数功能:定时中断服务程序
入口参数:
出口参数:
****************************************************************************/
#pragma interrupt_handler timer0_ovf_isr:17
// #define iv_TIMER0_OVF   17
void timer0_ovf_isr(void)
{
   TCNT0 = 0x3c;
   PORTB ^= 0x01;
}
/****************************************************************************
函数功能:主程序
入口参数:
出口参数:
****************************************************************************/
void main (void)
{
   CLI();     //disable all interrupts
   port_init();
   timer0_init();
   MCUCR = 0x00;
  TIMSK0 = 0x01;    //T0溢出使能
   SEI();      //enable interrupts    
}

完整资料打包(含仿真):

AVR单片机开发1-5程序及仿真合集-单片机文档类资源-CSDN下载

最后

以上就是落寞野狼为你收集整理的AVR单片机开发4——定时器T0 中断方式的全部内容,希望文章能够帮你解决AVR单片机开发4——定时器T0 中断方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部