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

📄 key.s

📁 基于AVR单片机的热电偶测量系统源码
💻 S
📖 第 1 页 / 共 3 页
字号:
	.module key.c
	.area lit(rom, con, rel)
_arab_1:
	.byte 0,16
	.byte 16,248
	.byte 0,0
	.byte 0,0
	.byte 0,32
	.byte 32,63
	.byte 32,32
	.byte 0,0
	.dbfile D:\zhangyu\H2test\program/lcd.h
	.dbsym s arab_1 _arab_1 A[16:16]kc
_arab_2:
	.byte 0,'p
	.byte 8,8
	.byte 8,136
	.byte 'p,0
	.byte 0,48
	.byte 40,36
	.byte 34,33
	.byte 48,0
	.dbsym s arab_2 _arab_2 A[16:16]kc
_arab_3:
	.byte 0,48
	.byte 8,136
	.byte 136,'H
	.byte 48,0
	.byte 0,24
	.byte 32,32
	.byte 32,17
	.byte 14,0
	.dbsym s arab_3 _arab_3 A[16:16]kc
_arab_4:
	.byte 0,0
	.byte 192,32
	.byte 16,248
	.byte 0,0
	.byte 0,7
	.byte 4,36
	.byte 36,63
	.byte 36,0
	.dbsym s arab_4 _arab_4 A[16:16]kc
_arab_5:
	.byte 0,248
	.byte 8,136
	.byte 136,8
	.byte 8,0
	.byte 0,25
	.byte 33,32
	.byte 32,17
	.byte 14,0
	.dbsym s arab_5 _arab_5 A[16:16]kc
_arab_6:
	.byte 0,224
	.byte 16,136
	.byte 136,24
	.byte 0,0
	.byte 0,15
	.byte 17,32
	.byte 32,17
	.byte 14,0
	.dbsym s arab_6 _arab_6 A[16:16]kc
_arab_7:
	.byte 0,56
	.byte 8,8
	.byte 200,56
	.byte 8,0
	.byte 0,0
	.byte 0,63
	.byte 0,0
	.byte 0,0
	.dbsym s arab_7 _arab_7 A[16:16]kc
_arab_8:
	.byte 0,'p
	.byte 136,8
	.byte 8,136
	.byte 'p,0
	.byte 0,28
	.byte 34,33
	.byte 33,34
	.byte 28,0
	.dbsym s arab_8 _arab_8 A[16:16]kc
_arab_9:
	.byte 0,224
	.byte 16,8
	.byte 8,16
	.byte 224,0
	.byte 0,0
	.byte 49,34
	.byte 34,17
	.byte 15,0
	.dbsym s arab_9 _arab_9 A[16:16]kc
_arab_0:
	.byte 0,224
	.byte 16,8
	.byte 8,16
	.byte 224,0
	.byte 0,15
	.byte 16,32
	.byte 32,16
	.byte 15,0
	.dbsym s arab_0 _arab_0 A[16:16]kc
_T:
	.byte 24,8
	.byte 8,248
	.byte 8,8
	.byte 24,0
	.byte 0,0
	.byte 32,63
	.byte 32,0
	.byte 0,0
	.dbsym s T _T A[16:16]kc
_t:
	.byte 0,128
	.byte 128,224
	.byte 128,128
	.byte 0,0
	.byte 0,0
	.byte 0,31
	.byte 32,32
	.byte 0,0
	.dbsym s t _t A[16:16]kc
_maohao:
	.byte 0,0
	.byte 0,192
	.byte 192,0
	.byte 0,0
	.byte 0,0
	.byte 0,48
	.byte 48,0
	.byte 0,0
	.dbsym s maohao _maohao A[16:16]kc
_xiaoshudian:
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,48
	.byte 48,0
	.byte 0,0
	.byte 0,0
	.dbsym s xiaoshudian _xiaoshudian A[16:16]kc
_E:
	.byte 8,248
	.byte 136,136
	.byte 232,8
	.byte 16,0
	.byte 32,63
	.byte 32,32
	.byte 35,32
	.byte 24,0
	.dbsym s E _E A[16:16]kc
_l:
	.byte 0,8
	.byte 8,248
	.byte 0,0
	.byte 0,0
	.byte 0,32
	.byte 32,63
	.byte 32,32
	.byte 0,0
	.dbsym s l _l A[16:16]kc
_g:
	.byte 0,0
	.byte 128,128
	.byte 128,128
	.byte 128,0
	.byte 0,'k
	.byte 148,148
	.byte 148,147
	.byte 96,0
	.dbsym s g _g A[16:16]kc
_P:
	.byte 8,248
	.byte 8,8
	.byte 8,8
	.byte 240,0
	.byte 32,63
	.byte 33,1
	.byte 1,1
	.byte 0,0
	.dbsym s P _P A[16:16]kc
_H:
	.byte 0,126
	.byte 16,126
	.byte 0,'P
	.byte 'p,64
	.dbsym s H _H A[8:8]kc
_ll:
	.byte 0,0
	.byte 'B,126
	.byte 'B,0
	.byte 0,0
	.dbsym s ll _ll A[8:8]kc
_lll:
	.byte 0,0
	.byte 'B,126
	.byte 'B,126
	.byte 'B,0
	.dbsym s lll _lll A[8:8]kc
_zhenghao:
	.byte 0,0
	.byte 0,240
	.byte 0,0
	.byte 0,0
	.byte 1,1
	.byte 1,31
	.byte 1,1
	.byte 1,0
	.dbsym s zhenghao _zhenghao A[16:16]kc
_fuhao:
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,1
	.byte 1,1
	.byte 1,1
	.byte 1,1
	.dbsym s fuhao _fuhao A[16:16]kc
	.area text(rom, con, rel)
	.dbfile D:\zhangyu\H2test\program/lcd.h
	.dbfile D:\zhangyu\H2test\program\key.c
	.dbfunc e inchour _inchour fV
	.even
_inchour::
	sbiw R28,1
	.dbline -1
	.dbline 31
; /************************************************************
;   FileName: KEY.c
;   Description: 键盘模块,实现时间的调整和参数的设置                    
;   Function List:  
; 1.inchour()  //小时加1的子程序,在调整小时的状态下按下加1键调用到此程序
; 2.incmin()  //分钟加1的子程序,在调整分钟的状态下按下加1按键调用到此程序
; 3.dechour()  //小时减1的子程序,在调整小时的状态下按下减1按键调用到此程序
; 4.decmin()	  //分钟减1的子程序,在调整小时的状态下按下减1按键调用到此程序
; 5.canbi0()  //参比的正负设置
; 6.incanbizhengshu()  //参比的整数加1
; 7.incanbixiaoshu()	 //参比的小数加1
; 8.decanbizhengshu()  //参比的整数减1
; 9.decanbixiaoshu()	 //参比的小数减1
; 10.getkey()  //获取按键值
; 11.getkeylock()  //锁定按键并获取按键值
; 12.checkkey()  //键盘处理函数
; ***************************************************************/
; #include <iom16v.h>
; #include <macros.h>
; #include "key.h"
; #include "lcd.h"
; #include "1302.h"
; #include "6675.h"
; #include "main.h"
; 
; extern unsigned char entercount,leftcount,rightcount;
; extern unsigned char position1302,hh,mm,positioncanbi,canbianjian;
; extern unsigned int  time_array[6],canbi_array[5];
; 
; void inchour(void)	 //小时加1的子程序,在调整小时的状态下按下加1键调用到此程序
; {
	.dbline 32
;  	time_array[1]++;
	lds R24,_time_array+2
	lds R25,_time_array+2+1
	adiw R24,1
	sts _time_array+2+1,R25
	sts _time_array+2,R24
	.dbline 33
;  	if((time_array[0]==0x02)&&(time_array[1]==0x04))
	lds R24,_time_array
	lds R25,_time_array+1
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	brne L3
	lds R24,_time_array+2
	lds R25,_time_array+2+1
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	brne L3
	.dbline 34
; 	{
	.dbline 35
; 		 time_array[1]=0x00;
	clr R2
	clr R3
	sts _time_array+2+1,R3
	sts _time_array+2,R2
	.dbline 36
; 		 time_array[0]=0x00;
	sts _time_array+1,R3
	sts _time_array,R2
	.dbline 37
; 	}
L3:
	.dbline 38
; 	if((time_array[0]!=0x02)&&(time_array[1]==0x0A))
	lds R24,_time_array
	lds R25,_time_array+1
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	breq L7
	lds R24,_time_array+2
	lds R25,_time_array+2+1
	cpi R24,10
	ldi R30,0
	cpc R25,R30
	brne L7
	.dbline 39
; 	{
	.dbline 40
; 		  time_array[0]++;
	lds R24,_time_array
	lds R25,_time_array+1
	adiw R24,1
	sts _time_array+1,R25
	sts _time_array,R24
	.dbline 41
; 		  time_array[1]=0x00;
	clr R2
	clr R3
	sts _time_array+2+1,R3
	sts _time_array+2,R2
	.dbline 42
; 	}
L7:
	.dbline 43
;     Draw_NtoArab(0x00,0x28,time_array[0]);
	lds R2,_time_array
	lds R3,_time_array+1
	std y+0,R2
	ldi R18,40
	clr R16
	xcall _Draw_NtoArab
	.dbline 44
; 	Draw_NtoArab(0x00,0x30,time_array[1]);
	lds R2,_time_array+2
	lds R3,_time_array+2+1
	std y+0,R2
	ldi R18,48
	clr R16
	xcall _Draw_NtoArab
	.dbline -2
L1:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e incmin _incmin fV
	.even
_incmin::
	sbiw R28,1
	.dbline -1
	.dbline 49
; }
; 
; 
; void incmin(void)	 //分钟加1的子程序,在调整分钟的状态下按下加1按键调用到此程序
; {
	.dbline 50
;  	time_array[3]++;
	lds R24,_time_array+6
	lds R25,_time_array+6+1
	adiw R24,1
	sts _time_array+6+1,R25
	sts _time_array+6,R24
	.dbline 51
;  	if(time_array[3]==0x0A)
	cpi R24,10
	ldi R30,0
	cpc R25,R30
	brne L14
	.dbline 52
;  	{
	.dbline 53
; 	 	time_array[3]=0x00;
	clr R2
	clr R3
	sts _time_array+6+1,R3
	sts _time_array+6,R2
	.dbline 54
; 	 	time_array[2]++;
	lds R24,_time_array+4
	lds R25,_time_array+4+1
	adiw R24,1
	sts _time_array+4+1,R25
	sts _time_array+4,R24
	.dbline 55
; 	 	if(time_array[2]==0x06)
	cpi R24,6
	ldi R30,0
	cpc R25,R30
	brne L19
	.dbline 56
; 		 	time_array[2]=0x00;
	sts _time_array+4+1,R3
	sts _time_array+4,R2
L19:
	.dbline 57
; 	}
L14:
	.dbline 58
;     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 59
; 	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
L12:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e dechour _dechour fV
	.even
_dechour::
	sbiw R28,1
	.dbline -1
	.dbline 63
; }
; 
; void dechour(void)   //小时减1的子程序,在调整小时的状态下按下减1按键调用到此程序
; {
	.dbline 64
; 	time_array[1]--;
	lds R24,_time_array+2
	lds R25,_time_array+2+1
	sbiw R24,1
	sts _time_array+2+1,R25
	sts _time_array+2,R24
	.dbline 65
;  	if((time_array[0]==0x00)&&(time_array[1]==-1))
	lds R2,_time_array
	lds R3,_time_array+1
	tst R2
	brne L27
	tst R3
	brne L27
X0:
	lds R24,_time_array+2
	lds R25,_time_array+2+1
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L27
	.dbline 66
; 	{
	.dbline 67
; 	  time_array[1]=0x03;
	ldi R24,3
	ldi R25,0
	sts _time_array+2+1,R25
	sts _time_array+2,R24
	.dbline 68
; 	  time_array[0]=0x02;
	ldi R24,2
	sts _time_array+1,R25
	sts _time_array,R24
	.dbline 69
; 	}
L27:
	.dbline 70
; 	if((time_array[0]!=0x00)&&(time_array[1]==-1))
	lds R2,_time_array
	lds R3,_time_array+1
	tst R2
	brne X1
	tst R3
	breq L31
X1:
	lds R24,_time_array+2
	lds R25,_time_array+2+1
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L31
	.dbline 71
; 	{
	.dbline 72
; 	   	time_array[1]=0x09;
	ldi R24,9
	ldi R25,0
	sts _time_array+2+1,R25
	sts _time_array+2,R24
	.dbline 73
; 		time_array[0]--;
	lds R24,_time_array
	lds R25,_time_array+1
	sbiw R24,1
	sts _time_array+1,R25
	sts _time_array,R24
	.dbline 74
; 	}
L31:
	.dbline 75
;     Draw_NtoArab(0x00,0x28,time_array[0]);
	lds R2,_time_array
	lds R3,_time_array+1
	std y+0,R2
	ldi R18,40
	clr R16
	xcall _Draw_NtoArab
	.dbline 76
; 	Draw_NtoArab(0x00,0x30,time_array[1]);
	lds R2,_time_array+2
	lds R3,_time_array+2+1
	std y+0,R2
	ldi R18,48
	clr R16
	xcall _Draw_NtoArab
	.dbline -2
L25:
	adiw R28,1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e decmin _decmin fV
	.even
_decmin::
	sbiw R28,1
	.dbline -1
	.dbline 80
; }
; 
; void decmin(void)	 //分钟减1的子程序,在调整小时的状态下按下减1按键调用到此程序
; {
	.dbline 82
; 
;  	time_array[3]--;
	lds R24,_time_array+6
	lds R25,_time_array+6+1
	sbiw R24,1
	sts _time_array+6+1,R25
	sts _time_array+6,R24
	.dbline 83
;  	if(time_array[3]==-1)
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L38
	.dbline 84
;  	{
	.dbline 85
; 	 	time_array[3]=0x09;
	ldi R24,9
	ldi R25,0
	sts _time_array+6+1,R25
	sts _time_array+6,R24
	.dbline 86
; 	 	time_array[2]--;
	lds R24,_time_array+4
	lds R25,_time_array+4+1
	sbiw R24,1
	sts _time_array+4+1,R25
	sts _time_array+4,R24
	.dbline 87
; 	 	if(time_array[2]==-1)
	cpi R24,255
	ldi R30,255
	cpc R25,R30
	brne L43
	.dbline 88
; 	 		time_array[2]=0x05;
	ldi R24,5
	ldi R25,0

⌨️ 快捷键说明

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