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

📄 meau.s

📁 AVR单片机 液晶菜单程序 使用的1602B_LCD液晶
💻 S
📖 第 1 页 / 共 3 页
字号:
L56:
	.dbline 239
	ldi R18,1
	ldi R19,0
	clr R16
	clr R17
	xcall _LCD_write_char
	.dbline 242
	xcall _set_data_function
	.dbline 243
	.dbline 338
L55:
	.dbline -2
L53:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e set_data_function _set_data_function fV
	.even
_set_data_function::
	.dbline -1
	.dbline 346
; 		case  set_data:
; 		      LCD_write_char(0, 0x01);
; 			
; 			// flag_cd=100;//showdata(year,month,date);
; 	      set_data_function();  
; 	          break;
; /*
; 		case  set_data:
; 		      LCD_write_char(0, 0x01);
; 			
; 			// flag_cd=100;//showdata(year,month,date);
; 	      set_data_function();  
; 	          break;
; 	    case  set_time2:
; 		      LCD_write_char(0, 0x01);
; 			 //lag_cd=101;
; 		 set_time();  
; 	          break;
; 	    case  ID_Number:
; 		      LCD_write_char(0, 0x01);
; 		      com_setup_function(00,0x05);
; 			
; 	          break;
; 	    case  KZ_Number:
; 		      LCD_write_char(0, 0x01);
; 			  com_setup_function(06,0x02);
; 			
; 	          break;
; 	    case  speak_Second:
; 		      LCD_write_char(0, 0x01);
; 			  flag_cd=104;
; 			  com_setup_function(8,0x02);
; 		      break;
; 		case  Police_Service_1:
; 		      LCD_write_char(0, 0x01);
; 			  back_setup_function(0x50);
; 			
; 		      break;	  
; 	    case  Police_Service_2:
; 	          LCD_write_char(0, 0x01);
; 			  back_setup_function(0x51);
; 			
; 	          break;	
; 	    case  Police_Service_3:
; 	           LCD_write_char(0, 0x01);
; 		       back_setup_function(0x52);
; 		  
; 		        break;
; 	    case  Fireman_Service_1:
; 		        LCD_write_char(0, 0x01);
; 		     back_setup_function(0x53);
; 		    
; 	            break;
; 	    case  Fireman_Service_2:
; 		        LCD_write_char(0, 0x01);
; 		     back_setup_function(0x54);
; 		   
; 	            break;
; 	    case  Fireman_Service_3:
; 		        LCD_write_char(0, 0x01);
; 		   back_setup_function(0x55);
; 		    
; 	             break;
; 		case  secure_man_1:	
; 		      LCD_write_char(0, 0x01);
; 			 back_setup_function(0x56);
; 			
; 			     break;
; 		case secure_man_2: 
; 		  LCD_write_char(0, 0x01);
; 			 back_setup_function(0x57);
; 			
; 			     break;
; 		case secure_man_3:
;            LCD_write_char(0, 0x01);
; 			 back_setup_function(0x58);
; 			 break;
; 		case secret_number_1:	
; 		   LCD_write_char(0, 0x01);
; 		   back_setup_function(0x59);
; 			     break;
; 		case secret_number_2:	
; 		   LCD_write_char(0, 0x01);
; 		   back_setup_function(0x5a);
; 			     break;
; 		case SN:	
; 		   LCD_write_char(0, 0x01);
; 		   com_setup_function(230,15);
; 			     break;
; 		case new_record:
; 		  LCD_write_char(0, 0x01);
; 		  page_show();
; 		   // history_show();
; 			   break;
; 		case quit:
; 		   LCD_write_char(0, 0x01);
; 		   quit_fun();
; 		*/ 
; 
; 	    default:
; 	           break;
; 		
; 		} 
; 		
; 	}
; 
;  
; void set_data_function(void)
; {
	.dbline 348
; // en=1;
;  flag_cd=0;
	clr R2
	clr R3
	sts _flag_cd+1,R3
	sts _flag_cd,R2
	.dbline -2
L57:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e page_show _page_show fV
	.even
_page_show::
	xcall push_gset1
	.dbline -1
	.dbline 356
; }
; 	
;  
; /*------------------------------------------------------------------------------*/
; /*                                 菜单翻页
; /*------------------------------------------------------------------------------*/
; void page_show(void)            
; 	{
L59:
	.dbline 359
; 	
;   do
;    {
	.dbline 360
;   TKEY=kbscan();
	xcall _kbscan
	sts _TKEY,R16
	.dbline 361
;    switch (TKEY)    
	mov R20,R16
	clr R21
	cpi R20,2
	ldi R30,0
	cpc R21,R30
	breq L69
	cpi R20,3
	ldi R30,0
	cpc R21,R30
	breq L66
	cpi R20,4
	ldi R30,0
	cpc R21,R30
	brne X4
	xjmp L63
X4:
	xjmp L62
X3:
	.dbline 362
;   	   {
	.dbline 364
; 		 case Key_Esc:
; 		 	  break;
L66:
	.dbline 366
; 		case  Key_Up:
; 				if (M==1)
	lds R24,_M
	lds R25,_M+1
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	brne L67
	.dbline 367
; 					M=700;
	ldi R24,700
	ldi R25,2
	sts _M+1,R25
	sts _M,R24
	xjmp L68
L67:
	.dbline 369
; 				else 
; 					M--;
	lds R24,_M
	lds R25,_M+1
	sbiw R24,1
	sts _M+1,R25
	sts _M,R24
L68:
	.dbline 370
; 					LCD_write_char(0,0x01);
	ldi R18,1
	ldi R19,0
	clr R16
	clr R17
	xcall _LCD_write_char
	.dbline 371
; 						history_show();
	xcall _history_show
	.dbline 372
; 					break;
	xjmp L63
L69:
	.dbline 374
; 		case Key_Down:
; 				if (M==700)
	lds R24,_M
	lds R25,_M+1
	cpi R24,188
	ldi R30,2
	cpc R25,R30
	brne L70
	.dbline 375
; 				   M=1;
	ldi R24,1
	ldi R25,0
	sts _M+1,R25
	sts _M,R24
	xjmp L71
L70:
	.dbline 377
; 				else 
; 					M++;
	lds R24,_M
	lds R25,_M+1
	adiw R24,1
	sts _M+1,R25
	sts _M,R24
L71:
	.dbline 378
; 					LCD_write_char(0,0x01);
	ldi R18,1
	ldi R19,0
	clr R16
	clr R17
	xcall _LCD_write_char
	.dbline 379
; 				history_show();
	xcall _history_show
	.dbline 380
; 					break;
L62:
L63:
	.dbline 382
L60:
	.dbline 382
; 	    }   
; } while(TKEY!=Key_Esc);
	lds R24,_TKEY
	cpi R24,4
	breq X5
	xjmp L59
X5:
	.dbline 383
;  TKEY=101;
	ldi R24,101
	sts _TKEY,R24
	.dbline 384
;  LCD_write_char(0,0x01);         //按ESC后退出设置
	ldi R18,1
	ldi R19,0
	clr R16
	clr R17
	xcall _LCD_write_char
	.dbline 385
;  Judge_Menu_ID();
	xcall _Judge_Menu_ID
	.dbline 386
;  LCD_write_onechar(KeyTab[iMenuID].poiadd,'*');
	ldi R18,42
	lds R2,_iMenuID
	lds R3,_iMenuID+1
	ldi R16,13
	ldi R17,0
	push R18
	push R19
	movw R18,R2
	xcall empy16s
	movw R30,R16
	pop R19
	pop R18
	ldi R24,<_KeyTab+12
	ldi R25,>_KeyTab+12
	add R30,R24
	adc R31,R25
	ldd R16,z+0
	xcall _LCD_write_onechar
	.dbline 387
;  flag_cd=0;
	clr R2
	clr R3
	sts _flag_cd+1,R3
	sts _flag_cd,R2
	.dbline -2
L58:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e history_show _history_show fV
;     tem_ddress -> y+20
;       eventemp -> y+0
	.even
_history_show::
	sbiw R28,22
	.dbline -1
	.dbline 394
	.dbline 398
	ldd R2,y+21
	ldd R3,y+20
	sts _RAd+1,R3
	sts _RAd,R2
	.dbline 399
	lds R18,_M
	lds R19,_M+1
	ldi R16,9
	ldi R17,0
	xcall empy16s
	lds R2,_RAd
	lds R3,_RAd+1
	cp R16,R2
	cpc R17,R3
	brlo X6
	xjmp L75
X6:
	.dbline 400
	.dbline 401
	lds R18,_M
	lds R19,_M+1
	ldi R16,9
	ldi R17,0
	xcall empy16s
	lds R2,_RAd
	lds R3,_RAd+1
	sub R2,R16
	sbc R3,R17
	sts _NOWADDR+1,R3
	sts _NOWADDR,R2
	.dbline 402
	ldi R18,1
	ldi R19,0
	clr R16
	clr R17
	xcall _LCD_write_char
	.dbline 404
	ldd R18,y+0
	swap R18
	andi R18,#0x0F
	subi R18,208    ; addi 48
	ldi R16,130
	xcall _LCD_write_onechar
	.dbline 405
	ldi R17,16
	ldd R16,y+0
	xcall mod8u
	mov R18,R16
	subi R18,208    ; addi 48
	ldi R16,131
	xcall _LCD_write_onechar
	.dbline 406
	ldi R18,46
	ldi R16,132
	xcall _LCD_write_onechar
	.dbline 407
	ldd R18,y+1
	swap R18
	andi R18,#0x0F
	subi R18,208    ; addi 48
	ldi R16,133
	xcall _LCD_write_onechar
	.dbline 408
	ldi R17,16
	ldd R16,y+1
	xcall mod8u
	mov R18,R16
	subi R18,208    ; addi 48
	ldi R16,134
	xcall _LCD_write_onechar
	.dbline 409
	ldi R18,46
	ldi R16,135
	xcall _LCD_write_onechar
	.dbline 410
	ldd R18,y+2
	swap R18
	andi R18,#0x0F
	subi R18,208    ; addi 48
	ldi R16,136
	xcall _LCD_write_onechar
	.dbline 411
	ldi R17,16
	ldd R16,y+2
	xcall mod8u
	mov R18,R16
	subi R18,208    ; addi 48
	ldi R16,137
	xcall _LCD_write_onechar
	.dbline 412
	ldi R18,46
	ldi R16,138
	xcall _LCD_write_onechar
	.dbline 413
	ldd R18,y+3
	swap R18
	andi R18,#0x0F
	subi R18,208    ; addi 48
	ldi R16,139
	xcall _LCD_write_onechar
	.dbline 414
	ldi R17,16
	ldd R16,y+3
	xcall mod8u
	mov R18,R16
	subi R18,208    ; addi 48
	ldi R16,140
	xcall _LCD_write_onechar
	.dbline 415
	ldi R18,46
	ldi R16,141
	xcall _LCD_write_onechar
	.dbline 416
	ldd R18,y+4
	swap R18
	andi R18,#0x0F
	subi R18,208    ; addi 48
	ldi R16,192
	xcall _LCD_write_onechar
	.dbline 417
	ldi R17,16
	ldd R16,y+4
	xcall mod8u
	mov R18,R16
	subi R18,208    ; addi 48
	ldi R16,193
	xcall _LCD_write_onechar
	.dbline 418
	ldi R18,58
	ldi R16,194
	xcall _LCD_write_onechar
	.dbline 419
	ldd R18,y+5
	andi R18,240
	swap R18
	andi R18,#0x0F
	ori R18,48
	ldi R16,195
	xcall _LCD_write_onechar
	.dbline 420
	ldd R18,y+5
	andi R18,15
	ori R18,48
	ldi R16,196
	xcall _LCD_write_onechar
	.dbline 421
	ldi R18,32
	ldi R16,197
	xcall _LCD_write_onechar
	.dbline 422
	ldd R18,y+6
	swap R18
	andi R18,#0x0F
	subi R18,208    ; addi 48
	ldi R16,198
	xcall _LCD_write_onechar
	.dbline 423
	ldi R17,16
	ldd R16,y+6
	xcall mod8u
	mov R18,R16
	subi R18,208    ; addi 48
	ldi R16,199
	xcall _LCD_write_onechar
	.dbline 424
	ldi R18,32
	ldi R16,200
	xcall _LCD_write_onechar
	.dbline 425
	ldd R18,y+7
	andi R18,240
	swap R18
	andi R18,#0x0F
	ori R18,48
	ldi R16,201
	xcall _LCD_write_onechar
	.dbline 426
	ldd R18,y+7
	andi R18,15
	ori R18,48
	ldi R16,202
	xcall _LCD_write_onechar
	.dbline 427
	ldi R18,32
	ldi R16,203
	xcall _LCD_write_onechar
	.dbline 429
	ldd R18,y+8
	andi R18,240
	swap R18
	andi R18,#0x0F
	ori R18,48
	ldi R16,204
	xcall _LCD_write_onechar
	.dbline 430
	ldd R18,y+8
	andi R18,15
	ori R18,48
	ldi R16,205
	xcall _LCD_write_onechar
	.dbline 432
L75:
	.dbline -2
L73:
	adiw R28,22
	.dbline 0 ; func end
	ret
	.dbsym l tem_ddress 20 A[2:2]c
	.dbsym l eventemp 0 A[20:20]c
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
_NOWADDR::
	.blkb 2
	.dbsym e NOWADDR _NOWADDR i
_RAd::
	.blkb 2
	.dbsym e RAd _RAd i
_function_flag1::
	.blkb 2
	.dbsym e function_flag1 _function_flag1 I
_function_flag2::
	.blkb 2
	.dbsym e function_flag2 _function_flag2 I
_TKEY::
	.blkb 1
	.dbsym e TKEY _TKEY c
_KZNUM::
	.blkb 2
	.dbsym e KZNUM _KZNUM A[2:2]c
_IDNUM::
	.blkb 2
	.dbsym e IDNUM _IDNUM A[2:2]c
_M::
	.blkb 2
	.dbsym e M _M I
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L51:
	.blkb 3
	.area idata
	.byte 'S,'N,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L49:
	.blkb 15
	.area idata
	.byte 'S,'e,'c,'r,'e,'t,95,'n,'u,'m,'b,'e,'r,50,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L48:
	.blkb 15
	.area idata
	.byte 'S,'e,'c,'r,'e,'t,95,'n,'u,'m,'b,'e,'r,49,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L46:
	.blkb 9
	.area idata
	.byte 'S,'e,'c,'u,'r,'e,95,51,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L45:
	.blkb 9
	.area idata
	.byte 'S,'e,'c,'u,'r,'e,95,50,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L43:
	.blkb 9
	.area idata
	.byte 'S,'e,'c,'u,'r,'e,95,49,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L42:
	.blkb 10
	.area idata
	.byte 'F,'i,'r,'e,'m,'a,'n,95,51,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L40:
	.blkb 10
	.area idata
	.byte 'F,'i,'r,'e,'m,'a,'n,95,50,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L39:
	.blkb 10
	.area idata
	.byte 'F,'i,'r,'e,'m,'a,'n,95,49,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L37:
	.blkb 9
	.area idata
	.byte 'P,'o,'l,'i,'c,'e,95,51,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L36:
	.blkb 9
	.area idata
	.byte 'P,'o,'l,'i,'c,'e,95,50,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L34:
	.blkb 9
	.area idata
	.byte 'P,'o,'l,'i,'c,'e,95,49,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L33:
	.blkb 13
	.area idata
	.byte 'S,'p,'e,'a,'k,95,'S,'e,'c,'o,'n,'d,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L31:
	.blkb 10
	.area idata
	.byte 'K,'Z,95,'N,'u,'m,'b,'e,'r,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L30:
	.blkb 10
	.area idata
	.byte 'I,'D,95,'N,'u,'m,'b,'e,'r,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L28:
	.blkb 10
	.area idata
	.byte 'S,'e,'t,95,'t,'i,'m,'e,50,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L27:
	.blkb 9
	.area idata
	.byte 'S,'e,'t,95,'d,'a,'t,'a,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L25:
	.blkb 5
	.area idata
	.byte 'Q,'U,'I,'T,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L24:
	.blkb 7
	.area idata
	.byte 'O,'U,'T,'P,'U,'T,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L22:
	.blkb 11
	.area idata
	.byte 'N,'E,'W,32,'R,'E,'C,'O,'R,'D,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L21:
	.blkb 6
	.area idata
	.byte 'S,'E,'T,'U,'P,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c
L19:
	.blkb 14
	.area idata
	.byte 'y,'u,'e,'y,'o,'u,46,'c,'o,'m,46,'t,'w,0
	.area data(ram, con, rel)
	.dbfile E:\avr\1602B_LCD\meau.c

⌨️ 快捷键说明

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