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

📄 lcd_left.s

📁 keyboard 包含三个例子程序 keyboard.c、keyboard1.c和keyboard2.c keyboard.c :使用keypad函数
💻 S
字号:
	.module lcd_left.c
	.area text(rom, con, rel)
	.dbfile D:\ICC-AVR\examples.sl\lcd_left.c
	.dbfunc s lcd_shift _lcd_shift fI
;              i -> R20
;              j -> R22
;              p -> R20
;              n -> R10
	.even
_lcd_shift::
	rcall push_gset3
	mov R20,R18
	mov R10,R16
	.dbline 7{
; /************************************************
;             LCD字符移位函数
; 	n:移动的次数 
; 	p:移动方向,'l'或'L'表示左移,'r'或'R'表示右移		
; *************************************************/
; void lcd_shift(unsigned char n,unsigned char p)
;       {
	.dbline 8
;        unsigned char i,j=1;
	ldi R22,1
	.dbline 9
; 	   switch (p)
	clr R21
	cpi R20,82
	ldi R30,0
	cpc R21,R30
	breq L6
	ldi R24,82
	ldi R25,0
	cp R24,R20
	cpc R25,R21
	brlt L10
L9:
	cpi R20,76
	ldi R30,0
	cpc R21,R30
	breq L8
	rjmp L1
L10:
	cpi R20,108
	ldi R30,0
	cpc R21,R30
	breq L7
	cpi R20,108
	ldi R30,0
	cpc R21,R30
	brlt L1
L11:
	cpi R20,114
	ldi R30,0
	cpc R21,R30
	breq L5
	rjmp L1
X0:
	.dbline 10
;     	   {
L5:
	.dbline 11
;     	    case 'r':i=0x1c;break;
	ldi R20,28
	.dbline 11
	rjmp L13
L6:
	.dbline 12
; 			case 'R':i=0x1c;break;
	ldi R20,28
	.dbline 12
	rjmp L13
L7:
	.dbline 13
;     	    case 'l':i=0x18;break;    
	ldi R20,24
	.dbline 13
	rjmp L13
L8:
	.dbline 14
; 			case 'L':i=0x18;break;    
	ldi R20,24
	.dbline 14
	.dbline 15
;     	    default:return;
	rjmp L13
L12:
	.dbline 18
	.dbline 19
	inc R22
	.dbline 20
	clr R18
	clr R19
	mov R16,R20
	clr R17
	rcall _write_lcd
	.dbline 21
L13:
	.dbline 17
;     		}
; 	   while (j<=n)
	cp R10,R22
	brsh L12
	.dbline 22}
; 	       {
; 		    j++;
; 			write_lcd(i,0);
; 		   } 	    
; 	  }
L1:
	rcall pop_gset3
	ret
	.dbsym r i 20 c
	.dbsym r j 22 c
	.dbsym r p 20 c
	.dbsym r n 10 c

⌨️ 快捷键说明

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