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

📄 time01.c

📁 步进电机的控制程序
💻 C
字号:
/*AD转换需要隔段时间采样一次,用这个方法可以粗略实现1秒定时,
我也时刚刚学习AVR 吧刚做的拿出来和新入门的朋友分享  或许有
帮助。存在问题的地方还请朋友门多斧正。*/ 

//*********************************** 
//函数功能:基准时间100MS 总计定时1S 
//编译器类型及版本:ICCAVR  6.31 

/************************************************************************/
       
#include<iom8v.h>               //包含定义ATmega8寄存器的头文件 
#include<macros.h>           //包含一些常用的宏定义 
#pragma interrupt_handler TIME0:10        //中断向量号码 
char i=0;                   //调整累加基准定时次数的全局变量 
//***********************************************************************/ 
//主函数 
void main() 
{TCCR0=0X05;                 //时钟1024分频 
 TCNT0=0X3A;                 //定时器计数初始值 100ms 
 TIMSK=0X01;            //允许定时器0中断 
 SEI();                    //开全局中断 
 DDRB=0XFF; 
 DDRD=0XFF; 
 PORTB=0Xff; 
 PORTD=0XFF; 
} 
//***********************************************************************/
//定时器中断函数 
void TIME0() 
{if(i<20)                    //i决定循环基准时间的次数 
  {TCNT0=0X3A;                 //重设初始值  100ms 
   i++;                    //累加基准时间 
  } 
 else 
  {PORTD^=BIT(0);                 //翻转PD口电平  
   i=0;                    //定时全局变量恢复初始值 
  }    
} 
//结束******************************************************************/

⌨️ 快捷键说明

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