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

📄 no.lis

📁 ICC编译绝对可用M16的HD7279驱动测试程序
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 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 + -