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

📄 main._c

📁 avr单片机ATMega16对三相异步电机的智能控制源码
💻 _C
字号:

///////////////////////////////////////////////////////////////
/**************************************************************

	公司名称:	 扬州恒博科技
	模块名	:	 点动型STQ执行机构主控程序 
	创建人	:	 章俭文                                         
	日期	:	 2008/08/19	                                         
	功能描述:   完成对本地旋钮和远程开关量的控制功能                                
	其它说明:   编译环境为ICCAVR V6.31A                                            
	版本	:	 V1.0

**************************************************************/
///////////////////////////////////////////////////////////////

#define MAIN_GLOBAL
#include "main.h"


static void InitPort(void);
static void InitDevices(void);


void main()
{

 InitDevices();		   		  //设备初始化
     				   
 SCH_Add_Task(Motor, 900, 1);   //电机任务,10ms循环一次
 
 SCH_Add_Task(Alarm,901,10);	  //LED告警指示,100ms循环一次

 SCH_Add_Task(check,1,0);	  //电机参数检测任务,只上电时执行一次
 
 SCH_Start();   

 while(1)
 { 
  SCH_Dispatch_Tasks();
 }
 
}


static void InitDevices(void)
{
 CLI();	   			   //关中断
 
 InitPort();		   //IO端口初始化
  
 StopMotor();		   //设置电机关
 
 
 MotorFlag = STOP;	   //状态标识
 ControlFlag = IN_LOCAL;
 limit_direction = 1;
 
 SetLocalLed();		   //本地LED指示
 ClrRemoteLed(); 
 
 MCUCR = 0x00;
 GICR  = 0x00;
 TIMSK = 0x04; 		   //timer interrupt sources
 
 InitTimer1();		   //调度定时器
 
 OutWdServer();       //喂外部看门狗
}


static void InitPort(void)
 {  
    PORTB =(1<<LOCAL_LED)|(1<<REMOTE_LED)|(1<<OUT_WD);
    DDRB=((1<<LOCAL_LED)|(1<<REMOTE_LED)|(1<<OUT_WD)); 
		
	PORTA =0x00;
    DDRA=0x00;
	
    PORTC =0x00;
    DDRC =(0<<LOCAL_CLOSE)|(0<<LOCAL_OPEN)|(1<<MOTOR_1)|(1<<MOTOR_2);
	    
	PORTD =0x00;
    DDRD = ((0<<REMOTE_STOP)|(0<<REMOTE_CLOSE)|(0<<REMOTE_OPEN))|((1<<S1|(1<<S2))); 
	
 }
 
 
void OutWdServer(void)    //喂外部看门狗
{
 	static uchar WdFlag=1;
	
    if (WdFlag)
	{
	    SetOutWd();
	    WdFlag=0;
    }
    else
    {
	    ClrOutWd();
	    WdFlag=1;
    }
}

⌨️ 快捷键说明

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