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

📄 testn8.lst

📁 用SAM72N9写的电子秤文档
💻 LST
📖 第 1 页 / 共 5 页
字号:
  732  01B6   21         	REF	RSMB_MemMapIO	; Select Memory Bank
  733  01B7   81 7C      	LD	EA,#01111100b	; Enable T/C0
  734  01B9   CD 90      	LD	TMOD0,EA        ; clear TCNT0 & Restart
  735  01BB   FE 8C      	BITR	IRQT0		; Clear Timer/Counter Request Flag
  736                    ;^*********************************^
  737                    
  738  01BD   20         	REF	RSMB_Variable	;
  739  01BE   81 57      	LD	EA,#DischargeDelay
  740                    
  741  01C0              DischargePeriod8
  742  01C0   CD 5E      	LD	CntTCNT,EA	;
  743  01C2   FE 8C      	BITR	IRQT0		; Clear Timer/Counter Request Flag
  744  01C4   77         	REF	RIRET_SB	;
  745                    
  746                    ;============================================================================
  747                    
  748                    ;***********************************************************
  749                    ;	F: Chk MaB key
  750                    ;	I: KeyKGLB, KeyFlozML, KeyHold,	KeyHeldNow
  751                    ;
  752  01C5              ChkMaBkey
  753  01C5   C2 21      	BTSF	KeyHeldNow	; if key held, exit
  754  01C7   C5         	RET			;
  755  01C8   8C 75      	LD	A,MaB_Key	;
  756  01CA   48         	DECS	A		;
  757  01CB   11         	JR	ChkMaBkey1	;
  758  01CC   C5         	RET			;
  759  01CD              ChkMaBkey1
  760  01CD   F3 26      	BTST	IdleBatLowNow	; if battery low now, skip
  761  01CF   14         	JR	ChkMaBkey2	;
  762  01D0   B0         	LD	A,#0		;
  763  01D1   89 75      	LD	MaB_Key,A	;
  764  01D3   C5         	RET
  765  01D4              ChkMaBkey2
  766  01D4   EA E9      	CALLS	Dly60		; Key delay 600ms
  767  01D6   C2 75      	BTSF	KeyKGLB		;
  768  01D8   19         	JR	MaB_KGLB	;
  769                    	
  770  01D9   E2 75      	BTSF	KeyHold		;
  771  01DB   92 0E      	JPS	MaB_Hold	;
  772                    	
  773  01DD   D2 75      	BTSF	KeyFlozML	;
  774  01DF   91 FE      	JPS	MaB_FlozML
  775  01E1   C5         	RET			;
  776                    
  777                    ;***********************************************************
  778                    ;	F: kg/lb button
  779                    ;	O: KeyKGLB
  780                    ;	N: MaB
  781                    ;
  782  01E2              MaB_KGLB
  783  01E2   E2 21      	BTSF	CntDspNow	; if CntDspNow = 1, exit
  784  01E4   C5         	RET			;
  785  01E5   C0 75      	BITR	KeyKGLB		;
  786                    		
  787  01E7   E2 24      	BTSF	HoldEn		; if hold enable, no funciton
  788  01E9   C5         	RET
  789                    
  790  01EA              SetSolMeasure
  791  01EA   F3 20      	BTST	SolLiqMode	;
  792  01EC   91 F1      	JPS	SetUnit		;
  793  01EE   F0 20      	BITR	SolLiqMode	; Set Solid mode
  794  01F0   17         	JR	RstMode		;
  795  01F1              SetUnit
  796  01F1   E7         	SCF			;
  797  01F2   83 20      	LD	HL,#OperFlg1	;
  798  01F4   F7 20      	BXOR	C,@H+UnitMode	; switch % g/lb
  799  01F6   FC 20      	LDB	@H+UnitMode,C	;
  800                    
  801  01F8              RstMode
  802  01F8   EA B3      	CALLS	SetFactoryMode	;
  803  01FA   63         	REF	RSetBnd		;
  804                    	
  805  01FB   EF EC      	CALLS	MainCalculate2	;
  806  01FD   C5         	RET
  807                    ;-----------------------------------
  808                    ;	F: fl.oz/ml button
  809                    ;	O: SolLiqMode, UnitMode
  810                    ;	N: MaB
  811                    ;
  812  01FE              MaB_FlozML
  813  01FE   E2 21      	BTSF	CntDspNow	; if CntDspNow = 1, exit
  814  0200   C5         	RET			;
  815  0201   D0 75      	BITR	KeyFlozML	;
  816                    		
  817  0203   E2 24      	BTSF	HoldEn		; if hold enable, no funciton
  818  0205   C5         	RET
  819                    
  820  0206              SetLiqMeasure
  821  0206   F2 20      	BTSF	SolLiqMode	;
  822  0208   91 F1      	JPS	SetUnit		;
  823  020A   F1 20      	BITS	SolLiqMode	; Set Liquid mode
  824  020C   91 F8      	JPS	RstMode		;
  825                    
  826                    ;--------------------------------------------------------	
  827                    ; F: Hold key operation
  828  020E              MaB_Hold		
  829  020E   E0 75      	BITR	KeyHold
  830                    	
  831  0210   E2 24      	BTSF	HoldEn
  832  0212   1B         	JR	IsHoldKey2
  833  0213              IsHoldKey1
  834  0213   E1 24      	BITS	HoldEn
  835  0215   C1 88      	BITS	Icon_Hold		; Indicate Hold is enable now
  836  0217   BC         	LD	A,#HoldChkTime		; Reset Hold check interval timer
  837  0218   89 3F      	LD	HoldTimer,A		;
  838  021A   B0         	LD	A,#0
  839  021B   89 7F      	LD	HoldState,A
  840  021D   16         	JR	IsHoldKey3		;
  841  021E              IsHoldKey2
  842  021E   E0 24      	BITR	HoldEn
  843  0220   C0 88      	BITR	Icon_Hold		; Indicate Hold is disable
  844  0222   D0 7F      	BITR	HoldRd		; Set this flag to allow update the display
  845  0224              IsHoldKey3
  846  0224   C5         	RET
  847                    ;***********************************************************
  848                    ;	O: KeyHeldNow
  849                    ;	N: xxxx0000 - EA : Key scan input
  850                    ;	       |||'-- Off button
  851                    ;	       ||'--- kg/lb button
  852                    ;	       |'---- fl.oz/ml button
  853                    ;              '----- hold button
  854                    ;
  855  0225              ChkKeyPressed
  856  0225   DC F6      	LD	YZ,EA		;
  857  0227   ED 3E      	CALLS	SetST_RL	; reset sleep timer
  858                    
  859  0229   47         	REF	RSkipSRC_YZ	;
  860  022A   91 10      	JPS	Sleep		; Off button
  861  022C   47         	REF	RSkipSRC_YZ	;
  862  022D   92 38      	JPS	IsKeyKGLB	; kg/lb button
  863  022F   47         	REF	RSkipSRC_YZ	;
  864  0230   92 3F      	JPS	IsKeyFLOZML	; fl.oz/ml button
  865  0232   47         	REF	RSkipSRC_YZ	;	
  866  0233   92 46      	JPS	IsHoldKey	; Hold key button
  867                    
  868  0235              ChkKeyPress9
  869  0235   C1 21      	BITS	KeyHeldNow	;
  870  0237              ChkKeyPressE
  871  0237   C5         	RET
  872                    
  873                    ;***********************************************************
  874                    ;	F: kg/lb button
  875                    ;	O: KeyKGLB
  876                    ;	N: MaB
  877                    ;
  878  0238              IsKeyKGLB
  879  0238   C3 21      	BTST	KeyHeldNow	; if key held,
  880  023A   C1 75      	BITS	KeyKGLB		;
  881  023C   DB 02 35   	JP	ChkKeyPress9	; exit
  882                    
  883                    ;***********************************************************
  884                    ;	F: kg/lb button
  885                    ;	O: KeyFlozML
  886                    ;	N: MaB
  887                    ;
  888  023F              IsKeyFLOZML
  889  023F   C3 21      	BTST	KeyHeldNow	; if key held,
  890  0241   D1 75      	BITS	KeyFlozML	;
  891  0243   DB 02 35   	JP	ChkKeyPress9	; exit
  892                    
  893                    ;-----------------------------------
  894                    ;	F: Hold key button 
  895                    ;	O: KeyHold
  896                    ;	N: MaB
  897                    ;
  898  0246              IsHoldKey
  899  0246   C3 21      	BTST	KeyHeldNow	; if key held,
  900  0248   E1 75      	BITS	KeyHold		;	
  901  024A   DB 02 35   	JP	ChkKeyPress9	; exit
  902                    
  903                    ;====== DISPLAY ROUTINE ============================================
  904                    
  905                    ;***********************************************************
  906                    ;	F: Set NewWeightBCD & spWeightBCD to display nothing
  907                    ;	O: NewWeightBCD[]
  908                    ;	D: EA
  909                    ;
  910  024D              InitWeightBCD
  911  024D   27         	REF	RLD_EA0
  912  024E   CD 90      	LD	NewWeightBCD0,EA	;
  913  0250   CD 92      	LD	NewWeightBCD2,EA	;
  914  0252   89 94      	LD	NewWeightBCD4,A		;
  915  0254   C5         	RET
  916                    
  917                    ;***********************************************************
  918                    ;	F: Clear weighting Symbol, retain low bat & timer icon
  919                    ;	O: Iconset0, Iconset1, Iconset2
  920                    ;	D: A
  921                    ;
  922  0255              ClearWgtSym
  923  0255   B0         	LD	A,#0			; Clear decpt1, colon, g, oz
  924  0256   89 86      	LD	Iconset0,A		; Clear lb, kg, decpt2, low bat
  925  0258   89 87      	LD	Iconset1,A		;
  926  025A   8C 89      	LD	A,Iconset3		; Clear one, decpt3
  927  025C   DD 12      	AND	A,#0010b		; retain tare icon
  928  025E   89 89      	LD	Iconset3,A		;
  929  0260   8C 88      	LD	A,Iconset2		; Clear S2, fl., ml
  930  0262   DD 11      	AND	A,#0001b		; retain Hold icon
  931  0264   89 88      	LD	Iconset2,A		;
  932  0266   C5         	RET
  933                    
  934                    ;***********************************************************
  935                    ;	F: Display Version Number
  936                    ;	O: NULL
  937                    ;
  938                    ;
  939  0267              DspVerNo
  940  0267   DB 42 9F   	CALL	DspWeightTare	; Clear Display
  941  026A   81 05      	LD	EA,#LDsp_5	; Display Samsung II
  942  026C   CD 54      	LD	LDigit1xxx,EA	;
  943  026E   81 02      	LD	EA,#LDsp_2	;
  944  0270   CD 52      	LD	LDigitx1xx,EA	;
  945                    	
  946  0272   81 01      	LD	EA,#VerD1	; Display Version
  947  0274   35         	REF	RLD_LDIGxx1xEA	;
  948  0275   81 08      	LD	EA,#VerD2	;
  949  0277   34         	REF	RLD_LDIGxxx1EA	;
  950  0278   55         	REF	RDsp4LDigit	; Display ???? Digits
  951  0279   C5         	RET
  952                    
  953                    ;***********************************************************
  954                    ;	F: Display Overload - "  EE"
  955                    ;	O: SDigitx_8
  956                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
  957                    ;
  958  027A              DspADInitErr
  959  027A   81 0E      DspEE	LD	EA,#LDsp_E	; Display "EE" when A/D init error
  960  027C   34         	REF	RLD_LDIGxxx1EA	;
  961  027D   1B         	JR	DspHILO		;
  962                    
  963                    ;***********************************************************
  964                    ;	F: Display Overload - "  LO "
  965                    ;	O: SDigitx_8
  966                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
  967                    ;
  968  027E   81 00      DspLO	LD	EA,#LDsp_O	;
  969  0280   34         	REF	RLD_LDIGxxx1EA	;
  970  0281   81 11      	LD	EA,#LDsp_L	;
  971  0283   15         	JR	DspHILO		;
  972                    
  973                    ;***********************************************************
  974                    ;	F: Display Overload - "  HI "
  975                    ;	O: SDigitx_8
  976                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
  977                    ;
  978  0284   81 01      DspHI	LD	EA,#LDsp_I	;
  979  0286   34         	REF	RLD_LDIGxxx1EA	;

⌨️ 快捷键说明

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