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

📄 main.lis

📁 这是一个LCD12864程序
💻 LIS
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\ICCAVR\project\AVRMEG~3\icc\018-LCD12864\main.c
 0000                   .dbfunc e io_init _io_init fV
                        .even
 0000           _io_init::
 0000                   .dbline -1
 0000                   .dbline 19
 0000           ; /*
 0000           ; 实验十六:
 0000           ;       LCD12864液晶屏显示实验。
 0000           ;       1、LCD12864显示实验。显示AVR开发网及网址信息。
 0000           ;       2、内部1 M晶振,程序采用单任务方式,软件延时。
 0000           ;       3、进行此实验请插上JP1、JP2的所有8个短路块,PC6、PC7短路块。
 0000           ;       4、RW1用于调节显示屏的对比度。
 0000           ; 
 0000           ;       AVR  mega16学习板
 0000           ;       www.iccavr.com
 0000           ;       16:22 2007-4-25
 0000           ; */
 0000           ; 
 0000           ; #include <iom128v.h>
 0000           ; #include "font.h"
 0000           ; #include "lcd12864.h"
 0000           ; 
 0000           ; /*IO口初始化函数*/
 0000           ; void io_init(void) {
 0000                   .dbline 21
 0000           ; 
 0000           ;       DDRA = 0xFF;                                                    /*方向输出*/
 0000 8FEF              ldi R24,255
 0002 8ABB              out 0x1a,R24
 0004                   .dbline 22
 0004           ;       PORTA = 0xFF;                                                   /*高电平*/
 0004 8BBB              out 0x1b,R24
 0006                   .dbline 23
 0006           ;       DDRB = 0x00;                                                    /*方向输入*/
 0006 2224              clr R2
 0008 27BA              out 0x17,R2
 000A                   .dbline 24
 000A           ;       PORTB = 0xFF;                                                   /*打开上拉*/
 000A 88BB              out 0x18,R24
 000C                   .dbline 25
 000C           ;       DDRC = 0xFF;                                                    /*不用的IO口建议设置为输入带上拉*/
 000C 84BB              out 0x14,R24
 000E                   .dbline 26
 000E           ;       PORTC = 0x00;
 000E 25BA              out 0x15,R2
 0010                   .dbline 27
 0010           ;       DDRD = 0x00;
 0010 21BA              out 0x11,R2
 0012                   .dbline 28
 0012           ;       PORTD = 0xFF;
 0012 82BB              out 0x12,R24
 0014                   .dbline 29
 0014           ;       DDRE = 0x00;
 0014 22B8              out 0x2,R2
 0016                   .dbline 30
 0016           ;       PORTE = 0xFF;
 0016 83B9              out 0x3,R24
 0018                   .dbline 31
 0018           ;       DDRF = 0x00;
 0018 20926100          sts 97,R2
 001C                   .dbline 32
 001C           ;       PORTF = 0xFF;
 001C 80936200          sts 98,R24
 0020                   .dbline 33
 0020           ;       DDRG = 0x00;
 0020 20926400          sts 100,R2
 0024                   .dbline 34
 0024           ;       PORTG = 0xFF;
 0024 80936500          sts 101,R24
 0028                   .dbline -2
 0028           L1:
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbend
 002A                   .dbfunc e main _main fV
                        .even
 002A           _main::
 002A 2297              sbiw R28,2
 002C                   .dbline -1
 002C                   .dbline 37
 002C           ; }
 002C           ; 
 002C           ; void main(void) {
 002C                   .dbline 39
 002C           ; 
 002C           ;       io_init();                                                              /*IO口初始化*/
 002C E9DF              xcall _io_init
 002E                   .dbline 40
 002E           ;       disp_init();                                                    /*LCD初始化*/
 002E 0E940000          xcall _disp_init
 0032                   .dbline 41
 0032           ;       disp_clear(0, 128, 0);                                  /*清除四行显示*/
 0032 2224              clr R2
 0034 2882              std y+0,R2
 0036 20E8              ldi R18,128
 0038 0027              clr R16
 003A 0E940000          xcall _disp_clear
 003E                   .dbline 42
 003E           ;       disp_clear(0, 128, 2);
 003E 82E0              ldi R24,2
 0040 8883              std y+0,R24
 0042 20E8              ldi R18,128
 0044 0027              clr R16
 0046 0E940000          xcall _disp_clear
 004A                   .dbline 43
 004A           ;       disp_clear(0, 128, 4);
 004A 84E0              ldi R24,4
 004C 8883              std y+0,R24
 004E 20E8              ldi R18,128
 0050 0027              clr R16
 0052 0E940000          xcall _disp_clear
 0056                   .dbline 44
 0056           ;       disp_clear(0, 128, 6);
 0056 86E0              ldi R24,6
 0058 8883              std y+0,R24
 005A 20E8              ldi R18,128
 005C 0027              clr R16
 005E 0E940000          xcall _disp_clear
 0062                   .dbline 46
 0062           ;       
 0062           ;       disp_char_str(28, 2, "AVR");                    /*写入“AVR”三个字母*/
 0062 80E0              ldi R24,<L3
 0064 90E0              ldi R25,>L3
 0066 9983              std y+1,R25
 0068 8883              std y+0,R24
 006A 22E0              ldi R18,2
 006C 0CE1              ldi R16,28
 006E 0E940000          xcall _disp_char_str
 0072                   .dbline 47
 0072           ;       disp_word(52, 2, CBFAA);                                /*写入“开发网”三个汉字*/
 0072 81E0              ldi R24,1
 0074 8883              std y+0,R24
 0076 22E0              ldi R18,2
 0078 04E3              ldi R16,52
 007A 0E940000          xcall _disp_word
 007E                   .dbline 48
 007E           ;       disp_word(68, 2, CB7A2);
 007E 82E0              ldi R24,2
 0080 8883              std y+0,R24
 0082 22E0              ldi R18,2
 0084 04E4              ldi R16,68
 0086 0E940000          xcall _disp_word
 008A                   .dbline 49
 008A           ;       disp_word(84, 2, CCDF8);
 008A 83E0              ldi R24,3
 008C 8883              std y+0,R24
 008E 22E0              ldi R18,2
 0090 04E5              ldi R16,84
 0092 0E940000          xcall _disp_word
 0096                   .dbline 50
 0096           ;       disp_char_str(8, 5, "www.iccavr.com");  /*显示网址信息*/
 0096 80E0              ldi R24,<L4
 0098 90E0              ldi R25,>L4
 009A 9983              std y+1,R25
 009C 8883              std y+0,R24
 009E 25E0              ldi R18,5
 00A0 08E0              ldi R16,8
 00A2 0E940000          xcall _disp_char_str
 00A6           L5:
 00A6                   .dbline 52
 00A6           L6:
 00A6                   .dbline 52
 00A6 FFCF              xjmp L5
 00A8           X0:
 00A8                   .dbline -2
 00A8           L2:
 00A8 2296              adiw R28,2
 00AA                   .dbline 0 ; func end
 00AA 0895              ret
 00AC                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile E:\ICCAVR\project\AVRMEG~3\icc\018-LCD12864\main.c
 0000           L4:
 0000                   .blkb 15
                        .area idata
 0000 7777772E6963636176722E636F6D00    .byte 'w,'w,'w,46,'i,'c,'c,'a,'v,'r,46,'c,'o,'m,0
                        .area data(ram, con, rel)
 000F                   .dbfile E:\ICCAVR\project\AVRMEG~3\icc\018-LCD12864\main.c
 000F           L3:
 000F                   .blkb 4
                        .area idata
 000F 41565200          .byte 'A,'V,'R,0
                        .area data(ram, con, rel)
 0013                   .dbfile E:\ICCAVR\project\AVRMEG~3\icc\018-LCD12864\main.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -