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

📄 main.c

📁 应用于陵阳单片的电梯,
💻 C
字号:
#include <spce061a.h>
extern void keyscan(void);
extern void up(void);
extern void down(void);
extern void run(void);
extern void hongwai(void);
extern void write(int,int);
extern void dis_key(void);
extern void reset1(void);
int key_code[16];
int floor=1;                                //层位置
int flag=2;                                   //运行方向标志  0为上  1为下  2为停止
int next_floor;
int hongw_flag=0;                                //红外中断标志
void main(void)
{
	reset1();
	reset1();
	write(0x0008,floor);
	while(1)
	{
		*P_IOB_Dir|=0x0c00;
		*P_IOB_Attrib|=0x0c00;
		*P_IOB_Data&=0xf3ff;
	    keyscan();
	    run();
        if(next_floor>floor)                         //上升,状态标志为0
        {
        	*P_IOB_Dir|=0x0c00;
		   *P_IOB_Attrib|=0x0c00;
		   *P_IOB_Data&=0xf3ff;
        	if(flag==1)
        	    key_code[5+floor*2]=0;	
           key_code[6+floor*2]=0;
    	   flag=0;
    	   while(1)
    	   {	
    	        up();                                 //电机正转,上升
    	        keyscan();
    	        dis_key();
    	        hongwai();
    	        if (hongw_flag)                       //已经平层,则跳出去进行下一个判断
    	    	   break;
    	    }
    	    floor++;
    	    key_code[floor]=0;  
    	    write(0x0008,floor);                           
         }
         else if(next_floor<floor)                   //下降,状态标志为1    
         {
         	*P_IOB_Dir|=0x0c00;
		   *P_IOB_Attrib|=0x0c00;
		   *P_IOB_Data&=0xf3ff;
		   if(flag==0)
		        key_code[6+floor*2]=0;
         	key_code[5+floor*2]=0;
    	     flag=1;
    	     while(1)
    	    {
    		   down();                           		  
    		   keyscan();
    		   dis_key();
    		    hongwai();
    		    delay(3);
    		   if (hongw_flag)                          //已经平层,则跳出去进行下一个判断
    	    	   break;
    	     }
    	     floor-=1;
    	     key_code[floor]=0;
    	     write(0x0008,floor);
          }
              else                                          //没有
               {
         	       flag=2;
         	       hongwai();
         	       keyscan();
         	       dis_key();
               }                     
	}
}

⌨️ 快捷键说明

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