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

📄 sangna.lst

📁 用HOLTEK单片机做的一个实际项目
💻 LST
📖 第 1 页 / 共 5 页
字号:
 364  01B0  2800     R  JMP L71
 364  01B1  0700     R  MOV A,b0_1
 364  01B2  0C02        XOR A,02h
 364  01B3  3D0A        SZ [0ah].2
 364  01B4  2800     R  JMP L72
 364  01B5  0700     R  MOV A,b0_1
 364  01B6  0C03        XOR A,03h
 364  01B7  3D0A        SZ [0ah].2
文件:SANGNA.C     盛群编译器版本 2.86 页次15

 364  01B8  2800     R  JMP L73
 364  01B9  2800     R  JMP L69
 364  01BA              L70:

; 366: 			case	0		:	DISP_SEL0=0;
 366  01BA  3612        CLR [012H].4

; 367: 								break;
 367  01BB  2800     R  JMP L69
 367  01BC              L71:

; 368: 			case	1		:	DISP_SEL1=0;
文件:SANGNA.c     盛群编译器版本 2.86 页次16 

 368  01BC  3712        CLR [012H].6

; 369: 								break;
 369  01BD  2800     R  JMP L69
 369  01BE              L72:

; 370: 			case	2		:	DISP_SEL2=0; 
 370  01BE  3714        CLR [014H].6

; 371: 								break;
 371  01BF  2800     R  JMP L69
 371  01C0              L73:

; 372: 			case	3		:	DISP_SEL3=0;
 372  01C0  3794        CLR [014H].7
 372  01C1              L69:
 372  01C1              L66:

; 378: 	_LedSequence++;
 378  01C1  1480     R  INC __LedSequence

; 379: 	if(_LedSequence>3)
 379  01C2  0F03        MOV A,03h
 379  01C3  0200     R  SUB A,__LedSequence
 379  01C4  3C0A        SZ [0ah].0
 379  01C5  2800     R  JMP L74

; 381: 		_LedSequence=0;
 381  01C6  1F00     R  CLR __LedSequence
 381  01C7              L74:
 381  01C7              L1:
 381  01C7  0700     E  MOV A,VT1
 381  01C8  0080     E  MOV RH,A
 381  01C9  0700     E  MOV A,VT2
 381  01CA  0080     E  MOV T2,A
 381  01CB  0700     E  MOV A,VT3
 381  01CC  0080     E  MOV T3,A
 381  01CD  0700     E  MOV A,VT4
 381  01CE  0080     E  MOV T4,A
 381  01CF  0700     E  MOV A,VT5
 381  01D0  0080     E  MOV T5,A
 381  01D1  0700     E  MOV A,VT6
 381  01D2  0080     E  MOV T6,A
 381  01D3  0700     E  MOV A,VT7
 381  01D4  0080     E  MOV T7,A
 381  01D5  0700     E  MOV A,VT8
 381  01D6  0080     E  MOV T8,A
 381  01D7  0700     E  MOV A,VS
 381  01D8  008A        MOV [0AH],A
 381  01D9  0700     E  MOV A,VA
 381  01DA  0004        RETI
 381  01DB              __Timer0ISR ENDP
 381  0000              @_Timer0ISR .SECTION 'DATA'
 381  0000  0002[       b0_1 DB 2 DUP(?)
文件:SANGNA.C     盛群编译器版本 2.86 页次16

            00
            ]

; 169: 	unsigned long temp;
文件:SANGNA.c     盛群编译器版本 2.86 页次17 

 169  0002  0002[       CR1 DB 2 DUP (?) ; temp
            00
            ]

; 167: 	unsigned char i;
 167  0004  00          CR2 DB ? ; i

; 389: {
 389  0000              @@_ADISR .SECTION AT 0cH 'CODE'
 389  0000  2800     R  JMP __ADISR
 389  0000              @_ADISR .SECTION 'CODE'
 389  0000              __ADISR PROC
 389  0000  0080     E  MOV VA,A
 389  0001  070A        MOV A,[0AH]
 389  0002  0080     E  MOV VS,A
 389  0003  0700     E  MOV A,RH
 389  0004  0080     E  MOV VT1,A
 389  0005  0700     E  MOV A,T2
 389  0006  0080     E  MOV VT2,A
 389  0007  0700     E  MOV A,T3
 389  0008  0080     E  MOV VT3,A
 389  0009  0700     E  MOV A,T4
 389  000A  0080     E  MOV VT4,A
 389  000B  0700     E  MOV A,T5
 389  000C  0080     E  MOV VT5,A
 389  000D  0700     E  MOV A,T6
 389  000E  0080     E  MOV VT6,A
 389  000F  0700     E  MOV A,T7
 389  0010  0080     E  MOV VT7,A
 389  0011  0700     E  MOV A,T8
 389  0012  0080     E  MOV VT8,A

; 394: 	temp=_adrh;
 394  0013  0725        MOV A,__adrh
 394  0014  0080     R  MOV CR12,A
 394  0015  1F00     R  CLR CR12[1]

; 395: 	temp<<=1;
 395  0016  340A        CLR [0AH].0
 395  0017  1A00     R  RLCA CR12
 395  0018  0080     R  MOV b0_2,A
 395  0019  1A00     R  RLCA CR12[1]
 395  001A  0080     R  MOV b0_2[1],A
 395  001B  0700     R  MOV A,b0_2
 395  001C  0080     R  MOV CR12,A
 395  001D  0700     R  MOV A,b0_2[1]
 395  001E  0080     R  MOV CR12[1],A

; 396: 	if(_adrl&0x80)
 396  001F  3BA4        SNZ __adrl.7
 396  0020  2800     R  JMP L88

; 398: 		temp++;
 398  0021  1480     R  INC CR12
 398  0022  3D0A        SZ [0AH].2
 398  0023  1480     R  INC CR12[1]
 398  0024              L88:

; 401: 	_Rtemperature=100*temp;
文件:SANGNA.C     盛群编译器版本 2.86 页次17
文件:SANGNA.c     盛群编译器版本 2.86 页次18 


 401  0024  0700     R  MOV A,CR12
 401  0025  0080     E  MOV T2,A
 401  0026  0700     R  MOV A,CR12[1]
 401  0027  0080     E  MOV RH,A
 401  0028  0F00        MOV A,00h
 401  0029  0080     E  MOV T4,A
 401  002A  0F64        MOV A,064h
 401  002B  2000     E  CALL MULL
 401  002C  0080     R  MOV __Rtemperature[1],A
 401  002D  0700     E  MOV A,T6
 401  002E  0080     R  MOV __Rtemperature,A

; 402: 	temp=512-temp;
 402  002F  0F00        MOV A,00h
 402  0030  0200     R  SUB A,CR12
 402  0031  0080     R  MOV CR12,A
 402  0032  0F02        MOV A,02h
 402  0033  1200     R  SBC A,CR12[1]
 402  0034  0080     R  MOV CR12[1],A

; 403: 	_Rtemperature/=temp;
 403  0035  0700     R  MOV A,CR12
 403  0036  0080     E  MOV T2,A
 403  0037  0700     R  MOV A,CR12[1]
 403  0038  0080     E  MOV RH,A
 403  0039  0700     R  MOV A,__Rtemperature[1]
 403  003A  0080     E  MOV T6,A
 403  003B  0700     R  MOV A,__Rtemperature
 403  003C  2000     E  CALL DIVUL
 403  003D  0080     R  MOV __Rtemperature,A
 403  003E  0700     E  MOV A,T6
 403  003F  0080     R  MOV __Rtemperature[1],A

; 404: 	_Rtemperature*=30;
 404  0040  0700     R  MOV A,__Rtemperature
 404  0041  0080     E  MOV T2,A
 404  0042  0700     R  MOV A,__Rtemperature[1]
 404  0043  0080     E  MOV RH,A
 404  0044  0F00        MOV A,00h
 404  0045  0080     E  MOV T4,A
 404  0046  0F1E        MOV A,01eh
 404  0047  2000     E  CALL MULL
 404  0048  0080     R  MOV __Rtemperature[1],A
 404  0049  0700     E  MOV A,T6
 404  004A  0080     R  MOV __Rtemperature,A

; 406: 	if(_Rtemperature>20000)
 406  004B  0F4E        MOV A,04eh
 406  004C  0200     R  SUB A,__Rtemperature[1]
 406  004D  380A        SNZ [0ah].0
 406  004E  2800     R  JMP L104
 406  004F  390A        SNZ [0ah].2
 406  0050  2800     R  JMP L90
 406  0051  0F20        MOV A,020h
 406  0052  0200     R  SUB A,__Rtemperature
 406  0053  3C0A        SZ [0ah].0
 406  0054  2800     R  JMP L90
 406  0055              L104:

; 408: 		_CurrentTemperature=0xFF;
文件:SANGNA.c     盛群编译器版本 2.86 页次19 

 408  0055  0FFF        MOV A,0ffh
 408  0056  0080     R  MOV __CurrentTemperature,A
 408  0057  1F00     R  CLR __CurrentTemperature[1]

; 409: 	}
文件:SANGNA.C     盛群编译器版本 2.86 页次18

 409  0058  2800     R  JMP L87
 409  0059              L90:

; 410: 	else if(_Rtemperature<20)
 410  0059  0700     R  MOV A,__Rtemperature[1]
 410  005A  0A00        SUB A,00h
 410  005B  380A        SNZ [0ah].0
 410  005C  2800     R  JMP L105
 410  005D  390A        SNZ [0ah].2
 410  005E  2800     R  JMP L92
 410  005F  0700     R  MOV A,__Rtemperature
 410  0060  0A14        SUB A,014h
 410  0061  3C0A        SZ [0ah].0
 410  0062  2800     R  JMP L92
 410  0063              L105:

; 412: 		_CurrentTemperature=0xF0;
 412  0063  0FF0        MOV A,0f0h
 412  0064  0080     R  MOV __CurrentTemperature,A
 412  0065  1F00     R  CLR __CurrentTemperature[1]

; 413: 	}
 413  0066  2800     R  JMP L87
 413  0067              L92:

; 416: 		i=69;
 416  0067  0F45        MOV A,045h
 416  0068  0080     R  MOV CR13,A

; 417: 		j=0;
 417  0069  1F00     R  CLR CR14
 417  006A              L94:

; 421: 			temp=_TempTbl[(i+j)/2];
 421  006A  0700     R  MOV A,CR13
 421  006B  0300     R  ADD A,CR14
 421  006C  0080     R  MOV b0_2,A
 421  006D  340A        CLR [0AH].0
 421  006E  1B80     R  RRC b0_2
 421  006F  340A        CLR [0AH].0
 421  0070  1A80     R  RLC b0_2
 421  0071  0F01        MOV A,1
 421  0072  0300     R  ADD A,b0_2
 421  0073  0B00     R  ADD A,OFFSET l__TempTbl
 421  0074  0080     E  MOV RH,A
 421  0075  2000     R  CALL l__TempTbl
 421  0076  0080     R  MOV CR12,A
 421  0077  1400     E  INCA RH
 421  0078  2000     R  CALL l__TempTbl
 421  0079  0080     R  MOV CR12[1],A

; 423: 			if(_Rtemperature<temp)
 423  007A  0700     R  MOV A,__Rtemperature[1]
文件:SANGNA.c     盛群编译器版本 2.86 页次20 

 423  007B  0200     R  SUB A,CR12[1]
 423  007C  380A        SNZ [0ah].0
 423  007D  2800     R  JMP L106
 423  007E  390A        SNZ [0ah].2
 423  007F  2800     R  JMP L98
 423  0080  0700     R  MOV A,__Rtemperature
 423  0081  0200     R  SUB A,CR12
 423  0082  3C0A        SZ [0ah].0
 423  0083  2800     R  JMP L98
文件:SANGNA.C     盛群编译器版本 2.86 页次19

 423  0084              L106:

; 425: 				if(j<(i-1))
 425  0084  1500     R  DECA CR13
 425  0085  0080     R  MOV b0_2,A
 425  0086  0700     R  MOV A,CR14
 425  0087  0200     R  SUB A,b0_2
 425  0088  3C0A        SZ [0ah].0
 425  0089  2800     R  JMP L96

; 427: 					j=(i+j)/2;
 427  008A  0700     R  MOV A,CR13
 427  008B  0300     R  ADD A,CR14
 427  008C  0080     R  MOV b0_2,A
 427  008D  340A        CLR [0AH].0
 427  008E  1B00     R  RRCA b0_2
 427  008F  0080     R  MOV CR14,A

; 428: 					continue;	
 428  0090  2800     R  JMP L94
 428  0091              L98:

; 438: 				if(j<(i-1))
 438  0091  1500     R  DECA CR13
 438  0092  0080     R  MOV b0_2,A
 438  0093  0700     R  MOV A,CR14
 438  0094  0200     R  SUB A,b0_2
 438  0095  3C0A        SZ [0ah].0
 438  0096  2800     R  JMP L96

; 440: 					i=(i+j)/2;
 440  0097  0700     R  MOV A,CR13
 440  0098  0300     R  ADD A,CR14
 440  0099  0080     R  MOV b0_2,A
 440  009A  340A        CLR [0AH].0
 440  009B  1B00     R  RRCA b0_2
 440  009C  0080     R  MOV CR13,A

; 419: 		for(;;)
 419  009D  2800     R  JMP L94
 419  009E              L96:

; 449: 		_CurrentTemperature=(i+j)/2;		
 449  009E  0700     R  MOV A,CR13
 449  009F  0300     R  ADD A,CR14
 449  00A0  0080     R  MOV b0_2,A
 449  00A1  340A        CLR [0AH].0
 449  00A2  1B80     R  RRC b0_2
 449  00A3  0700     R  MOV A,b0_2
文件:SANGNA.c     盛群编译器版本 2.86 页次21 

 449  00A4  0080     R  MOV __CurrentTemperature,A
 449  00A5  1F00     R  CLR __CurrentTemperature[1]
 449  00A6              L87:
 449  00A6  0700     E  MOV A,VT1
 449  00A7  0080     E  MOV RH,A
 449  00A8  0700     E  MOV A,VT2
 449  00A9  0080     E  MOV T2,A
 449  00AA  0700     E  MOV A,VT3
 449  00AB  0080     E  MOV T3,A
 449  00AC  0700     E  MOV A,VT4
 449  00AD  0080     E  MOV T4,A
文件:SANGNA.C     盛群编译器版本 2.86 页次20

 449  00AE  0700     E  MOV A,VT5
 449  00AF  0080     E  MOV T5,A
 449  00B0  0700     E  MOV A,VT6
 449  00B1  0080     E  MOV T6,A
 449  00B2  0700     E  MOV A,VT7
 449  00B3  0080     E  MOV T7,A
 449  00B4  0700     E  MOV A,VT8
 449  00B5  0080     E  MOV T8,A
 449  00B6  0700     E  MOV A,VS
 449  00B7  008A        MOV [0AH],A
 449  00B8  0700     E  MOV A,VA
 449  00B9  0004        RETI
 449  00BA              __ADISR ENDP
 449  0000              @_ADISR .SECTION 'DATA'
 449  0000  0002[       b0_2 DB 2 DUP(?)
            00
            ]
 449  0002  00          b1_2 DB ?

; 392: 	unsigned long temp;
 392  0003  0002[       CR12 DB 2 DUP (?) ; temp
            00
            ]

; 390: 	unsigned char i,j;
 390  0005  00          CR13 DB ? ; i
 390  0006  00          CR14 DB ? ; j

; 458: {
 458  0000              @@_ExternISR .SECTION AT 04H 'CODE'
 458  0000  2800     R  JMP __ExternISR
 458  0000              @_ExternISR .SECTION 'CODE'
 458  0000              __ExternISR PROC
 458  0000  0080     E  MOV VA,A
 458  0001  070A        MOV A,[0AH]
 458  0002  0080     E  MOV VS,A
 458  0003              L107:
 458  0003  0700     E  MOV A,VS
 458  0004  008A        MOV [0AH],A
 458  0005  0700     E  MOV A,VA
 458  0006  0004        RETI
 458  0007              __ExternISR ENDP
 458  0000              @_ExternISR .SECTION 'DATA'

; 465: {
 465  0000              @safeguard_init .SECTION 'CODE'
 465  0000              PUBLIC _safeguard_init
文件:SANGNA.c     盛群编译器版本 2.86 页次22 

 465  0000              _safeguard_init PROC

; 466: 	_intc0 = 0x0D;
 466  0000  0F0D        MOV A,0dh
 466  0001  008B        MOV __intc0,A

; 468: 	_tmrc = 0x86;																	// fint=fsys(4M)/64
 468  0002  0F86        MOV A,086h
 468  0003  008E        MOV __tmrc,A

; 469: 	_tmr = 4;																		// Tint=(1/fint)*250=4ms
 469  0004  0F04        MOV A,04h
 469  0005  008D        MOV __tmr,A

; 471: 	_adcr=0x08;																		//AN0开启
文件:SANGNA.C     盛群编译器版本 2.86 页次21

 471  0006  0F08        MOV A,08h
 471  0007  00A6        MOV __adcr,A

; 473: 	_pac = 0x20; 																	//pa7:0 | pa6:0 | pa5:1 | pa4:0 | pa3:0 | pa2:0 | pa1:0 | pa0:0 
 473  0008  0F20        MOV A,020h
 473  0009  0093        MOV __pac,A

; 474: 	_pa = 0;
 474  000A  1F12        CLR __pa

; 476: 	_pbc = 0x01; 																	//pb7:0 | pb6:0 | pb5:0 | pb4:0 | pb3:0 | pb2:0 | pb1:0 | pb0:1 
 476  000B  0F01        MOV A,01h
 476  000C  0095        MOV __pbc,A

; 477: 	_pb = 0; 
 477  000D  1F14        CLR __pb

; 479: 	_pcc = 0x00; 																	//pc7:0 | pc6:0 | pc5:0 | pc4:0 | pc3:0 | pc2:0 | pc1:0 | pc0:0 
 479  000E  1F17        CLR __pcc

; 480: 	_pc = 0; 
 480  000F  1F16        CLR __pc

; 482: 	_pdc = 0x00; 																	//pd7:0 | pd6:0 | pd5:0 | pd4:0 | pd3:0 | pd2:0 | pd1:0 | pd0:0 
 482  0010  1F19        CLR __pdc

; 483: 	_pd = 0; 
 483  0011  1F18        CLR __pd
 483  0012              L108:
 483  0012  0003        RET
 483  0013              _safeguard_init ENDP

; 488: {
 488  0000              @Start_I2C .SECTION 'CODE'
 488  0000              PUBLIC _Start_I2C
 488  0000              _Start_I2C PROC

; 489:    SDA=1;
 489  0000  3194        SET [014H].3

⌨️ 快捷键说明

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