📄 soc_test.lis
字号:
.module soc_test.c
.area vector(rom, abs)
.org 72
0048 0C947200 jmp _usart0_receive
.area code(ram, con, rel)
.area lit(rom, con, rel)
0000 _work_state_succeed::
0000 7E5F .byte 126,95
0002 0301 .byte 3,1
0004 0063 .byte 0,'c
0006 7E .byte 126
0007 .dbfile F:\chengxu128L/soc_test.H
0007 .dbsym e work_state_succeed _work_state_succeed A[7:7]kc
0007 _work_state_fail::
0007 7E5F .byte 126,95
0009 0301 .byte 3,1
000B 0164 .byte 1,'d
000D 7E .byte 126
000E .dbsym e work_state_fail _work_state_fail A[7:7]kc
000E _state_normal::
000E 7E5F .byte 126,95
0010 0303 .byte 3,3
0012 0065 .byte 0,'e
0014 7E .byte 126
0015 .dbsym e state_normal _state_normal A[7:7]kc
0015 _state_abnormal::
0015 7E5F .byte 126,95
0017 0303 .byte 3,3
0019 0166 .byte 1,'f
001B 7E .byte 126
001C .dbsym e state_abnormal _state_abnormal A[7:7]kc
001C _test_normal::
001C 7E5F .byte 126,95
001E 0304 .byte 3,4
0020 0066 .byte 0,'f
0022 7E .byte 126
0023 .dbsym e test_normal _test_normal A[7:7]kc
0023 _test_abnormal::
0023 7E5F .byte 126,95
0025 0304 .byte 3,4
0027 0167 .byte 1,'g
0029 7E .byte 126
002A .dbsym e test_abnormal _test_abnormal A[7:7]kc
002A _FREQ_WORD::
002A 88B5 .byte 136,181
002C F814 .byte 248,20
002E FE19 .byte 254,25
0030 B816 .byte 184,22
0032 E211 .byte 226,17
0034 EF13 .byte 239,19
0036 .dbsym e FREQ_WORD _FREQ_WORD A[12:3:4]kc
0036 _T_PROCESS_CLK::
0036 FF02 .byte 255,2
0038 0F .byte 15
0039 7F02 .byte 127,2
003B 0E .byte 14
003C 3F02 .byte 63,2
003E 0C .byte 12
003F 1F02 .byte 31,2
0041 08 .byte 8
0042 0F01 .byte 15,1
0044 0C .byte 12
0045 0701 .byte 7,1
0047 08 .byte 8
0048 0300 .byte 3,0
004A 0E .byte 14
004B 0100 .byte 1,0
004D 0C .byte 12
004E 0000 .byte 0,0
0050 08 .byte 8
0051 .dbsym e T_PROCESS_CLK _T_PROCESS_CLK A[27:9:3]kc
.area data(ram, con, rel)
0000 .dbfile F:\chengxu128L/soc_test.H
0000 .define temp R16
0000
.area text(rom, con, rel)
0000 .dbfile F:\chengxu128L/soc_test.H
0000 .dbfile F:\chengxu128L\soc_test.c
0000 .dbfunc e NOP5 _NOP5 fV
.even
0000 _NOP5::
0000 .dbline -1
0000 .dbline 14
0000 ; #include <iom128v.h>
0000 ; //单片机ATmega128
0000 ; #include <macros.h>
0000 ; //单片机ATmega128
0000 ; #include "soc_test.H"
0000 ; //对应头文件
0000 ; //寄存器更名
0000 ; asm(".define temp R16");
0000 ; //--------------------------------------------------------
0000 ; /*********************************************************
0000 ; 连续5个NOP
0000 ; *********************************************************/
0000 ; void NOP5(void)
0000 ; {
0000 .dbline 15
0000 ; NOP();
0000 0000 nop
0002 .dbline 16
0002 ; NOP();
0002 0000 nop
0004 .dbline 17
0004 ; NOP();
0004 0000 nop
0006 .dbline 18
0006 ; NOP();
0006 0000 nop
0008 .dbline 19
0008 ; NOP();
0008 0000 nop
000A .dbline -2
000A .dbline 20
000A ; }
000A L1:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc e initial_work _initial_work fV
.even
000C _initial_work::
000C .dbline -1
000C .dbline 26
000C ; //--------------------------------------------------------
000C ; /*********************************************************
000C ; 初始化程序
000C ; *********************************************************/
000C ; void initial_work(void)
000C ; {
000C .dbline 35
000C ; /*********************************
000C ; 初始化IO口
000C ; *********************************/
000C ; //初始化B口
000C ; //DDRB|=BIT(FQUD)+BIT(RESET)+BIT(RESET_FPGA)+BIT(W_CLK)+BIT(SDATA);
000C ; //初始化D口
000C ; //DDRD|=BIT(INT_DSP);
000C ; //初始化E口
000C ; DDRE|=BIT(NBUS_CLK)+BIT(BUSWEN)+BIT(SAMPLE_START)+BIT(MCUREAD_START);
000C 82B1 in R24,0x2
000E 8C63 ori R24,60
0010 82B9 out 0x2,R24
0012 .dbline 39
0012 ;
0012 ; /*********************************
0012 ; *********************************/
0012 ; NOP5();
0012 F6DF xcall _NOP5
0014 .dbline 43
0014 ; /*********************************
0014 ; 初始化串口
0014 ; *********************************/
0014 ; UCSR0B=0x00;
0014 2224 clr R2
0016 2AB8 out 0xa,R2
0018 .dbline 44
0018 ; UCSR0A=0x00;
0018 2BB8 out 0xb,R2
001A .dbline 45
001A ; UCSR0C=0x06; //8bit,1 stop bit,no check
001A 86E0 ldi R24,6
001C 80939500 sts 149,R24
0020 .dbline 46
0020 ; UBRR0L=0x0B; //现:设置波特率为38.4Kbps(外部晶振时钟7372.8KHz)
0020 8BE0 ldi R24,11
0022 89B9 out 0x9,R24
0024 .dbline 47
0024 ; UBRR0H=0x00;
0024 20929000 sts 144,R2
0028 .dbline 48
0028 ; UCSR0B=0x98; //一开始就打开发送使能,是为了使TXC脚电平变高
0028 88E9 ldi R24,152
002A 8AB9 out 0xa,R24
002C .dbline -2
002C .dbline 49
002C ; }//end initial_work
002C L2:
002C .dbline 0 ; func end
002C 0895 ret
002E .dbend
002E .dbfunc e process_00workmode _process_00workmode fV
002E ; i -> R20
.even
002E _process_00workmode::
002E 0E940000 xcall push_gset1
0032 .dbline -1
0032 .dbline 57
0032 ; //--------------------------------------------------------
0032 ; /*********************************************************
0032 ;
0032 ;
0032 ;
0032 ; *********************************************************/
0032 ; void process_00workmode(void)
0032 ; {
0032 .dbline 59
0032 ; unsigned char i;
0032 ; if(1)
0032 .dbline 60
0032 ; {
0032 .dbline 61
0032 ; for(i=0;i<L00;i++)
0032 4427 clr R20
0034 0FC0 xjmp L9
0036 L6:
0036 .dbline 62
0036 .dbline 63
0036 80E0 ldi R24,<_work_state_succeed
0038 90E0 ldi R25,>_work_state_succeed
003A E42F mov R30,R20
003C FF27 clr R31
003E E80F add R30,R24
0040 F91F adc R31,R25
0042 E491 lpm R30,Z
0044 80E0 ldi R24,<_reply_buffer
0046 90E0 ldi R25,>_reply_buffer
0048 A42F mov R26,R20
004A BB27 clr R27
004C A80F add R26,R24
004E B91F adc R27,R25
0050 EC93 st x,R30
0052 .dbline 64
0052 L7:
0052 .dbline 61
0052 4395 inc R20
0054 L9:
0054 .dbline 61
0054 4730 cpi R20,7
0056 78F3 brlo L6
0058 .dbline 65
0058 07E0 ldi R16,7
005A 28D0 xcall _usart0_send
005C .dbline 66
005C L4:
005C .dbline -2
005C .dbline 67
005C ; {
005C ; reply_buffer[i]=work_state_succeed[i];
005C ; }
005C ; usart0_send(L00);
005C ; }
005C ; }//end process_00workmode
005C L3:
005C 0E940000 xcall pop_gset1
0060 .dbline 0 ; func end
0060 0895 ret
0062 .dbsym r i 20 c
0062 .dbend
0062 .dbfunc e process_01wait _process_01wait fV
.even
0062 _process_01wait::
0062 .dbline -1
0062 .dbline 73
0062 ; //--------------------------------------------------------
0062 ; /*********************************************************
0062 ; 等待
0062 ; *********************************************************/
0062 ; void process_01wait(void)
0062 ; {
0062 .dbline -2
0062 .dbline 75
0062 ;
0062 ; }//end process_01wait
0062 L10:
0062 .dbline 0 ; func end
0062 0895 ret
0064 .dbend
0064 .dbfunc e delay1 _delay1 fV
.even
0064 _delay1::
0064 .dbline -1
0064 .dbline 87
0064 ; //--------------------------------------------------------
0064 ;
0064 ;
0064 ;
0064 ;
0064 ;
0064 ;
0064 ; /*********************************************************
0064 ; 通用延时子程序
0064 ; *********************************************************/
0064 ; void delay1(void)
0064 ; {
0064 .dbline 88
0064 ; asm("DELAY1:");
0064 DELAY1:
0064 .dbline 89
0064 ; asm("push r16");
0064 0F93 push r16
0066 .dbline 90
0066 ; asm("CC0: push r16");
0066 0F93 CC0: push r16
0068 .dbline 91
0068 ; asm("CC1: push r16");
0068 0F93 CC1: push r16
006A .dbline 92
006A ; asm("CC2: push r16");
006A 0F93 CC2: push r16
006C .dbline 93
006C ; asm("CC3: dec r16");
006C 0A95 CC3: dec r16
006E .dbline 94
006E ; asm("brne CC3");
006E F1F7 brne CC3
0070 .dbline 95
0070 ; asm("pop r16");
0070 0F91 pop r16
0072 .dbline 96
0072 ; asm("dec r16");
0072 0A95 dec r16
0074 .dbline 97
0074 ; asm("brne CC2");
0074 D1F7 brne CC2
0076 .dbline 98
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -