我給你來個試試
- 44 void main(void)
- 45 {
- 46 1 u16 i=0,j=0,t=0,n=0,m=0,f;
- 47 1 Max7219_init();
- 48 1
- 49 1 while(1)
- 50 1 {
- 51 2 f=0;
- 52 2 n = t / 8; // 第幾個字
- 53 2 m=t%8;
- 54 2
- 55 2 for(j=0;j<8;j++)
- 56 2 {
- 57 3 for(i=0;i<4;i++)
- 58 3 {
- 59 4 f=(n+i)%(character_len/2);
- 60 4 val[ i]=bytes[2*j+f/2*32+f%2]<<m;
- 61 4 val[i+4]=bytes[2*j+f/2*32+f%2+16]<<m;
- 62 4 f=(n+i+1)%(character_len/2);
- 63 4 val[ i]|=bytes[2*j+f/2*32+f%2]>>8-m;
- 64 4 val[i+4]|=bytes[2*j+f/2*32+f%2+16]>>8-m;
- 65 4 }
- 66 3
- 67 3 Max7219_multiWrite1(j+1, val);
- 68 3 }
- 69 2 t=(t+1)%(sizeof(bytes)/2);
- 70 2
- 71 2 delay(150);
- 72 2 }
- 73 1 }
- 74
- 75
- ; FUNCTION main (BEGIN)
- ; SOURCE LINE # 44
- ; SOURCE LINE # 45
- ; SOURCE LINE # 46
- 0000 E4 CLR A
- 0001 F500 R MOV i,A
- 0003 F500 R MOV i+01H,A
- 0005 F500 R MOV j,A
- 0007 F500 R MOV j+01H,A
- 0009 F500 R MOV t,A
- 000B F500 R MOV t+01H,A
- 000D F500 R MOV n,A
- 000F F500 R MOV n+01H,A
- 0011 F500 R MOV m,A
- 0013 F500 R MOV m+01H,A
- ; SOURCE LINE # 47
- 0015 120000 R LCALL Max7219_init
- 0018 ?C0001:
- ; SOURCE LINE # 49
- ; SOURCE LINE # 50
- ; SOURCE LINE # 51
- 0018 E4 CLR A
- 0019 F500 R MOV f,A
- 001B F500 R MOV f+01H,A
- ; SOURCE LINE # 52
- 001D AE00 R MOV R6,t
- 001F E500 R MOV A,t+01H
- 0021 7803 MOV R0,#03H
- 0023 ?C0034:
- 0023 CE XCH A,R6
- 0024 C3 CLR C
- 0025 13 RRC A
- 0026 CE XCH A,R6
- 0027 13 RRC A
- 0028 D8F9 DJNZ R0,?C0034
- 002A F500 R MOV n+01H,A
- 002C 8E00 R MOV n,R6
- ; SOURCE LINE # 53
- 002E 750000 R MOV m,#00H
- 0031 E500 R MOV A,t+01H
- 0033 5407 ANL A,#07H
- 0035 F500 R MOV m+01H,A
- ; SOURCE LINE # 55
- 0037 E4 CLR A
- 0038 F500 R MOV j,A
- 003A F500 R MOV j+01H,A
- 003C ?C0003:
- ; SOURCE LINE # 56
- ; SOURCE LINE # 57
- 003C E4 CLR A
- 003D F500 R MOV i,A
- 003F F500 R MOV i+01H,A
- 0041 ?C0006:
- ; SOURCE LINE # 58
- ; SOURCE LINE # 59
- 0041 E500 R MOV A,n+01H
- 0043 2500 R ADD A,i+01H
- 0045 FB MOV R3,A
- 0046 E500 R MOV A,n
- 0048 3500 R ADDC A,i
- 004A FA MOV R2,A
- 004B E500 R MOV A,character_len
- 004D C3 CLR C
- 004E 13 RRC A
- 004F FD MOV R5,A
- 0050 7C00 MOV R4,#00H
- 0052 AF03 MOV R7,AR3
- 0054 AE02 MOV R6,AR2
- 0056 120000 E LCALL ?C?UIDIV
- 0059 8C00 R MOV f,R4
- 005B 8D00 R MOV f+01H,R5
- ; SOURCE LINE # 60
- 005D E500 R MOV A,f
- 005F C3 CLR C
- 0060 13 RRC A
- 0061 FE MOV R6,A
- 0062 E500 R MOV A,f+01H
- 0064 13 RRC A
- 0065 7805 MOV R0,#05H
- 0067 ?C0035:
- 0067 C3 CLR C
- 0068 33 RLC A
- 0069 CE XCH A,R6
- 006A 33 RLC A
- 006B CE XCH A,R6
- 006C D8F9 DJNZ R0,?C0035
- 006E FD MOV R5,A
- 006F AC06 MOV R4,AR6
- 0071 E500 R MOV A,j+01H
- 0073 25E0 ADD A,ACC
- 0075 FF MOV R7,A
- 0076 E500 R MOV A,j
- 0078 33 RLC A
- 0079 FE MOV R6,A
- 007A EF MOV A,R7
- 007B 2D ADD A,R5
- 007C FF MOV R7,A
- 007D EE MOV A,R6
- 007E 3C ADDC A,R4
- 007F FE MOV R6,A
- 0080 7C00 MOV R4,#00H
- 0082 E500 R MOV A,f+01H
- 0084 5401 ANL A,#01H
- 0086 2F ADD A,R7
- 0087 FF MOV R7,A
- 0088 EC MOV A,R4
- 0089 3E ADDC A,R6
- 008A FE MOV R6,A
- 008B 7400 R MOV A,#LOW bytes
- 008D 2F ADD A,R7
- 008E F582 MOV DPL,A
- 0090 7400 R MOV A,#HIGH bytes
- 0092 3E ADDC A,R6
- 0093 F583 MOV DPH,A
- 0095 E4 CLR A
- 0096 93 MOVC A,@A+DPTR
- 0097 FD MOV R5,A
- 0098 A900 R MOV R1,m+01H
- 009A A801 MOV R0,AR1
- 009C 08 INC R0
- 009D 8002 SJMP ?C0037
- 009F ?C0036:
- 009F C3 CLR C
- 00A0 33 RLC A
- 00A1 ?C0037:
- 00A1 D8FC DJNZ R0,?C0036
- 00A3 FD MOV R5,A
- 00A4 AC00 R MOV R4,i+01H
- 00A6 7400 R MOV A,#LOW val
- 00A8 2C ADD A,R4
- 00A9 F8 MOV R0,A
- 00AA A605 MOV @R0,AR5
- ; SOURCE LINE # 61
- 00AC 7400 R MOV A,#LOW bytes+010H
- 00AE 2F ADD A,R7
- 00AF F582 MOV DPL,A
- 00B1 7400 R MOV A,#HIGH bytes+010H
- 00B3 3E ADDC A,R6
- 00B4 F583 MOV DPH,A
- 00B6 E4 CLR A
- 00B7 93 MOVC A,@A+DPTR
- 00B8 FF MOV R7,A
- 00B9 A801 MOV R0,AR1
- 00BB 08 INC R0
- 00BC 8002 SJMP ?C0039
- 00BE ?C0038:
- 00BE C3 CLR C
- 00BF 33 RLC A
- 00C0 ?C0039:
- 00C0 D8FC DJNZ R0,?C0038
- 00C2 FF MOV R7,A
- 00C3 7400 R MOV A,#LOW val+04H
- 00C5 2C ADD A,R4
- 00C6 F8 MOV R0,A
- 00C7 A607 MOV @R0,AR7
- ; SOURCE LINE # 62
- 00C9 EB MOV A,R3
- 00CA 2401 ADD A,#01H
- 00CC FF MOV R7,A
- 00CD E4 CLR A
- 00CE 3A ADDC A,R2
- 00CF FE MOV R6,A
- 00D0 E500 R MOV A,character_len
- 00D2 C3 CLR C
- 00D3 13 RRC A
- 00D4 FD MOV R5,A
- 00D5 7C00 MOV R4,#00H
- 00D7 120000 E LCALL ?C?UIDIV
- 00DA 8C00 R MOV f,R4
- 00DC 8D00 R MOV f+01H,R5
- ; SOURCE LINE # 63
- 00DE 7400 R MOV A,#LOW val
- 00E0 2500 R ADD A,i+01H
- 00E2 F8 MOV R0,A
- 00E3 C000 PUSH AR0
- 00E5 E6 MOV A,@R0
- 00E6 FD MOV R5,A
- 00E7 E500 R MOV A,f
- 00E9 C3 CLR C
- 00EA 13 RRC A
- 00EB FE MOV R6,A
- 00EC E500 R MOV A,f+01H
- 00EE 13 RRC A
- 00EF 7805 MOV R0,#05H
- 00F1 ?C0040:
- 00F1 C3 CLR C
- 00F2 33 RLC A
- 00F3 CE XCH A,R6
- 00F4 33 RLC A
- 00F5 CE XCH A,R6
- 00F6 D8F9 DJNZ R0,?C0040
- 00F8 FB MOV R3,A
- 00F9 AA06 MOV R2,AR6
- 00FB E500 R MOV A,j+01H
- 00FD 25E0 ADD A,ACC
- 00FF FF MOV R7,A
- 0100 E500 R MOV A,j
- 0102 33 RLC A
- 0103 FE MOV R6,A
- 0104 EF MOV A,R7
- 0105 2B ADD A,R3
- 0106 FF MOV R7,A
- 0107 EE MOV A,R6
- 0108 3A ADDC A,R2
- 0109 FE MOV R6,A
- 010A 7A00 MOV R2,#00H
- 010C E500 R MOV A,f+01H
- 010E 5401 ANL A,#01H
- 0110 2F ADD A,R7
- 0111 FF MOV R7,A
- 0112 EA MOV A,R2
- 0113 3E ADDC A,R6
- 0114 FE MOV R6,A
- 0115 7400 R MOV A,#LOW bytes
- 0117 2F ADD A,R7
- 0118 F582 MOV DPL,A
- 011A 7400 R MOV A,#HIGH bytes
- 011C 3E ADDC A,R6
- 011D F583 MOV DPH,A
- 011F E4 CLR A
- 0120 93 MOVC A,@A+DPTR
- 0121 FF MOV R7,A
- 0122 C3 CLR C
- 0123 7408 MOV A,#08H
- 0125 9500 R SUBB A,m+01H
- 0127 FC MOV R4,A
- 0128 F8 MOV R0,A
- 0129 EF MOV A,R7
- 012A 08 INC R0
- 012B 8002 SJMP ?C0042
- 012D ?C0041:
- 012D C3 CLR C
- 012E 13 RRC A
- 012F ?C0042:
- 012F D8FC DJNZ R0,?C0041
- 0131 4D ORL A,R5
- 0132 D000 POP AR0
- 0134 F6 MOV @R0,A
- ; SOURCE LINE # 64
- 0135 7400 R MOV A,#LOW val+04H
- 0137 2500 R ADD A,i+01H
- 0139 F8 MOV R0,A
- 013A C000 PUSH AR0
- 013C E6 MOV A,@R0
- 013D FD MOV R5,A
- 013E E500 R MOV A,f
- 0140 C3 CLR C
- 0141 13 RRC A
- 0142 FE MOV R6,A
- 0143 E500 R MOV A,f+01H
- 0145 13 RRC A
- 0146 7805 MOV R0,#05H
- 0148 ?C0043:
- 0148 C3 CLR C
- 0149 33 RLC A
- 014A CE XCH A,R6
- 014B 33 RLC A
- 014C CE XCH A,R6
- 014D D8F9 DJNZ R0,?C0043
- 014F FB MOV R3,A
- 0150 AA06 MOV R2,AR6
- 0152 E500 R MOV A,j+01H
- 0154 25E0 ADD A,ACC
- 0156 FF MOV R7,A
- 0157 E500 R MOV A,j
- 0159 33 RLC A
- 015A FE MOV R6,A
- 015B EF MOV A,R7
- 015C 2B ADD A,R3
- 015D FF MOV R7,A
- 015E EE MOV A,R6
- 015F 3A ADDC A,R2
- 0160 FE MOV R6,A
- 0161 7A00 MOV R2,#00H
- 0163 E500 R MOV A,f+01H
- 0165 5401 ANL A,#01H
- 0167 2F ADD A,R7
- 0168 FF MOV R7,A
- 0169 EA MOV A,R2
- 016A 3E ADDC A,R6
- 016B FE MOV R6,A
- 016C 7400 R MOV A,#LOW bytes+010H
- 016E 2F ADD A,R7
- 016F F582 MOV DPL,A
- 0171 7400 R MOV A,#HIGH bytes+010H
- 0173 3E ADDC A,R6
- 0174 F583 MOV DPH,A
- 0176 E4 CLR A
- 0177 93 MOVC A,@A+DPTR
- 0178 FF MOV R7,A
- 0179 A804 MOV R0,AR4
- 017B 08 INC R0
- 017C 8002 SJMP ?C0045
- 017E ?C0044:
- 017E C3 CLR C
- 017F 13 RRC A
- 0180 ?C0045:
- 0180 D8FC DJNZ R0,?C0044
- 0182 4D ORL A,R5
- 0183 D000 POP AR0
- 0185 F6 MOV @R0,A
- ; SOURCE LINE # 65
- 0186 0500 R INC i+01H
- 0188 E500 R MOV A,i+01H
- 018A 7002 JNZ ?C0046
- 018C 0500 R INC i
- 018E ?C0046:
- 018E 6404 XRL A,#04H
- 0190 4500 R ORL A,i
- 0192 6003 JZ $ + 5H
- 0194 020000 R LJMP ?C0006
- 0197 ?C0007:
- ; SOURCE LINE # 67
- 0197 E500 R MOV A,j+01H
- 0199 04 INC A
- 019A FF MOV R7,A
- 019B 7B00 MOV R3,#00H
- 019D 7A00 R MOV R2,#HIGH val
- 019F 7900 R MOV R1,#LOW val
- 01A1 120000 R LCALL _Max7219_multiWrite1
- ; SOURCE LINE # 68
- 01A4 0500 R INC j+01H
- 01A6 E500 R MOV A,j+01H
- 01A8 7002 JNZ ?C0047
- 01AA 0500 R INC j
- 01AC ?C0047:
- 01AC C3 CLR C
- 01AD 9408 SUBB A,#08H
- 01AF E500 R MOV A,j
- 01B1 9400 SUBB A,#00H
- 01B3 5003 JNC $ + 5H
- 01B5 020000 R LJMP ?C0003
- 01B8 ?C0004:
- ; SOURCE LINE # 69
- 01B8 E500 R MOV A,t+01H
- 01BA 2401 ADD A,#01H
- 01BC FF MOV R7,A
- 01BD E4 CLR A
- 01BE 3500 R ADDC A,t
- 01C0 FE MOV R6,A
- 01C1 7C00 MOV R4,#00H
- 01C3 7D34 MOV R5,#034H
- 01C5 120000 E LCALL ?C?UIDIV
- 01C8 8C00 R MOV t,R4
- 01CA 8D00 R MOV t+01H,R5
- ; SOURCE LINE # 71
- 01CC 7F96 MOV R7,#096H
- 01CE 7E00 MOV R6,#00H
- 01D0 120000 R LCALL _delay
- ; SOURCE LINE # 72
- 01D3 020000 R LJMP ?C0001
- ; FUNCTION main (END)
復制代碼
|