📄 main.lis
字号:
0072 0FE3 ldi R16,63
0074 D0DF rcall _indat
0076 .dbline 84
0076 ; indat(0x3f);
0076 0FE3 ldi R16,63
0078 CEDF rcall _indat
007A .dbline 85
007A ; indat(0x3f);
007A 0FE3 ldi R16,63
007C CCDF rcall _indat
007E .dbline 86
007E ; indat(0x3f);
007E 0FE3 ldi R16,63
0080 CADF rcall _indat
0082 .dbline 87
0082 ; indat(0x3f);
0082 0FE3 ldi R16,63
0084 C8DF rcall _indat
0086 .dbline 88
0086 ; indat(0x3f);
0086 0FE3 ldi R16,63
0088 C6DF rcall _indat
008A .dbline 89
008A ; indat(0x3f);
008A 0FE3 ldi R16,63
008C C4DF rcall _indat
008E .dbline 90
008E ; indat(0x3f);
008E 0FE3 ldi R16,63
0090 C2DF rcall _indat
0092 .dbline 91
0092 ; indat(0x3f);
0092 0FE3 ldi R16,63
0094 C0DF rcall _indat
0096 .dbline 93
0096 ; //开显示
0096 ; SET_STB;
0096 289A sbi 0x5,0
0098 .dbline 94
0098 ; indat(0x8f);
0098 0FE8 ldi R16,143
009A BDDF rcall _indat
009C .dbline -2
009C L10:
009C .dbline 0 ; func end
009C 0895 ret
009E .dbsym l i 1 c
009E .dbend
009E .dbfunc e tm1620 _tm1620 fV
009E ; i -> <dead>
.even
009E _tm1620::
009E .dbline -1
009E .dbline 98
009E ; }
009E ; //数据刷新
009E ; void tm1620 (void)
009E ; {
009E .dbline 101
009E ; unsigned char i;
009E ; //TM1620模式设定
009E ; SET_STB;
009E 289A sbi 0x5,0
00A0 .dbline 103
00A0 ; //地址模式设定
00A0 ; indat(0xc0);
00A0 00EC ldi R16,192
00A2 B9DF rcall _indat
00A4 .dbline 104
00A4 ; SET_STB;
00A4 289A sbi 0x5,0
00A6 .dbline 105
00A6 ; WDR();
00A6 A895 wdr
00A8 .dbline 106
00A8 ; if((flagh&0x04)==0)
00A8 20900300 lds R2,_flagh
00AC 22FC sbrc R2,2
00AE 20C0 rjmp L12
00B0 .dbline 107
00B0 ; {
00B0 .dbline 108
00B0 ; indat(0x3f);
00B0 0FE3 ldi R16,63
00B2 B1DF rcall _indat
00B4 .dbline 109
00B4 ; indat(dipdata[0]);
00B4 00910B00 lds R16,_dipdata
00B8 AEDF rcall _indat
00BA .dbline 110
00BA ; indat(0x06);
00BA 06E0 ldi R16,6
00BC ACDF rcall _indat
00BE .dbline 111
00BE ; indat(dipdata[1]);
00BE 00910C00 lds R16,_dipdata+1
00C2 A9DF rcall _indat
00C4 .dbline 112
00C4 ; indat(0x5b);
00C4 0BE5 ldi R16,91
00C6 A7DF rcall _indat
00C8 .dbline 113
00C8 ; indat(dipdata[2]);
00C8 00910D00 lds R16,_dipdata+2
00CC A4DF rcall _indat
00CE .dbline 114
00CE ; indat(0x4f);
00CE 0FE4 ldi R16,79
00D0 A2DF rcall _indat
00D2 .dbline 115
00D2 ; indat(dipdata[3]);
00D2 00910E00 lds R16,_dipdata+3
00D6 9FDF rcall _indat
00D8 .dbline 116
00D8 ; indat(0x66);
00D8 06E6 ldi R16,102
00DA 9DDF rcall _indat
00DC .dbline 117
00DC ; indat(dipdata[4]);
00DC 00910F00 lds R16,_dipdata+4
00E0 9ADF rcall _indat
00E2 .dbline 118
00E2 ; indat(0x6d);
00E2 0DE6 ldi R16,109
00E4 98DF rcall _indat
00E6 .dbline 119
00E6 ; indat(dipdata[5]);
00E6 00911000 lds R16,_dipdata+5
00EA 95DF rcall _indat
00EC .dbline 120
00EC ; SET_STB;
00EC 289A sbi 0x5,0
00EE .dbline 121
00EE ; }
00EE 43C0 rjmp L13
00F0 L12:
00F0 .dbline 123
00F0 ; else //开了闪烁位的显示
00F0 ; {
00F0 .dbline 124
00F0 ; indat(0x3f);
00F0 0FE3 ldi R16,63
00F2 91DF rcall _indat
00F4 .dbline 125
00F4 ; if(D1FC==0)
00F4 20901D00 lds R2,_D1FC
00F8 2220 tst R2
00FA 71F4 brne L19
00FC .dbline 126
00FC ; {
00FC .dbline 127
00FC ; indat(dipdata[0]);
00FC 00910B00 lds R16,_dipdata
0100 8ADF rcall _indat
0102 .dbline 128
0102 ; indat(0x06);
0102 06E0 ldi R16,6
0104 88DF rcall _indat
0106 .dbline 129
0106 ; indat(dipdata[1]);
0106 00910C00 lds R16,_dipdata+1
010A 85DF rcall _indat
010C .dbline 130
010C ; indat(0x5b);
010C 0BE5 ldi R16,91
010E 83DF rcall _indat
0110 .dbline 131
0110 ; indat(dipdata[2]);
0110 00910D00 lds R16,_dipdata+2
0114 80DF rcall _indat
0116 .dbline 132
0116 ; }
0116 0AC0 rjmp L20
0118 L19:
0118 .dbline 134
0118 ; else
0118 ; {
0118 .dbline 135
0118 ; indat(0);
0118 0027 clr R16
011A 7DDF rcall _indat
011C .dbline 136
011C ; indat(0);
011C 0027 clr R16
011E 7BDF rcall _indat
0120 .dbline 137
0120 ; indat(0);
0120 0027 clr R16
0122 79DF rcall _indat
0124 .dbline 138
0124 ; indat(0);
0124 0027 clr R16
0126 77DF rcall _indat
0128 .dbline 139
0128 ; indat(0);
0128 0027 clr R16
012A 75DF rcall _indat
012C .dbline 140
012C ; }
012C L20:
012C .dbline 141
012C ; indat(0x4f);
012C 0FE4 ldi R16,79
012E 73DF rcall _indat
0130 .dbline 142
0130 ; if(D3FC==0) indat(dipdata[3]);
0130 20901B00 lds R2,_D3FC
0134 2220 tst R2
0136 21F4 brne L23
0138 .dbline 142
0138 00910E00 lds R16,_dipdata+3
013C 6CDF rcall _indat
013E 02C0 rjmp L24
0140 L23:
0140 .dbline 143
0140 ; else indat(0);
0140 0027 clr R16
0142 69DF rcall _indat
0144 L24:
0144 .dbline 144
0144 ; indat(0x66);
0144 06E6 ldi R16,102
0146 67DF rcall _indat
0148 .dbline 145
0148 ; if(D4FC==0) indat(dipdata[4]);
0148 20901A00 lds R2,_D4FC
014C 2220 tst R2
014E 21F4 brne L26
0150 .dbline 145
0150 00910F00 lds R16,_dipdata+4
0154 60DF rcall _indat
0156 02C0 rjmp L27
0158 L26:
0158 .dbline 146
0158 ; else indat(0);
0158 0027 clr R16
015A 5DDF rcall _indat
015C L27:
015C .dbline 147
015C ; indat(0x6d);
015C 0DE6 ldi R16,109
015E 5BDF rcall _indat
0160 .dbline 148
0160 ; if(D5FC==0) indat(dipdata[5]);
0160 20901900 lds R2,_D5FC
0164 2220 tst R2
0166 21F4 brne L29
0168 .dbline 148
0168 00911000 lds R16,_dipdata+5
016C 54DF rcall _indat
016E 02C0 rjmp L30
0170 L29:
0170 .dbline 149
0170 ; else indat(0);
0170 0027 clr R16
0172 51DF rcall _indat
0174 L30:
0174 .dbline 150
0174 289A sbi 0x5,0
0176 .dbline 151
0176 L13:
0176 .dbline -2
0176 L11:
0176 .dbline 0 ; func end
0176 0895 ret
0178 .dbsym l i 1 c
0178 .dbend
0178 .dbfunc e code_comp _code_comp fc
0178 ; b -> R12
0178 ; a -> R10
0178 ; i -> R22
0178 ; j -> R20
.even
0178 _code_comp::
0178 00D0 rcall push_gset4
017A .dbline -1
017A .dbline 156
017A ; SET_STB;
017A ; }
017A ; }
017A ; /*比较接收到的代码在EEPORM的位置
017A ; 有记录反回地址,没有反回FF*/
017A ; unsigned char code_comp (void)
017A ; {
017A .dbline 157
017A ; unsigned char i,j=0,a,b;
017A 4427 clr R20
017C .dbline 158
017C ; for(i=0;i<100;i++)
017C 6627 clr R22
017E 1BC0 rjmp L36
0180 L33:
0180 .dbline 159
0180 ; {
0180 .dbline 160
0180 ; WDR();
0180 A895 wdr
0182 .dbline 161
0182 ; j=i*4; //每个ID用两个记录地址,两个记录编号
0182 84E0 ldi R24,4
0184 869F mul R24,R22
0186 402D mov R20,R0
0188 .dbline 162
0188 ; a=EEPROM_read(j);
0188 042F mov R16,R20
018A 00D0 rcall _EEPROM_read
018C A02E mov R10,R16
018E .dbline 163
018E ; j++;
018E 4395 inc R20
0190 .dbline 164
0190 ; b=EEPROM_read(j);
0190 042F mov R16,R20
0192 00D0 rcall _EEPROM_read
0194 C02E mov R12,R16
0196 .dbline 165
0196 ; j++;
0196 4395 inc R20
0198 .dbline 166
0198 ; if((a==data[0])&&(b==data[1]))
0198 20900800 lds R2,_data
019C A214 cp R10,R2
019E 39F4 brne L37
01A0 20900900 lds R2,_data+1
01A4 0215 cp R16,R2
01A6 19F4 brne L37
01A8 .dbline 167
01A8 ; {
01A8 .dbline 168
01A8 ; addr=i;
01A8 60930B00 sts _addr,R22
01AC .dbline 169
01AC ; break;
01AC 06C0 rjmp L35
01AE L37:
01AE .dbline 172
01AE .dbline 173
01AE 8FEF ldi R24,255
01B0 80930B00 sts _addr,R24
01B4 .dbline 175
01B4 .dbline 176
01B4 L34:
01B4 .dbline 158
01B4 6395 inc R22
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -