📄 main.lis
字号:
.module main.c
.area data(ram, con, rel)
0000 _exampl::
0000 .blkb 5
.area idata
0000 B1B1BEA900 .byte 177,177,190,169,0
.area data(ram, con, rel)
0005 .dbfile E:\programs\ICCAVR_program\LCD_lcm_12832k\main.c
0005 .dbsym e exampl _exampl A[5:5]c
0005 _exampl2::
0005 .blkb 9
.area idata
0005 616263646566672100 .byte 'a,'b,'c,'d,'e,'f,'g,33,0
.area data(ram, con, rel)
000E .dbfile E:\programs\ICCAVR_program\LCD_lcm_12832k\main.c
000E .dbsym e exampl2 _exampl2 A[9:9]c
.area text(rom, con, rel)
0000 .dbfile E:\programs\ICCAVR_program\LCD_lcm_12832k\main.c
0000 .dbfunc e ledon _ledon fV
.even
0000 _ledon::
0000 .dbline -1
0000 .dbline 22
0000 ; /**********************************************************************
0000 ; //ICC-AVR application builder : 2006-6-27 15:04:57
0000 ; // Target : M8
0000 ; // Crystal: 3.6864Mhz
0000 ; //
0000 ;
0000 ; ***********************************************************************/
0000 ;
0000 ; #include <iom8v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ;
0000 ; #define setbit(x,y) (x|=(1<<y)) //set bit y in byte x
0000 ; #define clrbit(x,y) (x&=(~(1<<y))) //clear bit y in byte x
0000 ;
0000 ; uchar exampl[]="北京";
0000 ; uchar exampl2[]="abcdefg!";
0000 ;
0000 ; void ledon(void)
0000 ; {
0000 .dbline 23
0000 ; DDRB = (1<<PB2);
0000 84E0 ldi R24,4
0002 87BB out 0x17,R24
0004 .dbline 24
0004 ; PORTB = (0<<PB2);
0004 2224 clr R2
0006 28BA out 0x18,R2
0008 .dbline -2
0008 .dbline 25
0008 ; }
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e ledoff _ledoff fV
.even
000A _ledoff::
000A .dbline -1
000A .dbline 28
000A ;
000A ; void ledoff(void)
000A ; {
000A .dbline 29
000A ; DDRB = (1<<PB2);
000A 84E0 ldi R24,4
000C 87BB out 0x17,R24
000E .dbline 30
000E ; PORTB = (1<<PB2);
000E 88BB out 0x18,R24
0010 .dbline -2
0010 .dbline 31
0010 ; }
0010 L2:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbend
0012 .dbfunc e delay _delay fV
0012 ; i -> R20,R21
0012 ; n -> R16,R17
.even
0012 _delay::
0012 00D0 rcall push_gset1
0014 .dbline -1
0014 .dbline 36
0014 ;
0014 ; //延时
0014 ; // Delay n*(5ms)
0014 ; void delay(uint n)
0014 ; {
0014 09C0 rjmp L5
0016 L4:
0016 .dbline 38
0016 ; while(n--)
0016 ; {
0016 .dbline 39
0016 ; uint i = 5236; //Delay 5ms
0016 44E7 ldi R20,5236
0018 54E1 ldi R21,20
001A L7:
001A .dbline 40
001A L8:
001A .dbline 40
001A 1A01 movw R2,R20
001C 4150 subi R20,1
001E 5040 sbci R21,0
0020 2220 tst R2
0022 D9F7 brne L7
0024 3320 tst R3
0026 C9F7 brne L7
0028 X0:
0028 .dbline 41
0028 L5:
0028 .dbline 37
0028 1801 movw R2,R16
002A 0150 subi R16,1
002C 1040 sbci R17,0
002E 2220 tst R2
0030 91F7 brne L4
0032 3320 tst R3
0034 81F7 brne L4
0036 X1:
0036 .dbline 41
0036 ; while(i--);
0036 ; };
0036 .dbline -2
0036 .dbline 42
0036 ; }
0036 L3:
0036 00D0 rcall pop_gset1
0038 .dbline 0 ; func end
0038 0895 ret
003A .dbsym r i 20 i
003A .dbsym r n 16 i
003A .dbend
003A .dbfunc e delayms _delayms fV
003A ; j -> R20
003A ; i -> R16,R17
.even
003A _delayms::
003A 00D0 rcall push_gset1
003C .dbline -1
003C .dbline 46
003C ;
003C ;
003C ; void delayms(uint i)
003C ; {
003C 06C0 rjmp L12
003E L11:
003E .dbline 48
003E ; while(i--)
003E ; {
003E .dbline 49
003E ; uchar j = 125;//125;//250;
003E 4DE7 ldi R20,125
0040 L14:
0040 .dbline 50
0040 L15:
0040 .dbline 50
0040 242E mov R2,R20
0042 3324 clr R3
0044 4150 subi R20,1
0046 2220 tst R2
0048 D9F7 brne L14
004A .dbline 51
004A L12:
004A .dbline 47
004A 1801 movw R2,R16
004C 0150 subi R16,1
004E 1040 sbci R17,0
0050 2220 tst R2
0052 A9F7 brne L11
0054 3320 tst R3
0056 99F7 brne L11
0058 X2:
0058 .dbline -2
0058 .dbline 52
0058 ; while(j--);
0058 ; }
0058 ; }
0058 L10:
0058 00D0 rcall pop_gset1
005A .dbline 0 ; func end
005A 0895 ret
005C .dbsym r j 20 c
005C .dbsym r i 16 i
005C .dbend
005C .dbfunc e delayus _delayus fV
005C ; i -> R16
.even
005C _delayus::
005C .dbline -1
005C .dbline 55
005C ;
005C ; void delayus(uchar i)
005C ; {
005C L18:
005C .dbline 56
005C L19:
005C .dbline 56
005C ; while(i--);
005C 202E mov R2,R16
005E 3324 clr R3
0060 0150 subi R16,1
0062 2220 tst R2
0064 D9F7 brne L18
0066 .dbline -2
0066 .dbline 57
0066 ; }
0066 L17:
0066 .dbline 0 ; func end
0066 0895 ret
0068 .dbsym r i 16 c
0068 .dbend
0068 .dbfunc e wait _wait fV
.even
0068 _wait::
0068 .dbline -1
0068 .dbline 61
0068 ;
0068 ;
0068 ; void wait(void)
0068 ; {
0068 .dbline 62
0068 ; DDRB = ((1<<PB0)|(1<<PB1));
0068 83E0 ldi R24,3
006A 87BB out 0x17,R24
006C .dbline 63
006C ; DDRC = 1<<PC1;
006C 82E0 ldi R24,2
006E 84BB out 0x14,R24
0070 .dbline 64
0070 ; DDRD = 0;
0070 2224 clr R2
0072 21BA out 0x11,R2
0074 .dbline 66
0074 ; //PORTD = 0xff;
0074 ; PORTB = ((1<<PB0)|(0<<PB1)); //RW = 1 WRITE RS =0 INSTRUCTION
0074 81E0 ldi R24,1
0076 88BB out 0x18,R24
0078 .dbline 67
0078 ; PORTC = (1<<PC1); //E = 1
0078 82E0 ldi R24,2
007A 85BB out 0x15,R24
007C .dbline 68
007C ; DDRD = 0;
007C 21BA out 0x11,R2
007E L22:
007E .dbline 69
007E L23:
007E .dbline 69
007E ; while(PIND&0x80);
007E 8799 sbic 0x10,7
0080 FECF rjmp L22
0082 .dbline 70
0082 ; PORTB = ((0<<PB0)|(0<<PB1)); //RW = 0 WRITE RS =0 INSTRUCTION
0082 2224 clr R2
0084 28BA out 0x18,R2
0086 .dbline -2
0086 .dbline 71
0086 ; }
0086 L21:
0086 .dbline 0 ; func end
0086 0895 ret
0088 .dbend
0088 .dbfunc e send_i _send_i fV
0088 ; i -> R20
.even
0088 _send_i::
0088 00D0 rcall push_gset1
008A 402F mov R20,R16
008C .dbline -1
008C .dbline 74
008C ;
008C ; void send_i(uchar i)
008C ; {
008C .dbline 75
008C ; DDRB = ((1<<PB0)|(1<<PB1));
008C 83E0 ldi R24,3
008E 87BB out 0x17,R24
0090 .dbline 76
0090 ; DDRC = 1<<PC1;
0090 82E0 ldi R24,2
0092 84BB out 0x14,R24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -