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

📄 time1.c

📁 AVR定时器1最简例程
💻 C
字号:
/*=========================================================================
*
*  文件名:time1
*
*  文件描述:定时器1范例程序
*
*  创建人: FM
*
*  版本号:1.0
*
*  运行环境:IAR mega8
*
*  修改记录:
*
==========================================================================*/
#include<iom8.h>
#define uchar unsigned char
int tem=0;


//定时器1初始化
void time1_init()
{
  TCCR1B = 0x00;//关闭定时器1
  TCNT1H = (65536-1000)/256;//定义初始值
  TCNT1L = (65536-1000)%256;
  TCCR1A = 0x00;
  TCCR1B = 0x01;//启动定时器1,无分频
}  
void main()
{
  DDRB = 0xff;
  PORTB = 0xFF; 
  
  DDRC = 0xff;
  PORTC = 0xFF;
   
  DDRD=0xFF;    /*方向输出*/ 
  PORTD=0x00;    /*电平设置*/
  
  time1_init(); 
  
  SREG|=0x80;//开中断
  TIMSK = 0x04; 

//  PORTD=0xfe;
  
  while(1);
}

/*中断服务程序*/
#pragma vector=TIMER1_OVF_vect
__interrupt void time1(void)
{
  TCNT1H = (65536-1000)/256;//定义初始值
  TCNT1L = (65536-1000)%256;
  tem++;
  if(tem==1000)
  {
    PORTD_Bit0=~PORTD_Bit0; 
    tem=0;
  }
  
}

⌨️ 快捷键说明

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