⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 AVR单片机mega8上的lcm_12832液晶驱动程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .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 + -