?? lesson6.lis
字號:
.module lesson6.c
.area code(ram, con, rel)
.area lit(rom, con, rel)
0000 _table::
0000 49204C494B4520415652202100 .byte 'I,32,'L,'I,'K,'E,32,'A,'V,'R,32,33,0
000D .dbfile I:\AVR視頻教程\視頻教程\lesson6\chengxu\lesson6\lesson6.c
000D .dbsym e table _table A[13:13]c
000D _table1::
000D 5757572E54584D43552E434F4D00 .byte 'W,'W,'W,46,'T,'X,'M,'C,'U,46,'C,'O,'M,0
001B .dbsym e table1 _table1 A[14:14]c
.area text(rom, con, rel)
0000 .dbfile I:\AVR視頻教程\視頻教程\lesson6\chengxu\lesson6\lesson6.c
0000 .dbfunc e delay _delay fV
0000 ; i -> R20,R21
0000 ; j -> R22,R23
0000 ; ms -> R16,R17
.even
0000 _delay::
0000 0E940000 xcall push_gset2
0004 .dbline -1
0004 .dbline 10
0004 ; #include <iom16v.h>
0004 ; #include <macros.h>
0004 ; #define uchar unsigned char
0004 ; #define uint unsigned int
0004 ; #pragma data:code
0004 ; const uchar table[]="I LIKE AVR !";
0004 ; const uchar table1[]="WWW.TXMCU.COM";
0004 ;
0004 ; void delay(uint ms)
0004 ; {
0004 .dbline 12
0004 ; uint i,j;
0004 ; for(i=0;i<ms;i++)
0004 4427 clr R20
0006 5527 clr R21
0008 0BC0 xjmp L5
000A L2:
000A .dbline 13
000A ; {
000A .dbline 14
000A 6627 clr R22
000C 7727 clr R23
000E 02C0 xjmp L9
0010 L6:
0010 .dbline 14
0010 L7:
0010 .dbline 14
0010 6F5F subi R22,255 ; offset = 1
0012 7F4F sbci R23,255
0014 L9:
0014 .dbline 14
0014 6537 cpi R22,117
0016 E4E0 ldi R30,4
0018 7E07 cpc R23,R30
001A D0F3 brlo L6
001C .dbline 15
001C L3:
001C .dbline 12
001C 4F5F subi R20,255 ; offset = 1
001E 5F4F sbci R21,255
0020 L5:
0020 .dbline 12
0020 4017 cp R20,R16
0022 5107 cpc R21,R17
0024 90F3 brlo L2
0026 .dbline -2
0026 .dbline 16
0026 ; for(j=0;j<1141;j++);
0026 ; }
0026 ; }
0026 L1:
0026 0E940000 xcall pop_gset2
002A .dbline 0 ; func end
002A 0895 ret
002C .dbsym r i 20 i
002C .dbsym r j 22 i
002C .dbsym r ms 16 i
002C .dbend
002C .dbfunc e write_com _write_com fV
002C ; com -> R20
.even
002C _write_com::
002C 0E940000 xcall push_gset1
0030 402F mov R20,R16
0032 .dbline -1
0032 .dbline 18
0032 ; void write_com(uchar com)
0032 ; {
0032 .dbline 19
0032 ; PORTD&=~BIT(4);
0032 9498 cbi 0x12,4
0034 .dbline 20
0034 ; PORTD&=~BIT(5);
0034 9598 cbi 0x12,5
0036 .dbline 21
0036 ; PORTB=com;
0036 48BB out 0x18,R20
0038 .dbline 22
0038 ; PORTD|=BIT(6);
0038 969A sbi 0x12,6
003A .dbline 23
003A ; delay(1);
003A 01E0 ldi R16,1
003C 10E0 ldi R17,0
003E E0DF xcall _delay
0040 .dbline 24
0040 ; PORTD&=~BIT(6);
0040 9698 cbi 0x12,6
0042 .dbline -2
0042 .dbline 25
0042 ; }
0042 L10:
0042 0E940000 xcall pop_gset1
0046 .dbline 0 ; func end
0046 0895 ret
0048 .dbsym r com 20 c
0048 .dbend
0048 .dbfunc e write_dat _write_dat fV
0048 ; dat -> R20
.even
0048 _write_dat::
0048 0E940000 xcall push_gset1
004C 402F mov R20,R16
004E .dbline -1
004E .dbline 28
004E ;
004E ; void write_dat(uchar dat)
004E ; {
004E .dbline 29
004E ; PORTD|=BIT(4);
004E 949A sbi 0x12,4
0050 .dbline 30
0050 ; PORTD&=~BIT(5);
0050 9598 cbi 0x12,5
0052 .dbline 31
0052 ; PORTB=dat;
0052 48BB out 0x18,R20
0054 .dbline 32
0054 ; PORTD|=BIT(6);
0054 969A sbi 0x12,6
0056 .dbline 33
0056 ; delay(1);
0056 01E0 ldi R16,1
0058 10E0 ldi R17,0
005A D2DF xcall _delay
005C .dbline 34
005C ; PORTD&=~BIT(6);
005C 9698 cbi 0x12,6
005E .dbline -2
005E .dbline 36
005E ;
005E ; }
005E L11:
005E 0E940000 xcall pop_gset1
0062 .dbline 0 ; func end
0062 0895 ret
0064 .dbsym r dat 20 c
0064 .dbend
0064 .dbfunc e main _main fV
0064 ; i -> R20
.even
0064 _main::
0064 .dbline -1
0064 .dbline 38
0064 ; void main()
0064 ; {
0064 .dbline 40
0064 ; uchar i;
0064 ; DDRB=0XFF;
0064 8FEF ldi R24,255
0066 87BB out 0x17,R24
0068 .dbline 41
0068 ; DDRD|=BIT(4)|BIT(5)|BIT(6);
0068 81B3 in R24,0x11
006A 8067 ori R24,112
006C 81BB out 0x11,R24
006E .dbline 42
006E ; PORTD&=~BIT(6);
006E 9698 cbi 0x12,6
0070 .dbline 44
0070 ;
0070 ; write_com(0X38);
0070 08E3 ldi R16,56
0072 DCDF xcall _write_com
0074 .dbline 45
0074 ; delay(5);
0074 05E0 ldi R16,5
0076 10E0 ldi R17,0
0078 C3DF xcall _delay
007A .dbline 46
007A ; write_com(0X01);
007A 01E0 ldi R16,1
007C D7DF xcall _write_com
007E .dbline 47
007E ; delay(5);
007E 05E0 ldi R16,5
0080 10E0 ldi R17,0
0082 BEDF xcall _delay
0084 .dbline 48
0084 ; write_com(0X0C);
0084 0CE0 ldi R16,12
0086 D2DF xcall _write_com
0088 .dbline 49
0088 ; delay(5);
0088 05E0 ldi R16,5
008A 10E0 ldi R17,0
008C B9DF xcall _delay
008E .dbline 50
008E ; write_com(0X06);
008E 06E0 ldi R16,6
0090 CDDF xcall _write_com
0092 .dbline 51
0092 ; delay(5);
0092 05E0 ldi R16,5
0094 10E0 ldi R17,0
0096 B4DF xcall _delay
0098 .dbline 52
0098 ; write_com(0X80+0X10);
0098 00E9 ldi R16,144
009A C8DF xcall _write_com
009C .dbline 53
009C ; delay(5);
009C 05E0 ldi R16,5
009E 10E0 ldi R17,0
00A0 AFDF xcall _delay
00A2 .dbline 54
00A2 ; for(i=0;i<12;i++)
00A2 4427 clr R20
00A4 0CC0 xjmp L16
00A6 L13:
00A6 .dbline 55
00A6 .dbline 56
00A6 80E0 ldi R24,<_table
00A8 90E0 ldi R25,>_table
00AA E42F mov R30,R20
00AC FF27 clr R31
00AE E80F add R30,R24
00B0 F91F adc R31,R25
00B2 0491 lpm R16,Z
00B4 C9DF xcall _write_dat
00B6 .dbline 57
00B6 05E0 ldi R16,5
00B8 10E0 ldi R17,0
00BA A2DF xcall _delay
00BC .dbline 58
00BC L14:
00BC .dbline 54
00BC 4395 inc R20
00BE L16:
00BE .dbline 54
00BE 4C30 cpi R20,12
00C0 90F3 brlo L13
00C2 .dbline 59
00C2 ; {
00C2 ; write_dat(table[i]);
00C2 ; delay(5);
00C2 ; }
00C2 ; write_com(0X80+0X50);
00C2 00ED ldi R16,208
00C4 B3DF xcall _write_com
00C6 .dbline 60
00C6 ; delay(5);
00C6 05E0 ldi R16,5
00C8 10E0 ldi R17,0
00CA 9ADF xcall _delay
00CC .dbline 61
00CC ; for(i=0;i<13;i++)
00CC 4427 clr R20
00CE 0CC0 xjmp L20
00D0 L17:
00D0 .dbline 62
00D0 .dbline 63
00D0 80E0 ldi R24,<_table1
00D2 90E0 ldi R25,>_table1
00D4 E42F mov R30,R20
00D6 FF27 clr R31
00D8 E80F add R30,R24
00DA F91F adc R31,R25
00DC 0491 lpm R16,Z
00DE B4DF xcall _write_dat
00E0 .dbline 64
00E0 05E0 ldi R16,5
00E2 10E0 ldi R17,0
00E4 8DDF xcall _delay
00E6 .dbline 65
00E6 L18:
00E6 .dbline 61
00E6 4395 inc R20
00E8 L20:
00E8 .dbline 61
00E8 4D30 cpi R20,13
00EA 90F3 brlo L17
00EC .dbline 66
00EC ; {
00EC ; write_dat(table1[i]);
00EC ; delay(5);
00EC ; }
00EC ; for(i=0;i<16;i++)
00EC 4427 clr R20
00EE 06C0 xjmp L24
00F0 L21:
00F0 .dbline 67
00F0 .dbline 68
00F0 08E1 ldi R16,24
00F2 9CDF xcall _write_com
00F4 .dbline 69
00F4 04EF ldi R16,500
00F6 11E0 ldi R17,1
00F8 83DF xcall _delay
00FA .dbline 70
00FA L22:
00FA .dbline 66
00FA 4395 inc R20
00FC L24:
00FC .dbline 66
00FC 4031 cpi R20,16
00FE C0F3 brlo L21
0100 .dbline -2
0100 .dbline 72
0100 ; {
0100 ; write_com(0X18);
0100 ; delay(500);
0100 ; }
0100 ;
0100 ; }
0100 L12:
0100 .dbline 0 ; func end
0100 0895 ret
0102 .dbsym r i 20 c
0102 .dbend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -