📄 12864.lis
字号:
.module _12864.c
.area text(rom, con, rel)
0000 .dbfile E:\PQ-1A\我的AVR\12864LLY/lcd12864.h
0000 .dbfunc e lcd12864_init _lcd12864_init fV
.even
0000 _lcd12864_init::
0000 .dbline -1
0000 .dbline 25
0000 ; #include <iom1 28v.h>
0000 ; #include <macros.h>
0000 ; #include "lcd12864.h"
0000 ; #include "pic.h"
0000 ;
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ;
0000 ;
0000 ; void main()
0000 ; {
0000 ; uint s=387;
0000 ; CLI(); //禁止全局中断 原始定义为#asm(“cli”)
0000 ; lcd12864_init();
0000 ; clear_disp_pic();//液晶画图清屏程序
0000 ; // lcd12864_init();
0000 ; /* line1 = "检测到障碍物";
0000 ; line2 = " 距离:";*/
0000 ; while(1)
0000 ; {
0000 ; disp_pic(mmy);
0000 ; delay_ms(3000);
0000 ; //delay_ms(3000);
0000 ; clear_disp_pic();
0000 ; //delay_ms(10);
0000 .dbline 26
0000 ; delay_ms(10);
0000 84B3 in R24,0x14
0002 8561 ori R24,21
0004 84BB out 0x14,R24
0006 .dbline 27
0006 ; line1=" LLY FG ";
0006 2224 clr R2
0008 25BA out 0x15,R2
000A .dbline 28
000A ; line2=" 周望 加油!!";
000A 80916400 lds R24,100
000E 8460 ori R24,4
0010 80936400 sts 100,R24
0014 .dbline 30
0014 ; line3="南华创新实验室";
0014 ; line4="团结 努力 拼搏 ";
0014 80916500 lds R24,101
0018 8B7F andi R24,251
001A 80936500 sts 101,R24
001E .dbline 31
001E ; display(); // 液晶整行显示函数程序
001E 06E0 ldi R16,6
0020 10E0 ldi R17,0
0022 C6D1 xcall _delay_ms
0024 .dbline 33
0024 ; /* 函数名称 :con_disp
0024 ; * 功能描述 :当ee=0xff时,在x0,y0处反白显示x个字.
0024 00E3 ldi R16,48
0026 10E0 ldi R17,0
0028 28D0 xcall _write_com
002A .dbline 34
002A ; 当ee=0x00时,在x0,y0处取消反白显示x个字.*/
002A 01E0 ldi R16,1
002C 10E0 ldi R17,0
002E 25D0 xcall _write_com
0030 .dbline 35
0030 ; con_disp(0xff,0x95,0x90,3);
0030 06E0 ldi R16,6
0032 10E0 ldi R17,0
0034 BDD1 xcall _delay_ms
0036 .dbline 36
0036 ; delay_ms(3000);
0036 0CE0 ldi R16,12
0038 10E0 ldi R17,0
003A 1FD0 xcall _write_com
003C .dbline 37
003C ; con_disp(0x00,0x95,0x90,2);
003C 05E0 ldi R16,5
003E 10E0 ldi R17,0
0040 .dbline -2
0040 .dbline 38
0040 ; delay_ms(3000);
0040 L1:
0040 .dbline 0 ; func end
0040 B7C1 xjmp _delay_ms
0042 .dbend
0042 .dbfunc e clear_dis _clear_dis fV
.even
0042 _clear_dis::
0042 .dbline -1
0042 .dbline 42
0042 ; clear_dis();
0042 ; delay_ms(10);
0042 ; disp_pic(tupian);
0042 ; delay_ms(3000);
0042 .dbline 43
0042 ; clear_dis(); //清屏,地址指针指向00H
0042 00E3 ldi R16,48
0044 10E0 ldi R17,0
0046 19D0 xcall _write_com
0048 .dbline 44
0048 ; lcd_writexy(1,0,"互相学习共同努力");//指定位置写文字
0048 01E0 ldi R16,1
004A 10E0 ldi R17,0
004C 16D0 xcall _write_com
004E .dbline 45
004E ; lcd_writexy(2,0,"明德博学求事至远");
004E 0AE0 ldi R16,10
0050 10E0 ldi R17,0
0052 .dbline -2
0052 .dbline 46
0052 ; lcd_writexy(3,1,"南华创新实验室");
0052 L2:
0052 .dbline 0 ; func end
0052 AEC1 xjmp _delay_ms
0054 .dbend
0054 .dbfunc e write_byte _write_byte fV
0054 ; i -> R20
0054 ; word -> R16
.even
0054 _write_byte::
0054 0E940000 xcall push_gset1
0058 .dbline -1
0058 .dbline 54
0058 ; lcd_writexy(4,1,"2009年02月24日");
0058 ; delay_ms(3000);
0058 ; delay_ms(3000);
0058 ; clear_dis(); /*清屏,地址指针指向00H
0058 ; display();
0058 ; write_com(0x94);
0058 ; write_data((s%1000/100)+0x30);
0058 ; write_data((s%100/10)+0x30);
0058 .dbline 56
0058 ; write_data((s%10)+0x30);*/
0058 ; }
0058 4427 clr R20
005A 0AC0 xjmp L7
005C L4:
005C .dbline 57
005C ;
005C .dbline 58
005C ;
005C AC98 cbi 0x15,4
005E .dbline 59
005E ; }
005E 07FF sbrs R16,7
0060 02C0 rjmp L8
0062 .dbline 59
0062 AA9A sbi 0x15,2
0064 01C0 xjmp L9
0066 L8:
0066 .dbline 60
0066 ; }
0066 AA98 cbi 0x15,2
0068 L9:
0068 .dbline 61
0068 000F lsl R16
006A .dbline 62
006A AC9A sbi 0x15,4
006C .dbline 63
006C AC98 cbi 0x15,4
006E .dbline 64
006E L5:
006E .dbline 56
006E 4395 inc R20
0070 L7:
0070 .dbline 56
0070 4830 cpi R20,8
0072 A0F3 brlo L4
0074 .dbline -2
0074 .dbline 65
0074 ; }
0074 ; }
0074 ; }
0074 ; }
0074 ; }
0074 L3:
0074 0E940000 xcall pop_gset1
0078 .dbline 0 ; func end
0078 0895 ret
007A .dbsym r i 20 c
007A .dbsym r word 16 c
007A .dbend
007A .dbfunc e write_com _write_com fV
007A ; com -> R20
.even
007A _write_com::
007A 0E940000 xcall push_gset1
007E 402F mov R20,R16
0080 .dbline -1
0080 .dbline 71
0080 ; }
0080 ; }
0080 ; }
0080 ; }
0080 ; }
0080 ; }
0080 .dbline 72
0080 ; }
0080 A89A sbi 0x15,0
0082 .dbline 73
0082 ; }
0082 01E0 ldi R16,1
0084 10E0 ldi R17,0
0086 94D1 xcall _delay_ms
0088 .dbline 74
0088 ; }
0088 08EF ldi R16,248
008A E4DF xcall _write_byte
008C .dbline 75
008C ; }
008C 042F mov R16,R20
008E 007F andi R16,240
0090 E1DF xcall _write_byte
0092 .dbline 76
0092 ; }
0092 042F mov R16,R20
0094 0F70 andi R16,#0x0F
0096 0295 swap R16
0098 007F andi R16,240
009A DCDF xcall _write_byte
009C .dbline 77
009C ; }
009C A898 cbi 0x15,0
009E .dbline -2
009E .dbline 78
009E ; }
009E L10:
009E 0E940000 xcall pop_gset1
00A2 .dbline 0 ; func end
00A2 0895 ret
00A4 .dbsym r com 20 c
00A4 .dbend
00A4 .dbfunc e write_data _write_data fV
00A4 ; data -> R20
.even
00A4 _write_data::
00A4 0E940000 xcall push_gset1
00A8 402F mov R20,R16
00AA .dbline -1
00AA .dbline 84
00AA ; }
00AA ; }
00AA ; }
00AA ; }
00AA ; }
00AA ; }
00AA .dbline 85
00AA ; }
00AA A89A sbi 0x15,0
00AC .dbline 86
00AC ; }
00AC 01E0 ldi R16,1
00AE 10E0 ldi R17,0
00B0 7FD1 xcall _delay_ms
00B2 .dbline 87
00B2 ; }
00B2 0AEF ldi R16,250
00B4 CFDF xcall _write_byte
00B6 .dbline 88
00B6 ; }
00B6 042F mov R16,R20
00B8 007F andi R16,240
00BA CCDF xcall _write_byte
00BC .dbline 89
00BC ; }
00BC 042F mov R16,R20
00BE 0F70 andi R16,#0x0F
00C0 0295 swap R16
00C2 007F andi R16,240
00C4 C7DF xcall _write_byte
00C6 .dbline 90
00C6 ; }
00C6 A898 cbi 0x15,0
00C8 .dbline -2
00C8 .dbline 91
00C8 ; }
00C8 L11:
00C8 0E940000 xcall pop_gset1
00CC .dbline 0 ; func end
00CC 0895 ret
00CE .dbsym r data 20 c
00CE .dbend
00CE .dbfunc e lcd_writexy _lcd_writexy fV
00CE ; str -> R20,R21
00CE ; y -> R22
00CE ; x -> R10
.even
00CE _lcd_writexy::
00CE 0E940000 xcall push_gset3
00D2 622F mov R22,R18
00D4 A02E mov R10,R16
00D6 4E81 ldd R20,y+6
00D8 5F81 ldd R21,y+7
00DA .dbline -1
00DA .dbline 95
00DA ; }
00DA ; }
00DA ; }
00DA ; }
00DA .dbline 96
00DA ; }
00DA BB24 clr R11
00DC C501 movw R24,R10
00DE 8130 cpi R24,1
00E0 E0E0 ldi R30,0
00E2 9E07 cpc R25,R30
00E4 69F0 breq L16
00E6 8230 cpi R24,2
00E8 E0E0 ldi R30,0
00EA 9E07 cpc R25,R30
00EC 69F0 breq L17
00EE 8330 cpi R24,3
00F0 E0E0 ldi R30,0
00F2 9E07 cpc R25,R30
00F4 69F0 breq L18
00F6 8430 cpi R24,4
00F8 E0E0 ldi R30,0
00FA 9E07 cpc R25,R30
00FC 69F0 breq L19
00FE 15C0 xjmp L21
0100 X0:
0100 .dbline 97
0100 ; }
0100 L16:
0100 .dbline 98
0100 ; }
0100 062F mov R16,R22
0102 0058 subi R16,128 ; addi 128
0104 BADF xcall _write_com
0106 .dbline 98
0106 11C0 xjmp L21
0108 L17:
0108 .dbline 99
0108 ; }
0108 062F mov R16,R22
010A 0057 subi R16,112 ; addi 144
010C B6DF xcall _write_com
010E .dbline 99
010E 0DC0 xjmp L21
0110 L18:
0110 .dbline 100
0110 ; }
0110 062F mov R16,R22
0112 0857 subi R16,120 ; addi 136
0114 B2DF xcall _write_com
0116 .dbline 100
0116 09C0 xjmp L21
0118 L19:
0118 .dbline 101
0118 ; }
0118 062F mov R16,R22
011A 0856 subi R16,104 ; addi 152
011C AEDF xcall _write_com
011E .dbline 101
011E 05C0 xjmp L21
0120 L20:
0120 .dbline 105
0120 .dbline 106
0120 FA01 movw R30,R20
0122 0081 ldd R16,z+0
0124 BFDF xcall _write_data
0126 .dbline 107
0126 4F5F subi R20,255 ; offset = 1
0128 5F4F sbci R21,255
012A .dbline 108
012A L21:
012A .dbline 104
012A ; }
012A ; }
012A ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -