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

📄 main.lis

📁 一款挂面机的自动化控制源程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile C:/icc/include/h_iic.c
 0000                   .dbfunc e ISendStr _ISendStr fc
 0000           ;              i -> R20
 0000           ;             no -> R22
 0000           ;              s -> R10,R11
 0000           ;           suba -> R18
 0000           ;            sla -> R16
                        .even
 0000           _ISendStr::
 0000 0E940000          xcall push_gset3
 0004 AE80              ldd R10,y+6
 0006 BF80              ldd R11,y+7
 0008 6885              ldd R22,y+8
 000A                   .dbline -1
 000A                   .dbline 41
 000A           ; //ICC-AVR application builder : 2004-8-22 19:49:01
 000A           ; // Target : M16
 000A           ; // Crystal: 16.000Mhz
 000A           ; //本程序所用的长度单位为毫米,时间单位为8个时钟周期(千万分之五秒)
 000A           ; #include <iom16v.h>
 000A           ; #include <macros.h>
 000A           ; #include <h_iic.c>
 000A           ; #include <eeprom.h>
 000A           ; ///////////////  键盘定义
 000A           ; #define START_K 1    
 000A           ; //启动
 000A           ; #define ENTER 1
 000A           ; //确定
 000A           ; #define STOP 5    
 000A           ; //停止  
 000A           ; #define RETURN 5
 000A           ; //返回
 000A           ; #define K1 2      
 000A           ; //1
 000A           ; #define INC_SPEED 2
 000A           ; //增速
 000A           ; #define K2 3      
 000A           ; //2
 000A           ; #define DEC_SPEED 3
 000A           ; //减速
 000A           ; #define K3 4
 000A           ; //4
 000A           ; #define SET 4
 000A           ; //设定
 000A           ; #define K4 6
 000A           ; //4
 000A           ; #define SPEED 6
 000A           ; //速度
 000A           ; #define K5 7
 000A           ; //5
 000A           ; #define COUNT 7
 000A           ; //计数
 000A           ; #define K6 8
 000A           ; //8
 000A           ; #define SUM 8
 000A           ; //累计
 000A                   .dbline 43
 000A           ; #define K0 9
 000A           ; //9
 000A 84EA              ldi R24,164
 000C 86BF              out 0x36,R24
 000E                   .dbline 44
 000E           L2:
 000E                   .dbline 44
 000E           L3:
 000E                   .dbline 44
 000E           ; #define CLEAR 9
 000E 26B6              in R2,0x36
 0010 27FE              sbrs R2,7
 0012 FDCF              rjmp L2
 0014                   .dbline 44
 0014                   .dbline 44
 0014                   .dbline 45
 0014           ; //清零
 0014 81B1              in R24,0x1
 0016 887F              andi R24,248
 0018 8830              cpi R24,8
 001A 21F0              breq L5
 001C                   .dbline 45
 001C                   .dbline 45
 001C 84E9              ldi R24,148
 001E 86BF              out 0x36,R24
 0020                   .dbline 45
 0020 01E0              ldi R16,1
 0022 37C0              xjmp L1
 0024           L5:
 0024                   .dbline 46
 0024           ; #define K7 10
 0024                   .dbline 46
 0024 03B9              out 0x3,R16
 0026                   .dbline 46
 0026 84E8              ldi R24,132
 0028 86BF              out 0x36,R24
 002A                   .dbline 46
 002A                   .dbline 46
 002A                   .dbline 47
 002A           L7:
 002A                   .dbline 47
 002A           L8:
 002A                   .dbline 47
 002A           ; //7
 002A 26B6              in R2,0x36
 002C 27FE              sbrs R2,7
 002E FDCF              rjmp L7
 0030                   .dbline 47
 0030                   .dbline 47
 0030                   .dbline 48
 0030           ; #define MIAN_LENGTH 10
 0030 81B1              in R24,0x1
 0032 887F              andi R24,248
 0034 8831              cpi R24,24
 0036 21F0              breq L10
 0038                   .dbline 48
 0038                   .dbline 48
 0038 84E9              ldi R24,148
 003A 86BF              out 0x36,R24
 003C                   .dbline 48
 003C 01E0              ldi R16,1
 003E 29C0              xjmp L1
 0040           L10:
 0040                   .dbline 49
 0040           ; //面长
 0040                   .dbline 49
 0040 23B9              out 0x3,R18
 0042                   .dbline 49
 0042 84E8              ldi R24,132
 0044 86BF              out 0x36,R24
 0046                   .dbline 49
 0046                   .dbline 49
 0046                   .dbline 50
 0046           ; #define K8 11
 0046 4427              clr R20
 0048 14C0              xjmp L15
 004A           X0:
 004A                   .dbline 51
 004A                   .dbline 51
 004A           L16:
 004A                   .dbline 51
 004A           L17:
 004A                   .dbline 51
 004A           ; //8
 004A 26B6              in R2,0x36
 004C 27FE              sbrs R2,7
 004E FDCF              rjmp L16
 0050                   .dbline 51
 0050                   .dbline 51
 0050                   .dbline 52
 0050           ; #define CUT_NUM 11
 0050 81B1              in R24,0x1
 0052 887F              andi R24,248
 0054 8832              cpi R24,40
 0056 21F0              breq L19
 0058                   .dbline 52
 0058                   .dbline 52
 0058 84E9              ldi R24,148
 005A 86BF              out 0x36,R24
 005C                   .dbline 52
 005C 01E0              ldi R16,1
 005E 19C0              xjmp L1
 0060           L19:
 0060                   .dbline 53
 0060                   .dbline 53
 0060 F501              movw R30,R10
 0062 2080              ldd R2,z+0
 0064 23B8              out 0x3,R2
 0066                   .dbline 53
 0066 84E8              ldi R24,132
 0068 86BF              out 0x36,R24
 006A                   .dbline 53
 006A                   .dbline 53
 006A                   .dbline 54
 006A CF01              movw R24,R30
 006C 0196              adiw R24,1
 006E 5C01              movw R10,R24
 0070                   .dbline 55
 0070           L13:
 0070                   .dbline 50
 0070 4395              inc R20
 0072           L15:
 0072                   .dbline 50
 0072 4617              cp R20,R22
 0074 50F3              brlo L17
 0076                   .dbline 56
 0076           L21:
 0076                   .dbline 56
 0076           L22:
 0076                   .dbline 56
 0076           ; //刀数
 0076           ; #define K9 12
 0076           ; //9
 0076           ; #define JIGAN 12
 0076 26B6              in R2,0x36
 0078 27FE              sbrs R2,7
 007A FDCF              rjmp L21
 007C                   .dbline 56
 007C                   .dbline 56
 007C                   .dbline 57
 007C           ; //积杆
 007C 81B1              in R24,0x1
 007E 887F              andi R24,248
 0080 8832              cpi R24,40
 0082 21F0              breq L24
 0084                   .dbline 57
 0084                   .dbline 57
 0084 84E9              ldi R24,148
 0086 86BF              out 0x36,R24
 0088                   .dbline 57
 0088 01E0              ldi R16,1
 008A 03C0              xjmp L1
 008C           L24:
 008C                   .dbline 58
 008C           ; #define M_ZHUANBI 4000  
 008C 84E9              ldi R24,148
 008E 86BF              out 0x36,R24
 0090                   .dbline 60
 0090           ; //转刀一周步进电机的步数
 0090           ;  
 0090 0027              clr R16
 0092                   .dbline -2
 0092           L1:
 0092 0E940000          xcall pop_gset3
 0096                   .dbline 0 ; func end
 0096 0895              ret
 0098                   .dbsym r i 20 c
 0098                   .dbsym r no 22 c
 0098                   .dbsym r s 10 pc
 0098                   .dbsym r suba 18 c
 0098                   .dbsym r sla 16 c
 0098                   .dbend
 0098                   .dbfunc e IRcvStr _IRcvStr fc
 0098           ;              i -> R22
 0098           ;             no -> R10
 0098           ;              s -> R20,R21
 0098           ;           suba -> R18
 0098           ;            sla -> R16
                        .even
 0098           _IRcvStr::
 0098 0E940000          xcall push_gset3
 009C 4E81              ldd R20,y+6
 009E 5F81              ldd R21,y+7
 00A0 A884              ldd R10,y+8
 00A2                   .dbline -1
 00A2                   .dbline 68
 00A2           ; ///////////////  全局变量定义
 00A2           ; unsigned char M_state=0;  //步进电机的运行状态
 00A2           ; /*
 00A2           ; 0:停转
 00A2           ; 1:启动
 00A2           ; 2:减速至停转
 00A2           ; 3:加速至随动
 00A2           ; 4:减速至随动
 00A2                   .dbline 71
 00A2           ; 5:随动
 00A2           ; 6:加速至碎刀
 00A2           ; 7:碎刀
 00A2 84EA              ldi R24,164
 00A4 86BF              out 0x36,R24
 00A6                   .dbline 72
 00A6           L27:
 00A6                   .dbline 72
 00A6           L28:
 00A6                   .dbline 72
 00A6           ; 8:转动至平行
 00A6 26B6              in R2,0x36
 00A8 27FE              sbrs R2,7
 00AA FDCF              rjmp L27
 00AC                   .dbline 72
 00AC                   .dbline 72
 00AC                   .dbline 73
 00AC           ; */
 00AC 81B1              in R24,0x1
 00AE 887F              andi R24,248
 00B0 8830              cpi R24,8
 00B2 21F0              breq L30
 00B4                   .dbline 73
 00B4                   .dbline 73
 00B4 84E9              ldi R24,148
 00B6 86BF              out 0x36,R24
 00B8                   .dbline 73
 00B8 0027              clr R16
 00BA 65C0              xjmp L26
 00BC           L30:
 00BC                   .dbline 74
 00BC           ; unsigned int step_num=0;  //步进电机相对平行点的占步数
 00BC                   .dbline 74
 00BC 03B9              out 0x3,R16
 00BE                   .dbline 74
 00BE 84E8              ldi R24,132
 00C0 86BF              out 0x36,R24
 00C2                   .dbline 74
 00C2                   .dbline 74
 00C2                   .dbline 75
 00C2           L32:
 00C2                   .dbline 75
 00C2           L33:
 00C2                   .dbline 75
 00C2           ; //unsigned char M_maichong; //步进电机的脉冲
 00C2 26B6              in R2,0x36
 00C4 27FE              sbrs R2,7
 00C6 FDCF              rjmp L32
 00C8                   .dbline 75
 00C8                   .dbline 75
 00C8                   .dbline 76
 00C8           ; unsigned int tmp_t1=64536; //计时器1的当前数值
 00C8 81B1              in R24,0x1
 00CA 887F              andi R24,248
 00CC 8831              cpi R24,24
 00CE 21F0              breq L35
 00D0                   .dbline 76
 00D0                   .dbline 76
 00D0 84E9              ldi R24,148
 00D2 86BF              out 0x36,R24
 00D4                   .dbline 76
 00D4 0027              clr R16
 00D6 57C0              xjmp L26
 00D8           L35:
 00D8                   .dbline 77
 00D8           ; unsigned char qidong_num=0;      //启动过程中步进电机所走的占步数
 00D8                   .dbline 77
 00D8 23B9              out 0x3,R18
 00DA                   .dbline 77
 00DA 84E8              ldi R24,132
 00DC 86BF              out 0x36,R24
 00DE                   .dbline 77
 00DE                   .dbline 77
 00DE                   .dbline 78
 00DE           L37:
 00DE                   .dbline 78
 00DE           L38:
 00DE                   .dbline 78
 00DE           ; unsigned char dec_speed_bz=0;    //启动减速标志
 00DE 26B6              in R2,0x36
 00E0 27FE              sbrs R2,7
 00E2 FDCF              rjmp L37
 00E4                   .dbline 78
 00E4                   .dbline 78
 00E4                   .dbline 79
 00E4           ; unsigned int dec_speed_num=0;    //减速所走的步数
 00E4 81B1              in R24,0x1
 00E6 887F              andi R24,248
 00E8 8832              cpi R24,40
 00EA 21F0              breq L40
 00EC                   .dbline 79
 00EC                   .dbline 79
 00EC 84E9              ldi R24,148
 00EE 86BF              out 0x36,R24
 00F0                   .dbline 79
 00F0 0027              clr R16
 00F2 49C0              xjmp L26

⌨️ 快捷键说明

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