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

📄 fjv14.lis

📁 一本关于控制系统仿真的书的程序 1、文件夹1中的程序是书中的一些仿真。 2、文件2中的是最近做的预测控制、PID控制及逻辑控制的对比综合研究。 3、文件夹3中是与maltab通信的数据采集板的设
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 03CA                   .dbline 373
 03CA           ;            case IO_PB0: //启动PB0通道
 03CA           ;                if (IO_data==0x00)
 03CA 0023              tst R16
 03CC 29F4              brne L103
 03CE                   .dbline 374
 03CE           ;                    {
 03CE                   .dbline 375
 03CE           ;                       DDRB |= (1<<DDB0);
 03CE B89A              sbi 0x17,0
 03D0                   .dbline 376
 03D0           ;                       PORTB &= 0b11111110;//PB0置0,其他位不变
 03D0 88B3              in R24,0x18
 03D2 8E7F              andi R24,254
 03D4 88BB              out 0x18,R24
 03D6                   .dbline 377
 03D6           ;                    }
 03D6 4CC0              rjmp L100
 03D8           L103:
 03D8                   .dbline 378
 03D8           ;                else if (IO_data==0x01)
 03D8 0130              cpi R16,1
 03DA 19F4              brne L105
 03DC                   .dbline 379
 03DC           ;                   {
 03DC                   .dbline 380
 03DC           ;                         DDRB |= (1<<DDB0);
 03DC B89A              sbi 0x17,0
 03DE                   .dbline 381
 03DE           ;                       PORTB |= (1<<PB0);//PB0置1,其他位不变  
 03DE C09A              sbi 0x18,0
 03E0                   .dbline 382
 03E0           ;                   }
 03E0 47C0              rjmp L100
 03E2           L105:
 03E2                   .dbline 384
 03E2           ;                else  
 03E2           ;                { 
 03E2                   .dbline 385
 03E2           ;                 asm("NOP");
 03E2 0000              NOP
 03E4                   .dbline 386
 03E4           ;                }
 03E4                   .dbline 387
 03E4           ;                break;   
 03E4 45C0              rjmp L100
 03E6           L107:
 03E6                   .dbline 389
 03E6           ;           case IO_PB1:  
 03E6           ;                 if (IO_data==0x00)
 03E6 0023              tst R16
 03E8 29F4              brne L108
 03EA                   .dbline 390
 03EA           ;                    {
 03EA                   .dbline 391
 03EA           ;                       DDRB |= (1<<DDB1);
 03EA B99A              sbi 0x17,1
 03EC                   .dbline 392
 03EC           ;                       PORTB &= 0b11111101;//输出0
 03EC 88B3              in R24,0x18
 03EE 8D7F              andi R24,253
 03F0 88BB              out 0x18,R24
 03F2                   .dbline 393
 03F2           ;                    }
 03F2 3EC0              rjmp L100
 03F4           L108:
 03F4                   .dbline 394
 03F4           ;                else if (IO_data==0x01)
 03F4 0130              cpi R16,1
 03F6 19F4              brne L110
 03F8                   .dbline 395
 03F8           ;                   {
 03F8                   .dbline 396
 03F8           ;                         DDRB |= (1<<DDB1);
 03F8 B99A              sbi 0x17,1
 03FA                   .dbline 397
 03FA           ;                       PORTB |= (1<<PB1);//输出1       
 03FA C19A              sbi 0x18,1
 03FC                   .dbline 398
 03FC           ;                   }
 03FC 39C0              rjmp L100
 03FE           L110:
 03FE                   .dbline 400
 03FE           ;                else  
 03FE           ;                        { 
 03FE                   .dbline 401
 03FE           ;                     asm("NOP");
 03FE 0000              NOP
 0400                   .dbline 402
 0400           ;                                }
 0400                   .dbline 403
 0400           ;                      break; 
 0400 37C0              rjmp L100
 0402           L112:
 0402                   .dbline 405
 0402           ;           case IO_PB4: 
 0402           ;                 if (IO_data==0x00)
 0402 0023              tst R16
 0404 29F4              brne L113
 0406                   .dbline 406
 0406           ;                    {
 0406                   .dbline 407
 0406           ;                       DDRB |= (1<<DDB4);
 0406 BC9A              sbi 0x17,4
 0408                   .dbline 408
 0408           ;                       PORTB &= 0b11101111;;//输出0
 0408 88B3              in R24,0x18
 040A 8F7E              andi R24,239
 040C 88BB              out 0x18,R24
 040E                   .dbline 408
 040E                   .dbline 409
 040E           ;                    }
 040E 30C0              rjmp L100
 0410           L113:
 0410                   .dbline 410
 0410           ;                else if (IO_data==0x01)
 0410 0130              cpi R16,1
 0412 19F4              brne L115
 0414                   .dbline 411
 0414           ;                   {
 0414                   .dbline 412
 0414           ;                         DDRB |= (1<<DDB4);
 0414 BC9A              sbi 0x17,4
 0416                   .dbline 413
 0416           ;                       PORTB |= (1<<PB4);//输出1       
 0416 C49A              sbi 0x18,4
 0418                   .dbline 414
 0418           ;                   }
 0418 2BC0              rjmp L100
 041A           L115:
 041A                   .dbline 416
 041A           ;                else  
 041A           ;                       { 
 041A                   .dbline 417
 041A           ;                      asm("NOP");    
 041A 0000              NOP
 041C                   .dbline 418
 041C           ;                                }   
 041C                   .dbline 419
 041C           ;                      break;  
 041C 29C0              rjmp L100
 041E           L117:
 041E                   .dbline 421
 041E           ;           case IO_PD5:  
 041E           ;                 if (IO_data==0x00)
 041E 0023              tst R16
 0420 29F4              brne L118
 0422                   .dbline 422
 0422           ;                    {
 0422                   .dbline 423
 0422           ;                       DDRD |= (1<<DDD5);
 0422 8D9A              sbi 0x11,5
 0424                   .dbline 424
 0424           ;                       PORTD &= 0b11011111;//输出0
 0424 82B3              in R24,0x12
 0426 8F7D              andi R24,223
 0428 82BB              out 0x12,R24
 042A                   .dbline 425
 042A           ;                    }
 042A 22C0              rjmp L100
 042C           L118:
 042C                   .dbline 426
 042C           ;                else if (IO_data==0x01)
 042C 0130              cpi R16,1
 042E 19F4              brne L120
 0430                   .dbline 427
 0430           ;                   {
 0430                   .dbline 428
 0430           ;                         DDRD |= (1<<DDD5);
 0430 8D9A              sbi 0x11,5
 0432                   .dbline 429
 0432           ;                       PORTD |= (1<<PD5);//输出1       
 0432 959A              sbi 0x12,5
 0434                   .dbline 430
 0434           ;                   }
 0434 1DC0              rjmp L100
 0436           L120:
 0436                   .dbline 432
 0436           ;                else  
 0436           ;                        { 
 0436                   .dbline 433
 0436           ;                      asm("NOP");
 0436 0000              NOP
 0438                   .dbline 434
 0438           ;                                }
 0438                   .dbline 435
 0438           ;                      break;  
 0438 1BC0              rjmp L100
 043A           L122:
 043A                   .dbline 437
 043A           ;         case IO_PD6:  
 043A           ;                if (IO_data==0x00)
 043A 0023              tst R16
 043C 29F4              brne L123
 043E                   .dbline 438
 043E           ;                    {
 043E                   .dbline 439
 043E           ;                       DDRD |= (1<<DDD6);
 043E 8E9A              sbi 0x11,6
 0440                   .dbline 440
 0440           ;                       PORTD &= 0b10111111;//输出0
 0440 82B3              in R24,0x12
 0442 8F7B              andi R24,191
 0444 82BB              out 0x12,R24
 0446                   .dbline 441
 0446           ;                    }
 0446 14C0              rjmp L100
 0448           L123:
 0448                   .dbline 442
 0448           ;                else if (IO_data==0x01)
 0448 0130              cpi R16,1
 044A 19F4              brne L125
 044C                   .dbline 443
 044C           ;                   {
 044C                   .dbline 444
 044C           ;                         DDRD |= (1<<DDD6);
 044C 8E9A              sbi 0x11,6
 044E                   .dbline 445
 044E           ;                       PORTD |= (1<<PD6);//输出1       
 044E 969A              sbi 0x12,6
 0450                   .dbline 446
 0450           ;                   }
 0450 0FC0              rjmp L100
 0452           L125:
 0452                   .dbline 448
 0452           ;                else  
 0452           ;                        { 
 0452                   .dbline 449
 0452           ;                      asm("NOP");
 0452 0000              NOP
 0454                   .dbline 450
 0454           ;                                }
 0454                   .dbline 451
 0454           ;                      break;  
 0454 0DC0              rjmp L100
 0456           L127:
 0456                   .dbline 454
 0456           ;                  
 0456           ;           case IO_PD7:  //如果为00则启动CH1通道
 0456           ;                if (IO_data==0x00)
 0456 0023              tst R16
 0458 29F4              brne L128
 045A                   .dbline 455
 045A           ;                    {
 045A                   .dbline 456
 045A           ;                       DDRD |= (1<<DDD7);
 045A 8F9A              sbi 0x11,7
 045C                   .dbline 457
 045C           ;                       PORTD &= 0b01111111;//输出0
 045C 82B3              in R24,0x12
 045E 8F77              andi R24,127
 0460 82BB              out 0x12,R24
 0462                   .dbline 458
 0462           ;                    }
 0462 06C0              rjmp L100
 0464           L128:
 0464                   .dbline 459
 0464           ;                else if (IO_data==0x01)
 0464 0130              cpi R16,1
 0466 19F4              brne L130
 0468                   .dbline 460
 0468           ;                   {
 0468                   .dbline 461
 0468           ;                         DDRD |= (1<<DDD7);
 0468 8F9A              sbi 0x11,7
 046A                   .dbline 462
 046A           ;                       PORTD |= (1<<PD7);//输出1       
 046A 979A              sbi 0x12,7
 046C                   .dbline 463
 046C           ;                   }
 046C 01C0              rjmp L100
 046E           L130:
 046E                   .dbline 465
 046E                   .dbline 466
 046E 0000              NOP
 0470                   .dbline 467
 0470                   .dbline 468
 0470                   .dbline 470
 0470           L100:
 0470                   .dbline -2
 0470           L98:
 0470 00D0              rcall pop_gset1
 0472                   .dbline 0 ; func end
 0472 0895              ret
 0474                   .dbsym r IO_channel 18 c
 0474                   .dbsym r IO_data 16 c
 0474                   .dbend
 0474                   .dbfunc e IO_in _IO_in fc
 0474           ;           temp -> R20
 0474           ;     IO_channel -> R16
                        .even
 0474           _IO_in::
 0474 00D0              rcall push_gset2
 0476                   .dbline -1
 0476                   .dbline 477
 0476           ;                else  
 0476           ;                        { 
 0476           ;                         asm("NOP");
 0476           ;                               }
 0476           ;                      break;  
 0476           ;                                               
 0476           ;                  default:break;
 0476           ;               }
 0476           ;        
 0476           ;       
 0476           ; }
 0476           ; /*****************************************************************/
 0476           ; unsigned char IO_in(unsigned char IO_channel)
 0476           ; {
 0476                   .dbline 479
 0476           ;   unsigned char temp;
 0476           ;   temp=0;
 0476 4427              clr R20
 0478                   .dbline 480
 0478           ;   switch (IO_channel)
 0478 602F              mov R22,R16
 047A 7727              clr R23
 04

⌨️ 快捷键说明

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