📄 main.lis
字号:
.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 + -