📄 main.lis
字号:
.module main.c
.area lit(rom, con, rel)
0000 _table::
0000 303132333435363738392E432000 .byte 48,49,50,51,52,53,54,55,56,57,46,'C,32,0
000E .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
000E .dbsym e table _table A[14:14]kc
.area data(ram, con, rel)
0000 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0000 _i::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0001 .dbsym e i _i c
0001 _clr::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0002 .dbsym e clr _clr c
0002 _two::
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0003 .dbsym e two _two c
0003 _end::
0003 .blkb 1
.area idata
0003 00 .byte 0
.area data(ram, con, rel)
0004 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0004 .dbsym e end _end c
0004 _start::
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0005 .dbsym e start _start c
0005 _one::
0005 .blkb 1
.area idata
0005 00 .byte 0
.area data(ram, con, rel)
0006 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0006 .dbsym e one _one c
.area text(rom, con, rel)
0000 .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 42
0000 ; /*********************************Copyright (c)*********************************
0000 ; **
0000 ; ** 文 件 名: main.c
0000 ; ** 最后修改日期: 2005年06月8日
0000 ; ** 描 述: 主函数
0000 ; ** 版 本: V1.0
0000 ; ** 主 控 芯 片:M16 晶振频率:8 MHZ
0000 ; *******************************************************************************/
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "define.h"
0000 ; #include "function.h"
0000 ; #include "defineDS18B20.h"
0000 ; #include "defineLCD.h"
0000 ; #define b9600 0x33
0000 ; #define baud b9600
0000 ; #define fone 0x2a
0000 ; #define ftwo 0x2b
0000 ; #define fclr 0x2d
0000 ; #define fend 0x3c
0000 ; #define floop 0x3e
0000 ; /******************************************************************************
0000 ; 定义全局变量
0000 ; *******************************************************************************/
0000 ; const unsigned char table[]="0123456789.C " ; //显示常量
0000 ; unsigned char i=0 ; //中断里的计数变量
0000 ; char string[18] ; //字符串
0000 ; unsigned char clr = 0 ; //清屏命令标志
0000 ; unsigned char two = 0 ; //第二行显示标志
0000 ; unsigned char end = 0 ; // 结束标志
0000 ; unsigned char start = 0 ; //接收完成标志
0000 ; unsigned char one = 0 ; //第一行显示标志
0000 ;
0000 ;
0000 ; //void draw(unsigned long int m );
0000 ; /*****************************************************************************
0000 ; 函数声明
0000 ; ******************************************************************************/
0000 ; void puts(unsigned int data );
0000 ; void display(void) ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 43
0000 ; PORTA = 0x00;
0000 2224 clr R2
0002 2BBA out 0x1b,R2
0004 .dbline 44
0004 ; DDRA = 0x00;
0004 2ABA out 0x1a,R2
0006 .dbline 45
0006 ; PORTB = 0x00;
0006 28BA out 0x18,R2
0008 .dbline 46
0008 ; DDRB = 0x00; //输出
0008 27BA out 0x17,R2
000A .dbline 47
000A ; PORTC = 0x00; //m103 output only
000A 25BA out 0x15,R2
000C .dbline 48
000C ; DDRC = 0x00; //输出
000C 24BA out 0x14,R2
000E .dbline 49
000E ; DDRD = 0x00;
000E 21BA out 0x11,R2
0010 .dbline 50
0010 ; PORTD = 0x00;
0010 22BA out 0x12,R2
0012 .dbline -2
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbend
0014 .dbfunc e getchar _getchar fc
.even
0014 _getchar::
0014 .dbline -1
0014 .dbline 58
0014 ; }
0014 ;
0014 ; /******************************************************************************
0014 ;
0014 ; //字符输入函数
0014 ; *******************************************************************************/
0014 ; unsigned char getchar(void)
0014 ; {
0014 L3:
0014 .dbline 59
0014 L4:
0014 .dbline 59
0014 ; while(!(UCSRA& (1<<RXC)));
0014 5F9B sbis 0xb,7
0016 FECF rjmp L3
0018 .dbline 60
0018 ; return UDR;
0018 0CB1 in R16,0xc
001A .dbline -2
001A L2:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbend
.area vector(rom, abs)
.org 44
002C 0C940E00 jmp _uart0_rx_isr
.area text(rom, con, rel)
001C .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
001C .dbfunc e uart0_rx_isr _uart0_rx_isr fV
.even
001C _uart0_rx_isr::
001C 2A92 st -y,R2
001E 0A93 st -y,R16
0020 1A93 st -y,R17
0022 8A93 st -y,R24
0024 9A93 st -y,R25
0026 EA93 st -y,R30
0028 FA93 st -y,R31
002A 2FB6 in R2,0x3f
002C 2A92 st -y,R2
002E .dbline -1
002E .dbline 69
002E ; }
002E ;
002E ;
002E ; /*******************************************************************************
002E ; 串行口接收中断
002E ; *******************************************************************************/
002E ; #pragma interrupt_handler uart0_rx_isr:12
002E ; void uart0_rx_isr(void)
002E ; {
002E .dbline 70
002E ; string[i]= UDR ;
002E 80E0 ldi R24,<_string
0030 90E0 ldi R25,>_string
0032 E0910000 lds R30,_i
0036 FF27 clr R31
0038 E80F add R30,R24
003A F91F adc R31,R25
003C 2CB0 in R2,0xc
003E 2082 std z+0,R2
0040 .dbline 71
0040 ; if(i==0)
0040 20900000 lds R2,_i
0044 2220 tst R2
0046 79F5 brne L7
0048 .dbline 72
0048 ; {switch (string[0])
0048 .dbline 72
0048 00910000 lds R16,_string
004C 1127 clr R17
004E 0A32 cpi R16,42
0050 E0E0 ldi R30,0
0052 1E07 cpc R17,R30
0054 49F0 breq L12
0056 0B32 cpi R16,43
0058 E0E0 ldi R30,0
005A 1E07 cpc R17,R30
005C 89F0 breq L13
005E 0D32 cpi R16,45
0060 E0E0 ldi R30,0
0062 1E07 cpc R17,R30
0064 C9F0 breq L14
0066 37C0 xjmp L8
0068 X0:
0068 .dbline 73
0068 ; {
0068 L12:
0068 .dbline 74
0068 ; case fone : {one=1;two=0;i++;}break;
0068 .dbline 74
0068 81E0 ldi R24,1
006A 80930500 sts _one,R24
006E .dbline 74
006E 2224 clr R2
0070 20920200 sts _two,R2
0074 .dbline 74
0074 80910000 lds R24,_i
0078 8F5F subi R24,255 ; addi 1
007A 80930000 sts _i,R24
007E .dbline 74
007E .dbline 74
007E 2BC0 xjmp L8
0080 L13:
0080 .dbline 75
0080 ; case ftwo : {two=1;one=0;i++;}break;
0080 .dbline 75
0080 81E0 ldi R24,1
0082 80930200 sts _two,R24
0086 .dbline 75
0086 2224 clr R2
0088 20920500 sts _one,R2
008C .dbline 75
008C 80910000 lds R24,_i
0090 8F5F subi R24,255 ; addi 1
0092 80930000 sts _i,R24
0096 .dbline 75
0096 .dbline 75
0096 1FC0 xjmp L8
0098 L14:
0098 .dbline 76
0098 ; case fclr : {clr=1;i=0;} break;
0098 .dbline 76
0098 81E0 ldi R24,1
009A 80930100 sts _clr,R24
009E .dbline 76
009E 2224 clr R2
00A0 20920000 sts _i,R2
00A4 .dbline 76
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -