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

📄 main.s

📁 此程序是用CYPRESS单片机编写
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline 208
	xjmp L45
L46:
	.dbline 209
; 	if((FLAG0&0x08)!=0&&KEY_SET!=5)	return;	// FLAG0.3=1或非童锁键退出
	tst [_FLAG0],8
	jz L48
	cmp [_KEY_SET],5
	jz L48
	.dbline 209
	xjmp L45
L48:
	.dbline 210
; 	if((FLAG0&0x01)==0)
	tst [_FLAG0],1
	jnz L50
	.dbline 211
; 	{
	.dbline 212
; 		FLAG0|=0x01;		// FLAG0.0=1
	or [_FLAG0],1
	.dbline 213
; 		if(KEY_SET==1)		//*****工作/待机键*****
	cmp [_KEY_SET],1
	jnz L52
	.dbline 214
; 		{
	.dbline 215
; 			FLAG0&=0xDF;	// FLAG0.5=0;
	and [_FLAG0],-33
	.dbline 216
; 			if(POWER_EN==0)	POWER_EN=1;
	cmp [_POWER_EN],0
	jnz L54
	.dbline 216
	mov [_POWER_EN],1
	xjmp L53
L54:
	.dbline 217
; 			else		POWER_EN=0;
	mov [_POWER_EN],0
	.dbline 218
; 		}
	xjmp L53
L52:
	.dbline 219
; 		else if(KEY_SET==2)	//*****预约使用键*****
	cmp [_KEY_SET],2
	jnz L56
	.dbline 220
; 		{
	.dbline 222
; 			
; 		}
	xjmp L57
L56:
	.dbline 223
; 		else if(KEY_SET==3)	//*****时钟/温度键*****
	cmp [_KEY_SET],3
	jnz L58
	.dbline 224
; 		{
	.dbline 226
; 			
; 		}
	xjmp L59
L58:
	.dbline 227
; 		else if(KEY_SET==4)	//*****即时加热键*****
	cmp [_KEY_SET],4
	jnz L60
	.dbline 228
; 		{
	.dbline 230
; 			
; 		}
	xjmp L61
L60:
	.dbline 231
; 		else if(KEY_SET==5)	//*****童锁键*****
	cmp [_KEY_SET],5
	jnz L62
	.dbline 232
; 		{
	.dbline 233
; 			FLAG0^=0x08;	// FLAG0.3取反
	xor [_FLAG0],8
	.dbline 234
; 		}
L62:
L61:
L59:
L57:
L53:
	.dbline 235
; 	}
L50:
	.dbline 236
; 	KEY_SET=0;
	mov [_KEY_SET],0
	.dbline -2
	.dbline 237
; }
L45:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e delay_deal _delay_deal fV
_delay_deal::
	.dbline -1
	.dbline 245
; 
; 
; //*************************************
; //
; // 函数delay_deal()为:延时处理程序
; //
; void delay_deal()
; {
	.dbline 246
; 	if((FLAG0&0x40)!=0)	//*****闪烁显示500ms计时(FLAG0.6)*****
	tst [_FLAG0],64
	jz L65
	.dbline 247
; 	{
	.dbline 248
; 		T_FLASH_500MS++;
	inc [_T_FLASH_500MS]
	.dbline 249
; 		if(T_FLASH_500MS>=31)
	cmp [_T_FLASH_500MS],31
	jc L67
X7:
	.dbline 250
; 		{
	.dbline 251
; 			T_FLASH_500MS=0;
	mov [_T_FLASH_500MS],0
	.dbline 252
; 			FLAG0^=0x04;	// FLAG0.2取反
	xor [_FLAG0],4
	.dbline 253
; 		}
L67:
	.dbline 254
; 	}
L65:
	.dbline 256
; 	
; 	if((FLAG0&0x80)==0)	//*****时钟运行(FLAG0.7==0)*****
	tst [_FLAG0],-128
	jnz L69
	.dbline 257
; 	{
	.dbline 258
; 		T_CLOCK_500MS++;	//***时钟小数点闪烁500ms计时***
	inc [_T_CLOCK_500MS]
	.dbline 259
; 		if(T_CLOCK_500MS>=31)
	cmp [_T_CLOCK_500MS],31
	jc L70
X8:
	.dbline 260
; 		{
	.dbline 261
; 			T_CLOCK_500MS=0;
	mov [_T_CLOCK_500MS],0
	.dbline 262
; 			FLAG1^=0x01;	// FLAG1.0取反
	xor [_FLAG1],1
	mov A,[_FLAG1]
	.dbline 263
; 		}
	.dbline 264
; 	}
	xjmp L70
L69:
	.dbline 266
; 	else
; 	{
	.dbline 267
; 		FLAG1|=0x01;	// FLAG1.0=1
	or [_FLAG1],1
	.dbline 268
; 		T_CLOCK_500MS=0;
	mov [_T_CLOCK_500MS],0
	.dbline 269
; 	}
L70:
	.dbline 271
; 	
; 	if((FLAG0&0x20)!=0)	//*****即时加热4小时计时(FLAG0.5==1)*****
	tst [_FLAG0],32
	jz L73
	.dbline 272
; 	{
	.dbline 273
; 		if(T_HEAT_UP_1M>=60)
	cmp [_T_HEAT_UP_1M],60
	jc L74
X9:
	.dbline 274
; 		{
	.dbline 275
; 			T_HEAT_UP_1M=0;
	mov [_T_HEAT_UP_1M],0
	.dbline 276
; 			T_HEAT_UP_4H++;
	inc [_T_HEAT_UP_4H]
	.dbline 277
; 			if(T_HEAT_UP_4H>=240)
	cmp [_T_HEAT_UP_4H],-16
	jc L74
X10:
	.dbline 278
; 			{
	.dbline 279
; 				T_HEAT_UP_4H=0;
	mov [_T_HEAT_UP_4H],0
	.dbline 280
; 				FLAG0&=0xDF;	// FLAG0.5=0;
	and [_FLAG0],-33
	.dbline 281
; 			}
	.dbline 282
; 		}
	.dbline 283
; 	}
	xjmp L74
L73:
	.dbline 285
	.dbline 286
	mov [_T_HEAT_UP_1M],0
	.dbline 287
	mov [_T_HEAT_UP_4H],0
	.dbline 288
L74:
	.dbline -2
	.dbline 289
; 	else
; 	{
; 		T_HEAT_UP_1M=0;
; 		T_HEAT_UP_4H=0;
; 	}
; }
L64:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
_main::
	.dbline -1
	.dbline 297
; 
; 
; //*************************************
; //
; // 函数main()为:主程序
; //
; void main()
; {
	.dbline 299
; 	// Insert your main routine code here.
; 	initializtion_deal();
	xcall _initializtion_deal
	.dbline 300
; 	M8C_EnableGInt;		// Enable Global Interrupts 
		or  F, 01h

	xjmp L81
X11:
	.dbline 302
; 	while(1)
; 	{
L83:
	.dbline 304
	.dbline 305
	mov [_T_10MS],0
	.dbline 306
	mov REG[0xe3],0
	.dbline 308
	xcall _ad_conv_deal
	.dbline 309
	xcall _key_scan_deal
	.dbline 310
	xcall _key_deal
	.dbline 311
L84:
	.dbline 303
	cmp [_T_10MS],40
	jnc L83
X13:
	.dbline 312
L81:
	.dbline 301
	xjmp L84
X12:
	.dbline -2
	.dbline 313
; 		while(T_10MS>=40)	// 10ms判断
; 		{
; 			T_10MS=0;
; 			M8C_ClearWDT;	// Watchdog clear
; 			
; 			ad_conv_deal();		// AD采样处理函数
; 			key_scan_deal();	// 按键扫描处理函数
; 			key_deal();		// 按键处理函数
; 		}
; 	}
; }
L79:
	.dbline 0 ; func end
	jmp .
	.dbend
	.dbfunc e Timer8_ISR _Timer8_ISR fV
_Timer8_ISR::
	.dbline -1
	.dbline 321
; 
; 
; //*************************************
; //
; // 函数Timer8_ISR()为:Timer8中断处理程序
; //
; void Timer8_ISR()	// 250us记时
; {
	.dbline 322
; 	T_10MS++;
	inc [_T_10MS]
	.dbline -2
	.dbline 323
; }
L86:
	.dbline 0 ; func end
	reti
	.dbend
	.area bss(ram, con, rel)
	.dbfile ./main.c
_T_RISE_6S::
	.blkb 1
	.dbsym e T_RISE_6S _T_RISE_6S c
_ROOM_RISE::
	.blkb 1
	.dbsym e ROOM_RISE _ROOM_RISE c
_CREEPAGE_COU::
	.blkb 1
	.dbsym e CREEPAGE_COU _CREEPAGE_COU c
_T_CHECK_500MS::
	.blkb 1
	.dbsym e T_CHECK_500MS _T_CHECK_500MS c
_KEY_CREEPAGE::
	.blkb 1
	.dbsym e KEY_CREEPAGE _KEY_CREEPAGE c
_POWER_EN::
	.blkb 1
	.dbsym e POWER_EN _POWER_EN c
_BESPEAK_1_TMP_SET::
	.blkb 1
	.dbsym e BESPEAK_1_TMP_SET _BESPEAK_1_TMP_SET c
_BESPEAK_1_TMP_NEW::
	.blkb 1
	.dbsym e BESPEAK_1_TMP_NEW _BESPEAK_1_TMP_NEW c
_BESPEAK_UP_BIT::
	.blkb 1
	.dbsym e BESPEAK_UP_BIT _BESPEAK_UP_BIT c
_BESPEAK_BIT::
	.blkb 1
	.dbsym e BESPEAK_BIT _BESPEAK_BIT c
_BESPEAK_DISP::
	.blkb 1
	.dbsym e BESPEAK_DISP _BESPEAK_DISP c
_ON_FUNCTION::
	.blkb 1
	.dbsym e ON_FUNCTION _ON_FUNCTION c
_OFF_FUNCTION::
	.blkb 1
	.dbsym e OFF_FUNCTION _OFF_FUNCTION c
_T_KEY_60S::
	.blkb 1
	.dbsym e T_KEY_60S _T_KEY_60S c
_KEY_SERIES_COU::
	.blkb 1
	.dbsym e KEY_SERIES_COU _KEY_SERIES_COU c
_KEY_SERIES_NEW::
	.blkb 1
	.dbsym e KEY_SERIES_NEW _KEY_SERIES_NEW c
_KEY_SET::
	.blkb 1
	.dbsym e KEY_SET _KEY_SET c
_T_ON_OFF_4S::
	.blkb 1
	.dbsym e T_ON_OFF_4S _T_ON_OFF_4S c
_KEY_NEW::
	.blkb 1
	.dbsym e KEY_NEW _KEY_NEW c
_KEY_COU::
	.blkb 1
	.dbsym e KEY_COU _KEY_COU c
_KEY_CODE::
	.blkb 1
	.dbsym e KEY_CODE _KEY_CODE c
_DISP_DATA_6::
	.blkb 1
	.dbsym e DISP_DATA_6 _DISP_DATA_6 c
_DISP_DATA_5::
	.blkb 1
	.dbsym e DISP_DATA_5 _DISP_DATA_5 c
_DISP_DATA_4::
	.blkb 1
	.dbsym e DISP_DATA_4 _DISP_DATA_4 c
_DISP_DATA_3::
	.blkb 1
	.dbsym e DISP_DATA_3 _DISP_DATA_3 c
_DISP_DATA_2::
	.blkb 1
	.dbsym e DISP_DATA_2 _DISP_DATA_2 c
_DISP_DATA_1::
	.blkb 1
	.dbsym e DISP_DATA_1 _DISP_DATA_1 c
_DISP_BIT::
	.blkb 1
	.dbsym e DISP_BIT _DISP_BIT c
_ERROR_NEW::
	.blkb 1
	.dbsym e ERROR_NEW _ERROR_NEW c
_SET_TMP_SET::
	.blkb 1
	.dbsym e SET_TMP_SET _SET_TMP_SET c
_SET_TMP_NEW::
	.blkb 1
	.dbsym e SET_TMP_NEW _SET_TMP_NEW c
_AD_ROOM_TMP::
	.blkb 1
	.dbsym e AD_ROOM_TMP _AD_ROOM_TMP c
_AD_COUNT::
	.blkb 1
	.dbsym e AD_COUNT _AD_COUNT c
_BUZZ_COU::
	.blkb 1
	.dbsym e BUZZ_COU _BUZZ_COU c
_BUZZ_NEW::
	.blkb 1
	.dbsym e BUZZ_NEW _BUZZ_NEW c
_BUZZ_EN::
	.blkb 1
	.dbsym e BUZZ_EN _BUZZ_EN c
_T_50MS::
	.blkb 1
	.dbsym e T_50MS _T_50MS c
_T_HEAT_UP_4H::
	.blkb 1
	.dbsym e T_HEAT_UP_4H _T_HEAT_UP_4H c
_T_HEAT_UP_1M::
	.blkb 1
	.dbsym e T_HEAT_UP_1M _T_HEAT_UP_1M c
_T_CLOCK_500MS::
	.blkb 1
	.dbsym e T_CLOCK_500MS _T_CLOCK_500MS c
_T_FLASH_500MS::
	.blkb 1
	.dbsym e T_FLASH_500MS _T_FLASH_500MS c
_T_SLEEP_1M::
	.blkb 1
	.dbsym e T_SLEEP_1M _T_SLEEP_1M c
_T_10S::
	.blkb 1
	.dbsym e T_10S _T_10S c
_T_3S::
	.blkb 1
	.dbsym e T_3S _T_3S c
_T_1S::
	.blkb 1
	.dbsym e T_1S _T_1S c
_T_10MS::
	.blkb 1
	.dbsym e T_10MS _T_10MS c
_FLAG2::
	.blkb 1
	.dbsym e FLAG2 _FLAG2 c
_FLAG1::
	.blkb 1
	.dbsym e FLAG1 _FLAG1 c
_FLAG0::
	.blkb 1
	.dbsym e FLAG0 _FLAG0 c
_cTEMP_L::
	.blkb 1
	.dbsym e cTEMP_L _cTEMP_L c
_cTEMP_H::
	.blkb 1
	.dbsym e cTEMP_H _cTEMP_H c
_cTEMP::
	.blkb 1
	.dbsym e cTEMP _cTEMP c
_lTEMP::
	.blkb 4
	.dbsym e lTEMP _lTEMP l
_AD_VALUE::
	.blkb 16
	.dbsym e AD_VALUE _AD_VALUE A[16:8]i
_BESPEAK_1_TIME_SET::
	.blkb 2
	.dbsym e BESPEAK_1_TIME_SET _BESPEAK_1_TIME_SET i
_BESPEAK_1_TIME_NEW::
	.blkb 2
	.dbsym e BESPEAK_1_TIME_NEW _BESPEAK_1_TIME_NEW i
_CLOCK_DATA_SET::
	.blkb 2
	.dbsym e CLOCK_DATA_SET _CLOCK_DATA_SET i
_CLOCK_DATA_NEW::
	.blkb 2
	.dbsym e CLOCK_DATA_NEW _CLOCK_DATA_NEW i
_iTEMP::
	.blkb 2
	.dbsym e iTEMP _iTEMP i

⌨️ 快捷键说明

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