?? 12864并口.lis
字號:
.module _12864并口.c
.area text(rom, con, rel)
0000 .dbfile ..\191286~1\12864并口.c
.area data(ram, con, rel)
0000 .dbfile ..\191286~1\12864并口.c
0000 _table::
0000 .blkb 13
.area idata
0000 49204C494B4520415652202100 .byte 'I,32,'L,'I,'K,'E,32,'A,'V,'R,32,33,0
.area data(ram, con, rel)
000D .dbfile ..\191286~1\12864并口.c
000D .dbfile E:\AVR自編程序\11avr實(shí)驗(yàn)板\191286~1\12864并口.c
000D .dbsym e table _table A[13:13]c
000D _table1::
000D .blkb 14
.area idata
000D 3520585545204449414E5A492000 .byte 53,32,'X,'U,'E,32,'D,'I,'A,'N,'Z,'I,32,0
.area data(ram, con, rel)
001B .dbfile E:\AVR自編程序\11avr實(shí)驗(yàn)板\191286~1\12864并口.c
001B .dbsym e table1 _table1 A[14:14]c
001B _table2::
001B .blkb 14
.area idata
001B CED2B0AEB5A5C6ACBBFA20202000 .byte 206,210,176,174,181,165,198,172,187,250,32,32,32,0
.area data(ram, con, rel)
0029 .dbfile E:\AVR自編程序\11avr實(shí)驗(yàn)板\191286~1\12864并口.c
0029 .dbsym e table2 _table2 A[14:14]c
.area text(rom, con, rel)
0000 .dbfile E:\AVR自編程序\11avr實(shí)驗(yàn)板\191286~1\12864并口.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_xgsetF000
0004 .dbline -1
0004 .dbline 13
0004 ; #include <iom16v.h>
0004 ; #include <macros.h>
0004 ; #define uchar unsigned char
0004 ; #define uint unsigned int
0004 ;
0004 ; //#pragma data:code
0004 ;
0004 ; const uchar table[]="I LIKE AVR !";
0004 ; const uchar table1[]="5 XUE DIANZI ";
0004 ; const uchar table2[]="我愛單片機(jī) ";
0004 ;
0004 ; void delay(uint ms)
0004 ; {
0004 .dbline 15
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 16
000A ; {
000A .dbline 17
000A ; for(j=0;j<1141;j++);
000A 6627 clr R22
000C 7727 clr R23
000E 02C0 xjmp L9
0010 L6:
0010 .dbline 17
0010 L7:
0010 .dbline 17
0010 6F5F subi R22,255 ; offset = 1
0012 7F4F sbci R23,255
0014 L9:
0014 .dbline 17
0014 6537 cpi R22,117
0016 E4E0 ldi R30,4
0018 7E07 cpc R23,R30
001A D0F3 brlo L6
001C X0:
001C .dbline 18
001C ; }
001C L3:
001C .dbline 15
001C 4F5F subi R20,255 ; offset = 1
001E 5F4F sbci R21,255
0020 L5:
0020 .dbline 15
0020 4017 cp R20,R16
0022 5107 cpc R21,R17
0024 90F3 brlo L2
0026 X1:
0026 .dbline -2
0026 L1:
0026 .dbline 0 ; func end
0026 0C940000 xjmp pop_xgsetF000
002A .dbsym r i 20 i
002A .dbsym r j 22 i
002A .dbsym r ms 16 i
002A .dbend
002A .dbfunc e write_com _write_com fV
002A ; com -> R10
.even
002A _write_com::
002A AA92 st -y,R10
002C A02E mov R10,R16
002E .dbline -1
002E .dbline 23
002E ; }
002E ;
002E ;
002E ; void write_com(uchar com)
002E ; {
002E .dbline 24
002E ; PORTC&=~BIT(5);
002E AD98 cbi 0x15,5
0030 .dbline 25
0030 ; PORTC&=~BIT(6);
0030 AE98 cbi 0x15,6
0032 .dbline 26
0032 ; PORTA=com;
0032 ABBA out 0x1b,R10
0034 .dbline 27
0034 ; PORTC|=BIT(7);
0034 AF9A sbi 0x15,7
0036 .dbline 28
0036 ; delay(1);
0036 01E0 ldi R16,1
0038 10E0 ldi R17,0
003A E2DF xcall _delay
003C .dbline 29
003C ; PORTC&=~BIT(7);
003C AF98 cbi 0x15,7
003E .dbline -2
003E L10:
003E .dbline 0 ; func end
003E A990 ld R10,y+
0040 0895 ret
0042 .dbsym r com 10 c
0042 .dbend
0042 .dbfunc e write_dat _write_dat fV
0042 ; dat -> R10
.even
0042 _write_dat::
0042 AA92 st -y,R10
0044 A02E mov R10,R16
0046 .dbline -1
0046 .dbline 33
0046 ; }
0046 ;
0046 ; void write_dat(uchar dat)
0046 ; {
0046 .dbline 34
0046 ; PORTC|=BIT(5);
0046 AD9A sbi 0x15,5
0048 .dbline 35
0048 ; PORTC&=~BIT(6);
0048 AE98 cbi 0x15,6
004A .dbline 36
004A ; PORTA=dat;
004A ABBA out 0x1b,R10
004C .dbline 37
004C ; PORTC|=BIT(7);
004C AF9A sbi 0x15,7
004E .dbline 38
004E ; delay(1);
004E 01E0 ldi R16,1
0050 10E0 ldi R17,0
0052 D6DF xcall _delay
0054 .dbline 39
0054 ; PORTC&=~BIT(7);
0054 AF98 cbi 0x15,7
0056 .dbline -2
0056 L11:
0056 .dbline 0 ; func end
0056 A990 ld R10,y+
0058 0895 ret
005A .dbsym r dat 10 c
005A .dbend
005A .dbfunc e main _main fV
005A ; i -> R20
.even
005A _main::
005A .dbline -1
005A .dbline 42
005A ; }
005A ; void main()
005A ; {
005A .dbline 44
005A ; uchar i;
005A ; DDRA=0XFF;
005A 8FEF ldi R24,255
005C 8ABB out 0x1a,R24
005E .dbline 45
005E ; DDRC|=BIT(5)|BIT(6)|BIT(7)|BIT(4)|BIT(2);
005E 84B3 in R24,0x14
0060 846F ori R24,244
0062 84BB out 0x14,R24
0064 .dbline 46
0064 ; PORTC&=~BIT(7);
0064 AF98 cbi 0x15,7
0066 .dbline 47
0066 ; PORTC|=BIT(4);
0066 AC9A sbi 0x15,4
0068 .dbline 48
0068 ; PORTC|=BIT(2);
0068 AA9A sbi 0x15,2
006A .dbline 50
006A ;
006A ; write_com(0X38);
006A 08E3 ldi R16,56
006C DEDF xcall _write_com
006E .dbline 51
006E ; delay(5);
006E 05E0 ldi R16,5
0070 10E0 ldi R17,0
0072 C6DF xcall _delay
0074 .dbline 52
0074 ; write_com(0X01);
0074 01E0 ldi R16,1
0076 D9DF xcall _write_com
0078 .dbline 53
0078 ; delay(5);
0078 05E0 ldi R16,5
007A 10E0 ldi R17,0
007C C1DF xcall _delay
007E .dbline 54
007E ; write_com(0X0C);
007E 0CE0 ldi R16,12
0080 D4DF xcall _write_com
0082 .dbline 55
0082 ; delay(5);
0082 05E0 ldi R16,5
0084 10E0 ldi R17,0
0086 BCDF xcall _delay
0088 .dbline 56
0088 ; write_com(0X06);
0088 06E0 ldi R16,6
008A CFDF xcall _write_com
008C .dbline 57
008C ; delay(5);
008C 05E0 ldi R16,5
008E 10E0 ldi R17,0
0090 B7DF xcall _delay
0092 .dbline 58
0092 ; write_com(0X80+0X10);
0092 00E9 ldi R16,144
0094 CADF xcall _write_com
0096 .dbline 59
0096 ; delay(5);
0096 05E0 ldi R16,5
0098 10E0 ldi R17,0
009A B2DF xcall _delay
009C .dbline 60
009C ; for(i=0;i<12;i++)
009C 4427 clr R20
009E 0CC0 xjmp L16
00A0 L13:
00A0 .dbline 61
00A0 ; {
00A0 .dbline 62
00A0 ; write_dat(table[i]);
00A0 80E0 ldi R24,<_table
00A2 90E0 ldi R25,>_table
00A4 E42F mov R30,R20
00A6 FF27 clr R31
00A8 E80F add R30,R24
00AA F91F adc R31,R25
00AC 0081 ldd R16,z+0
00AE C9DF xcall _write_dat
00B0 .dbline 63
00B0 ; delay(5);
00B0 05E0 ldi R16,5
00B2 10E0 ldi R17,0
00B4 A5DF xcall _delay
00B6 .dbline 64
00B6 ; }
00B6 L14:
00B6 .dbline 60
00B6 4395 inc R20
00B8 L16:
00B8 .dbline 60
00B8 4C30 cpi R20,12
00BA 90F3 brlo L13
00BC X2:
00BC .dbline 65
00BC ; write_com(0X80+0X50);
00BC 00ED ldi R16,208
00BE B5DF xcall _write_com
00C0 .dbline 66
00C0 ; delay(5);
00C0 05E0 ldi R16,5
00C2 10E0 ldi R17,0
00C4 9DDF xcall _delay
00C6 .dbline 67
00C6 ; for(i=0;i<13;i++)
00C6 4427 clr R20
00C8 0CC0 xjmp L20
00CA L17:
00CA .dbline 68
00CA ; {
00CA .dbline 69
00CA ; write_dat(table1[i]);
00CA 80E0 ldi R24,<_table1
00CC 90E0 ldi R25,>_table1
00CE E42F mov R30,R20
00D0 FF27 clr R31
00D2 E80F add R30,R24
00D4 F91F adc R31,R25
00D6 0081 ldd R16,z+0
00D8 B4DF xcall _write_dat
00DA .dbline 70
00DA ; delay(5);
00DA 05E0 ldi R16,5
00DC 10E0 ldi R17,0
00DE 90DF xcall _delay
00E0 .dbline 71
00E0 ; }
00E0 L18:
00E0 .dbline 67
00E0 4395 inc R20
00E2 L20:
00E2 .dbline 67
00E2 4D30 cpi R20,13
00E4 90F3 brlo L17
00E6 X3:
00E6 .dbline 72
00E6 ; for(i=0;i<16;i++)
00E6 4427 clr R20
00E8 06C0 xjmp L24
00EA L21:
00EA .dbline 73
00EA ; {
00EA .dbline 74
00EA ; write_com(0X18);
00EA 08E1 ldi R16,24
00EC 9EDF xcall _write_com
00EE .dbline 75
00EE ; delay(500);
00EE 04EF ldi R16,500
00F0 11E0 ldi R17,1
00F2 86DF xcall _delay
00F4 .dbline 76
00F4 ; }
00F4 L22:
00F4 .dbline 72
00F4 4395 inc R20
00F6 L24:
00F6 .dbline 72
00F6 4031 cpi R20,16
00F8 C0F3 brlo L21
00FA X4:
00FA .dbline 77
00FA ; write_com(0X80);
00FA 00E8 ldi R16,128
00FC 96DF xcall _write_com
00FE .dbline 78
00FE ; for(i=0;i<13;i++)
00FE 4427 clr R20
0100 0CC0 xjmp L28
0102 L25:
0102 .dbline 79
0102 ; {
0102 .dbline 80
0102 ; write_dat(table2[i]);
0102 80E0 ldi R24,<_table2
0104 90E0 ldi R25,>_table2
0106 E42F mov R30,R20
0108 FF27 clr R31
010A E80F add R30,R24
010C F91F adc R31,R25
010E 0081 ldd R16,z+0
0110 98DF xcall _write_dat
0112 .dbline 81
0112 ; delay(5);
0112 05E0 ldi R16,5
0114 10E0 ldi R17,0
0116 74DF xcall _delay
0118 .dbline 82
0118 ; }
0118 L26:
0118 .dbline 78
0118 4395 inc R20
011A L28:
011A .dbline 78
011A 4D30 cpi R20,13
011C 90F3 brlo L25
011E X5:
011E .dbline -2
011E L12:
011E .dbline 0 ; func end
011E 0895 ret
0120 .dbsym r i 20 c
0120 .dbend
0120 ;
0120 ; }
0120 ;
0120 ;
0120 ;
0120 ;
0120 ;
0120 ;
0120 ;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -