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

📄 lcd.lis

📁 使用ICCAVR编写的mega128L单片机的12864液晶显示程序
💻 LIS
字号:
                        .module lcd.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\icc\lcd/lcd_init.h
 0000                   .dbfunc e delay _delay fV
 0000           ;              n -> R16,R17
                        .even
 0000           _delay::
 0000                   .dbline -1
 0000                   .dbline 40
 0000           ; //ICC-AVR application builder : 2008-10-8 下午 04:03:04
 0000           ; // Target : M128
 0000           ; // Crystal: 8.0000Mhz
 0000           ; 
 0000           ; #include <iom128v.h>
 0000           ; #include <macros.h>
 0000           ; #include "lcd_init.h"
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000           ;  disp_init();
 0000           ;  delay(0xffff);
 0000           ; disp_word(0x80,"任务:EEPROM"); 
 0000           ; disp_word(0x90,"2008年10月09日");
 0000           ; 
 0000           ;  
 0000           ; 
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           ; }
 0000           L2:
 0000                   .dbline 41
 0000           L3:
 0000                   .dbline 41
 0000           ; }
 0000 1801              movw R2,R16
 0002 0150              subi R16,1
 0004 1040              sbci R17,0
 0006 2220              tst R2
 0008 D9F7              brne L2
 000A 3320              tst R3
 000C C9F7              brne L2
 000E           X0:
 000E                   .dbline -2
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 0895              ret
 0010                   .dbsym r n 16 i
 0010                   .dbend
 0010                   .dbfunc e chk_busy _chk_busy fV
                        .even
 0010           _chk_busy::
 0010                   .dbline -1
 0010                   .dbline 44
 0010           ; }
 0010           ; }
 0010           ; }
 0010                   .dbline 45
 0010           ; }
 0010 8FEF              ldi R24,255
 0012 8BBB              out 0x1b,R24
 0014                   .dbline 46
 0014           ; }
 0014 80916500          lds R24,101
 0018 8E7F              andi R24,254
 001A 80936500          sts 101,R24
 001E                   .dbline 47
 001E           ; }
 001E 80916500          lds R24,101
 0022 8260              ori R24,2
 0024 80936500          sts 101,R24
 0028                   .dbline 49
 0028           ; }
 0028           ; }
 0028 2224              clr R2
 002A 2ABA              out 0x1a,R2
 002C                   .dbline 51
 002C           ; }
 002C           ; }
 002C 80916500          lds R24,101
 0030 8460              ori R24,4
 0032 80936500          sts 101,R24
 0036           L6:
 0036                   .dbline 52
 0036           L7:
 0036                   .dbline 52
 0036           ; }
 0036 CF99              sbic 0x19,7
 0038 FECF              rjmp L6
 003A                   .dbline 53
 003A           ; }
 003A 80916500          lds R24,101
 003E 8B7F              andi R24,251
 0040 80936500          sts 101,R24
 0044                   .dbline 54
 0044           ; }
 0044 8FEF              ldi R24,255
 0046 8ABB              out 0x1a,R24
 0048                   .dbline -2
 0048           L5:
 0048                   .dbline 0 ; func end
 0048 0895              ret
 004A                   .dbend
 004A                   .dbfunc e LCD_write_code _LCD_write_code fV
 004A           ;           code -> R20
                        .even
 004A           _LCD_write_code::
 004A 0E940000          xcall push_gset1
 004E 402F              mov R20,R16
 0050                   .dbline -1
 0050                   .dbline 58
 0050           ; }
 0050           ; }
 0050           ; }
 0050           ; }
 0050                   .dbline 59
 0050           ; }
 0050 DFDF              xcall _chk_busy
 0052                   .dbline 60
 0052           ; }
 0052 80916500          lds R24,101
 0056 8E7F              andi R24,254
 0058 80936500          sts 101,R24
 005C                   .dbline 61
 005C           ; }
 005C 80916500          lds R24,101
 0060 8D7F              andi R24,253
 0062 80936500          sts 101,R24
 0066                   .dbline 62
 0066           ; }
 0066 4BBB              out 0x1b,R20
 0068                   .dbline 63
 0068           ; }
 0068 80916500          lds R24,101
 006C 8460              ori R24,4
 006E 80936500          sts 101,R24
 0072                   .dbline 64
 0072           ; }
 0072 04E6              ldi R16,100
 0074 10E0              ldi R17,0
 0076 C4DF              xcall _delay
 0078                   .dbline 65
 0078           ; }
 0078 80916500          lds R24,101
 007C 8B7F              andi R24,251
 007E 80936500          sts 101,R24
 0082                   .dbline -2
 0082           L9:
 0082 0E940000          xcall pop_gset1
 0086                   .dbline 0 ; func end
 0086 0895              ret
 0088                   .dbsym r code 20 c
 0088                   .dbend
 0088                   .dbfunc e LCD_write_data _LCD_write_data fV
 0088           ;           data -> R20
                        .even
 0088           _LCD_write_data::
 0088 0E940000          xcall push_gset1
 008C 402F              mov R20,R16
 008E                   .dbline -1
 008E                   .dbline 69
 008E           ; }
 008E           ; }
 008E           ; }
 008E           ; }
 008E                   .dbline 70
 008E           ; }
 008E C0DF              xcall _chk_busy
 0090                   .dbline 71
 0090           ; }
 0090 80916500          lds R24,101
 0094 8160              ori R24,1
 0096 80936500          sts 101,R24
 009A                   .dbline 72
 009A           ; }
 009A 80916500          lds R24,101
 009E 8D7F              andi R24,253
 00A0 80936500          sts 101,R24
 00A4                   .dbline 73
 00A4           ; }
 00A4 4BBB              out 0x1b,R20
 00A6                   .dbline 74
 00A6           ; }
 00A6 80916500          lds R24,101
 00AA 8460              ori R24,4
 00AC 80936500          sts 101,R24
 00B0                   .dbline 75
 00B0           ; }
 00B0 04E6              ldi R16,100
 00B2 10E0              ldi R17,0
 00B4 A5DF              xcall _delay
 00B6                   .dbline 76
 00B6           ; }
 00B6 80916500          lds R24,101
 00BA 8B7F              andi R24,251
 00BC 80936500          sts 101,R24
 00C0                   .dbline -2
 00C0           L10:
 00C0 0E940000          xcall pop_gset1
 00C4                   .dbline 0 ; func end
 00C4 0895              ret
 00C6                   .dbsym r data 20 c
 00C6                   .dbend
 00C6                   .dbfunc e disp_char _disp_char fV
 00C6           ;           asii -> R20
 00C6           ;       position -> R22
                        .even
 00C6           _disp_char::
 00C6 0E940000          xcall push_gset2
 00CA 422F              mov R20,R18
 00CC 602F              mov R22,R16
 00CE                   .dbline -1
 00CE                   .dbline 80
 00CE           ; }
 00CE           ; }
 00CE           ; }
 00CE           ; }
 00CE                   .dbline 81
 00CE           ; }
 00CE 062F              mov R16,R22
 00D0 BCDF              xcall _LCD_write_code
 00D2                   .dbline 82
 00D2           ; }
 00D2 042F              mov R16,R20
 00D4 D9DF              xcall _LCD_write_data
 00D6                   .dbline -2
 00D6           L11:
 00D6 0E940000          xcall pop_gset2
 00DA                   .dbline 0 ; func end
 00DA 0895              ret
 00DC                   .dbsym r asii 20 c
 00DC                   .dbsym r position 22 c
 00DC                   .dbend
 00DC                   .dbfunc e disp_word _disp_word fV
 00DC           ;           word -> R20,R21
 00DC           ;       position -> R22
                        .even
 00DC           _disp_word::
 00DC 0E940000          xcall push_gset2
 00E0 A901              movw R20,R18
 00E2 602F              mov R22,R16
 00E4                   .dbline -1
 00E4                   .dbline 97
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4           ; }
 00E4                   .dbline 98
 00E4           ; }
 00E4 062F              mov R16,R22
 00E6 B1DF              xcall _LCD_write_code
 00E8 05C0              xjmp L14
 00EA           L13:
 00EA                   .dbline 100
 00EA                   .dbline 101
 00EA FA01              movw R30,R20
 00EC 0081              ldd R16,z+0
 00EE CCDF              xcall _LCD_write_data
 00F0                   .dbline 102
 00F0 4F5F              subi R20,255  ; offset = 1
 00F2 5F4F              sbci R21,255
 00F4                   .dbline 103
 00F4           L14:
 00F4                   .dbline 99
 00F4           ; }
 00F4 FA01              movw R30,R20
 00F6 2080              ldd R2,z+0
 00F8 2220              tst R2
 00FA B9F7              brne L13
 00FC                   .dbline -2
 00FC           L12:
 00FC 0E940000          xcall pop_gset2
 0100                   .dbline 0 ; func end
 0100 0895              ret
 0102                   .dbsym r word 20 pc
 0102                   .dbsym r position 22 c
 0102                   .dbend
 0102                   .dbfunc e disp_init _disp_init fV
                        .even
 0102           _disp_init::
 0102                   .dbline -1
 0102                   .dbline 109
 0102           ; }
 0102           ; }
 0102           ; }
 0102           ; }
 0102           ; }
 0102           ; }
 0102           ; }
 0102           ; }
 0102           ; }
 0102           ; }
 0102                   .dbline 110
 0102           ; }
 0102 8FEF              ldi R24,255
 0104 8ABB              out 0x1a,R24
 0106                   .dbline 112
 0106           ; }
 0106           ; }
 0106 80936400          sts 100,R24
 010A                   .dbline 114
 010A           ; }
 010A           ; }
 010A 00E3              ldi R16,48
 010C 9EDF              xcall _LCD_write_code
 010E                   .dbline 115
 010E           ; }
 010E 01E0              ldi R16,1
 0110 9CDF              xcall _LCD_write_code
 0112                   .dbline 116
 0112           ; }
 0112 06E0              ldi R16,6
 0114 9ADF              xcall _LCD_write_code
 0116                   .dbline 117
 0116           ; }
 0116 0CE0              ldi R16,12
 0118 98DF              xcall _LCD_write_code
 011A                   .dbline -2
 011A           L16:
 011A                   .dbline 0 ; func end
 011A 0895              ret
 011C                   .dbend
 011C                   .dbfile E:\icc\lcd\lcd.c
 011C                   .dbfunc e main _main fV
                        .even
 011C           _main::
 011C                   .dbline -1
 011C                   .dbline 10
 011C                   .dbline 11
 011C F2DF              xcall _disp_init
 011E                   .dbline 12
 011E 0FEF              ldi R16,65535
 0120 1FEF              ldi R17,255
 0122 6EDF              xcall _delay
 0124                   .dbline 13
 0124 20E0              ldi R18,<L18
 0126 30E0              ldi R19,>L18
 0128 00E8              ldi R16,128
 012A D8DF              xcall _disp_word
 012C                   .dbline 14
 012C 20E0              ldi R18,<L19
 012E 30E0              ldi R19,>L19
 0130 00E9              ldi R16,144
 0132 D4DF              xcall _disp_word
 0134                   .dbline -2
 0134           L17:
 0134                   .dbline 0 ; func end
 0134 0895              ret
 0136                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile E:\icc\lcd\lcd.c
 0000           L19:
 0000                   .blkb 15
                        .area idata
 0000 32303038C4EA3130D4C23039C8D500    .byte 50,48,48,56,196,234,49,48,212,194,48,57,200,213,0
                        .area data(ram, con, rel)
 000F                   .dbfile E:\icc\lcd\lcd.c
 000F           L18:
 000F                   .blkb 13
                        .area idata
 000F C8CECEF1A3BA454550524F4D00        .byte 200,206,206,241,163,186,'E,'E,'P,'R,'O,'M,0
                        .area data(ram, con, rel)
 001C                   .dbfile E:\icc\lcd\lcd.c

⌨️ 快捷键说明

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