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

📄 main.lis

📁 MEGA16单片机程序包2
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\USING0~1\LINEAN~1\main.c
 0000                   .dbfunc e ReadPin _ReadPin fc
 0000           ;              i -> R16
                        .even
 0000           _ReadPin::
 0000                   .dbline -1
 0000                   .dbline 4
 0000           ; #include "main.h"
 0000           ; 
 0000           ; unsigned char ReadPin(void)
 0000           ; {
 0000                   .dbline 6
 0000           ;  unsigned char i; 
 0000           ;  PORTC = 0XFF;           //定义上拉电阻和设置高电平输出 
 0000 8FEF              ldi R24,255
 0002 85BB              out 0x15,R24
 0004                   .dbline 7
 0004           ;  DDRC = 0X00;            //为端口引脚定义方向
 0004 2224              clr R2
 0006 24BA              out 0x14,R2
 0008                   .dbline 8
 0008           ;  _NOP();                 // 为了同步插入nop 指令
 0008 0000              nop
 000A                   .dbline 9
 000A           ;  i = PINC;               // 读取端口引脚
 000A 03B3              in R16,0x13
 000C                   .dbline -2
 000C           L1:
 000C                   .dbline 0 ; func end
 000C 0895              ret
 000E                   .dbsym r i 16 c
 000E                   .dbend
 000E                   .dbfunc e car_turn _car_turn fV
 000E           ;            mes -> R20
                        .even
 000E           _car_turn::
 000E 0E940000          xcall push_gset1
 0012 402F              mov R20,R16
 0014                   .dbline -1
 0014                   .dbline 13
 0014           ; }
 0014           ; 
 0014           ; void  car_turn(unsigned char mes)
 0014           ; {
 0014                   .dbline 14
 0014           ;   switch(mes)
 0014 5527              clr R21
 0016 4032              cpi R20,32
 0018 E0E0              ldi R30,0
 001A 5E07              cpc R21,R30
 001C 09F4              brne X2
 001E B0C0              xjmp L17
 0020           X2:
 0020 80E2              ldi R24,32
 0022 90E0              ldi R25,0
 0024 8417              cp R24,R20
 0026 9507              cpc R25,R21
 0028 0CF4              brge X3
 002A 37C0              xjmp L21
 002C           X3:
 002C           L20:
 002C 4030              cpi R20,0
 002E 4507              cpc R20,R21
 0030 09F4              brne X4
 0032 49C0              xjmp L6
 0034           X4:
 0034           X0:
 0034 4130              cpi R20,1
 0036 E0E0              ldi R30,0
 0038 5E07              cpc R21,R30
 003A 09F4              brne X5
 003C 47C0              xjmp L7
 003E           X5:
 003E 4230              cpi R20,2
 0040 E0E0              ldi R30,0
 0042 5E07              cpc R21,R30
 0044 09F4              brne X6
 0046 4FC0              xjmp L8
 0048           X6:
 0048 4330              cpi R20,3
 004A E0E0              ldi R30,0
 004C 5E07              cpc R21,R30
 004E 09F4              brne X7
 0050 57C0              xjmp L9
 0052           X7:
 0052 4430              cpi R20,4
 0054 E0E0              ldi R30,0
 0056 5E07              cpc R21,R30
 0058 09F4              brne X8
 005A 5FC0              xjmp L10
 005C           X8:
 005C 4530              cpi R20,5
 005E E0E0              ldi R30,0
 0060 5E07              cpc R21,R30
 0062 09F4              brne X9
 0064 67C0              xjmp L11
 0066           X9:
 0066 4630              cpi R20,6
 0068 E0E0              ldi R30,0
 006A 5E07              cpc R21,R30
 006C 09F4              brne X10
 006E 65C0              xjmp L12
 0070           X10:
 0070 4730              cpi R20,7
 0072 E0E0              ldi R30,0
 0074 5E07              cpc R21,R30
 0076 09F4              brne X11
 0078 6DC0              xjmp L13
 007A           X11:
 007A 4830              cpi R20,8
 007C E0E0              ldi R30,0
 007E 5E07              cpc R21,R30
 0080 09F4              brne X12
 0082 81C0              xjmp L18
 0084           X12:
 0084 4030              cpi R20,0
 0086 E0E0              ldi R30,0
 0088 5E07              cpc R21,R30
 008A 0CF4              brge X13
 008C 82C0              xjmp L3
 008E           X13:
 008E           L22:
 008E 4831              cpi R20,24
 0090 E0E0              ldi R30,0
 0092 5E07              cpc R21,R30
 0094 09F4              brne X14
 0096 71C0              xjmp L16
 0098           X14:
 0098 7CC0              xjmp L3
 009A           L21:
 009A 4033              cpi R20,48
 009C E0E0              ldi R30,0
 009E 5E07              cpc R21,R30
 00A0 09F4              brne X15
 00A2 65C0              xjmp L14
 00A4           X15:
 00A4 80E3              ldi R24,48
 00A6 90E0              ldi R25,0
 00A8 8417              cp R24,R20
 00AA 9507              cpc R25,R21
 00AC 34F0              brlt L24
 00AE           L23:
 00AE 4832              cpi R20,40
 00B0 E0E0              ldi R30,0
 00B2 5E07              cpc R21,R30
 00B4 09F4              brne X16
 00B6 5EC0              xjmp L15
 00B8           X16:
 00B8 6CC0              xjmp L3
 00BA           L24:
 00BA 4833              cpi R20,56
 00BC E0E0              ldi R30,0
 00BE 5E07              cpc R21,R30
 00C0 09F4              brne X17
 00C2 64C0              xjmp L19
 00C4           X17:
 00C4 66C0              xjmp L3
 00C6           X1:
 00C6                   .dbline 15
 00C6           ;        {
 00C6           L6:
 00C6                   .dbline 18
 00C6           ; /**************************以下为检测障碍物时的执行函数************************************/     
 00C6           ;          
 00C6           ;           case 0x00:  forward();                      break;
 00C6 0E940000          xcall _forward
 00CA                   .dbline 18
 00CA 65C0              xjmp L4
 00CC           L7:
 00CC                   .dbline 20
 00CC           ;               
 00CC           ;               case 0x01:  {
 00CC                   .dbline 21
 00CC           ;                                         back_left();
 00CC 0E940000          xcall _back_left
 00D0                   .dbline 22
 00D0           ;                                         delay(1000);
 00D0 08EE              ldi R16,1000
 00D2 13E0              ldi R17,3
 00D4 0E940000          xcall _delay
 00D8                   .dbline 23
 00D8           ;                                         for_right(); 
 00D8 0E940000          xcall _for_right
 00DC                   .dbline 24
 00DC           ;                                         delay(1000);
 00DC 08EE              ldi R16,1000
 00DE 13E0              ldi R17,3
 00E0 0E940000          xcall _delay
 00E4                   .dbline 26
 00E4           ;                                        
 00E4           ;                                       };                              break;
 00E4                   .dbline 26
 00E4                   .dbline 26
 00E4 58C0              xjmp L4
 00E6           L8:
 00E6                   .dbline 28
 00E6           ;                                       
 00E6           ;               case 0x02:  {
 00E6                   .dbline 29
 00E6           ;                             backward();
 00E6 0E940000          xcall _backward
 00EA                   .dbline 30
 00EA           ;                             delay(1000);
 00EA 08EE              ldi R16,1000
 00EC 13E0              ldi R17,3
 00EE 0E940000          xcall _delay
 00F2                   .dbline 31
 00F2           ;                                         for_left();
 00F2 0E940000          xcall _for_left
 00F6                   .dbline 32
 00F6           ;                                         delay(1000);
 00F6 08EE              ldi R16,1000
 00F8 13E0              ldi R17,3
 00FA 0E940000          xcall _delay
 00FE                   .dbline 33
 00FE           ;                                       };                              break;
 00FE                   .dbline 33
 00FE                   .dbline 33
 00FE 4BC0              xjmp L4
 0100           L9:
 0100                   .dbline 36
 0100           ;                                       
 0100           ;                                                                    
 0100           ;               case 0x03:  {
 0100                   .dbline 37
 0100           ;                             back_left(); 
 0100 0E940000          xcall _back_left
 0104                   .dbline 38
 0104           ;                                         delay(1000);
 0104 08EE              ldi R16,1000
 0106 13E0              ldi R17,3
 0108 0E940000          xcall _delay
 010C                   .dbline 39
 010C           ;                                         for_right();
 010C 0E940000          xcall _for_right
 0110                   .dbline 40
 0110           ;                                         delay(1000);
 0110 08EE              ldi R16,1000
 0112 13E0              ldi R17,3
 0114 0E940000          xcall _delay
 0118                   .dbline 42
 0118           ;                                         
 0118           ;                                       };                              break;
 0118                   .dbline 42
 0118                   .dbline 42
 0118 3EC0              xjmp L4
 011A           L10:
 011A                   .dbline 44
 011A           ;                                       
 011A           ;               case 0x04:  {

⌨️ 快捷键说明

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