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

📄 12864.lis

📁 12864液晶显示程序 带中文字库 可以画图 写汉字
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .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 + -