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

📄 main.s

📁 ds1302事实时钟+12864液晶显示 4094
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline 80
; 		Char_Set_XY_BYTE(6,0,charindex[gewei],1); 
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_gewei
	lds R31,_gewei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	clr R18
	clr R19
	ldi R16,6
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 81
; 	    Char_Set_XY_BYTE(5,0,charindex[shiwei],2); 
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_shiwei
	lds R31,_shiwei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	clr R18
	clr R19
	ldi R16,5
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 82
; 	    Char_Set_XY_BYTE(5,0,charindex[10],1);
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	lds R2,_charindex+10
	clr R3
	std y+1,R3
	std y+0,R2
	clr R18
	clr R19
	ldi R16,5
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 83
;         }
L19:
	.dbline 84
; 	    mid[2]=min;
	lds R2,_min
	lds R3,_min+1
	sts _mid+2,R2
	.dbline 87
; 	
; 	    
; 		hour=ReadHour();
	rcall _ReadHour
	movw R10,R16
	sts _hour+1,R11
	sts _hour,R10
	.dbline 88
; 		if(mid[3]!=hour)
	lds R4,_mid+3
	clr R5
	cp R4,R16
	cpc R5,R17
	breq L24
X3:
	.dbline 89
; 		{
	.dbline 90
; 		jisuan(hour);
	rcall _jisuan
	.dbline 91
; 		Char_Set_XY_BYTE(4,0,charindex[gewei],2);
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_gewei
	lds R31,_gewei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	clr R18
	clr R19
	ldi R16,4
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 92
; 	    Char_Set_XY_BYTE(4,0,charindex[shiwei],1);
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_shiwei
	lds R31,_shiwei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	clr R18
	clr R19
	ldi R16,4
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 93
; 		}
L24:
	.dbline 94
; 		mid[3]=hour;
	lds R2,_hour
	lds R3,_hour+1
	sts _mid+3,R2
	.dbline 100
; 		
; 		
; 		
; 		
; 		
; 		year=ReadYear();
	rcall _ReadYear
	movw R10,R16
	sts _year+1,R11
	sts _year,R10
	.dbline 101
; 		if(mid[4]!=year)
	lds R4,_mid+4
	clr R5
	cp R4,R16
	cpc R5,R17
	breq L28
X4:
	.dbline 102
; 		{
	.dbline 103
; 		jisuan(year);
	rcall _jisuan
	.dbline 104
; 		Char_Set_XY_BYTE(4,1,charindex[gewei],2);
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_gewei
	lds R31,_gewei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,1
	ldi R19,0
	ldi R16,4
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 105
; 	    Char_Set_XY_BYTE(4,1,charindex[shiwei],1);
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_shiwei
	lds R31,_shiwei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,1
	ldi R19,0
	ldi R16,4
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 106
; 		}
L28:
	.dbline 107
; 		mid[4]=year;
	lds R2,_year
	lds R3,_year+1
	sts _mid+4,R2
	.dbline 110
; 		
; 		
; 		month=ReadMonth();
	rcall _ReadMonth
	movw R10,R16
	sts _month+1,R11
	sts _month,R10
	.dbline 111
; 		if(mid[5]!=month)
	lds R4,_mid+5
	clr R5
	cp R4,R16
	cpc R5,R17
	brne X11
	rjmp L32
X11:
X5:
	.dbline 112
; 		{
	.dbline 113
; 		jisuan(month);
	rcall _jisuan
	.dbline 114
; 		Char_Set_XY_BYTE(6,1,charindex[gewei],1);
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_gewei
	lds R31,_gewei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,1
	ldi R19,0
	ldi R16,6
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 115
; 	    Char_Set_XY_BYTE(5,1,charindex[shiwei],2);
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_shiwei
	lds R31,_shiwei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,1
	ldi R19,0
	ldi R16,5
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 116
; 		Char_Set_XY_BYTE(5,1,charindex[10],1);
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	lds R2,_charindex+10
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,1
	ldi R19,0
	ldi R16,5
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 117
; 		}
L32:
	.dbline 118
; 		mid[5]=month;	
	lds R2,_month
	lds R3,_month+1
	sts _mid+5,R2
	.dbline 121
; 			
; 
;         date=ReadDate();
	rcall _ReadDate
	movw R10,R16
	sts _date+1,R11
	sts _date,R10
	.dbline 122
; 		if(mid[7]!=date)
	lds R4,_mid+7
	clr R5
	cp R4,R16
	cpc R5,R17
	breq L37
X6:
	.dbline 123
; 		{
	.dbline 124
; 		jisuan(date);
	rcall _jisuan
	.dbline 125
; 		Char_Set_XY_BYTE(7,1,charindex[gewei],2);
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_gewei
	lds R31,_gewei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,1
	ldi R19,0
	ldi R16,7
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 126
; 	    Char_Set_XY_BYTE(7,1,charindex[shiwei],1);
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_shiwei
	lds R31,_shiwei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,1
	ldi R19,0
	ldi R16,7
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 127
; 		}
L37:
	.dbline 128
; 		mid[7]=date;		
	lds R2,_date
	lds R3,_date+1
	sts _mid+7,R2
	.dbline 131
; 		  
;        				
; 		day=ReadDay();
	rcall _ReadDay
	movw R10,R16
	sts _day+1,R11
	sts _day,R10
	.dbline 132
; 		if(mid[6]!=day)
	lds R4,_mid+6
	clr R5
	cp R4,R16
	cpc R5,R17
	breq L41
X7:
	.dbline 133
; 		{
	.dbline 134
; 		jisuan(day);
	rcall _jisuan
	.dbline 135
; 		Char_Set_XY_BYTE(7,2,charindex[gewei],2);
	ldi R24,2
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_gewei
	lds R31,_gewei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,2
	ldi R19,0
	ldi R16,7
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 136
; 	    Char_Set_XY_BYTE(7,2,charindex[shiwei],1);
	ldi R24,1
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,<_charindex
	ldi R25,>_charindex
	lds R30,_shiwei
	lds R31,_shiwei+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,2
	ldi R19,0
	ldi R16,7
	ldi R17,0
	rcall _Char_Set_XY_BYTE
	.dbline 137
; 		}
L41:
	.dbline 138
; 		mid[6]=day;
	lds R2,_day
	lds R3,_day+1
	sts _mid+6,R2
	.dbline 139
; 	 }
L11:
	.dbline 59
	rjmp L10
X8:
	.dbline -2
L2:
	.dbline 0 ; func end
	adiw R28,4
	ret
	.dbsym r num 20 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\AVR实验\ds1302+12864时钟\main.c
_date::
	.blkb 2
	.dbsym e date _date i
_day::
	.blkb 2
	.dbsym e day _day i
_month::
	.blkb 2
	.dbsym e month _month i
_year::
	.blkb 2
	.dbsym e year _year i
_hour::
	.blkb 2
	.dbsym e hour _hour i
_min::
	.blkb 2
	.dbsym e min _min i
_sec::
	.blkb 2
	.dbsym e sec _sec i
_shiwei::
	.blkb 2
	.dbsym e shiwei _shiwei i
_gewei::
	.blkb 2
	.dbsym e gewei _gewei i
	.area data(ram, con, rel)
	.dbfile E:\AVR实验\ds1302+12864时钟\main.c
L5:
	.blkb 5
	.area idata
	.byte 'w,'e,'e,'k,0
	.area data(ram, con, rel)
	.dbfile E:\AVR实验\ds1302+12864时钟\main.c
L4:
	.blkb 5
	.area idata
	.byte 'd,'a,'t,'e,0
	.area data(ram, con, rel)
	.dbfile E:\AVR实验\ds1302+12864时钟\main.c
L3:
	.blkb 5
	.area idata
	.byte 't,'i,'m,'e,0
	.area data(ram, con, rel)
	.dbfile E:\AVR实验\ds1302+12864时钟\main.c
; }
; 
;   

⌨️ 快捷键说明

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