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

📄 main.lst

📁 此程式为LED驱动,用合泰的蕊片,希望对大家有帮助
💻 LST
📖 第 1 页 / 共 5 页
字号:
 724  0020  3105        SET [05H].2
 724  0021  0092        MOV [012H],A

; 727: 	P_CS1_1632 = P_CS2_1632 = P_CS3_1632 = C_1632_CSOn;	//1632 CS1 & CS2 & CS3 enable
 727  0022  1F00     R  CLR b0_12
 727  0023  0712        MOV A,[012H]
 727  0024  3605        CLR [05H].4
 727  0025  1080     R  SZ b0_12
 727  0026  3205        SET [05H].4
 727  0027  0092        MOV [012H],A
 727  0028  0712        MOV A,[012H]
 727  0029  3585        CLR [05H].3
 727  002A  1080     R  SZ b0_12
 727  002B  3185        SET [05H].3
 727  002C  0092        MOV [012H],A
 727  002D  0712        MOV A,[012H]
 727  002E  3505        CLR [05H].2
 727  002F  1080     R  SZ b0_12
 727  0030  3105        SET [05H].2
 727  0031  0092        MOV [012H],A

; 728: 	SBR_ALLRAM_1632(0);			//all LED write 0
文件:MAIN.c       盛群编译器版本 2.86 页次21 

文件:MAIN.C       盛群编译器版本 2.86 页次19

 728  0032  3400     R  CLR SBR_ALLRAM_16320
 728  0033  2000     R  CALL _SBR_ALLRAM_1632

; 729: 	P_CS1_1632 = P_CS2_1632 = P_CS3_1632 = C_1632_CSOff;	//1632 CS1 & CS2 & CS3 disable
 729  0034  1F00     R  CLR b0_12
 729  0035  3000     R  SET b0_12.0
 729  0036  0712        MOV A,[012H]
 729  0037  3605        CLR [05H].4
 729  0038  1080     R  SZ b0_12
 729  0039  3205        SET [05H].4
 729  003A  0092        MOV [012H],A
 729  003B  0712        MOV A,[012H]
 729  003C  3585        CLR [05H].3
 729  003D  1080     R  SZ b0_12
 729  003E  3185        SET [05H].3
 729  003F  0092        MOV [012H],A
 729  0040  0712        MOV A,[012H]
 729  0041  3505        CLR [05H].2
 729  0042  1080     R  SZ b0_12
 729  0043  3105        SET [05H].2
 729  0044  0092        MOV [012H],A
 729  0045              L100:
 729  0045  0003        RET
 729  0000  00          LOCAL b0_12 DB ?
 729  0046              _INI_1632 ENDP

; 740: {
 740  0000              @SBR_DATA_DisplayCS .SECTION 'CODE'
 740  0000              PUBLIC _SBR_DATA_DisplayCS
 740  0000              _SBR_DATA_DisplayCS PROC

; 739: void SBR_DATA_DisplayCS(unsigned char CSEn,unsigned char station)
 739  0000              PUBLIC SBR_DATA_DisplayCS0
 739  0000  00          LOCAL SBR_DATA_DisplayCS0 DB ? ; CSEn
 739  0000              PUBLIC SBR_DATA_DisplayCS1
 739  0001  00          LOCAL SBR_DATA_DisplayCS1 DB ? ; station

; 742: 	CSDis = CSEn ^ 0xff;			//save CS off
 742  0000  0700     R  MOV A,SBR_DATA_DisplayCS0
 742  0001  0CFF        XOR A,0ffh
 742  0002  0080     R  MOV CR15,A

; 743: 	station = (C_DATA_MAX_CS-1)-station;	//set the real station of 1632 RAM
 743  0003  0F2F        MOV A,02fh
 743  0004  0200     R  SUB A,SBR_DATA_DisplayCS1
 743  0005  0080     R  MOV SBR_DATA_DisplayCS1,A
 743  0006  2800     R  JMP L103
 743  0007              L102:

; 748: 		if(station > 23)
 748  0007  0F17        MOV A,017h
 748  0008  0200     R  SUB A,SBR_DATA_DisplayCS1
 748  0009  3C0A        SZ [0ah].0
 748  000A  2800     R  JMP L105

; 751: 			x = (station - 24);		//RAM address count			
 751  000B  0700     R  MOV A,SBR_DATA_DisplayCS1
 751  000C  0A18        SUB A,018h
文件:MAIN.c       盛群编译器版本 2.86 页次22 

 751  000D  0080     R  MOV CR13,A
文件:MAIN.C       盛群编译器版本 2.86 页次20


; 752: 			x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4 + 2;
 752  000E  0700     R  MOV A,CR13
 752  000F  0080     R  MOV b0_13,A
 752  0010  0700     R  MOV A,b0_13
 752  0011  0EF8        AND A,0f8h
 752  0012  0080     R  MOV b1_13,A
 752  0013  0700     R  MOV A,b0_13
 752  0014  0E07        AND A,07h
 752  0015  0080     R  MOV b0_13,A
 752  0016  0F07        MOV A,07h
 752  0017  0200     R  SUB A,b0_13
 752  0018  0080     R  MOV b0_13,A
 752  0019  0700     R  MOV A,b1_13
 752  001A  0300     R  ADD A,b0_13
 752  001B  0080     R  MOV b0_13,A
 752  001C  340A        CLR [0AH].0
 752  001D  1A80     R  RLC b0_13
 752  001E  340A        CLR [0AH].0
 752  001F  1A80     R  RLC b0_13
 752  0020  0700     R  MOV A,b0_13
 752  0021  0B02        ADD A,02h
 752  0022  0080     R  MOV CR13,A

; 753: 		}
 753  0023  2800     R  JMP L106
 753  0024              L105:

; 757: 			x = station;			//RAM address count
 757  0024  0700     R  MOV A,SBR_DATA_DisplayCS1
 757  0025  0080     R  MOV CR13,A

; 758: 			x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4;
 758  0026  0700     R  MOV A,CR13
 758  0027  0080     R  MOV b0_13,A
 758  0028  0700     R  MOV A,b0_13
 758  0029  0EF8        AND A,0f8h
 758  002A  0080     R  MOV b1_13,A
 758  002B  0700     R  MOV A,b0_13
 758  002C  0E07        AND A,07h
 758  002D  0080     R  MOV b0_13,A
 758  002E  0F07        MOV A,07h
 758  002F  0200     R  SUB A,b0_13
 758  0030  0080     R  MOV b0_13,A
 758  0031  0700     R  MOV A,b1_13
 758  0032  0300     R  ADD A,b0_13
 758  0033  0080     R  MOV b0_13,A
 758  0034  340A        CLR [0AH].0
 758  0035  1A00     R  RLCA b0_13
 758  0036  340A        CLR [0AH].0
 758  0037  1A85        RLC [05H]
 758  0038  0080     R  MOV CR13,A
 758  0039              L106:

; 761: 		station++;
 761  0039  1480     R  INC SBR_DATA_DisplayCS1

; 762: 		data = T_Data_Value[M_DATA_TableCnt];	//load data
文件:MAIN.c       盛群编译器版本 2.86 页次23 

 762  003A  0F01        MOV A,1
 762  003B  0300     R  ADD A,_M_DATA_TableCnt
 762  003C  0B00     R  ADD A,OFFSET l_T_Data_Value
 762  003D  2000     R  CALL l_T_Data_Value
 762  003E  0080     R  MOV CR14,A
文件:MAIN.C       盛群编译器版本 2.86 页次21


; 763: 		M_DATA_TableCnt++;			//next data
 763  003F  1480     R  INC _M_DATA_TableCnt

; 768: 		if((M_Function_Step == C_FunStep_UDOn) || (M_Function_Step == C_FunStep_UDOff))
 768  0040  0700     R  MOV A,_M_Function_Step
 768  0041  0080     R  MOV b0_13,A
 768  0042  0700     R  MOV A,b0_13
 768  0043  0C06        XOR A,06h
 768  0044  3D0A        SZ [0ah].2
 768  0045  2800     R  JMP L109
 768  0046  0700     R  MOV A,b0_13
 768  0047  0C08        XOR A,08h
 768  0048  390A        SNZ [0ah].2
 768  0049  2800     R  JMP L107
 768  004A              L109:

; 770: 			data &= M_DATA_UDMask;
 770  004A  0700     R  MOV A,_M_DATA_UDMask
 770  004B  0680     R  ANDM A,CR14
 770  004C              L107:

; 776: 		P_CSControl_1632 &= CSEn;		//CS enable
 776  004C  0700     R  MOV A,SBR_DATA_DisplayCS0
 776  004D  0692        ANDM A,__pa

; 777: 		SBR_PREDATA_1632();			// "101" , ready for write
 777  004E  2000     R  CALL _SBR_PREDATA_1632

; 778: 		SBR_ADDRESS_1632(x);			// address = x
 778  004F  0700     R  MOV A,CR13
 778  0050  0080     R  MOV SBR_ADDRESS_16320,A
 778  0051  2000     R  CALL _SBR_ADDRESS_1632

; 779: 		SBR_DATA_1632(data);
 779  0052  0700     R  MOV A,CR14
 779  0053  0080     R  MOV SBR_DATA_16320,A
 779  0054  2000     R  CALL _SBR_DATA_1632

; 780: 		P_CSControl_1632 |= CSDis;		//CS disable	
 780  0055  0700     R  MOV A,CR15
 780  0056  0592        ORM A,__pa
 780  0057              L103:

; 745: 	while((station < C_DATA_MAX_CS) && (M_DATA_TableCnt < C_DATA_MAX_Length))
 745  0057  0700     R  MOV A,SBR_DATA_DisplayCS1
 745  0058  0A30        SUB A,030h
 745  0059  3C0A        SZ [0ah].0
 745  005A  2800     R  JMP L110
 745  005B  0700     R  MOV A,_M_DATA_TableCnt
 745  005C  0A90        SUB A,090h
 745  005D  380A        SNZ [0ah].0
 745  005E  2800     R  JMP L102
文件:MAIN.c       盛群编译器版本 2.86 页次24 

 745  005F              L110:
 745  005F              L101:
 745  005F  0003        RET
 745  0002  00          LOCAL b0_13 DB ?
 745  0003  00          LOCAL b1_13 DB ?

; 741: 	unsigned char CSDis,x,y,data;
 741  0004  00          LOCAL CR13 DB ? ; x
 741  0005  00          LOCAL CR14 DB ? ; data
 741  0006  00          LOCAL CR15 DB ? ; CSDis
文件:MAIN.C       盛群编译器版本 2.86 页次22

 741  0060              _SBR_DATA_DisplayCS ENDP

; 793: {
 793  0000              @SBR_DATA_DisplayByte .SECTION 'CODE'
 793  0000              PUBLIC _SBR_DATA_DisplayByte
 793  0000              _SBR_DATA_DisplayByte PROC

; 792: void SBR_DATA_DisplayByte(unsigned char CSEn,unsigned char station,unsigned char data)
 792  0000              PUBLIC SBR_DATA_DisplayByte0
 792  0000  00          LOCAL SBR_DATA_DisplayByte0 DB ? ; CSEn
 792  0000              PUBLIC SBR_DATA_DisplayByte1
 792  0001  00          LOCAL SBR_DATA_DisplayByte1 DB ? ; station
 792  0000              PUBLIC SBR_DATA_DisplayByte2
 792  0002  00          LOCAL SBR_DATA_DisplayByte2 DB ? ; data

; 796: 	CSDis = CSEn ^ 0xff;			//save CS off
 796  0000  0700     R  MOV A,SBR_DATA_DisplayByte0
 796  0001  0CFF        XOR A,0ffh
 796  0002  0080     R  MOV CR22,A

; 798: 	if(station > 23)
 798  0003  0F17        MOV A,017h
 798  0004  0200     R  SUB A,SBR_DATA_DisplayByte1
 798  0005  3C0A        SZ [0ah].0
 798  0006  2800     R  JMP L112

; 801: 		x = (station - 24);		//RAM address count			
 801  0007  0700     R  MOV A,SBR_DATA_DisplayByte1
 801  0008  0A18        SUB A,018h
 801  0009  0080     R  MOV CR21,A

; 802: 		x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4 + 2;
 802  000A  0700     R  MOV A,CR21
 802  000B  0080     R  MOV b0_14,A
 802  000C  0700     R  MOV A,b0_14
 802  000D  0EF8        AND A,0f8h
 802  000E  0080     R  MOV b1_14,A
 802  000F  0700     R  MOV A,b0_14
 802  0010  0E07        AND A,07h
 802  0011  0080     R  MOV b0_14,A
 802  0012  0F07        MOV A,07h
 802  0013  0200     R  SUB A,b0_14
 802  0014  0080     R  MOV b0_14,A
 802  0015  0700     R  MOV A,b1_14
 802  0016  0300     R  ADD A,b0_14
 802  0017  0080     R  MOV b0_14,A
 802  0018  340A        CLR [0AH].0
 802  0019  1A80     R  RLC b0_14
文件:MAIN.c       盛群编译器版本 2.86 页次25 

 802  001A  340A        CLR [0AH].0
 802  001B  1A80     R  RLC b0_14
 802  001C  0700     R  MOV A,b0_14
 802  001D  0B02        ADD A,02h
 802  001E  0080     R  MOV CR21,A

; 803: 	}
 803  001F  2800     R  JMP L113
 803  0020              L112:
文件:MAIN.C       盛群编译器版本 2.86 页次23


; 807: 		x = station;			//RAM address count
 807  0020  0700     R  MOV A,SBR_DATA_DisplayByte1
 807  0021  0080     R  MOV CR21,A

; 808: 		x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4;
 808  0022  0700     R  MOV A,CR21
 808  0023  0080     R  MOV b0_14,A
 808  0024  0700     R  MOV A,b0_14
 808  0025  0EF8        AND A,0f8h
 808  0026  0080     R  MOV b1_14,A
 808  0027  0700     R  MOV A,b0_14
 808  0028  0E07        AND A,07h
 808  0029  0080     R  MOV b0_14,A
 808  002A  0F07        MOV A,07h
 808  002B  0200     R  SUB A,b0_14
 808  002C  0080     R  MOV b0_14,A
 808  002D  0700     R  MOV A,b1_14
 808  002E  0300     R  ADD A,b0_14
 808  002F  0080     R  MOV b0_14,A
 808  0030  340A        CLR [0AH].0
 808  0031  1A00     R  RLCA b0_14
 808  0032  340A        CLR [0AH].0
 808  0033  1A85        RLC [05H]
 808  0034  0080     R  MOV CR21,A
 808  0035              L113:

; 812: 	P_CSControl_1632 &= CSEn;		//CS enable
 812  0035  0700     R  MOV A,SBR_DATA_DisplayByte0
 812  0036  0692        ANDM A,__pa

; 813: 	SBR_PREDATA_1632();			// "101" , ready for write
 813  0037  2000     R  CALL _SBR_PREDATA_1632

; 814: 	SBR_ADDRESS_1632(x);			// address = station
 814  0038  0700     R  MOV A,CR21
 814  0039  0080     R  MOV SBR_ADDRESS_16320,A
 814  003A  2000     R  CALL _SBR_ADDRESS_1632

; 815: 	SBR_DATA_1632(data);
 815  003B  0700     R  MOV A,SBR_DATA_DisplayByte2
 815  003C  0080     R  MOV SBR_DATA_16320,A
 815  003D  2000     R  CALL _SBR_DATA_1632

; 816: 	P_CSControl_1632 |= CSDis;		//CS disable
 816  003E  0700     R  MOV A,CR22
 816  003F  0592        ORM A,__pa
 816  0040              L111:
 816  0040  0003        RET
文件:MAIN.c       盛群编译器版本 2.86 页次26 

 816  0003  00          LOCAL b0_14 DB ?
 816  0004  00          LOCAL b1_14 DB ?

; 794: 	unsigned char CSDis,x;
 794  0005  00          LOCAL CR21 DB ? ; x
 794  0006  00          LOCAL CR22 DB ? ; CSDis
 794  0041              _SBR_DATA_DisplayByte ENDP

; 829: {
 829  0000              @SBR_FUNCTION_STEP0 .SECTION 'CODE'
 829  0000              PUBLIC _SBR_FUNCTION_STEP0
 829  0000              _SBR_FUNCTION_STEP0 PROC

; 832: 	if(M_DATA_FrePoint < C_DATA_MAX_Length)
 832  0000  0700     R  MOV A,_M_DATA_FrePoint
文件:MAIN.C       盛群编译器版本 2.86 页次24

 832  0001  0A90        SUB A,090h
 832  0002  3C0A        SZ [0ah].0
 832  0003  2800     R  JMP L115

; 835: 		M_DATA_TableCnt = 0;
 835  0004  1F00     R  CLR _M_DATA_TableCnt

; 836: 		x = M_DATA_FrePoint;
 836  0005  0700     R  MOV A,_M_DATA_FrePoint
 836  0006  0080     R  MOV CR27,A

; 837: 		if(x < C_DATA_MAX_CS) 
 837  0007  0700     R  MOV A,CR27
 837  0008  0A30        SUB A,030h
 837  0009  3C0A        SZ [0ah].0
 837  000A  2800     R  JMP L117

; 840: 			SBR_DATA_DisplayCS(C_1632_CS3En,x);
 840  000B  0FEF        MOV A,0efh
 840  000C  0080     R  MOV SBR_DATA_DisplayCS0,A
 840  000D  0700     R  MOV A,CR27
 840  000E  0080     R  MOV SBR_DATA_DisplayCS1,A
 840  000F  2000     R  CALL _SBR_DATA_DisplayCS

; 841: 		}
 841  0010  2800     R  JMP L116
 841  0011              L117:

; 844: 			x -= C_DATA_MAX_CS;
 844  0011  0700     R  MOV A,CR27
 844  0012  0A30        SUB A,030h
 844  0013  0080     R  MOV CR27,A

; 845: 			if(x < C_DATA_MAX_CS)
 845  0014  0700     R  MOV A,CR27
 845  0015  0A30        SUB A,030h
 845  0016  3C0A        SZ [0ah].0
 845  0017  2800     R  JMP L119

; 848: 				SBR_DATA_DisplayCS(C_1632_CS2En,x);
 848  0018  0FF7        MOV A,0f7h
 848  0019  0080     R  MOV SBR_DATA_DisplayCS0,A
 848  001A  0700     R  MOV A,CR27
文件:MAIN.c       盛群编译器版本 2.86 页次27 

 848  001B  0080     R  MOV SBR_DATA_DisplayCS1,A
 848  001C  2000     R  CALL _SBR_DATA_DisplayCS

; 849: 				SBR_DATA_DisplayCS(C_1632_CS3En,(C_DATA_MAX_CS-1));
 849  001D  0FEF        MOV A,0efh
 849  001E  0080     R  MOV SBR_DATA_DisplayCS0,A
 849  001F  0F2F        MOV A,02fh
 849  0020  0080     R  MOV SBR_DATA_DisplayCS1,A
 849  0021  2000     R  CALL _SBR_DATA_DisplayCS

⌨️ 快捷键说明

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