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

📄 lcd1602.lis

📁 mega8的1602液晶驱动。。。。。。。。
💻 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 + -