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

📄 main.s

📁 meg16 的所有功能实例
💻 S
字号:
	.module main.c
	.area lit(rom, con, rel)
L2:
	.byte 32,32,32,32,'W,'e,'l,'c,'o,'m,'e,32,0
L3:
	.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
	.byte 0
L4:
	.byte 'w,'w,'w,46,'a,'d,'e,'m,'b,'e,'d,46,'c,'o,'m,0
L5:
	.byte 'E,'a,'s,'y,'A,'V,'R,32,'A,'V,51,0
L6:
	.byte 49,54,48,50,'L,'C,'D,32,'D,'E,'M,'O,32,'P,'R,'O
	.byte 0
	.area text(rom, con, rel)
	.dbfile E:\MYWORK~1\开发设计\EasyAVR\程序范例\Mega16程序包\完成整理\LCD1602\main.c
	.dbfunc e main _main fV
;              i -> R20,R21
;           test -> y+60
;            ver -> y+48
;           str1 -> y+32
;            str -> y+19
;            clr -> y+2
	.even
_main::
	sbiw R28,63
	sbiw R28,14  ; offset = 77
	.dbline -1
	.dbline 42
; /****************************************Copyright (c)**************************************************
; **                               ADEmbed Development Co.,LTD.                                    
; **                                 http://www.adembed.com
; **--------------File Info-------------------------------------------------------------------------------
; ** File name:			mian.c
; ** Last modified Date:  2008-10-13
; ** Last Version:		1.0
; ** Descriptions:		lcd1602 test.
; ** 
; **------------------------------------------------------------------------------------------------------
; ** Created by:			zhoufeng
; ** Created date:		2008-10-13
; ** Version:				1.0
; ** Descriptions:		
; **
; **------------------------------------------------------------------------------------------------------
; ** Modified by:         junbolu
; ** Modified date:       2008-12-13
; ** Version:
; ** Descriptions:
; **
; **------------------------------------------------------------------------------------------------------
; **ICC-AVR application builder : 2008-12-13
; **Target : M16
; **Crystal: 7.3728Mhz
; **
; **
; **描述:这是一个Lcd1602的测试程序。LCD1602型号为JHD162A 使用8位并口数据传输.
; **      
; **
; **涉及知识点:
; **          
; **          
; **          
; *******************************************************************************************************/
; #include <iom16v.h>
; #include <macros.h>
; #include"lcd1602.h"
; #include<ctype.h>
; 
; void main(void)
; {
	.dbline 43
;  char str[]="    Welcome ";
	ldi R24,<L2
	ldi R25,>L2
	movw R30,R28
	adiw R30,19
	ldi R16,13
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 44
;  char clr[]="                ";
	ldi R24,<L3
	ldi R25,>L3
	movw R30,R28
	adiw R30,2
	ldi R16,17
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 45
;  char str1[]="www.adembed.com";
	ldi R24,<L4
	ldi R25,>L4
	movw R30,R28
	adiw R30,32
	ldi R16,16
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 46
;  char ver[]= "EasyAVR AV3";
	ldi R24,<L5
	ldi R25,>L5
	movw R30,R28
	adiw R30,48
	ldi R16,12
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 47
;  char test[]="1602LCD DEMO PRO"; 
	ldi R24,<L6
	ldi R25,>L6
	movw R30,R28
	adiw R30,60
	ldi R16,17
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 48
;  unsigned int i=0;
	clr R20
	clr R21
	.dbline 49
;  lcd_init();
	xcall _lcd_init
	.dbline 50
;  delay_nms(10);
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 51
;  lcd_disp_string(0,0,str);
	movw R24,R28
	adiw R24,19
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	clr R16
	clr R17
	xcall _lcd_disp_string
	.dbline 52
;   delay_nms(10);//短延时是必要的
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 53
;  lcd_disp_string(1,0,str1);
	movw R24,R28
	adiw R24,32
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	ldi R16,1
	ldi R17,0
	xcall _lcd_disp_string
	.dbline 54
;  delay_nms(2000);
	ldi R16,2000
	ldi R17,7
	xcall _delay_nms
	.dbline 55
;  lcd_disp_string(0,0,clr);
	movw R24,R28
	adiw R24,2
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	clr R16
	clr R17
	xcall _lcd_disp_string
	.dbline 56
;   delay_nms(10);//短延时是必要的
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 57
;  lcd_disp_string(0,0,ver);
	movw R24,R28
	adiw R24,48
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	clr R16
	clr R17
	xcall _lcd_disp_string
	.dbline 58
;   delay_nms(10);//短延时是必要的
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 59
;  lcd_disp_string(1,0,clr); 
	movw R24,R28
	adiw R24,2
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	ldi R16,1
	ldi R17,0
	xcall _lcd_disp_string
	.dbline 60
;   delay_nms(10);//短延时是必要的
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 61
;  lcd_disp_string(1,0,test); 
	movw R24,R28
	adiw R24,60
	std y+1,R25
	std y+0,R24
	clr R18
	clr R19
	ldi R16,1
	ldi R17,0
	xcall _lcd_disp_string
L7:
	.dbline 63
	.dbline 65
	.dbline 66
L8:
	.dbline 62
	xjmp L7
X0:
	.dbline -2
L1:
	adiw R28,63
	adiw R28,14  ; offset = 77
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym l test 60 A[17:17]c
	.dbsym l ver 48 A[12:12]c
	.dbsym l str1 32 A[16:16]c
	.dbsym l str 19 A[13:13]c
	.dbsym l clr 2 A[17:17]c
	.dbend

⌨️ 快捷键说明

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