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

📄 abc-001.asm

📁 使用有限的几个开关进行多项控制和设定程序的软件。
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	NEXT?BCL	_k, 001h, L00063
	LABEL?L	L00064	
	LOW?T	_PORTD_3
	PAUSE?C	00BB8h
	HIGH?T	_PORTD_1
	MOVE?CB	001h, _i
	LABEL?L	L00065	
	CMPGT?BCL	_i, 00Ch, L00066
	PAUSE?C	01388h
	NEXT?BCL	_i, 001h, L00065
	LABEL?L	L00066	
	LOW?T	_PORTD_1
	LABEL?L	L00061	
	GOTO?L	_main

	LABEL?L	_cleaningstop	
	HIGH?T	_PORTC_5
	CMPNE?TCL	_PORTB_7, 000h, L00067
	LOW?T	_PORTC_5
	GOTO?L	_allreset
	LABEL?L	L00067	
	GOTO?L	_cleaningstop

	LABEL?L	_allreset	
	LOW?T	_PORTD_0
	PAUSE?C	01388h
	LOW?T	_PORTD_1
	PAUSE?C	003E8h
	LOW?T	_PORTD_2
	PAUSE?C	003E8h
	LOW?T	_PORTD_3
	PAUSE?C	003E8h
	MOVE?CB	000h, _forwardtimes
	MOVE?CB	000h, _returntimes
	GOTO?L	_main

	LABEL?L	_traxxforwarderror	
	GOSUB?L	_stopsuction

	LABEL?L	_forwarderror	
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	045h
	LCDOUT?C	072h
	LCDOUT?C	072h
	LCDOUT?C	06Fh
	LCDOUT?C	072h
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	031h
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	LCDOUT?C	046h
	LCDOUT?C	06Fh
	LCDOUT?C	072h
	LCDOUT?C	077h
	LCDOUT?C	061h
	LCDOUT?C	072h
	LCDOUT?C	064h
	LCDOUT?C	020h
	LCDOUT?C	069h
	LCDOUT?C	073h
	LCDOUT?C	020h
	LCDOUT?C	066h
	LCDOUT?C	061h
	LCDOUT?C	069h
	LCDOUT?C	06Ch
	PAUSE?C	0012Ch
	MOVE?CB	001h, _almp
	GOSUB?L	_alnormalflagdata
	CMPNE?TCL	_PORTB_5, 000h, L00069
	PAUSE?C	007D0h
	CMPNE?TCL	_PORTB_5, 000h, L00071
	MOVE?CB	000h, _almp
	GOSUB?L	_alnormalflagdata
	GOTO?L	_main
	LABEL?L	L00071	
	LABEL?L	L00069	
	GOTO?L	_forwarderror

	LABEL?L	_traxxreturnerror	
	GOSUB?L	_stopsuction

	LABEL?L	_returnerror	
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	045h
	LCDOUT?C	072h
	LCDOUT?C	072h
	LCDOUT?C	06Fh
	LCDOUT?C	072h
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	02Eh
	LCDOUT?C	032h
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	LCDOUT?C	020h
	LCDOUT?C	052h
	LCDOUT?C	065h
	LCDOUT?C	074h
	LCDOUT?C	075h
	LCDOUT?C	072h
	LCDOUT?C	06Eh
	LCDOUT?C	020h
	LCDOUT?C	069h
	LCDOUT?C	073h
	LCDOUT?C	020h
	LCDOUT?C	066h
	LCDOUT?C	061h
	LCDOUT?C	069h
	LCDOUT?C	06Ch
	PAUSE?C	0012Ch
	MOVE?CB	002h, _almp
	GOSUB?L	_alnormalflagdata
	CMPNE?TCL	_PORTB_5, 000h, L00073
	PAUSE?C	007D0h
	CMPNE?TCL	_PORTB_5, 000h, L00075
	MOVE?CB	000h, _almp
	GOSUB?L	_alnormalflagdata
	GOTO?L	_main
	LABEL?L	L00075	
	LABEL?L	L00073	
	GOTO?L	_returnerror

	LABEL?L	_stopsuction	
	GOSUB?L	_fivesec
	HIGH?T	_PORTC_5
	CMPNE?TCL	_PORTB_7, 000h, L00077
	LOW?T	_PORTC_5
	LABEL?L	L00077	
	LOW?T	_PORTD_0
	PAUSE?C	01388h
	LOW?T	_PORTD_1
	PAUSE?C	003E8h
	LOW?T	_PORTD_2
	RETURN?	

	LABEL?L	_init	
	CMPNE?TCL	_PORTC_0, 000h, L00079
	PAUSE?C	01F40h
	CMPEQ?TCL	_PORTC_0, 000h, _initializing
	LABEL?L	L00079	
	RETURN?	

	LABEL?L	_initializing	
	MOVE?CB	002h, _rtcyear
	MOVE?CB	004h, _rtcday
	MOVE?CB	001h, _rtcmonth
	MOVE?CB	001h, _rtcdate
	MOVE?CB	000h, _rtchr
	MOVE?CB	000h, _rtcmin
	MOVE?CB	000h, _rtcsec
	MOVE?CB	001h, _runtimes
	MOVE?CB	005h, _runsec
	MOVE?CB	000h, _almp
	MOVE?CW	000h, _counts
	MOVE?CW	000h, _incounts
	GOSUB?L	_settime
	RETURN?	

	LABEL?L	_mode	

	LABEL?L	_backmode	
	CMPNE?TCL	_PORTB_0, 000h, L00081
	MOVE?CB	030h, _runstopa
	MOVE?CB	030h, _runstopb
	MOVE?CB	030h, _runstopc
	MOVE?CB	030h, _runstopd
	MOVE?CW	000h, _qqq
	ADD?BCB	_modecnt, 001h, _modecnt
	CMPLE?BCL	_modecnt, 008h, L00083
	MOVE?CB	000h, _modecnt
	LABEL?L	L00083	
	LABEL?L	L00081	
	CMPLE?WCL	_qqq, 001F4h, L00085
	GOTO?L	_backmain0
	LABEL?L	L00085	
	ADD?WCW	_qqq, 001h, _qqq
	MOVE?CB	001h, _operationtime
	CMPNE?BCL	_modecnt, 000h, L00089
	GOTO?L	_backmain0
	GOTO?L	L00088
	LABEL?L	L00089	
	CMPNE?BCL	_modecnt, 001h, L00090
	GOSUB?L	_setting1
	GOTO?L	L00088
	LABEL?L	L00090	
	CMPNE?BCL	_modecnt, 002h, L00091
	GOSUB?L	_times2
	GOTO?L	L00088
	LABEL?L	L00091	
	CMPNE?BCL	_modecnt, 003h, L00092
	GOSUB?L	_motor3
	GOTO?L	L00088
	LABEL?L	L00092	
	CMPNE?BCL	_modecnt, 004h, L00093
	GOSUB?L	_traxx4
	GOTO?L	L00088
	LABEL?L	L00093	
	CMPNE?BCL	_modecnt, 005h, L00094
	GOSUB?L	_pump5
	GOTO?L	L00088
	LABEL?L	L00094	
	CMPNE?BCL	_modecnt, 006h, L00095
	GOSUB?L	_blower6
	GOTO?L	L00088
	LABEL?L	L00095	
	CMPNE?BCL	_modecnt, 007h, L00096
	GOSUB?L	_lamp7
	GOTO?L	L00088
	LABEL?L	L00096	
	CMPNE?BCL	_modecnt, 008h, L00097
	GOSUB?L	_spray8
	LABEL?L	L00097	
	LABEL?L	L00088	
	GOTO?L	_backmode

	LABEL?L	_backmain0	
	RETURN?	

	LABEL?L	_setting1	
	GOSUB?L	_gettime
	GOSUB?L	_tohex
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	053h
	LCDOUT?C	045h
	LCDOUT?C	054h
	LCDOUT?C	020h
	LCDOUT?C	043h
	LCDOUT?C	041h
	LCDOUT?C	04Ch
	LCDOUT?C	045h
	LCDOUT?C	04Eh
	LCDOUT?C	044h
	LCDOUT?C	041h
	LCDOUT?C	052h
	LCDOUT?C	02Fh
	LCDOUT?C	043h
	LCDOUT?C	04Ch
	LCDOUT?C	04Bh
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	LCDOUT?C	032h
	LCDOUT?C	030h
	LCDOUTCOUNT?C	002h
	LCDOUTNUM?B	_cyear
	LCDOUTDEC?	
	LCDOUT?C	02Fh
	LCDOUTCOUNT?C	002h
	LCDOUTNUM?B	_cmonth
	LCDOUTDEC?	
	LCDOUT?C	02Fh
	LCDOUTCOUNT?C	002h
	LCDOUTNUM?B	_cdate
	LCDOUTDEC?	
	LCDOUT?C	020h
	LCDOUTCOUNT?C	002h
	LCDOUTNUM?B	_chr
	LCDOUTDEC?	
	LCDOUT?C	03Ah
	LCDOUTCOUNT?C	002h
	LCDOUTNUM?B	_cmin
	LCDOUTDEC?	
	PAUSE?C	0012Ch
	CMPNE?TCL	_PORTB_1, 000h, L00098
	ADD?BCB	_setcnt, 001h, _setcnt
	CMPLE?BCL	_setcnt, 005h, L00100
	MOVE?CB	001h, _setcnt
	LABEL?L	L00100	
	LABEL?L	L00098	
	CMPNE?BCL	_setcnt, 001h, L00104
	GOSUB?L	_cyset
	GOTO?L	L00103
	LABEL?L	L00104	
	CMPNE?BCL	_setcnt, 002h, L00105
	GOSUB?L	_cmtset
	GOTO?L	L00103
	LABEL?L	L00105	
	CMPNE?BCL	_setcnt, 003h, L00106
	GOSUB?L	_cdset
	GOTO?L	L00103
	LABEL?L	L00106	
	CMPNE?BCL	_setcnt, 004h, L00107
	GOSUB?L	_chset
	GOTO?L	L00103
	LABEL?L	L00107	
	CMPNE?BCL	_setcnt, 005h, L00108
	GOSUB?L	_cmset
	LABEL?L	L00108	
	LABEL?L	L00103	
	RETURN?	

	LABEL?L	_cyset	
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	MOVE?CB	001h, _i
	LABEL?L	L00109	
	CMPGT?BCL	_i, 003h, L00110
	LCDOUT?C	0FEh
	LCDOUT?C	014h
	NEXT?BCL	_i, 001h, L00109
	LABEL?L	L00110	
	LCDOUT?C	0FEh
	LCDOUT?C	00Eh
	PAUSE?C	032h
	CMPNE?TCL	_PORTB_2, 000h, L00111
	ADD?BCB	_cyear, 001h, _cyear
	CMPLE?BCL	_cyear, 063h, L00113
	MOVE?CB	000h, _cyear
	LABEL?L	L00113	
	LABEL?L	L00111	
	CMPNE?TCL	_PORTB_3, 000h, L00115
	CMPGE?BCL	_cyear, 001h, L00117
	MOVE?CB	064h, _cyear
	LABEL?L	L00117	
	SUB?BCB	_cyear, 001h, _cyear
	LABEL?L	L00115	
	DIV?BCB	_cyear, 00Ah, _bcdh
	MOD?BCB	_cyear, 00Ah, _bcdl
	GOSUB?L	_tobcd
	MOVE?BB	_cbcd, _rtcyear
	GOSUB?L	_settime
	PAUSE?C	00Ah
	RETURN?	

	LABEL?L	_cmtset	
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	MOVE?CB	001h, _i
	LABEL?L	L00119	
	CMPGT?BCL	_i, 006h, L00120
	LCDOUT?C	0FEh
	LCDOUT?C	014h
	NEXT?BCL	_i, 001h, L00119
	LABEL?L	L00120	
	LCDOUT?C	0FEh
	LCDOUT?C	00Eh
	PAUSE?C	032h
	CMPNE?TCL	_PORTB_2, 000h, L00121
	ADD?BCB	_cmonth, 001h, _cmonth
	CMPLE?BCL	_cmonth, 00Ch, L00123
	MOVE?CB	001h, _cmonth
	LABEL?L	L00123	
	LABEL?L	L00121	
	CMPNE?TCL	_PORTB_3, 000h, L00125
	SUB?BCB	_cmonth, 001h, _cmonth
	CMPGE?BCL	_cmonth, 001h, L00127
	MOVE?CB	00Ch, _cmonth
	LABEL?L	L00127	
	LABEL?L	L00125	
	DIV?BCB	_cmonth, 00Ah, _bcdh
	MOD?BCB	_cmonth, 00Ah, _bcdl
	GOSUB?L	_tobcd
	MOVE?BB	_cbcd, _rtcmonth
	GOSUB?L	_settime
	PAUSE?C	00Ah
	RETURN?	

	LABEL?L	_cdset	
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	MOVE?CB	001h, _i
	LABEL?L	L00129	
	CMPGT?BCL	_i, 009h, L00130
	LCDOUT?C	0FEh
	LCDOUT?C	014h
	NEXT?BCL	_i, 001h, L00129
	LABEL?L	L00130	
	LCDOUT?C	0FEh
	LCDOUT?C	00Eh
	PAUSE?C	032h
	CMPNE?TCL	_PORTB_2, 000h, L00131
	ADD?BCB	_cdate, 001h, _cdate
	CMPLE?BCL	_cdate, 01Fh, L00133
	MOVE?CB	001h, _cdate
	LABEL?L	L00133	
	LABEL?L	L00131	
	CMPNE?TCL	_PORTB_3, 000h, L00135
	SUB?BCB	_cdate, 001h, _cdate
	CMPGE?BCL	_cdate, 001h, L00137
	MOVE?CB	01Fh, _cdate
	LABEL?L	L00137	
	LABEL?L	L00135	
	DIV?BCB	_cdate, 00Ah, _bcdh
	MOD?BCB	_cdate, 00Ah, _bcdl
	GOSUB?L	_tobcd
	MOVE?BB	_cbcd, _rtcdate
	GOSUB?L	_settime
	PAUSE?C	00Ah
	RETURN?	

	LABEL?L	_chset	
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	MOVE?CB	001h, _i
	LABEL?L	L00139	
	CMPGT?BCL	_i, 00Ch, L00140
	LCDOUT?C	0FEh
	LCDOUT?C	014h
	NEXT?BCL	_i, 001h, L00139
	LABEL?L	L00140	
	LCDOUT?C	0FEh
	LCDOUT?C	00Eh
	PAUSE?C	032h
	CMPNE?TCL	_PORTB_2, 000h, L00141
	ADD?BCB	_chr, 001h, _chr
	CMPLE?BCL	_chr, 017h, L00143
	MOVE?CB	000h, _chr
	LABEL?L	L00143	
	LABEL?L	L00141	
	CMPNE?TCL	_PORTB_3, 000h, L00145
	CMPGE?BCL	_chr, 001h, L00147
	MOVE?CB	018h, _chr
	LABEL?L	L00147	
	SUB?BCB	_chr, 001h, _chr
	LABEL?L	L00145	
	DIV?BCB	_chr, 00Ah, _bcdh
	MOD?BCB	_chr, 00Ah, _bcdl
	GOSUB?L	_tobcd
	MOVE?BB	_cbcd, _rtchr
	GOSUB?L	_settime
	PAUSE?C	00Ah
	RETURN?	

	LABEL?L	_cmset	
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	MOVE?CB	001h, _i
	LABEL?L	L00149	
	CMPGT?BCL	_i, 00Fh, L00150
	LCDOUT?C	0FEh
	LCDOUT?C	014h
	NEXT?BCL	_i, 001h, L00149
	LABEL?L	L00150	
	LCDOUT?C	0FEh
	LCDOUT?C	00Eh
	PAUSE?C	032h
	CMPNE?TCL	_PORTB_2, 000h, L00151
	ADD?BCB	_cmin, 001h, _cmin
	CMPLE?BCL	_cmin, 03Bh, L00153
	MOVE?CB	000h, _cmin
	LABEL?L	L00153	
	LABEL?L	L00151	
	CMPNE?TCL	_PORTB_3, 000h, L00155
	CMPGE?BCL	_cmin, 001h, L00157
	MOVE?CB	03Ch, _cmin
	LABEL?L	L00157	
	SUB?BCB	_cmin, 001h, _cmin
	LABEL?L	L00155	
	DIV?BCB	_cmin, 00Ah, _bcdh
	MOD?BCB	_cmin, 00Ah, _bcdl
	GOSUB?L	_tobcd
	MOVE?BB	_cbcd, _rtcmin
	GOSUB?L	_settime
	PAUSE?C	00Ah
	RETURN?	

	LABEL?L	_tobcd	
	SHIFTL?BCB	_bcdh, 004h, _bcdh
	OR?BBB	_bcdh, _bcdl, _cbcd
	RETURN?	

	LABEL?L	_tohex	
	AND?BCB	_rtcyear, 00Fh, _bcdl
	AND?BCB	_rtcyear, 0F0h, _bcdh
	GOSUB?L	_frombcd
	ADD?BBB	_bcdh, _bcdl, _cyear
	AND?BCB	_rtcmonth, 00Fh, _bcdl
	AND?BCB	_rtcmonth, 0F0h, _bcdh
	GOSUB?L	_frombcd
	ADD?BBB	_bcdh, _bcdl, _cmonth
	AND?BCB	_rtcdate, 00Fh, _bcdl
	AND?BCB	_rtcdate, 0F0h, _bcdh
	GOSUB?L	_frombcd
	ADD?BBB	_bcdh, _bcdl, _cdate
	AND?BCB	_rtchr, 00Fh, _bcdl
	AND?BCB	_rtchr, 0F0h, _bcdh
	GOSUB?L	_frombcd
	ADD?BBB	_bcdh, _bcdl, _chr
	AND?BCB	_rtcmin, 00Fh, _bcdl
	AND?BCB	_rtcmin, 0F0h, _bcdh
	GOSUB?L	_frombcd
	ADD?BBB	_bcdh, _bcdl, _cmin
	RETURN?	

	LABEL?L	_frombcd	
	SHIFTR?BCB	_bcdh, 004h, _bcdh
	MUL?BCB	_bcdh, 00Ah, _bcdh
	RETURN?	

	LABEL?L	_settime	
	MOVE?CT	001h, _RST
	SHIFTDATA?T	_IO
	SHIFTCLOCK?T	_SCLK
	SHIFTMODE?C	_LSBFIRST
	SHIFTOUT?CC	08Eh, 008h
	SHIFTOUT?CC	000h, 008h
	MOVE?CT	000h, _RST
	MOVE?CT	001h, _RST
	SHIFTDATA?T	_IO
	SHIFTCLOCK?T	_SCLK
	SHIFTMODE?C	_LSBFIRST
	SHIFTOUT?CC	0BEh, 008h
	SHIFTOUT?BC	_rtcsec, 008h
	SHIFTOUT?BC	_rtcmin, 008h
	SHIFTOUT?BC	_rtchr, 008h
	SHIFTOUT?BC	_rtcdate, 008h
	SHIFTOUT?BC	_rtcmonth, 008h
	SHIFTOUT?BC	_rtcday, 008h
	SHIFTOUT?BC	_rtcyear, 008h
	SHIFTOUT?CC	000h, 008h
	MOVE?CT	000h, _RST
	RETURN?	

	LABEL?L	_times2	
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	020h
	LCDOUT?C	053h
	LCDOUT?C	045h
	LCDOUT?C	054h
	LCDOUT?C	020h
	LCDOUT?C	043h
	LCDOUT?C	04Ch
	LCDOUT?C	045h
	LCDOUT?C	041h
	LCDOUT?C	04Eh
	LCDOUT?C	02Fh
	LCDOUT?C	053h
	LCDOUT?C	050h
	LCDOUT?C	052h
	LCDOUT?C	041h
	LCDOUT?C	059h
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	LCDOUT?C	054h
	LCDOUT?C	049h
	LCDOUT?C	04Dh
	LCDOUT?C	045h
	LCDOUT?C	053h
	LCDOUT?C	03Ah
	LCDOUTCOUNT?C	002h
	LCDOUTNUM?B	_runtimes
	LCDOUTDEC?	
	LCDOUT?C	03Bh
	LCDOUT?C	053h
	LCDOUT?C	045h
	LCDOUT?C	043h
	LCDOUT?C	03Ah
	LCDOUTCOUNT?C	003h
	LCDOUTNUM?B	_runsec
	LCDOUTDEC?	
	PAUSE?C	0012Ch
	CMPNE?TCL	_PORTB_1, 000h, L00159
	ADD?BCB	_runcnt, 001h, _runcnt
	CMPLE?BCL	_runcnt, 002h, L00161
	MOVE?CB	001h, _runcnt
	LABEL?L	L00161	
	LABEL?L	L00159	
	CMPNE?BCL	_runcnt, 001h, L00165
	GOSUB?L	_stimes
	GOTO?L	L00164
	LABEL?L	L00165	
	CMPNE?BCL	_runcnt, 002h, L00166
	GOSUB?L	_secs
	LABEL?L	L00166	
	LABEL?L	L00164	
	GOSUB?L	_rundata
	RETURN?	

	LABEL?L	_stimes	
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	MOVE?CB	001h, _i
	LABEL?L	L00167	
	CMPGT?BCL	_i, 007h, L00168
	LCDOUT?C	0FEh
	LCDOUT?C	014h
	NEXT?BCL	_i, 001h, L00167
	LABEL?L	L00168	
	LCDOUT?C	0FEh
	LCDOUT?C	00Eh
	PAUSE?C	032h
	CMPNE?TCL	_PORTB_2, 000h, L00169
	ADD?BCB	_runtimes, 001h, _runtimes
	CMPLE?BCL	_runtimes, 063h, L00171
	MOVE?CB	001h, _runtimes
	LABEL?L	L00171	
	LABEL?L	L00169	
	CMPNE?TCL	_PORTB_3, 000h, L00173
	SUB?BCB	_runtimes, 001h, _runtimes
	CMPGE?BCL	_runtimes, 001h, L00175
	MOVE?CB	063h, _runtimes
	LABEL?L	L00175	
	LABEL?L	L00173	
	RETURN?	

	LABEL?L	_secs	
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	MOVE?CB	001h, _i
	LABEL?L	L00177	
	CMPGT?BCL	_i, 00Fh, L00178
	LCDOUT?C	0FEh

⌨️ 快捷键说明

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