📄 no.lis
字号:
0142 .dbline 120
0142 ; write7279(BLINKCTL,0xff); // 清除闪烁设置
0142 2FEF ldi R18,255
0144 08E8 ldi R16,136
0146 2ED1 xcall _write7279
0148 .dbline 125
0148 ;
0148 ; //******************************************
0148 ; // 快速计数演示
0148 ; //******************************************
0148 ; for (j=0;j<5;j++) // 计数初始值为00000
0148 2224 clr R2
014A 20920800 sts _j,R2
014E 18C0 xjmp L26
0150 L23:
0150 .dbline 126
0150 .dbline 127
0150 80E0 ldi R24,<_digit
0152 90E0 ldi R25,>_digit
0154 E0910800 lds R30,_j
0158 FF27 clr R31
015A E80F add R30,R24
015C F91F adc R31,R25
015E 2224 clr R2
0160 2082 std z+0,R2
0162 .dbline 128
0162 E0910800 lds R30,_j
0166 FF27 clr R31
0168 E80F add R30,R24
016A F91F adc R31,R25
016C 2081 ldd R18,z+0
016E 00910800 lds R16,_j
0172 0058 subi R16,128 ; addi 128
0174 17D1 xcall _write7279
0176 .dbline 129
0176 L24:
0176 .dbline 125
0176 80910800 lds R24,_j
017A 8F5F subi R24,255 ; addi 1
017C 80930800 sts _j,R24
0180 L26:
0180 .dbline 125
0180 80910800 lds R24,_j
0184 8530 cpi R24,5
0186 20F3 brlo L23
0188 65C0 xjmp L28
018A L27:
018A .dbline 131
018A ; {
018A ; digit[j]=0;
018A ; write7279(DECODE0+j,digit[j]);
018A ; }
018A ; while (digit[4]<2) // 如果计数达到20000就停止
018A ; {
018A .dbline 132
018A ; digit[0]++;
018A 80910900 lds R24,_digit
018E 8F5F subi R24,255 ; addi 1
0190 80930900 sts _digit,R24
0194 .dbline 133
0194 ; if (digit[0]>9)
0194 89E0 ldi R24,9
0196 20900900 lds R2,_digit
019A 8215 cp R24,R2
019C B8F5 brsh L31
019E .dbline 134
019E ; {
019E .dbline 135
019E ; digit[0]=0;
019E 2224 clr R2
01A0 20920900 sts _digit,R2
01A4 .dbline 136
01A4 ; digit[1]++;
01A4 80910A00 lds R24,_digit+1
01A8 8F5F subi R24,255 ; addi 1
01AA 80930A00 sts _digit+1,R24
01AE .dbline 137
01AE ; if (digit[1]>9)
01AE 89E0 ldi R24,9
01B0 20900A00 lds R2,_digit+1
01B4 8215 cp R24,R2
01B6 50F5 brsh L34
01B8 .dbline 138
01B8 ; {
01B8 .dbline 139
01B8 ; digit[1]=0;
01B8 2224 clr R2
01BA 20920A00 sts _digit+1,R2
01BE .dbline 140
01BE ; digit[2]++;
01BE 80910B00 lds R24,_digit+2
01C2 8F5F subi R24,255 ; addi 1
01C4 80930B00 sts _digit+2,R24
01C8 .dbline 141
01C8 ; if (digit[2]>9)
01C8 89E0 ldi R24,9
01CA 20900B00 lds R2,_digit+2
01CE 8215 cp R24,R2
01D0 E8F4 brsh L39
01D2 .dbline 142
01D2 ; {
01D2 .dbline 143
01D2 ; digit[2]=0;
01D2 2224 clr R2
01D4 20920B00 sts _digit+2,R2
01D8 .dbline 144
01D8 ; digit[3]++;
01D8 80910C00 lds R24,_digit+3
01DC 8F5F subi R24,255 ; addi 1
01DE 80930C00 sts _digit+3,R24
01E2 .dbline 145
01E2 ; if (digit[3]>9)
01E2 89E0 ldi R24,9
01E4 20900C00 lds R2,_digit+3
01E8 8215 cp R24,R2
01EA 80F4 brsh L44
01EC .dbline 146
01EC ; {
01EC .dbline 147
01EC ; digit[3]=0;
01EC 2224 clr R2
01EE 20920C00 sts _digit+3,R2
01F2 .dbline 148
01F2 ; digit[4]++;
01F2 80910D00 lds R24,_digit+4
01F6 8F5F subi R24,255 ; addi 1
01F8 80930D00 sts _digit+4,R24
01FC .dbline 149
01FC ; if (digit[4]>9)
01FC 89E0 ldi R24,9
01FE 20900D00 lds R2,_digit+4
0202 8215 cp R24,R2
0204 18F4 brsh L49
0206 .dbline 150
0206 ; {
0206 .dbline 151
0206 ; digit[4]=0;
0206 2224 clr R2
0208 20920D00 sts _digit+4,R2
020C .dbline 152
020C ; }
020C L49:
020C .dbline 153
020C ; }
020C L44:
020C .dbline 154
020C ; }
020C L39:
020C .dbline 155
020C ; }
020C L34:
020C .dbline 156
020C ; }
020C L31:
020C .dbline 157
020C ; write7279(DECODE0,digit[0]);
020C 20910900 lds R18,_digit
0210 00E8 ldi R16,128
0212 C8D0 xcall _write7279
0214 .dbline 158
0214 ; if (digit[0]==0)
0214 20900900 lds R2,_digit
0218 2220 tst R2
021A E1F4 brne L53
021C .dbline 159
021C ; {
021C .dbline 160
021C ; write7279(DECODE0+1,digit[1]);
021C 20910A00 lds R18,_digit+1
0220 01E8 ldi R16,129
0222 C0D0 xcall _write7279
0224 .dbline 161
0224 ; if (digit[1]==0)
0224 20900A00 lds R2,_digit+1
0228 2220 tst R2
022A A1F4 brne L56
022C .dbline 162
022C ; {
022C .dbline 163
022C ; write7279(DECODE0+2,digit[2]);
022C 20910B00 lds R18,_digit+2
0230 02E8 ldi R16,130
0232 B8D0 xcall _write7279
0234 .dbline 164
0234 ; if (digit[2]==0)
0234 20900B00 lds R2,_digit+2
0238 2220 tst R2
023A 61F4 brne L60
023C .dbline 165
023C ; {
023C .dbline 166
023C ; write7279(DECODE0+3,digit[3]);
023C 20910C00 lds R18,_digit+3
0240 03E8 ldi R16,131
0242 B0D0 xcall _write7279
0244 .dbline 167
0244 ; if (digit[3]==0)
0244 20900C00 lds R2,_digit+3
0248 2220 tst R2
024A 21F4 brne L64
024C .dbline 168
024C ; {
024C .dbline 169
024C ; write7279(DECODE0+4,digit[4]);
024C 20910D00 lds R18,_digit+4
0250 04E8 ldi R16,132
0252 A8D0 xcall _write7279
0254 .dbline 170
0254 ; }
0254 L64:
0254 .dbline 171
0254 ; }
0254 L60:
0254 .dbline 172
0254 ; }
0254 L56:
0254 .dbline 173
0254 ; }
0254 L53:
0254 .dbline 174
0254 L28:
0254 .dbline 130
0254 80910D00 lds R24,_digit+4
0258 8230 cpi R24,2
025A 08F4 brsh X2
025C 96CF xjmp L27
025E X2:
025E .dbline 175
025E ; }
025E ; dely_ms(150);
025E 06E9 ldi R16,150
0260 10E0 ldi R17,0
0262 10D1 xcall _dely_ms
0264 .dbline 176
0264 ; send_byte(CMD_RESET); // 清除显示
0264 04EA ldi R16,164
0266 B2D0 xcall _send_byte
0268 .dbline 181
0268 ;
0268 ; //*************************************************
0268 ; // 下载数据但不译码指令测试
0268 ; //*************************************************
0268 ; write7279(UNDECODE+7,0x49); // 在第8位按不译码方式显示一字符'三'
0268 29E4 ldi R18,73
026A 07E9 ldi R16,151
026C 9BD0 xcall _write7279
026E .dbline 182
026E ; dely_ms(80);
026E 00E5 ldi R16,80
0270 10E0 ldi R17,0
0272 08D1 xcall _dely_ms
0274 .dbline 188
0274 ;
0274 ; //*************************************************
0274 ; // 循环左/右移测试
0274 ; // "三"字向右运动3次,再向左运动3次
0274 ; //*************************************************
0274 ; for (j=0;j<23;j++)
0274 2224 clr R2
0276 20920800 sts _j,R2
027A 0AC0 xjmp L71
027C L68:
027C .dbline 189
027C .dbline 190
027C 02EA ldi R16,162
027E A6D0 xcall _send_byte
0280 .dbline 191
0280 0CE0 ldi R16,12
0282 10E0 ldi R17,0
0284 FFD0 xcall _dely_ms
0286 .dbline 192
0286 L69:
0286 .dbline 188
0286 80910800 lds R24,_j
028A 8F5F subi R24,255 ; addi 1
028C 80930800 sts _j,R24
0290 L71:
0290 .dbline 188
0290 80910800 lds R24,_j
0294 8731 cpi R24,23
0296 90F3 brlo L68
0298 .dbline 193
0298 ; {
0298 ; send_byte(RTR_CYCLE); // 循环右移23次
0298 ; dely_ms(12);
0298 ; }
0298 ; for (j=0;j<23;j++)
0298 2224 clr R2
029A 20920800 sts _j,R2
029E 0AC0 xjmp L75
02A0 L72:
02A0 .dbline 194
02A0 .dbline 195
02A0 03EA ldi R16,163
02A2 94D0 xcall _send_byte
02A4 .dbline 196
02A4 0CE0 ldi R16,12
02A6 10E0 ldi R17,0
02A8 EDD0 xcall _dely_ms
02AA .dbline 197
02AA L73:
02AA .dbline 193
02AA 80910800 lds R24,_j
02AE 8F5F subi R24,255 ; addi 1
02B0 80930800 sts _j,R24
02B4 L75:
02B4 .dbline 193
02B4 80910800 lds R24,_j
02B8 8731 cpi R24,23
02BA 90F3 brlo L72
02BC .dbline 202
02BC ; {
02BC ; send_byte(RTL_CYCLE); // 循环左移23次
02BC ; dely_ms(12);
02BC ; }
02BC ;
02BC ; //*********************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -