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

📄 ramset.c

📁 Fujitsu MB89P475的应用实例
💻 C
字号:
#define		DEF_IO
#ifdef		DEF_IO
	#define		EXTERNAL
#else	
	#define		EXTERNAL extern
#endif

unbyte	ResetCode[4];
__direct  union	Flag	CurrencyFlag;
		#define		Flag0					CurrencyFlag.bit.bit0
		#define		Flag1					CurrencyFlag.bit.bit1
		#define		RemoterOnKeyFlag		CurrencyFlag.bit.bit2		//=1 遥控器有开关键操作	
__direct  union	Flag	RemoteWorkFlag;
		#define		RemoteOnFlag	 	RemoteWorkFlag.bit.bit0			//=1线控器有操作,=0线控器无操作
		#define		DelayDisposeFlag 	RemoteWorkFlag.bit.bit1			//模式键延时处理时间标志
		#define		ModeHaveActionFlag 	RemoteWorkFlag.bit.bit2			//模式键有操作
		#define		RemoteModeFlag	 	RemoteWorkFlag.bit.bit3			//=1  集控器 ;=0 线控器
		#define		TempErrorFlag		RemoteWorkFlag.bit.bit4			//集控器传感器故障
		#define		MacNumModeOkFlag	RemoteWorkFlag.bit.bit5			//室内机编号完成
		#define		OldSetMovedOkFlag	RemoteWorkFlag.bit.bit6			//设置转移标志 =1 设置已转移;=0 设置没转移	
		#define		MacNumEntOkFlag		RemoteWorkFlag.bit.bit7			//=1 检测到室内机 =0,没有检测到室内机
__direct  union	Flag	Key_WorkFlag;
		#define		KeyCloseFlag			Key_WorkFlag.bit.bit0		/*/key closed flag*/ 
		#define		KeyOpenFlag				Key_WorkFlag.bit.bit1		/*/等待松开标志:=1 需等待; =0 不等待*/
		#define		KeyReadyFlag			Key_WorkFlag.bit.bit2		/*/key_Scan over flag*/
		#define		KeyEnModiMachineFlag	Key_WorkFlag.bit.bit3		//允许切换机器号标志
		#define		KeyEnModeWatchModeFlag  Key_WorkFlag.bit.bit4		//允许观察室外数据标志
		#define		KeyMulCloseFlag			Key_WorkFlag.bit.bit5		//复合键已经按下
		#define		KeyEnModiInNumberFlag	Key_WorkFlag.bit.bit6		//允许对室内机进行编号
		#define		KeyTempChangeFlag		Key_WorkFlag.bit.bit7		//温度传感器切换完成
__direct  union   Flag	BuzzerLedWorkRegister;
    	#define		LedOn_OffFlag			BuzzerLedWorkRegister.bit.bit0
    	#define		LedWorkingFlag			BuzzerLedWorkRegister.bit.bit1
    	#define		BuzzerOnTimerFlag   	BuzzerLedWorkRegister.bit.bit2
    	#define		BuzzerOffTimerFlag  	BuzzerLedWorkRegister.bit.bit3
    	#define		BuzzerOn_OffFlag    	BuzzerLedWorkRegister.bit.bit4
__direct  union	Flag	A_D_WorkFlag;	
		#define		Eenble_A_D_WorkFlag		A_D_WorkFlag.bit.bit0
//		#define		TempSymbolFlag			A_D_WorkFlag.bit.bit1	//	;=0 是正温度;=1 是负温
		#define		Channels1TransingFlag	A_D_WorkFlag.bit.bit2
__direct  union	Flag	UartFlag;
		#define		UartSendingFlag			UartFlag.bit.bit0			//数据发送中
		#define		UartReceivingFlag		UartFlag.bit.bit1
		#define		UartReceivedFlag		UartFlag.bit.bit2		//数据接收完毕标志		
		#define		UartSendTargetFlag		UartFlag.bit.bit3		//发送目标 =0 发送给室外机 =1 发送给室内机	
		#define		IndoorTestOverFlag		UartFlag.bit.bit4		//=0 室内机检测进行中;=1 室内机检测完毕
		#define		EnLineContrResetOkFlag	UartFlag.bit.bit5		//=1 集控状态复位完毕
//Lcd Area=========================
__direct  union 	Flag	Lcd_WorkFlag;
		#define		LcdResetFlag			Lcd_WorkFlag.bit.bit0	//;=0 no reset  =1 reseted
		#define		LcdAllLightFlag			Lcd_WorkFlag.bit.bit1	//上电复位点亮0.5秒
		#define		LcdClear3sFlag			Lcd_WorkFlag.bit.bit2	//3秒
		#define		LCDChangeSpeedFlag		Lcd_WorkFlag.bit.bit3	//风速叶片切换标志
		#define		LcdFanDoorFlag			Lcd_WorkFlag.bit.bit4	//风门叶片切换标志
		#define		LcdFanDoorAspectFlag 	Lcd_WorkFlag.bit.bit5	//风门叶片切换方向标志
		#define		LcdOffDisposeFlag		Lcd_WorkFlag.bit.bit6	//没有开机时,按开关键以外的键首次显示
		#define		LcdDisModeSavedFlag 	Lcd_WorkFlag.bit.bit7   //显示模式寄存
__direct  union	Flag	Lcd_WorkFlag1;
		#define	    HaveDisposeTimerOnKeyFlag	Lcd_WorkFlag1.bit.bit0	//有定时开按键操作标志	
		#define	    HaveDisposeTimerOffKeyFlag	Lcd_WorkFlag1.bit.bit1	//有定时关按键操作标志	
		#define		f500mSFlashFlag				Lcd_WorkFlag1.bit.bit2	//0.5秒标志	
		#define		DisCoolFlag					Lcd_WorkFlag1.bit.bit3	//禁止制冷 =1 禁止制冷
		#define		DisModeSavedFlag			Lcd_WorkFlag1.bit.bit4	//显示模式已经寄存
		#define		MacRecogniseOverFlag		Lcd_WorkFlag1.bit.bit5	//机器识别完成标志
		#define		InTempErrorFlashFlag		Lcd_WorkFlag1.bit.bit6	//室内传感器故障时闪烁标志
		#define		HaveTimerOnFlag				Lcd_WorkFlag1.bit.bit7	//有定时开机标志
__direct  union	Flag_W	AllMacOn_Off;										//所有机器开关状态				
		#define		LcdMac1			    AllMacOn_Off.bit_w.bit0
		#define		LcdMac2			    AllMacOn_Off.bit_w.bit1
		#define		LcdMac3			    AllMacOn_Off.bit_w.bit2
		#define		LcdMac4			    AllMacOn_Off.bit_w.bit3
		#define		LcdMac5			    AllMacOn_Off.bit_w.bit4
		#define		LcdMac6			    AllMacOn_Off.bit_w.bit5
		#define		LcdMac7			    AllMacOn_Off.bit_w.bit6
		#define		LcdMac8			    AllMacOn_Off.bit_w.bit7
		#define		LcdMac9			    AllMacOn_Off.bit_w.bit8
		#define		LcdMac10		    AllMacOn_Off.bit_w.bit9
		#define		LcdMac11		    AllMacOn_Off.bit_w.bit10
		#define		LcdMac12		    AllMacOn_Off.bit_w.bit11
		#define		LcdMac13    	    AllMacOn_Off.bit_w.bit12
		#define		LcdMac14		    AllMacOn_Off.bit_w.bit13
		#define		LcdMac15		    AllMacOn_Off.bit_w.bit14
		#define		LcdMac16		    AllMacOn_Off.bit_w.bit15

__direct	union	Flag_W	HaveMacFlag;										//当前挂在室外机上的室内机
		#define		HaveMac1Flag		HaveMacFlag.bit_w.bit8		
		#define		HaveMac2Flag		HaveMacFlag.bit_w.bit9		
		#define		HaveMac3Flag		HaveMacFlag.bit_w.bit10	
		#define		HaveMac4Flag		HaveMacFlag.bit_w.bit11	
		#define		HaveMac5Flag		HaveMacFlag.bit_w.bit12	
		#define		HaveMac6Flag		HaveMacFlag.bit_w.bit13	
		#define		HaveMac7Flag		HaveMacFlag.bit_w.bit14	
		#define		HaveMac8Flag		HaveMacFlag.bit_w.bit15
			
		#define		HaveMac9Flag		HaveMacFlag.bit_w.bit0		
		#define		HaveMac10Flag		HaveMacFlag.bit_w.bit1		
		#define		HaveMac11Flag		HaveMacFlag.bit_w.bit2 		
		#define		HaveMac12Flag		HaveMacFlag.bit_w.bit3 		
		#define		HaveMac13Flag		HaveMacFlag.bit_w.bit4 		
		#define		HaveMac14Flag		HaveMacFlag.bit_w.bit5 		
		#define		HaveMac15Flag		HaveMacFlag.bit_w.bit6 		
		#define		HaveMac16Flag		HaveMacFlag.bit_w.bit7 		
		
#include "LcdSegDefine.c"
#include	"Uart2SendDef.c"				//?¨?¨o?¨o¨°?¨2¨oy?Y??é?¤?é?¨a|ì?¨oy?Y
#include	"Uart2ReceivedDef.c"			//?óê?êòíaμ?êy?Y

//Key Area===================		
__direct  unbyte	KeyDelayTime;			/*/;Delay Read Key_Scan Port Times*/	
__direct  unbyte	cKeyDetections;			//有按键按下后连续检测键值相同的次数
__direct  unbyte	KeyValueRegister;		/*存放最终按键值*/  
__direct  unbyte	KeyValue;				/*存放临时按键值*/  

__direct  unword  	KeyContinuum3STime;
__direct  unword	KeyMulKeyDelayTime;		/*多键按下的连续时间*/
__direct  unword  	DelayDisposeKeyTime;	/*模式键延时处理计时器*/
__direct  unword	KeyContinuumTime;		/*间连续按住的时间*/
__direct  unbyte	KeyManMadeFlagClearTime;//有人工操作标志延时清除时间
__direct	unword	NoUart2Timer;						//连续检测室外通讯正常计时器
//Buzzer ARea==============================
__direct  unbyte	BuzzerOffTimerCounter;
__direct  unbyte	BuzzerWorkNumber;     
__direct  unbyte	BuzzerOnTimerCounter; 
//AD Area==========================
unbyte	A_DSampleValue[14];	/*	室内温度值*/

unbyte  A_DAverageValue;

unbyte 	A_DCounter;			//低字节表示当前通道的采样次序,高字节表示采样的通道

unbyte	ADSampleTime;			
__direct  byte  	InRoomTemp;
//time counter area==================== 	
__direct  unword	Time3SecondCounter;	//use for clear	up and down icon
__direct  unbyte	Time500msCounter;	//use for FanDoor Icon Scan time
__direct  unbyte	Flash500msCounter;	//	
__direct  unbyte	UartDelaySendTime;	//Uart2接受到信号后延时发送计时器
__direct  unbyte	LedFlashNumber;		//
__direct  unbyte	tTimer1Minute;		//1分钟计时器
__direct  unbyte	tTimerOnOffFlash;		//定时开关机机图标闪烁计时器
//Lcd area
__direct  unbyte	FanSpeedComp;			//液晶风叶片旋转速度计时比较寄存器
__direct  unbyte	LCDChangeCounter;		//液晶风叶片旋转速度计时器,每timebasic中断加一
__direct  unbyte	LCDErrorIconFlashTimer; //液晶故障图标闪烁计时器
__direct  union	Flag_W	Lcd_M_State;			//图标 M 的状态
__direct  unbyte  DisplayMode;	
			//高字节4~7分别显示:室内数据、外部温度、外部综合参数、频率、阀开度、定时开时间、定时关时间
			//低字节0~3表示外部温度数值的顺序。
__direct  unbyte    DisplayModeTemporary;			//显示模式暂存器
__direct  unbyte	DisplayDataOrder;				//显示室外综合数据的次序
__direct  unbyte	DisplayMachineOrder;			//显示机器次序
unbyte	InMacModeRegister[IndoorMacs];	//室内机模式寄存器
unbyte	OldIndoorNumber;				//旧的室内机编号
unbyte	IndoorMacNumBuff;				//室内机编号暂存器(修改机器编号时使用)
//通用区数据区
__direct  unbyte  i;
__direct  unbyte  j;
__direct  unbyte  k;
__direct  unbyte  l;
byte	  SignedData;
unword	  Dobule;
//通用区指针区
unbyte *point;
unbyte *pointreceiv;
unbyte *pointsend;
// Remoto Opration area
//************************************************************************		
//***********************数据接收区***************************************	
//************************************************************************		


unbyte	cUart2;			//发送、接收的引导码的计数器
unbyte	cUart2Send;		//线控器发送给室内机信号的机号顺序编码

unbyte  SourceAddress;		//
unbyte	TargetAddress;		//目标地址:数据接受方
unbyte	InformationType;	//数据类型
unbyte	CommandState;   	//控制命令、状态字或数据帧数
unbyte	Uart2Buf[16];
unbyte	CheckSum;

unbyte	NoInUart2Timer[16];			//连续检测室内机通讯正常计时器








⌨️ 快捷键说明

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