📄 main.lis
字号:
.module main.c
.area lit(rom, con, rel)
0000 L2:
0000 2020202057656C636F6D652000 .byte 32,32,32,32,'W,'e,'l,'c,'o,'m,'e,32,0
000D L3:
000D 20202020202020202020202020202020 .byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
001D 00 .byte 0
001E L4:
001E 7777772E6164656D6265642E636F6D00 .byte 'w,'w,'w,46,'a,'d,'e,'m,'b,'e,'d,46,'c,'o,'m,0
002E L5:
002E 456173794156522041563300 .byte 'E,'a,'s,'y,'A,'V,'R,32,'A,'V,51,0
003A L6:
003A 313630324C43442044454D4F2050524F .byte 49,54,48,50,'L,'C,'D,32,'D,'E,'M,'O,32,'P,'R,'O
004A 00 .byte 0
.area text(rom, con, rel)
0000 .dbfile E:\MYWORK~1\开发设计\EasyAVR\程序范例\Mega16程序包\完成整理\LCD1602\main.c
0000 .dbfunc e main _main fV
0000 ; i -> R20,R21
0000 ; test -> y+60
0000 ; ver -> y+48
0000 ; str1 -> y+32
0000 ; str -> y+19
0000 ; clr -> y+2
.even
0000 _main::
0000 EF97 sbiw R28,63
0002 2E97 sbiw R28,14 ; offset = 77
0004 .dbline -1
0004 .dbline 42
0004 ; /****************************************Copyright (c)**************************************************
0004 ; ** ADEmbed Development Co.,LTD.
0004 ; ** http://www.adembed.com
0004 ; **--------------File Info-------------------------------------------------------------------------------
0004 ; ** File name: mian.c
0004 ; ** Last modified Date: 2008-10-13
0004 ; ** Last Version: 1.0
0004 ; ** Descriptions: lcd1602 test.
0004 ; **
0004 ; **------------------------------------------------------------------------------------------------------
0004 ; ** Created by: zhoufeng
0004 ; ** Created date: 2008-10-13
0004 ; ** Version: 1.0
0004 ; ** Descriptions:
0004 ; **
0004 ; **------------------------------------------------------------------------------------------------------
0004 ; ** Modified by: junbolu
0004 ; ** Modified date: 2008-12-13
0004 ; ** Version:
0004 ; ** Descriptions:
0004 ; **
0004 ; **------------------------------------------------------------------------------------------------------
0004 ; **ICC-AVR application builder : 2008-12-13
0004 ; **Target : M16
0004 ; **Crystal: 7.3728Mhz
0004 ; **
0004 ; **
0004 ; **描述:这是一个Lcd1602的测试程序。LCD1602型号为JHD162A 使用8位并口数据传输.
0004 ; **
0004 ; **
0004 ; **涉及知识点:
0004 ; **
0004 ; **
0004 ; **
0004 ; *******************************************************************************************************/
0004 ; #include <iom16v.h>
0004 ; #include <macros.h>
0004 ; #include"lcd1602.h"
0004 ; #include<ctype.h>
0004 ;
0004 ; void main(void)
0004 ; {
0004 .dbline 43
0004 ; char str[]=" Welcome ";
0004 80E0 ldi R24,<L2
0006 90E0 ldi R25,>L2
0008 FE01 movw R30,R28
000A 7396 adiw R30,19
000C 0DE0 ldi R16,13
000E 10E0 ldi R17,0
0010 FA93 st -y,R31
0012 EA93 st -y,R30
0014 9A93 st -y,R25
0016 8A93 st -y,R24
0018 0E940000 xcall asgncblk
001C .dbline 44
001C ; char clr[]=" ";
001C 80E0 ldi R24,<L3
001E 90E0 ldi R25,>L3
0020 FE01 movw R30,R28
0022 3296 adiw R30,2
0024 01E1 ldi R16,17
0026 10E0 ldi R17,0
0028 FA93 st -y,R31
002A EA93 st -y,R30
002C 9A93 st -y,R25
002E 8A93 st -y,R24
0030 0E940000 xcall asgncblk
0034 .dbline 45
0034 ; char str1[]="www.adembed.com";
0034 80E0 ldi R24,<L4
0036 90E0 ldi R25,>L4
0038 FE01 movw R30,R28
003A B096 adiw R30,32
003C 00E1 ldi R16,16
003E 10E0 ldi R17,0
0040 FA93 st -y,R31
0042 EA93 st -y,R30
0044 9A93 st -y,R25
0046 8A93 st -y,R24
0048 0E940000 xcall asgncblk
004C .dbline 46
004C ; char ver[]= "EasyAVR AV3";
004C 80E0 ldi R24,<L5
004E 90E0 ldi R25,>L5
0050 FE01 movw R30,R28
0052 F096 adiw R30,48
0054 0CE0 ldi R16,12
0056 10E0 ldi R17,0
0058 FA93 st -y,R31
005A EA93 st -y,R30
005C 9A93 st -y,R25
005E 8A93 st -y,R24
0060 0E940000 xcall asgncblk
0064 .dbline 47
0064 ; char test[]="1602LCD DEMO PRO";
0064 80E0 ldi R24,<L6
0066 90E0 ldi R25,>L6
0068 FE01 movw R30,R28
006A FC96 adiw R30,60
006C 01E1 ldi R16,17
006E 10E0 ldi R17,0
0070 FA93 st -y,R31
0072 EA93 st -y,R30
0074 9A93 st -y,R25
0076 8A93 st -y,R24
0078 0E940000 xcall asgncblk
007C .dbline 48
007C ; unsigned int i=0;
007C 4427 clr R20
007E 5527 clr R21
0080 .dbline 49
0080 ; lcd_init();
0080 0E940000 xcall _lcd_init
0084 .dbline 50
0084 ; delay_nms(10);
0084 0AE0 ldi R16,10
0086 10E0 ldi R17,0
0088 0E940000 xcall _delay_nms
008C .dbline 51
008C ; lcd_disp_string(0,0,str);
008C CE01 movw R24,R28
008E 4396 adiw R24,19
0090 9983 std y+1,R25
0092 8883 std y+0,R24
0094 2227 clr R18
0096 3327 clr R19
0098 0027 clr R16
009A 1127 clr R17
009C 0E940000 xcall _lcd_disp_string
00A0 .dbline 52
00A0 ; delay_nms(10);//短延时是必要的
00A0 0AE0 ldi R16,10
00A2 10E0 ldi R17,0
00A4 0E940000 xcall _delay_nms
00A8 .dbline 53
00A8 ; lcd_disp_string(1,0,str1);
00A8 CE01 movw R24,R28
00AA 8096 adiw R24,32
00AC 9983 std y+1,R25
00AE 8883 std y+0,R24
00B0 2227 clr R18
00B2 3327 clr R19
00B4 01E0 ldi R16,1
00B6 10E0 ldi R17,0
00B8 0E940000 xcall _lcd_disp_string
00BC .dbline 54
00BC ; delay_nms(2000);
00BC 00ED ldi R16,2000
00BE 17E0 ldi R17,7
00C0 0E940000 xcall _delay_nms
00C4 .dbline 55
00C4 ; lcd_disp_string(0,0,clr);
00C4 CE01 movw R24,R28
00C6 0296 adiw R24,2
00C8 9983 std y+1,R25
00CA 8883 std y+0,R24
00CC 2227 clr R18
00CE 3327 clr R19
00D0 0027 clr R16
00D2 1127 clr R17
00D4 0E940000 xcall _lcd_disp_string
00D8 .dbline 56
00D8 ; delay_nms(10);//短延时是必要的
00D8 0AE0 ldi R16,10
00DA 10E0 ldi R17,0
00DC 0E940000 xcall _delay_nms
00E0 .dbline 57
00E0 ; lcd_disp_string(0,0,ver);
00E0 CE01 movw R24,R28
00E2 C096 adiw R24,48
00E4 9983 std y+1,R25
00E6 8883 std y+0,R24
00E8 2227 clr R18
00EA 3327 clr R19
00EC 0027 clr R16
00EE 1127 clr R17
00F0 0E940000 xcall _lcd_disp_string
00F4 .dbline 58
00F4 ; delay_nms(10);//短延时是必要的
00F4 0AE0 ldi R16,10
00F6 10E0 ldi R17,0
00F8 0E940000 xcall _delay_nms
00FC .dbline 59
00FC ; lcd_disp_string(1,0,clr);
00FC CE01 movw R24,R28
00FE 0296 adiw R24,2
0100 9983 std y+1,R25
0102 8883 std y+0,R24
0104 2227 clr R18
0106 3327 clr R19
0108 01E0 ldi R16,1
010A 10E0 ldi R17,0
010C 0E940000 xcall _lcd_disp_string
0110 .dbline 60
0110 ; delay_nms(10);//短延时是必要的
0110 0AE0 ldi R16,10
0112 10E0 ldi R17,0
0114 0E940000 xcall _delay_nms
0118 .dbline 61
0118 ; lcd_disp_string(1,0,test);
0118 CE01 movw R24,R28
011A CC96 adiw R24,60
011C 9983 std y+1,R25
011E 8883 std y+0,R24
0120 2227 clr R18
0122 3327 clr R19
0124 01E0 ldi R16,1
0126 10E0 ldi R17,0
0128 0E940000 xcall _lcd_disp_string
012C L7:
012C .dbline 63
012C .dbline 65
012C .dbline 66
012C L8:
012C .dbline 62
012C FFCF xjmp L7
012E X0:
012E .dbline -2
012E L1:
012E EF96 adiw R28,63
0130 2E96 adiw R28,14 ; offset = 77
0132 .dbline 0 ; func end
0132 0895 ret
0134 .dbsym r i 20 i
0134 .dbsym l test 60 A[17:17]c
0134 .dbsym l ver 48 A[12:12]c
0134 .dbsym l str1 32 A[16:16]c
0134 .dbsym l str 19 A[13:13]c
0134 .dbsym l clr 2 A[17:17]c
0134 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -