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

📄 hal.s

📁 原创
💻 S
📖 第 1 页 / 共 2 页
字号:
	cpi R24,1
	brne L36
	.dbline 162
	lds R24,_u9_data
	andi R24,253
	sts _u9_data,R24
L36:
	.dbline 163
; 		if (2==number) u9_data&=~0x04;
	mov R24,R10
	cpi R24,2
	brne L38
	.dbline 163
	lds R24,_u9_data
	andi R24,251
	sts _u9_data,R24
L38:
	.dbline 164
; 		if (3==number) u9_data&=~0x08;						
	mov R24,R10
	cpi R24,3
	brne L40
	.dbline 164
	lds R24,_u9_data
	andi R24,247
	sts _u9_data,R24
L40:
	.dbline 165
; 		if (4==number) u9_data&=~0x10;
	mov R24,R10
	cpi R24,4
	brne L42
	.dbline 165
	lds R24,_u9_data
	andi R24,239
	sts _u9_data,R24
L42:
	.dbline 166
; 		if (5==number) u9_data&=~0x20;
	mov R24,R10
	cpi R24,5
	brne L44
	.dbline 166
	lds R24,_u9_data
	andi R24,223
	sts _u9_data,R24
L44:
	.dbline 167
; 		if (6==number) u9_data&=~0x40;
	mov R24,R10
	cpi R24,6
	brne L46
	.dbline 167
	lds R24,_u9_data
	andi R24,191
	sts _u9_data,R24
L46:
	.dbline 168
; 		if (7==number) u9_data&=~0x80;
	mov R24,R10
	cpi R24,7
	brne L48
	.dbline 168
	lds R24,_u9_data
	andi R24,127
	sts _u9_data,R24
L48:
	.dbline 169
; 		if (8==number) u19_data&=~0x04;
	mov R24,R10
	cpi R24,8
	brne L50
	.dbline 169
	lds R24,_u19_data
	andi R24,251
	sts _u19_data,R24
L50:
	.dbline 170
; 		if (9==number) u19_data&=~0x08;
	mov R24,R10
	cpi R24,9
	brne L52
	.dbline 170
	lds R24,_u19_data
	andi R24,247
	sts _u19_data,R24
L52:
	.dbline 172
; 						
; 		U9(u9_data);
	lds R16,_u9_data
	xcall _U9
	.dbline 173
; 		U19(u19_data);	
	lds R16,_u19_data
	xcall _U19
	.dbline 174
; 	 }
	xjmp L33
L32:
	.dbline 175
; 	 else{
	.dbline 176
; 		if (0==number) u9_data|=0x01;
	tst R10
	brne L54
	.dbline 176
	lds R24,_u9_data
	ori R24,1
	sts _u9_data,R24
L54:
	.dbline 177
; 		if (1==number) u9_data|=0x02;
	mov R24,R10
	cpi R24,1
	brne L56
	.dbline 177
	lds R24,_u9_data
	ori R24,2
	sts _u9_data,R24
L56:
	.dbline 178
; 		if (2==number) u9_data|=0x04;
	mov R24,R10
	cpi R24,2
	brne L58
	.dbline 178
	lds R24,_u9_data
	ori R24,4
	sts _u9_data,R24
L58:
	.dbline 179
; 		if (3==number) u9_data|=0x08;						
	mov R24,R10
	cpi R24,3
	brne L60
	.dbline 179
	lds R24,_u9_data
	ori R24,8
	sts _u9_data,R24
L60:
	.dbline 180
; 		if (4==number) u9_data|=0x10;
	mov R24,R10
	cpi R24,4
	brne L62
	.dbline 180
	lds R24,_u9_data
	ori R24,16
	sts _u9_data,R24
L62:
	.dbline 181
; 		if (5==number) u9_data|=0x20;
	mov R24,R10
	cpi R24,5
	brne L64
	.dbline 181
	lds R24,_u9_data
	ori R24,32
	sts _u9_data,R24
L64:
	.dbline 182
; 		if (6==number) u9_data|=0x40;
	mov R24,R10
	cpi R24,6
	brne L66
	.dbline 182
	lds R24,_u9_data
	ori R24,64
	sts _u9_data,R24
L66:
	.dbline 183
; 		if (7==number) u9_data|=0x80;
	mov R24,R10
	cpi R24,7
	brne L68
	.dbline 183
	lds R24,_u9_data
	ori R24,128
	sts _u9_data,R24
L68:
	.dbline 184
; 		if (8==number) u19_data|=0x04;
	mov R24,R10
	cpi R24,8
	brne L70
	.dbline 184
	lds R24,_u19_data
	ori R24,4
	sts _u19_data,R24
L70:
	.dbline 185
; 		if (9==number) u19_data|=0x08;
	mov R24,R10
	cpi R24,9
	brne L72
	.dbline 185
	lds R24,_u19_data
	ori R24,8
	sts _u19_data,R24
L72:
	.dbline 187
	lds R16,_u9_data
	xcall _U9
	.dbline 188
	lds R16,_u19_data
	xcall _U19
	.dbline 190
L33:
	.dbline -2
L31:
	xcall pop_gset4x
	.dbline 0 ; func end
	ret
	.dbsym r number 10 c
	.dbsym r onoff 12 c
	.dbend
	.dbfunc e delay_1ms _delay_1ms fV
;              i -> R16,R17
	.even
_delay_1ms::
	.dbline -1
	.dbline 204
; 		
; 		U9(u9_data);
; 		U19(u19_data);	
; 			 
; 	 } 
; 	 
; 	 
; }
; 
; 
; /*************************************************************************************************************
; *	函数名称 :delay_1ms
; *	功能描述 :不是1ms的延时
; *	实际参数 :
; *	返回值   :
; *	说明     :
; *************************************************************************************************************/
; void delay_1ms (void)
; { 
	.dbline 206
;  	 unsigned int i;
; 	 for (i=1;i<1140;i++)
	ldi R16,1
	ldi R17,0
	xjmp L78
L75:
	.dbline 207
L76:
	.dbline 206
	subi R16,255  ; offset = 1
	sbci R17,255
L78:
	.dbline 206
	cpi R16,116
	ldi R30,4
	cpc R17,R30
	brlo L75
	.dbline -2
L74:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 i
	.dbend
	.dbfunc e delay _delay fV
;              i -> R10,R11
;              n -> R12,R13
	.even
_delay::
	xcall push_gset4x
	movw R12,R16
	.dbline -1
	.dbline 217
; 	 ;
; }
; /*************************************************************************************************************
; *	函数名称 :delay
; *	功能描述 :
; *	实际参数 :
; *	返回值   :
; *	说明     :
; *************************************************************************************************************/
; void delay (unsigned int n)
; {
	.dbline 218
;  	 unsigned int i=0;
	clr R10
	clr R11
	xjmp L81
L80:
	.dbline 220
	.dbline 221
	xcall _delay_1ms
	.dbline 222
	movw R24,R10
	adiw R24,1
	movw R10,R24
	.dbline 223
L81:
	.dbline 219
; 	 while (i<n)
	cp R10,R12
	cpc R11,R13
	brlo L80
	.dbline -2
L79:
	xcall pop_gset4x
	.dbline 0 ; func end
	ret
	.dbsym r i 10 i
	.dbsym r n 12 i
	.dbend
	.dbfunc e TempDelay _TempDelay fV
	.even
_TempDelay::
	.dbline -1
	.dbline 234
; 	 {
; 	 delay_1ms();
; 	 i++;
; 	 }	 
; }	
; 
; 
; /*************************************************************************************************************
; *	函数名称 :TempDelay
; *	功能描述 :有关温度的延时
; *	实际参数 :
; *	返回值   :
; *	说明     :
; *************************************************************************************************************/
; void TempDelay (void){
	.dbline 235
; 	 	asm("nop");			 		
	nop
	.dbline 236
; 	 	asm("nop");
	nop
	.dbline 237
; 		asm("nop");
	nop
	.dbline 238
; 	 	asm("nop");		
	nop
	.dbline 239
; 	 	asm("nop");			 		
	nop
	.dbline 240
; 	 	asm("nop");
	nop
	.dbline 241
; 		asm("nop");
	nop
	.dbline 242
; 	 	asm("nop");		
	nop
	.dbline 243
;  		asm("nop");			 		
	nop
	.dbline 244
; 	 	asm("nop");
	nop
	.dbline 245
; 		asm("nop");
	nop
	.dbline 246
; 	 	asm("nop");		
	nop
	.dbline 247
;  		asm("nop");			 		
	nop
	.dbline 248
; 	 	asm("nop");
	nop
	.dbline 249
; 		asm("nop");
	nop
	.dbline 250
; 	 	asm("nop");
	nop
	.dbline -2
L83:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e TempRead6675Dat _TempRead6675Dat fi
;            tmp -> R10,R11
;              i -> R12
	.even
_TempRead6675Dat::
	xcall push_gset4x
	.dbline -1
	.dbline 263
; }
; 
; 
; 
; /*************************************************************************************************************
; *	函数名称 :TempRead6675Dat
; *	功能描述 :读取温度
; *	实际参数 :
; *	返回值   :
; *	说明     :
; *************************************************************************************************************/
; unsigned int TempRead6675Dat(void)
; {
	.dbline 265
; 	unsigned char i;
; 	unsigned int tmp=0;
	clr R10
	clr R11
	.dbline 267
; 	
; 	CLRSCK;
	cbi 0x1b,2
	.dbline 269
; 
; 	for(i=0;i<15;i++)
	clr R12
	xjmp L88
L85:
	.dbline 270
; 	{
	.dbline 271
; 	 	TempDelay ();													
	xcall _TempDelay
	.dbline 272
; 		if(RSO)
	sbis 0x19,1
	rjmp L89
	.dbline 273
; 			tmp|=1;
	movw R24,R10
	ori R24,1
	movw R10,R24
L89:
	.dbline 274
	sbi 0x1b,2
	.dbline 275
	lsl R10
	rol R11
	.dbline 276
	xcall _TempDelay
	.dbline 277
	cbi 0x1b,2
	.dbline 278
L86:
	.dbline 269
	inc R12
L88:
	.dbline 269
	mov R24,R12
	cpi R24,15
	brlo L85
	.dbline 279
; 		SETSCK;
; 		tmp<<=1;
; 	 	TempDelay ();
; 		CLRSCK;
; 	}
; 	return(tmp>>2);
	movw R16,R10
	lsr R17
	ror R16
	lsr R17
	ror R16
	.dbline -2
L84:
	xcall pop_gset4x
	.dbline 0 ; func end
	ret
	.dbsym r tmp 10 i
	.dbsym r i 12 c
	.dbend
	.dbfunc e TempInit _TempInit fV
	.even
_TempInit::
	.dbline -1
	.dbline 291
; }
; 
; 
; 
; /*************************************************************************************************************
; *	函数名称 :TempInit
; *	功能描述 :初始化6675
; *	实际参数 :
; *	返回值   :
; *	说明     :
; *************************************************************************************************************/
; void TempInit (void){
	.dbline 292
; 	 DDRA|= 0x04;	   //TSCK
	sbi 0x1a,2
	.dbline 293
; 	 DDRA&=~0x02;	   //TMISO
	cbi 0x1a,1
	.dbline 295
; 
; 	 TempCs(0);        //CS = 0,Enable 6675
	clr R16
	xcall _TempCs
	.dbline 297
; 	  																																	  
; 	 TempRead6675Dat();//进行第一次哑转换
	xcall _TempRead6675Dat
	.dbline 299
; 
; 	 TempCs(1);        //CS = 0,Disable 6675	 
	ldi R16,1
	xcall _TempCs
	.dbline -2
L91:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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