📄 lcd1602.lis
字号:
.module LCD1602.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\Myers\桌面\2121\LCD1602.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 13
0000 ; /*----------------------------------------------------
0000 ; 主函数
0000 ; 编译器:ICC-AVR v6.31A
0000 ; 目标芯片 : M8
0000 ; 时钟: 8.0000Mhz
0000 ; ---------------------------------------------------*/
0000 ; // Target : M8
0000 ; // Crystal: 8.0000Mhz
0000 ;
0000 ; #include "LCD1602.h"
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 14
0000 ; PORTB = 0x00;
0000 2224 clr R2
0002 28BA out 0x18,R2
0004 .dbline 15
0004 ; DDRB = 0x00;
0004 27BA out 0x17,R2
0006 .dbline 16
0006 ; PORTC = 0x00; //m103 output only
0006 25BA out 0x15,R2
0008 .dbline 17
0008 ; DDRC = 0x00;
0008 24BA out 0x14,R2
000A .dbline 18
000A ; PORTD = 0x00;
000A 22BA out 0x12,R2
000C .dbline 19
000C ; DDRD = 0x0F;
000C 8FE0 ldi R24,15
000E 81BB out 0x11,R24
0010 .dbline -2
0010 L1:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbend
0012 .dbfunc e init_devices _init_devices fV
.even
0012 _init_devices::
0012 .dbline -1
0012 .dbline 23
0012 ; }
0012 ;
0012 ; void init_devices(void)
0012 ; {
0012 .dbline 24
0012 ; CLI(); //disable all interrupts
0012 F894 cli
0014 .dbline 25
0014 ; port_init();
0014 F5DF rcall _port_init
0016 .dbline 26
0016 ; LCD_init();
0016 00D0 rcall _LCD_init
0018 .dbline 27
0018 ; MCUCR = 0x00;
0018 2224 clr R2
001A 25BE out 0x35,R2
001C .dbline 28
001C ; GICR = 0x00;
001C 2BBE out 0x3b,R2
001E .dbline 29
001E ; TIMSK = 0x00; //timer interrupt sources
001E 29BE out 0x39,R2
0020 .dbline 30
0020 ; SEI(); //re-enable interrupts
0020 7894 sei
0022 .dbline -2
0022 L2:
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbend
0024 .dbfunc e main _main fV
.even
0024 _main::
0024 2297 sbiw R28,2
0026 .dbline -1
0026 .dbline 34
0026 ; }
0026 ;
0026 ; void main(void)
0026 ; {
0026 .dbline 35
0026 ; init_devices();
0026 F5DF rcall _init_devices
0028 .dbline 36
0028 ; LCD_write_string(1,0,"Hi!!");
0028 80E0 ldi R24,<L4
002A 90E0 ldi R25,>L4
002C 9983 std y+1,R25
002E 8883 std y+0,R24
0030 2227 clr R18
0032 01E0 ldi R16,1
0034 00D0 rcall _LCD_write_string
0036 .dbline 37
0036 ; for(;;)
0036 L5:
0036 .dbline 38
0036 .dbline 39
0036 80E0 ldi R24,<L9
0038 90E0 ldi R25,>L9
003A 9983 std y+1,R25
003C 8883 std y+0,R24
003E 21E0 ldi R18,1
0040 0027 clr R16
0042 00D0 rcall _LCD_write_string
0044 .dbline 40
0044 88E3 ldi R24,56
0046 8883 std y+0,R24
0048 2227 clr R18
004A 06E0 ldi R16,6
004C 00D0 rcall _LCD_write_char
004E .dbline 41
004E .dbline 37
004E .dbline 37
004E F3CF rjmp L5
0050 X0:
0050 .dbline -2
0050 L3:
0050 2296 adiw R28,2
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbend
.area data(ram, con, rel)
0000 .dbfile C:\DOCUME~1\Myers\桌面\2121\LCD1602.c
0000 L9:
0000 .blkb 11
.area idata
0000 61726368656E6735303400 .byte 'a,'r,'c,'h,'e,'n,'g,53,48,52,0
.area data(ram, con, rel)
000B .dbfile C:\DOCUME~1\Myers\桌面\2121\LCD1602.c
000B L4:
000B .blkb 5
.area idata
000B 4869212100 .byte 'H,'i,33,33,0
.area data(ram, con, rel)
0010 .dbfile C:\DOCUME~1\Myers\桌面\2121\LCD1602.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -