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

📄 testn8.lst

📁 用SAM72N9写的电子秤文档
💻 LST
📖 第 1 页 / 共 5 页
字号:
  236         00 30      HexBuf		.equ	030h	; Max 16-bit Hex
  237         00 30      HexBuf0		.equ	030h	; most msb
  238         00 31      HexBuf1		.equ	031h	;
  239         00 32      HexBuf2		.equ	032h	;
  240         00 33      HexBuf3		.equ	033h	; most lsb
  241                    
  242         00 40      DecBuf		.equ	040h	; Max 5-digit BCD
  243         00 40      DecBuf0		.equ	040h	; most msb
  244         00 41      DecBuf1		.equ	041h	;
  245         00 42      DecBuf2		.equ	042h	;
  246         00 43      DecBuf3		.equ	043h	;
  247         00 44      DecBuf4		.equ	044h	; most lsb
  248                    
  249                    ; the followings variables need a fixed address
  250         00 4C      LDigit___1	.equ	4ch	; LCD Large Digit dsp for decimal place(2B)
  251         00 4E      LDigitxxx1	.equ	4eh	; LCD Large Digit dsp value(2B)
  252         00 50      LDigitxx1x	.equ	50h	; LCD Large Digit dsp value(2B)
  253         00 52      LDigitx1xx	.equ	52h	; LCD Large Digit dsp value(2B)
  254         00 54      LDigit1xxx	.equ	54h	; LCD Large Digit dsp value(2B)
  255                    
  256                    ; for arithmetic calculation
  257         00 60      YS_F_REG        .equ	060h
  258         00 60      YS_F_REG_0      .equ	060h	; most msb
  259         00 61      YS_F_REG_1      .equ	061h	;
  260         00 62      YS_F_REG_2      .equ	062h	;
  261         00 63      YS_F_REG_3      .equ	063h	;
  262         00 64      YS_F_REG_4      .equ	064h	; most lsb
  263                    
  264         00 70      YS_L_REG        .equ	070h
  265         00 70      YS_L_REG_0      .equ	070h	; most msb
  266         00 71      YS_L_REG_1      .equ	071h	;
  267         00 72      YS_L_REG_2      .equ	072h	;
  268         00 73      YS_L_REG_3      .equ	073h	;
  269         00 74      YS_L_REG_4      .equ	074h	; most lsb
  270                    
  271         00 80      YS_R_REG        .equ	080h
  272         00 80      YS_R_REG_0      .equ	080h	; most msb
  273         00 81      YS_R_REG_1      .equ	081h	;
  274         00 82      YS_R_REG_2      .equ	082h	;
  275         00 83      YS_R_REG_3      .equ	083h	;
  276         00 84      YS_R_REG_4      .equ	084h	; most lsb
  277                    
  278                    ; the followings variables need a fixed address
  279         00 90      NewWeightBCD	.equ	090h	; New Weight obtained from AverageCount(2B)
  280         00 90      NewWeightBCD0	.equ	090h	; most msb
  281         00 91      NewWeightBCD1	.equ	091h	;
  282         00 92      NewWeightBCD2	.equ	092h	;
  283         00 93      NewWeightBCD3	.equ	093h	;
  284         00 94      NewWeightBCD4	.equ	094h	; most lsb
  285                    
  286                    
  287                    ; the followings variables need a fixed address
  288         00 96      Step1		.equ	096h	; 1st region dsp step(2B) - multipied by 10
  289         00 9A      Bound1		.equ	09Ah	; 1st Boundary of weighting display(2B)
  290         00 9A      MaxBound	.equ	09Ah	; MaxBound
  291         00 9E      UnitCnt		.equ	09Eh	; Unit count value(1B)
  292         00 9E      gRatio		.equ	09Eh	; - 1g count ratio
  293         00 9E      oz1_8Ratio	.equ	09Eh	; - 1/8oz count ratio
  294         00 A0      ozRatio		.equ	0A0h	; 1oz count ratio(2B)
  295         00 A4      lbRatio		.equ	0A4h	; 1lb count ratio(2B)
  296                    
  297                    ;-----------------------------
  298                    
  299                    
  300                    	.list on
  301                    
  302                    ;-----------------
  303         00 01      VerD1		.equ	1
  304         00 08      VerD2		.equ	8
  305                    
  306                    ;----------------------------------------------------------------------------
  307                    
  308  0000              	.origin	VectorTable
  309  0000              ResetVector
  310  0000   8B AD      	VENT0	1,0,Reset	; Reset Vector
  311  0002   C0 8D      	VENT1	1,1,INTB_Int	;
  312  0004   C1 2F      	VENT2	1,1,INT0_Int	;
  313  0006   C0 80      	VENT3	1,1,INT1_Int	;
  314  000A              	ORG	00ah		;
  315  000A   C1 89      	VENT5	1,1,INTT0_Int	;
  316                    
  317                    ;----------------------------------------------------------------------------
  318                    ;
  319  000C              	.origin	Main1Loop
  320                    
  321                    ;----------------------------------------------------------------------------
  322  000C   DD 66      IRETSB	POP	SB
  323  000E   D5         	IRET
  324                    ;----------------------------------------------------------------------------
  325  000F   2A         RETHLEA	POP	HL
  326  0010   28         	POP	EA
  327  0011   C5         	RET
  328                    ;----------------------------------------------------------------------------
  329  0012              RETWXHLEA
  330  0012   2C         	POP	WX
  331  0013   2A         	POP	HL
  332  0014   28         	POP	EA
  333  0015   C5         	RET
  334                    ;----------------------------------------------------------------------------
  335  0016              RETYZWXHLEA
  336  0016   2E         	POP	YZ
  337  0017   2C         	POP	WX
  338  0018   2A         	POP	HL
  339  0019   28         	POP	EA
  340  001A   C5         	RET
  341                    
  342                    ;***********************************************************
  343                    ;	F: Copy Buf to Buf from xyH to x0H where x & y are any hex num
  344                    ;	I: HL = Destination Buf(Buf end pointer)
  345                    ;	   WL = Source Buf(Buf end pointer)
  346                    ;	O: HL = Duplicated Buf
  347                    ;	D: A, HL
  348                    ;
  349  001B   8F         CpyBuf	LD	A,@WL		;
  350  001C   7B         	XCHD	A,@HL		;
  351  001D   0D         	JR	CpyBuf		;
  352  001E   C5         	RET
  353                    
  354                    ;----------------------------------------------------------------------------
  355                    ;
  356  0020              	.origin	LookupTable
  357                    
  358  0020   DD 40      RSMB_Variable	SMB	VariableBank
  359  0022   DD 4F      RSMB_MemMapIO	SMB	MemMapIOBank
  360  0024   DD 41      RSMB_LCD	SMB	LCDBank
  361                    
  362  0026   82         RINCS_2HL	INCS	HL		;
  363  0027   82         		INCS	HL		;
  364  0028   DC DA      RDECS_HL	DECS	HL		;
  365  002A   DC F2      RLD_HLEA	LD	HL,EA		;
  366  002C   DC F4      RLD_WXEA	LD	WX,EA		;
  367  002E   81 00      RLD_EA0		LD	EA,#0		;
  368  0030   D9 09      RLD_E0		LD	E,#0		;
  369  0032   D9 00      RCPSE_A0	CPSE	A,#0		;
  370  0034   DC EA      RCPSE_EAHL	CPSE	EA,HL		;
  371  0036   DC AA      RADC_EAHL	ADC	EA,HL		;
  372                    
  373                    
  374  0038   CD 4E      RLD_LDIGxxx1EA	LD	LDigitxxx1,EA
  375  003A   CD 50      RLD_LDIGxx1xEA	LD	LDigitxx1x,EA
  376                    
  377  003C   44 4B      RDiv_YS		TCALL	Div_YS
  378  003E   44 91      RRound_YS	TCALL	Round_YS
  379  0040   49 8F      RMul_10_FReg	TCALL	Mul_10_FReg
  380  0042   49 98      RDiv_10_FReg	TCALL	Div_10_FReg
  381  0044   44 3B      RDouble_YS	TCALL	Double_YS
  382                    
  383  0046   49 9F      RCmpHex		TCALL	CmpHex
  384  0048   40 1B      RCpyBuf		TCALL	CpyBuf
  385  004A   49 43      RHex2BCD_16	TCALL	Hex2BCD_16
  386  004C   4A 00      RSubHex		TCALL	SubHex
  387                    
  388  004E   4A 29      RSkipSRC_YZ	TCALL	SkipSRC_YZ
  389  0050   49 67      RByteAry	TCALL	ByteAry
  390  0052   49 6F      RWrd2Ary	TCALL	Wrd2Ary
  391  0054   4C F8      RStoreWordCode	TCALL	StoreWordCode
  392  0056   4C F2      RStoreByteCode	TCALL	StoreByteCode
  393                    
  394  0058   4D 74      RDspSDigit	TCALL	DspSDigit
  395  005A   4D 9E      RDsp4LDigit	TCALL	Dsp4LDigit
  396  005C   4D AA      RDspSymbol	TCALL	DspSymbol
  397                    
  398  005E   4A B6      RKScanDelay	TCALL	KScanDelay
  399                    
  400  0060   48 1E      RCalWeightCnt	TCALL	CalWeightCount
  401  0062   48 C8      RActCurStp2Ary	TCALL	ActlCurStep2Ary
  402  0064   48 C1      RCurStep2Ary	TCALL	CurStep2Ary
  403  0066   48 D7      RSetBnd		TCALL	SetBnd
  404  0068   48 F7      RGetAverageCnt	TCALL	GetAverageCnt
  405  006A   48 3B      RAverageSample  TCALL   AverageSample
  406                    
  407  006C   49 29      RNWCnt2FReg	TCALL	NWCnt2FReg
  408  006E   49 2F      RHxFReg2Dec	TCALL   HxFReg2Dec
  409  0070   49 38      RCpy_R2FReg	TCALL	Cpy_R2FReg
  410  0072   49 3B      RCpy_F2LReg	TCALL	Cpy_F2LReg
  411  0074   4A 69      RPutDec		TCALL	PutDec
  412                    
  413  0076   DD 67      RPush_SB	PUSH	SB
  414                    
  415  0078   00 0F      RRET_HLEA	TJP	RETHLEA
  416  007A   00 12      RRET_WXHLEA	TJP	RETWXHLEA
  417  007C   00 16      RRET_YZWXHLEA	TJP	RETYZWXHLEA
  418  007E   00 0C      RIRET_SB	TJP	IRETSB
  419                    
  420                    ;----------------------------------------------------------------------------
  421                    ;
  422  0080              	.origin	Main2Loop
  423                    
  424                    ;----------------------------------------------------------------------------
  425                    ;	F: On/Zero Button(MaB)
  426                    ;	I: WeightTareNow
  427                    ;	O: WeightTareNow
  428                    ;	N: Rising edge when release key(MaB)
  429                    ;	   When enter INT1_Int, IS0, IS1 = 1, 0
  430                    ;
  431  0080              INT1_Int
  432  0080   FE AE              BITR    IRQ1            ;
  433  0082   FE A0              BITR    IS0             ;        
  434  0084   73         	REF	RPush_SB	;
  435  0085   20         	REF	RSMB_Variable	;
  436  0086   E2 22      	BTSF	CalibrateOn	;
  437  0088   E0 21      	BITR	CntDspNow	;
  438                    ;	REF	RSMB_MemMapIO	;
  439                    ;INT1_Int1
  440                    ;	BTST    ONZERO_PIN
  441                    ;        JR      INT1_Int1
  442                    ;	REF	RSMB_Variable	;	
  443  008A   F1 21      	BITS	WeightTareNow	; Set flag to weight tare	
  444  008C   77         	REF	RIRET_SB	;
  445                    
  446                    ;----------------------------------------------------------------------------
  447                    ;	F: INTB Interrupt for Basic Timer Overflow
  448                    ;	N: Interrupt interval = 2.2886.ms
  449                    ;	   when enter into INTB_Int, IS0, IS1 = 1, 0
  450  008D              INTB_Int
  451  008D   FE 88              BITR    IRQB            ;
  452  008F   FE A0              BITR    IS0             ;
  453                    
  454  0091   73         	REF	RPush_SB	;
  455  0092   DD 53      	SRB	RegisterINTB	;
  456  0094   20         	REF	RSMB_Variable	;
  457                    
  458  0095   E2 22      	BTSF	CalibrateOn	; If Calibrate On, skip sleep time
  459  0097   90 D2      	JPS	INTB_Int0_2	; & Timer counting
  460                    
  461  0099   CE 36      	LD	EA,BCNT_1s_M	;
  462  009B   C9 01      	ADS	EA,#1		;
  463  009D   90 D0      	JPS	INTB_Int0_1	;
  464  009F   CA 35      	INCS	BCNT_1s_H	; never skip
  465  00A1   C2 35      	BTSF	BCNT_1s_H.0	;
  466  00A3   90 D0      	JPS	INTB_Int0_1	;
  467  00A5              INTB_1000ms
  468                    
  469  00A5   D3 7F      	BTST	HoldRd		; Check for hold reading in progress
  470  00A7   1C         	JR	INTB_IntA	;
  471                    
  472  00A8   CA 3F      	INCS	HoldTimer	; Check hold reading timeout
  473  00AA   19         	JR	INTB_IntA	;
  474  00AB   D0 7F      	BITR	HoldRd		; 
  475  00AD   C0 7F      	BITR	HoldStableChk	;
  476  00AF   F1 7F      	BITS	HoldNotAllow	; Hold is not allow unless reading change
  477  00B1   BC         	LD	A,#HoldChkTime	; Reset timer
  478  00B2   89 3F      	LD	HoldTimer,A	;
  479  00B4              INTB_IntA
  480  00B4              INTB_IntB
  481  00B4   E2 25      	BTSF	AutoOffEn	; Chk Auto-power off enabled or not
  482  00B6   90 CB      	JPS	INTB_IntC	; if not, jump
  483  00B8   C2 22      	BTSF	Chge4stepNow	; Chk 4 step changing

⌨️ 快捷键说明

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