📄 main.lis
字号:
.module MAIN.C
.area text(rom, con, rel)
0000 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
.area data(ram, con, rel)
0000 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0000 _led_table::
0000 .blkb 2
.area idata
0000 C0F9 .byte 192,249
.area data(ram, con, rel)
0002 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0002 .blkb 2
.area idata
0002 A4B0 .byte 164,176
.area data(ram, con, rel)
0004 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0004 .blkb 2
.area idata
0004 9992 .byte 153,146
.area data(ram, con, rel)
0006 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0006 .blkb 2
.area idata
0006 82F8 .byte 130,248
.area data(ram, con, rel)
0008 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0008 .blkb 2
.area idata
0008 8090 .byte 128,144
.area data(ram, con, rel)
000A .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
000A .blkb 2
.area idata
000A 8883 .byte 136,131
.area data(ram, con, rel)
000C .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
000C .blkb 2
.area idata
000C A7A1 .byte 167,161
.area data(ram, con, rel)
000E .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
000E .blkb 2
.area idata
000E 868E .byte 134,142
.area data(ram, con, rel)
0010 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0010 .blkb 2
.area idata
0010 8B89 .byte 139,137
.area data(ram, con, rel)
0012 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0012 .blkb 2
.area idata
0012 A38C .byte 163,140
.area data(ram, con, rel)
0014 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0014 .blkb 2
.area idata
0014 C7AF .byte 199,175
.area data(ram, con, rel)
0016 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0016 .blkb 2
.area idata
0016 91BF .byte 145,191
.area data(ram, con, rel)
0018 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0018 .blkb 2
.area idata
0018 F7FF .byte 247,255
.area data(ram, con, rel)
001A .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
001A .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\define.h
001A .dbsym e led_table _led_table A[26:26]c
.area text(rom, con, rel)
0000 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\define.h
0000 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\delay.h
0000 .dbfunc e Delay_1us _Delay_1us fV
0000 ; t -> R16
.even
0000 _Delay_1us::
0000 .dbline -1
0000 .dbline 53
0000 ; #ifndef _DELAY_H
0000 ; #define _DELAY_H
0000 ;
0000 ; // mcu:avr crystal=8MHz
0000 ;
0000 ; /**************************************************************
0000 ; **函数功能:延时1us
0000 ; **输入参数:无
0000 ; **返回值:无
0000 ; **在本函数外定义变量:无
0000 ; **调用的函数:NOP()
0000 ; **************************************************************/
0000 ; void Delay_1us(void);
0000 ;
0000 ; /**************************************************************
0000 ; **函数功能:us级延时
0000 ; **输入参数:xus:延时us数
0000 ; **返回值:无
0000 ; **在本函数外定义变量:无
0000 ; **调用的函数:Delay_1us()
0000 ; **************************************************************/
0000 ; void Delay_Us(unsigned int xus);
0000 ;
0000 ; /**************************************************************
0000 ; **函数功能:延时1ms
0000 ; **输入参数:无
0000 ; **返回值:无
0000 ; **在本函数外定义变量:无
0000 ; **调用的函数:NOP()
0000 ; **************************************************************/
0000 ; void Delay_1ms(void);
0000 ;
0000 ; /**************************************************************
0000 ; **函数功能:ms级延时
0000 ; **输入参数:xms:延时ms数
0000 ; **返回值:无
0000 ; **在本函数外定义变量:无
0000 ; **调用的函数:Delay_1ms()
0000 ; **************************************************************/
0000 ; void Delay_Ms(unsigned int xms);
0000 ;
0000 ; /**************************************************************
0000 ; **函数功能:10us级延时
0000 ; **输入参数:x10us:延时x10us数
0000 ; **返回值:无
0000 ; **在本函数外定义变量:无
0000 ; **调用的函数:无
0000 ; **************************************************************/
0000 ; void Delay10us(Word x10us);
0000 ;
0000 ;
0000 ; void Delay_1us()
0000 ; {
0000 .dbline 54
0000 ; unsigned char t=2;
0000 02E0 ldi R16,2
0002 .dbline 55
0002 ; t--;
0002 0A95 dec R16
0004 .dbline -2
0004 L1:
0004 .dbline 0 ; func end
0004 0895 ret
0006 .dbsym r t 16 c
0006 .dbend
0006 .dbfunc e Delay_Us _Delay_Us fV
0006 ; xus -> R20,R21
.even
0006 _Delay_Us::
0006 4A93 st -y,R20
0008 5A93 st -y,R21
000A A801 movw R20,R16
000C .dbline -1
000C .dbline 59
000C ; }
000C ;
000C ; void Delay_Us(unsigned int xus)
000C ; {
000C 01C0 xjmp L4
000E L3:
000E .dbline 61
000E ; while (xus--)
000E ; Delay_1us();
000E F8DF xcall _Delay_1us
0010 L4:
0010 .dbline 60
0010 1A01 movw R2,R20
0012 4150 subi R20,1
0014 5040 sbci R21,0
0016 2220 tst R2
0018 D1F7 brne L3
001A 3320 tst R3
001C C1F7 brne L3
001E X0:
001E .dbline -2
001E L2:
001E .dbline 0 ; func end
001E 5991 ld R21,y+
0020 4991 ld R20,y+
0022 0895 ret
0024 .dbsym r xus 20 i
0024 .dbend
0024 .dbfunc e Delay_1ms _Delay_1ms fV
0024 ; i -> R16,R17
.even
0024 _Delay_1ms::
0024 .dbline -1
0024 .dbline 65
0024 ; }
0024 ;
0024 ; void Delay_1ms(void)
0024 ; {
0024 .dbline 67
0024 ; unsigned int i;
0024 ; for(i=0;i<1142;i++)
0024 0027 clr R16
0026 1127 clr R17
0028 02C0 xjmp L10
002A L7:
002A .dbline 68
002A ; ;
002A L8:
002A .dbline 67
002A 0F5F subi R16,255 ; offset = 1
002C 1F4F sbci R17,255
002E L10:
002E .dbline 67
002E 0637 cpi R16,118
0030 E4E0 ldi R30,4
0032 1E07 cpc R17,R30
0034 D0F3 brlo L7
0036 X1:
0036 .dbline -2
0036 L6:
0036 .dbline 0 ; func end
0036 0895 ret
0038 .dbsym r i 16 i
0038 .dbend
0038 .dbfunc e Delay_Ms _Delay_Ms fV
0038 ; i -> R20,R21
0038 ; j -> R22,R23
0038 ; xms -> R16,R17
.even
0038 _Delay_Ms::
0038 0E940000 xcall push_xgsetF000
003C .dbline -1
003C .dbline 72
003C ; }
003C ;
003C ; void Delay_Ms(Word xms) //crystal=8MHz
003C ; {
003C .dbline 74
003C ; Word i,j; //variable:declare Word
003C ; for(i=0; i<xms; i++)
003C 4427 clr R20
003E 5527 clr R21
0040 14C0 xjmp L15
0042 L12:
0042 .dbline 75
0042 ; for(j=0; j<498;j++)
0042 6627 clr R22
0044 7727 clr R23
0046 0BC0 xjmp L19
0048 L16:
0048 .dbline 76
0048 ; {
0048 .dbline 77
0048 ; NOP();
0048 0000 nop
004A .dbline 78
004A ; NOP();
004A 0000 nop
004C .dbline 79
004C ; NOP();
004C 0000 nop
004E .dbline 80
004E ; NOP();
004E 0000 nop
0050 .dbline 81
0050 ; NOP();
0050 0000 nop
0052 .dbline 82
0052 ; NOP();
0052 0000 nop
0054 .dbline 83
0054 ; NOP();
0054 0000 nop
0056 .dbline 84
0056 ; NOP();
0056 0000 nop
0058 .dbline 85
0058 ; NOP();
0058 0000 nop
005A .dbline 86
005A ; }
005A L17:
005A .dbline 75
005A 6F5F subi R22,255 ; offset = 1
005C 7F4F sbci R23,255
005E L19:
005E .dbline 75
005E 623F cpi R22,242
0060 E1E0 ldi R30,1
0062 7E07 cpc R23,R30
0064 88F3 brlo L16
0066 X2:
0066 L13:
0066 .dbline 74
0066 4F5F subi R20,255 ; offset = 1
0068 5F4F sbci R21,255
006A L15:
006A .dbline 74
006A 4017 cp R20,R16
006C 5107 cpc R21,R17
006E 48F3 brlo L12
0070 X3:
0070 .dbline -2
0070 L11:
0070 .dbline 0 ; func end
0070 0C940000 xjmp pop_xgsetF000
0074 .dbsym r i 20 i
0074 .dbsym r j 22 i
0074 .dbsym r xms 16 i
0074 .dbend
0074 .dbfunc e Delay10us _Delay10us fV
0074 ; i -> R20,R21
0074 ; j -> R22
0074 ; x10us -> R16,R17
.even
0074 _Delay10us::
0074 0E940000 xcall push_xgsetF000
0078 .dbline -1
0078 .dbline 90
0078 ; }
0078 ;
0078 ; void Delay10us(Word x10us)//crystal=8MHz
0078 ; {
0078 .dbline 92
0078 ; Word i;Byte j; //variable:declare Word
0078 ; for(i=0; i<x10us; i++)
0078 4427 clr R20
007A 5527 clr R21
007C 0AC0 xjmp L24
007E L21:
007E .dbline 93
007E ; {
007E .dbline 94
007E ; for(j=0;j<2;j++)
007E 6627 clr R22
0080 04C0 xjmp L28
0082 L25:
0082 .dbline 95
0082 ; {
0082 .dbline 96
0082 ; NOP();
0082 0000 nop
0084 .dbline 97
0084 ; NOP();
0084 0000 nop
0086 .dbline 98
0086 ; NOP();
0086 0000 nop
0088 .dbline 99
0088 ; }
0088 L26:
0088 .dbline 94
0088 6395 inc R22
008A L28:
008A .dbline 94
008A 6230 cpi R22,2
008C D0F3 brlo L25
008E X4:
008E .dbline 100
008E ; }
008E L22:
008E .dbline 92
008E 4F5F subi R20,255 ; offset = 1
0090 5F4F sbci R21,255
0092 L24:
0092 .dbline 92
0092 4017 cp R20,R16
0094 5107 cpc R21,R17
0096 98F3 brlo L21
0098 X5:
0098 .dbline -2
0098 L20:
0098 .dbline 0 ; func end
0098 0C940000 xjmp pop_xgsetF000
009C .dbsym r i 20 i
009C .dbsym r j 22 c
009C .dbsym r x10us 16 i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -