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

📄 test.lst

📁 用SAM72N9写的电子秤文档
💻 LST
📖 第 1 页 / 共 5 页
字号:
  960  0215              ChkKeyPressed
  961  0215   DC F6      	LD	YZ,EA		;
  962  0217   ED 4B      	CALLS	SetST_RL	; reset sleep timer
  963                    
  964  0219   47         	REF	RSkipSRC_YZ	;
  965  021A   91 0A      	JPS	Sleep		; Off button
  966  021C   47         	REF	RSkipSRC_YZ	;
  967  021D   92 28      	JPS	IsKeyKGLB	; kg/lb button
  968  021F   47         	REF	RSkipSRC_YZ	;
  969  0220   92 2F      	JPS	IsKeyFLOZML	; fl.oz/ml button
  970  0222   47         	REF	RSkipSRC_YZ	;
  971                    	; remark by hcy	
  972                    ;	JPS	IsHoldKey	; Hold key button
  973  0223   92 3D      	JPS	IsOnKey
  974                    
  975  0225              ChkKeyPress9
  976  0225   C1 21      	BITS	KeyHeldNow	;
  977  0227              ChkKeyPressE
  978  0227   C5         	RET
  979                    
  980                    ;***********************************************************
  981                    ;	F: kg/lb button
  982                    ;	O: KeyKGLB
  983                    ;	N: MaB
  984                    ;
  985  0228              IsKeyKGLB
  986                    ; remark 03-11-22 12:24
  987  0228   C3 21      	BTST	KeyHeldNow	; if key held,
  988  022A   C1 75      	BITS	KeyKGLB		;
  989  022C   DB 02 25   	JP	ChkKeyPress9	; exit
  990                    
  991                    ;***********************************************************
  992                    ;	F: kg/lb button
  993                    ;	O: KeyFlozML
  994                    ;	N: MaB
  995                    ;
  996  022F              IsKeyFLOZML
  997                    ;03-11-22 12:24
  998  022F   C3 21      	BTST	KeyHeldNow	; if key held,
  999  0231   D1 75      	BITS	KeyFlozML	;
 1000  0233   DB 02 25   	JP	ChkKeyPress9	; exit
 1001                    
 1002                    ;-----------------------------------
 1003                    ;	F: Hold key button 
 1004                    ;	O: KeyHold
 1005                    ;	N: MaB
 1006                    ;
 1007  0236              IsHoldKey
 1008  0236   C3 21      	BTST	KeyHeldNow	; if key held,
 1009  0238   E1 75      	BITS	KeyHold		;	
 1010  023A   DB 02 25   	JP	ChkKeyPress9	; exit
 1011                    
 1012  023D              IsOnKey
 1013                    ; remark it by hcy 03-11-19 16:03
 1014                    ;	BTST	KeyHeldNow	; if key held,
 1015  023D   F1 75      	bits	IsOnZeroKey
 1016                    	
 1017  023F   E2 22      	BTSF	CalibrateOn	;
 1018  0241   E0 21      	BITR	CntDspNow	;
 1019  0243   F1 21      	BITS	WeightTareNow	; Set flag to weight tare
 1020  0245   D0 A8      	BITR	UdrAlrDsp	; clr already display '----'	
 1021  0247   DB 02 25   	jp	ChkKeyPress9	; exit
 1022                    
 1023                    ;====== DISPLAY ROUTINE ============================================
 1024                    
 1025                    ;***********************************************************
 1026                    ;	F: Set NewWeightBCD & spWeightBCD to display nothing
 1027                    ;	O: NewWeightBCD[]
 1028                    ;	D: EA
 1029                    ;
 1030  024A              InitWeightBCD
 1031  024A   27         	REF	RLD_EA0
 1032  024B   CD 90      	LD	NewWeightBCD0,EA	;
 1033  024D   CD 92      	LD	NewWeightBCD2,EA	;
 1034  024F   89 94      	LD	NewWeightBCD4,A		;
 1035  0251   C5         	RET
 1036                    
 1037                    ;***********************************************************
 1038                    ;	F: Clear weighting Symbol, retain low bat & timer icon
 1039                    ;	O: Iconset0, Iconset1, Iconset2
 1040                    ;	D: A
 1041                    ;
 1042  0252              ClearWgtSym
 1043  0252   B0         	LD	A,#0			; Clear decpt1, colon, g, oz
 1044  0253   89 86      	LD	Iconset0,A		; Clear lb, kg, decpt2, low bat
 1045  0255   89 87      	LD	Iconset1,A		;
 1046  0257   8C 89      	LD	A,Iconset3		; Clear one, decpt3
 1047  0259   DD 12      	AND	A,#0010b		; retain tare icon
 1048  025B   89 89      	LD	Iconset3,A		;
 1049  025D   8C 88      	LD	A,Iconset2		; Clear S2, fl., ml
 1050  025F   DD 11      	AND	A,#0001b		; retain Hold icon
 1051  0261   89 88      	LD	Iconset2,A		;
 1052  0263   C5         	RET
 1053                    
 1054                    ;***********************************************************
 1055                    ;	F: Display Version Number
 1056                    ;	O: NULL
 1057                    ;
 1058                    ;
 1059  0264              DspVerNo
 1060  0264   DB 42 A8   	CALL	DspWeightTare	; Clear Display
 1061  0267   81 00      	LD	EA,#LDsp_0	;
 1062  0269   EA AE      	CALLS	LdLDigit	;
 1063  026B   81 05      	LD	EA,#LDsp_5	; Display Samsung II
 1064  026D   CD 54      	LD	LDigit1xxx,EA	;
 1065  026F   81 05      	LD	EA,#LDsp_5	;
 1066  0271   CD 52      	LD	LDigitx1xx,EA	;
 1067                    	
 1068  0273   81 05      	LD	EA,#VerD1	; Display Version
 1069  0275   35         	REF	RLD_LDIGxx1xEA	;
 1070  0276   81 00      	LD	EA,#VerD2	;
 1071  0278   34         	REF	RLD_LDIGxxx1EA	;
 1072  0279   55         	REF	RDsp4LDigit	; Display ???? Digits
 1073  027A   C5         	RET
 1074                    
 1075                    ;***********************************************************
 1076                    ;	F: Display Overload - "  EE"
 1077                    ;	O: SDigitx_8
 1078                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
 1079                    ;
 1080  027B              DspADInitErr
 1081  027B   81 0E      DspEE	LD	EA,#LDsp_E	; Display "EE" when A/D init error
 1082  027D   34         	REF	RLD_LDIGxxx1EA	;
 1083  027E   1B         	JR	DspHILO		;
 1084                    
 1085                    ;***********************************************************
 1086                    ;	F: Display Overload - "  LO "
 1087                    ;	O: SDigitx_8
 1088                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
 1089                    ;
 1090  027F   81 00      DspLO	LD	EA,#LDsp_O	;
 1091  0281   34         	REF	RLD_LDIGxxx1EA	;
 1092  0282   81 11      	LD	EA,#LDsp_L	;
 1093  0284   15         	JR	DspHILO		;
 1094                    
 1095                    ;***********************************************************
 1096                    ;	F: Display Overload - "  HI "
 1097                    ;	O: SDigitx_8
 1098                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
 1099                    ;
 1100  0285   81 01      DspHI	LD	EA,#LDsp_I	;
 1101  0287   34         	REF	RLD_LDIGxxx1EA	;
 1102  0288   81 10      	LD	EA,#LDsp_H	;
 1103  028A   35         DspHILO	REF	RLD_LDIGxx1xEA	;
 1104  028B   81 17      	LD	EA,#LDspNul	;
 1105  028D   EA B0      	CALLS	LdLDigit1	;
 1106  028F   1C         	JR	ClrDspBuf1	;
 1107                    
 1108                    ;***********************************************************
 1109                    ;	F: Clear display buffer
 1110                    ;	D: EA
 1111                    ;
 1112  0290              ClrDspBuf
 1113  0290   81 17      	LD	EA,#LDspNul	;
 1114  0292   EA AE      	CALLS	LdLDigit	;
 1115  0294   DB 4D 38   	CALL	ClearSymbol	;
 1116                    	; add hcy 03-11-24 14:21
 1117  0297              ClrDspBuf2:
 1118  0297   EA 52      	CALLS	ClearWgtSym	;
 1119  0299   B9         	LD	A,#SDsp_Nul	;
 1120  029A   54         	REF	RDspSDigit	; Display ?/? Digits
 1121  029B   C5         	RET
 1122  029C              ClrDspBuf1
 1123  029C   EA 52      	CALLS	ClearWgtSym	;
 1124  029E   B9         	LD	A,#SDsp_Nul	;
 1125  029F   54         	REF	RDspSDigit	; Display ?/? Digits
 1126  02A0   55         	REF	RDsp4LDigit	; Display ???? Digits
 1127  02A1   56         	REF	RDspSymbol	;
 1128  02A2   C5         	RET
 1129                    
 1130                    ;***********************************************************
 1131                    ;	F: Display Underweight - "----"
 1132                    ;	O: SDigitx_8
 1133                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
 1134                    ;
 1135  02A3              DspUnderWeight
 1136  02A3   81 16      	LD	EA,#LDsp__	;
 1137  02A5   EA AE      	CALLS	LdLDigit
 1138  02A7   04         	JR	ClrDspBuf1
 1139                    
 1140                    ;***********************************************************
 1141                    ;	F: Weight Taring Display - "0000"
 1142                    ;	O: SDigitx_8
 1143                    ;	   LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
 1144                    ;
 1145  02A8              DspWeightTare
 1146                    ;	LD	EA,#LDsp_0	;
 1147                    ;	CALLS	LdLDigit	;
 1148                    	; remark it by hcy 03-12-4 11:53
 1149  02A8   81 17      	LD	EA,#LDspNul
 1150  02AA   92 9C      	JPS	ClrDspBuf1	;
 1151                    ;	JPS	ClrDspBuf2
 1152                    
 1153                    ;***********************************************************
 1154                    ;	F: Display "8888"
 1155                    ;	O: LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
 1156                    
 1157  02AC              LdLDig8888
 1158  02AC   81 08      	LD	EA,#LDsp_8	;
 1159                    
 1160                    ;***********************************************************
 1161                    ;	F: Load EA into 4 Large digit buffer
 1162                    ;	I: EA
 1163                    ;	O: LDigitxxx1 = LDigitxx1x = LDigitx1xx = LDigit1xxx = EA
 1164                    ;
 1165  02AE              LdLDigit
 1166  02AE   34         	REF	RLD_LDIGxxx1EA	;
 1167  02AF   35         	REF	RLD_LDIGxx1xEA	;
 1168  02B0              LdLDigit1
 1169  02B0   CD 52      	LD      LDigitx1xx,EA	;
 1170  02B2   CD 54      	LD      LDigit1xxx,EA	;
 1171  02B4   E2 27      	BTSF	UdrWtNow	; if underweight now,
 1172  02B6   81 17      	LD	EA,#LDspNul	; dsp decimal digit to nothing.
 1173  02B8   CD 4C      	LD	LDigit___1,EA	;
 1174  02BA   C5         	RET
 1175                    
 1176                    ;***********************************************************
 1177                    ;	F: Initialize Mode Setting
 1178                    ;	I: FactoryMode = 0..15 Mode
 1179                    ;	   UnitMode = 0(kg), 1(lb)
 1180                    ;	   OperFlag5.3,2 = 0: g(Default);  1 = oz; 2 = ml; 3 = fl.oz
 1181                    ;	O: Step1, Step2, Bound1, Bound2
 1182                    ;	   gRatio, oz1_8Ratio, ozRatio, lbRatio
 1183                    ;
 1184  02BB              SetFactoryMode
 1185  02BB   8C 45      	LD	A,FactoryMode
 1186  02BD   E2 20      	BTSF	UnitMode
 1187  02BF   92 C9      	JPS	Set_oz_Mode
 1188                    
 1189  02C1              Set_g_Mode
 1190  02C1   D9 3F      	LD	Y,#3		;
 1191  02C3   83 AA      	LD	HL,#Mode_g_1_8	;
 1192  02C5   EA D8      	CALLS	SetFactory1	;
 1193  02C7   92 D7      	JPS	SetFactoryModeE	;
 1194                    
 1195  02C9              Set_oz_Mode
 1196  02C9   D9 6F      	LD	Y,#6		;
 1197  02CB   83 C2      	LD	HL,#Mode_lb_1_8 ;
 1198  

⌨️ 快捷键说明

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