swing.c

来自「该程序是NECupd78F9479的开发的代LCD的空调方案」· C语言 代码 · 共 87 行

C
87
字号
#include "define.h"
#pragma rot
unsigned char Step_now;
unsigned char Step;
extern unsigned char C_RMT1s;
extern unsigned char M_FANsp;

sreg unsigned char M_flag10;
#define f_swok 	M_flag10.1                //swing start up and off control flag


extern sreg unsigned char TMflag;

#define f_4ms 		TMflag.1
extern sreg unsigned char M_flag; 

#define f_PWRon1		M_flag.1										//power on flag

void Caltab(void);

const char TEMPTABSING[8]=
{
	0b00000001,
	0b00000011,
	0b00000010,
	0b00000110,
	0b00000100,
	0b00001100,
	0b00001000,
	0b00001001,
};

void swing()
{
	register unsigned char *reg1,reg2,reg3;
if(f_4ms)
	{f_4ms=0;
		if(f_PWRon1)
			{if(Step_now<121)
				{
					if(Step>=8)
							{
								Step=0;
								Step_now++;
							}
							Caltab();
				
				}
				else
					{	
						P8&=0b11100001;
						f_swok=1;
												//turn off SWING PORT
					}		
				
		
			}
	else
			{f_swok=0;
			if(Step_now>0)
				{
					if(Step==255)
							{
								Step=7;
								Step_now--;
							}
							Caltab();
				
				}
				else
					{P8&=0b11100001;							//turn off SWING PORT
					}			
			}
	}
}

void Caltab()
{	register unsigned char *reg1,reg2,reg3;
							reg1=(unsigned char *)(Step+TEMPTABSING);  
							reg3=*reg1;
							Step--;
							reg3=rolb(reg3,1);
							reg2=P8;
							reg2&=0b11100001;
							reg2|=reg3;
							P8=reg2;
}

⌨️ 快捷键说明

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