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

📄 main__.c

📁 编写的一个简单的定时器程序
💻 C
字号:
#include <mega128.h>
	#ifndef __SLEEP_DEFINED__
	#define __SLEEP_DEFINED__
	.EQU __se_bit=0x20
	.EQU __sm_mask=0x1C
	.EQU __sm_powerdown=0x10
	.EQU __sm_powersave=0x18
	.EQU __sm_standby=0x14
	.EQU __sm_ext_standby=0x1C
	.EQU __sm_adc_noise_red=0x08
	.SET power_ctrl_reg=mcucr
	#endif
#include "initTimer.h"
#define led1 PORTC.3;
#define led2 PORTC.5;
//unsigned char num2=0;
//unsigned char num1=0;

void main(void)
{
 #asm("cli");
  initTime0();
 #asm("sei");
   while(1);
  /* {
     while((TIFR&0X02)==0);
     TIFR |=0X02;
     //TCNT0=56;
     num++;
     if(num>=18)
      {
       num=0;
      // PORTC.3 ^= 1;
       PORTC.3=!led;
       OCR0 +=1;
       if(OCR0>210)
       OCR0=100;
       }
   }  */
}

interrupt [TIM3_OVF] void timer3_isr(void)
{
 /*    num1++;
     if(num1%2==1)
       OCR0=255;
     else
       OCR0=127;
     if(num1>=28)
      {
        num1=0;
        // PORTC.3 ^= 1;
        PORTC.3=!led1;
      //  OCR0 +=1;
      //  if(OCR0>210)
     //   OCR0=100;
      }  */
      if(OCR3AH<56)
      OCR3AH++;
      else
      OCR3AH=14;
}

/*interrupt [TIM0_OVF] void timer0_isr2(void)
{
     num2++;
     if(num2>=14)
      {
        num2=0;
       // PORTC.5 ^= 1;
        PORTC.5=!led2;
       // OCR0 +=1;
      //  if(OCR0>210)
      //  OCR0=100;
      }
}                      */
#include <mega128.h>
	#ifndef __SLEEP_DEFINED__
	#define __SLEEP_DEFINED__
	.EQU __se_bit=0x20
	.EQU __sm_mask=0x1C
	.EQU __sm_powerdown=0x10
	.EQU __sm_powersave=0x18
	.EQU __sm_standby=0x14
	.EQU __sm_ext_standby=0x1C
	.EQU __sm_adc_noise_red=0x08
	.SET power_ctrl_reg=mcucr
	#endif
void initTime0(void)
{
//    PORTC = 0X08;
    DDRE = 0X08;
   // TCNT0=56;
   ICR3H=56;
   ICR3L=64;
   OCR3AH=14;
   OCR3AL=16;
   //OCR0=127;
   TIMSK |=0X04;
   TCCR3A=0xc2;
   TCCR3B=0x1D;
}




⌨️ 快捷键说明

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