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

📄 key.s

📁 基于AVR单片机的热电偶测量系统源码
💻 S
📖 第 1 页 / 共 3 页
字号:
	sts _time_array+4+1,R25
	sts _time_array+4,R24
L43:
	.dbline 89
; 	}
L38:
	.dbline 91
;          
; 	Draw_NtoArab(0x00,0x40,time_array[2]);
	lds R2,_time_array+4
	lds R3,_time_array+4+1
	std y+0,R2
	ldi R18,64
	clr R16
	xcall _Draw_NtoArab
	.dbline 92
; 	Draw_NtoArab(0x00,0x48,time_array[3]); 
	lds R2,_time_array+6
	lds R3,_time_array+6+1
	std y+0,R2
	ldi R18,72
	clr R16
	xcall _Draw_NtoArab
	.dbline -2
L36:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e canbi0 _canbi0 fV
	.even
_canbi0::
	sbiw R28,2
	.dbline -1
	.dbline 97
; }	
; 
; 
; void canbi0(void)       //参比的正负设置
; {  
	.dbline 98
; 	if(leftcount%2==0)
	ldi R17,2
	lds R16,_leftcount
	xcall mod8u
	tst R16
	brne L50
	.dbline 99
;         Bmp8x16(0x04,0x38,zhenghao);
	ldi R24,<_zhenghao
	ldi R25,>_zhenghao
	std y+1,R25
	std y+0,R24
	ldi R18,56
	ldi R16,4
	xcall _Bmp8x16
	xjmp L51
L50:
	.dbline 101
	ldi R24,<_fuhao
	ldi R25,>_fuhao
	std y+1,R25
	std y+0,R24
	ldi R18,56
	ldi R16,4
	xcall _Bmp8x16
L51:
	.dbline -2
L49:
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e incanbizhengshu _incanbizhengshu fV
	.even
_incanbizhengshu::
	sbiw R28,1
	.dbline -1
	.dbline 105
;    	else 
;         Bmp8x16(0x04,0x38,fuhao);
; }
; 
; void incanbizhengshu(void)	 //参比的整数加1
; {
	.dbline 106
;  	canbi_array[2]++;
	lds R24,_canbi_array+4
	lds R25,_canbi_array+4+1
	adiw R24,1
	sts _canbi_array+4+1,R25
	sts _canbi_array+4,R24
	.dbline 107
;  	if((canbi_array[1]==0x09)&&(canbi_array[2]==0x09))
	lds R24,_canbi_array+2
	lds R25,_canbi_array+2+1
	cpi R24,9
	ldi R30,0
	cpc R25,R30
	brne L54
	lds R24,_canbi_array+4
	lds R25,_canbi_array+4+1
	cpi R24,9
	ldi R30,0
	cpc R25,R30
	brne L54
	.dbline 108
; 	{
	.dbline 109
; 		 canbi_array[1]=0x00;
	clr R2
	clr R3
	sts _canbi_array+2+1,R3
	sts _canbi_array+2,R2
	.dbline 110
; 		 canbi_array[2]=0x00;
	sts _canbi_array+4+1,R3
	sts _canbi_array+4,R2
	.dbline 111
; 	}
L54:
	.dbline 112
; 	if((canbi_array[1]!=0x09)&&(canbi_array[2]==0x0A))
	lds R24,_canbi_array+2
	lds R25,_canbi_array+2+1
	cpi R24,9
	ldi R30,0
	cpc R25,R30
	breq L60
	lds R24,_canbi_array+4
	lds R25,_canbi_array+4+1
	cpi R24,10
	ldi R30,0
	cpc R25,R30
	brne L60
	.dbline 113
; 	{
	.dbline 114
; 		  canbi_array[1]++;
	lds R24,_canbi_array+2
	lds R25,_canbi_array+2+1
	adiw R24,1
	sts _canbi_array+2+1,R25
	sts _canbi_array+2,R24
	.dbline 115
; 		  canbi_array[2]=0x00;
	clr R2
	clr R3
	sts _canbi_array+4+1,R3
	sts _canbi_array+4,R2
	.dbline 116
; 	}
L60:
	.dbline 118
;          
;     Draw_NtoArab(0x04,0x40,canbi_array[1]);
	lds R2,_canbi_array+2
	lds R3,_canbi_array+2+1
	std y+0,R2
	ldi R18,64
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline 119
; 	Draw_NtoArab(0x04,0x48,canbi_array[2]);
	lds R2,_canbi_array+4
	lds R3,_canbi_array+4+1
	std y+0,R2
	ldi R18,72
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline -2
L52:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e incanbixiaoshu _incanbixiaoshu fV
	.even
_incanbixiaoshu::
	sbiw R28,1
	.dbline -1
	.dbline 124
;          
; }
; 
; void incanbixiaoshu(void)	 //参比的小数加1
; {
	.dbline 125
;  	canbi_array[4]++;
	lds R24,_canbi_array+8
	lds R25,_canbi_array+8+1
	adiw R24,1
	sts _canbi_array+8+1,R25
	sts _canbi_array+8,R24
	.dbline 126
;  	if((canbi_array[3]==0x09)&&(canbi_array[4]==0x09))
	lds R24,_canbi_array+6
	lds R25,_canbi_array+6+1
	cpi R24,9
	ldi R30,0
	cpc R25,R30
	brne L70
	lds R24,_canbi_array+8
	lds R25,_canbi_array+8+1
	cpi R24,9
	ldi R30,0
	cpc R25,R30
	brne L70
	.dbline 127
; 	{
	.dbline 128
; 		 canbi_array[3]=0x00;
	clr R2
	clr R3
	sts _canbi_array+6+1,R3
	sts _canbi_array+6,R2
	.dbline 129
; 		 canbi_array[4]=0x00;
	sts _canbi_array+8+1,R3
	sts _canbi_array+8,R2
	.dbline 130
; 	}
L70:
	.dbline 131
; 	if((canbi_array[3]!=0x09)&&(canbi_array[4]==0x0A))
	lds R24,_canbi_array+6
	lds R25,_canbi_array+6+1
	cpi R24,9
	ldi R30,0
	cpc R25,R30
	breq L76
	lds R24,_canbi_array+8
	lds R25,_canbi_array+8+1
	cpi R24,10
	ldi R30,0
	cpc R25,R30
	brne L76
	.dbline 132
; 	{
	.dbline 133
; 		  canbi_array[3]++;
	lds R24,_canbi_array+6
	lds R25,_canbi_array+6+1
	adiw R24,1
	sts _canbi_array+6+1,R25
	sts _canbi_array+6,R24
	.dbline 134
; 		  canbi_array[4]=0x00;
	clr R2
	clr R3
	sts _canbi_array+8+1,R3
	sts _canbi_array+8,R2
	.dbline 135
; 	}
L76:
	.dbline 137
;          
;     Draw_NtoArab(0x04,0x58,canbi_array[3]);
	lds R2,_canbi_array+6
	lds R3,_canbi_array+6+1
	std y+0,R2
	ldi R18,88
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline 138
; 	Draw_NtoArab(0x04,0x60,canbi_array[4]);
	lds R2,_canbi_array+8
	lds R3,_canbi_array+8+1
	std y+0,R2
	ldi R18,96
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline -2
L68:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e decanbizhengshu _decanbizhengshu fV
	.even
_decanbizhengshu::
	sbiw R28,1
	.dbline -1
	.dbline 142
; }
; 
; void decanbizhengshu(void)	 //参比的整数减1
; {
	.dbline 143
;  	canbi_array[2]--;
	lds R24,_canbi_array+4
	lds R25,_canbi_array+4+1
	sbiw R24,1
	sts _canbi_array+4+1,R25
	sts _canbi_array+4,R24
	.dbline 144
;  	if((canbi_array[1]==0x00)&&(canbi_array[2]==-1))
	lds R2,_canbi_array+2
	lds R3,_canbi_array+2+1
	tst R2
	brne L86
	tst R3
	brne L86
X2:
	lds R24,_canbi_array+4
	lds R25,_canbi_array+4+1
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L86
	.dbline 145
; 	{
	.dbline 146
; 	  canbi_array[1]=0x09;
	ldi R24,9
	ldi R25,0
	sts _canbi_array+2+1,R25
	sts _canbi_array+2,R24
	.dbline 147
; 	  canbi_array[2]=0x09;
	sts _canbi_array+4+1,R25
	sts _canbi_array+4,R24
	.dbline 148
; 	}
L86:
	.dbline 149
; 	if((canbi_array[1]!=0x00)&&(canbi_array[2]==-1))
	lds R2,_canbi_array+2
	lds R3,_canbi_array+2+1
	tst R2
	brne X3
	tst R3
	breq L92
X3:
	lds R24,_canbi_array+4
	lds R25,_canbi_array+4+1
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L92
	.dbline 150
; 	{
	.dbline 151
; 	   	canbi_array[2]=0x09;
	ldi R24,9
	ldi R25,0
	sts _canbi_array+4+1,R25
	sts _canbi_array+4,R24
	.dbline 152
; 		canbi_array[1]--;
	lds R24,_canbi_array+2
	lds R25,_canbi_array+2+1
	sbiw R24,1
	sts _canbi_array+2+1,R25
	sts _canbi_array+2,R24
	.dbline 153
; 	}
L92:
	.dbline 154
;     Draw_NtoArab(0x04,0x40,canbi_array[1]);
	lds R2,_canbi_array+2
	lds R3,_canbi_array+2+1
	std y+0,R2
	ldi R18,64
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline 155
; 	Draw_NtoArab(0x04,0x48,canbi_array[2]);
	lds R2,_canbi_array+4
	lds R3,_canbi_array+4+1
	std y+0,R2
	ldi R18,72
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline -2
L84:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e decanbixiaoshu _decanbixiaoshu fV
	.even
_decanbixiaoshu::
	sbiw R28,1
	.dbline -1
	.dbline 159
; }
; 
; void decanbixiaoshu(void)	 //参比的小数减1
; {
	.dbline 161
;  
;  	canbi_array[4]--;
	lds R24,_canbi_array+8
	lds R25,_canbi_array+8+1
	sbiw R24,1
	sts _canbi_array+8+1,R25
	sts _canbi_array+8,R24
	.dbline 162
;  	if((canbi_array[3]==0x00)&&(canbi_array[4]==-1))
	lds R2,_canbi_array+6
	lds R3,_canbi_array+6+1
	tst R2
	brne L102
	tst R3
	brne L102
X4:
	lds R24,_canbi_array+8
	lds R25,_canbi_array+8+1
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L102
	.dbline 163
; 	{
	.dbline 164
; 	  canbi_array[3]=0x09;
	ldi R24,9
	ldi R25,0
	sts _canbi_array+6+1,R25
	sts _canbi_array+6,R24
	.dbline 165
; 	  canbi_array[4]=0x09;
	sts _canbi_array+8+1,R25
	sts _canbi_array+8,R24
	.dbline 166
; 	}
L102:
	.dbline 167
; 	if((canbi_array[3]!=0x00)&&(canbi_array[4]==-1))
	lds R2,_canbi_array+6
	lds R3,_canbi_array+6+1
	tst R2
	brne X5
	tst R3
	breq L108
X5:
	lds R24,_canbi_array+8
	lds R25,_canbi_array+8+1
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L108
	.dbline 168
; 	{
	.dbline 169
; 	   	canbi_array[4]=0x09;
	ldi R24,9
	ldi R25,0
	sts _canbi_array+8+1,R25
	sts _canbi_array+8,R24
	.dbline 170
; 		canbi_array[3]--;
	lds R24,_canbi_array+6
	lds R25,_canbi_array+6+1
	sbiw R24,1
	sts _canbi_array+6+1,R25
	sts _canbi_array+6,R24
	.dbline 171
; 	}
L108:
	.dbline 172
;     Draw_NtoArab(0x04,0x58,canbi_array[3]);
	lds R2,_canbi_array+6
	lds R3,_canbi_array+6+1
	std y+0,R2
	ldi R18,88
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline 173
; 	Draw_NtoArab(0x04,0x60,canbi_array[4]);   	 
	lds R2,_canbi_array+8
	lds R3,_canbi_array+8+1
	std y+0,R2
	ldi R18,96
	ldi R16,4
	xcall _Draw_NtoArab
	.dbline -2
L100:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e getkey _getkey fc
;        keycode -> R20
	.even
_getkey::
	xcall push_gset1
	.dbline -1
	.dbline 178
; }
; 
; 
; unsigned char getkey(void)
; {
	.dbline 180
; 	 unsigned char keycode;
; 	 if((PINB&0xbc)!=0xbc)
	in R24,0x16
	andi R24,188
	cpi R24,188
	breq L117
	.dbline 181
; 	 {
	.dbline 182
; 	   	Delay10ms(35);
	ldi R16,35
	xcall _Delay10ms
	.dbline 183
; 	  	if((PINB&0Xbc)!=0Xbc)
	in R24,0x16
	andi R24,188
	cpi R24,188
	breq L119
	.dbline 184
; 	   	{
	.dbline 185
; 	     	keycode=PINB&0xbc;
	in R20,0x16
	andi R20,188
L121:
	.dbline 186
L122:
	.dbline 186
; 			while((PINB&0xbc)!=0Xbc);
	in R24,0x16
	andi R24,188
	cpi R24,188
	brne L121
	.dbline 187
; 		}
L119:
	.dbline 188
; 	}
L117:
	.dbline 189
; 	return keycode; 
	mov R16,R20
	.dbline -2
L116:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r keycode 20 c
	.dbend
	.dbfunc e getkeylock _getkeylock fc
;        keycode -> R20
	.even
_getkeylock::
	xcall push_gset1
	.dbline -1
	.dbline 193
; }
; 
; unsigned char getkeylock(void)
; {
L125:
	.dbline 195
L126:
	.dbline 195
; 	unsigned char keycode;
; 	while((PINB&0xbc)==0xbc);
	in R24,0x16
	andi R24,188
	cpi R24,188
	breq L125
	.dbline 196
; 	Delay10ms(35);
	ldi R16,35
	xcall _Delay10ms
	.dbline 197
; 	if((PINB&0xbc)!=0xbc)
	in R24,0x16
	andi R24,188
	cpi R24,188
	breq L128
	.dbline 198
; 	{

⌨️ 快捷键说明

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