📄 12864_lcd_test.lis
字号:
.module _12864_LCD_TEST.c
.area text(rom, con, rel)
0000 .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 2297 sbiw R28,2
0002 .dbline -1
0002 .dbline 14
0002 ; #include "iom16v.h"
0002 ; #include "macros.h"
0002 ; #include "12864.h"
0002 ;
0002 ; // 配置熔丝参数 @8MHz
0002 ;
0002 ; extern void delay_nus(unsigned int n);
0002 ; extern void delay_nms(unsigned int n);
0002 ;
0002 ; char *str1,*str2,*str3,*str4,*str5,*str6,*str7,*str8;
0002 ;
0002 ; void portinitial(void);
0002 ; void main(void)
0002 ; {
0002 .dbline 16
0002 ;
0002 ; str1="AVR Mega16 BOARD";
0002 80E0 ldi R24,<L2
0004 90E0 ldi R25,>L2
0006 90930F00 sts _str1+1,R25
000A 80930E00 sts _str1,R24
000E .dbline 17
000E ; str2=" 学习开发板 ";
000E 80E0 ldi R24,<L3
0010 90E0 ldi R25,>L3
0012 90930D00 sts _str2+1,R25
0016 80930C00 sts _str2,R24
001A .dbline 18
001A ; str3=" dushibiao ";
001A 80E0 ldi R24,<L4
001C 90E0 ldi R25,>L4
001E 90930B00 sts _str3+1,R25
0022 80930A00 sts _str3,R24
0026 .dbline 19
0026 ; str4="2007年11月制作";
0026 80E0 ldi R24,<L5
0028 90E0 ldi R25,>L5
002A 90930900 sts _str4+1,R25
002E 80930800 sts _str4,R24
0032 .dbline 20
0032 ; str6="12864 液晶试验";
0032 80E0 ldi R24,<L6
0034 90E0 ldi R25,>L6
0036 90930500 sts _str6+1,R25
003A 80930400 sts _str6,R24
003E .dbline 21
003E ; str7="并行总线接法练习";
003E 80E0 ldi R24,<L7
0040 90E0 ldi R25,>L7
0042 90930300 sts _str7+1,R25
0046 80930200 sts _str7,R24
004A .dbline 22
004A ; portinitial();
004A 6ED0 xcall _portinitial
004C .dbline 23
004C ; delay_nms(10);
004C 0AE0 ldi R16,10
004E 10E0 ldi R17,0
0050 0E940000 xcall _delay_nms
0054 .dbline 24
0054 ; LCD_init();
0054 0E940000 xcall _LCD_init
0058 64C0 xjmp L9
005A L8:
005A .dbline 25
005A .dbline 26
005A 2227 clr R18
005C 3327 clr R19
005E 01E0 ldi R16,1
0060 10E0 ldi R17,0
0062 0E940000 xcall _LCD_write_char
0066 .dbline 27
0066 20900E00 lds R2,_str1
006A 30900F00 lds R3,_str1+1
006E 3982 std y+1,R3
0070 2882 std y+0,R2
0072 2227 clr R18
0074 02E0 ldi R16,2
0076 0E940000 xcall _LCD_write_string
007A .dbline 28
007A 20900C00 lds R2,_str2
007E 30900D00 lds R3,_str2+1
0082 3982 std y+1,R3
0084 2882 std y+0,R2
0086 21E0 ldi R18,1
0088 0027 clr R16
008A 0E940000 xcall _LCD_write_string
008E .dbline 29
008E 20900A00 lds R2,_str3
0092 30900B00 lds R3,_str3+1
0096 3982 std y+1,R3
0098 2882 std y+0,R2
009A 22E0 ldi R18,2
009C 0027 clr R16
009E 0E940000 xcall _LCD_write_string
00A2 .dbline 30
00A2 20900800 lds R2,_str4
00A6 30900900 lds R3,_str4+1
00AA 3982 std y+1,R3
00AC 2882 std y+0,R2
00AE 23E0 ldi R18,3
00B0 0027 clr R16
00B2 0E940000 xcall _LCD_write_string
00B6 .dbline 31
00B6 00EA ldi R16,4000
00B8 1FE0 ldi R17,15
00BA 0E940000 xcall _delay_nms
00BE .dbline 32
00BE 2227 clr R18
00C0 3327 clr R19
00C2 01E0 ldi R16,1
00C4 10E0 ldi R17,0
00C6 0E940000 xcall _LCD_write_char
00CA .dbline 33
00CA 20900600 lds R2,_str5
00CE 30900700 lds R3,_str5+1
00D2 3982 std y+1,R3
00D4 2882 std y+0,R2
00D6 2227 clr R18
00D8 02E0 ldi R16,2
00DA 0E940000 xcall _LCD_write_string
00DE .dbline 34
00DE 20900400 lds R2,_str6
00E2 30900500 lds R3,_str6+1
00E6 3982 std y+1,R3
00E8 2882 std y+0,R2
00EA 21E0 ldi R18,1
00EC 0027 clr R16
00EE 0E940000 xcall _LCD_write_string
00F2 .dbline 35
00F2 20900200 lds R2,_str7
00F6 30900300 lds R3,_str7+1
00FA 3982 std y+1,R3
00FC 2882 std y+0,R2
00FE 22E0 ldi R18,2
0100 0027 clr R16
0102 0E940000 xcall _LCD_write_string
0106 .dbline 36
0106 20900000 lds R2,_str8
010A 30900100 lds R3,_str8+1
010E 3982 std y+1,R3
0110 2882 std y+0,R2
0112 23E0 ldi R18,3
0114 0027 clr R16
0116 0E940000 xcall _LCD_write_string
011A .dbline 37
011A 00EA ldi R16,4000
011C 1FE0 ldi R17,15
011E 0E940000 xcall _delay_nms
0122 .dbline 38
0122 L9:
0122 .dbline 25
0122 9BCF xjmp L8
0124 X0:
0124 .dbline -2
0124 L1:
0124 2296 adiw R28,2
0126 .dbline 0 ; func end
0126 0895 ret
0128 .dbend
0128 .dbfunc e portinitial _portinitial fV
.even
0128 _portinitial::
0128 .dbline -1
0128 .dbline 42
0128 ; while(1){
0128 ; LCD_write_char( 0x01, 0 ); //清屏
0128 ; LCD_write_string(2,0,str1);
0128 ; LCD_write_string(0,1,str2);
0128 ; LCD_write_string(0,2,str3);
0128 ; LCD_write_string(0,3,str4);
0128 ; delay_nms(4000);
0128 ; LCD_write_char( 0x01, 0 ); //清屏
0128 ; LCD_write_string(2,0,str5);
0128 ; LCD_write_string(0,1,str6);
0128 ; LCD_write_string(0,2,str7);
0128 ; LCD_write_string(0,3,str8);
0128 ; delay_nms(4000);
0128 ; }
0128 ; }
0128 ;
0128 ; void portinitial(void)
0128 ; {
0128 .dbline 43
0128 ; DDRA=0XFF;
0128 8FEF ldi R24,255
012A 8ABB out 0x1a,R24
012C .dbline 44
012C ; PORTA=0X00;
012C 2224 clr R2
012E 2BBA out 0x1b,R2
0130 .dbline 45
0130 ; DDRB=0XFF;
0130 87BB out 0x17,R24
0132 .dbline 46
0132 ; PORTB=0XFF;
0132 88BB out 0x18,R24
0134 .dbline 47
0134 ; LCD_RST_PORT |= LCD_RST;
0134 C39A sbi 0x18,3
0136 .dbline 48
0136 ; LCD_PSB_PORT |= LCD_PSB;
0136 C29A sbi 0x18,2
0138 .dbline -2
0138 L11:
0138 .dbline 0 ; func end
0138 0895 ret
013A .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
0000 _str8::
0000 .blkb 2
0002 .dbsym e str8 _str8 pc
0002 _str7::
0002 .blkb 2
0004 .dbsym e str7 _str7 pc
0004 _str6::
0004 .blkb 2
0006 .dbsym e str6 _str6 pc
0006 _str5::
0006 .blkb 2
0008 .dbsym e str5 _str5 pc
0008 _str4::
0008 .blkb 2
000A .dbsym e str4 _str4 pc
000A _str3::
000A .blkb 2
000C .dbsym e str3 _str3 pc
000C _str2::
000C .blkb 2
000E .dbsym e str2 _str2 pc
000E _str1::
000E .blkb 2
0010 .dbsym e str1 _str1 pc
.area data(ram, con, rel)
0000 .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
0000 L7:
0000 .blkb 17
.area idata
0000 B2A2D0D0D7DCCFDFBDD3B7A8C1B7CFB0 .byte 178,162,208,208,215,220,207,223,189,211,183,168,193,183,207,176
0010 00 .byte 0
.area data(ram, con, rel)
0011 .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
0011 L6:
0011 .blkb 15
.area idata
0011 313238363420D2BABEA7CAD4D1E900 .byte 49,50,56,54,52,32,210,186,190,167,202,212,209,233,0
.area data(ram, con, rel)
0020 .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
0020 L5:
0020 .blkb 15
.area idata
0020 32303037C4EA3131D4C2D6C6D7F700 .byte 50,48,48,55,196,234,49,49,212,194,214,198,215,247,0
.area data(ram, con, rel)
002F .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
002F L4:
002F .blkb 15
.area idata
002F 20202064757368696269616F202000 .byte 32,32,32,'d,'u,'s,'h,'i,'b,'i,'a,'o,32,32,0
.area data(ram, con, rel)
003E .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
003E L3:
003E .blkb 14
.area idata
003E 2020D1A7CFB0BFAAB7A2B0E52000 .byte 32,32,209,167,207,176,191,170,183,162,176,229,32,0
.area data(ram, con, rel)
004C .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
004C L2:
004C .blkb 17
.area idata
004C 415652204D656761313620424F415244 .byte 'A,'V,'R,32,'M,'e,'g,'a,49,54,32,'B,'O,'A,'R,'D
005C 00 .byte 0
.area data(ram, con, rel)
005D .dbfile D:\M16开发板实验教程\icc-avr\12864\12864_LCD_TEST.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -