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

📄 lcdtest.lst

📁 l602驱动程序 数据总线为4根 增加了io利用率
💻 LST
📖 第 1 页 / 共 3 页
字号:
 170               	ilogue start */
 172 004c 61E0      	.LM11:
 173 004e 85E0      		pop r17
 174 0050 0E94 0000 		pop r16
 175 0054 80E0      		ret
 177 0058 0E94 0000 	.Lscope2:
 178               		.data
 179               	.LC2:
  36:lcdtest.c     **** 	}
  37:lcdtest.c     **** else
  38:lcdtest.c     ****   	{
  39:lcdtest.c     **** 	}
  40:lcdtest.c     **** }
 180               	....wait you..."
 181               		.text
 183 005e 0F91      	.global	key_process
 185               	key_process:
 187               	.LM12:
 188               	.LFBB3:
 189 0019 2E2E 2E2E 	/* prologue: function */
 189      7761 6974 
 189      2079 6F75 
 189      2E2E 2E00 
 190               	/* frame size = 0 */
 192               	.LM13:
 193               		sbis 57-32,7
 194               		rjmp .L11
  41:lcdtest.c     **** /*
  42:lcdtest.c     **** SIGNAL(SIG_INTERRUPT0) 
  43:lcdtest.c     **** { 
  44:lcdtest.c     **** uchar num;
  45:lcdtest.c     **** DelayMs(100); 
  46:lcdtest.c     **** DDRC|=0xf0; //定义为输入引脚
  47:lcdtest.c     **** PORTC=_BV(PC0)|_BV(PC1)|_BV(PC2)|_BV(PC3);//键盘引脚上拉电阻开 
  48:lcdtest.c     **** num=PINC&0x0f;
  49:lcdtest.c     **** display_number(num,0); 
  50:lcdtest.c     **** GIFR|=_BV(INTF0);//写 1 清除中断标志,
  51:lcdtest.c     **** }
  52:lcdtest.c     ****  */
  53:lcdtest.c     **** void    key_process()
  54:lcdtest.c     **** 	   {
 195               	,.LM14-.LFBB3
 196               	.LM14:
 197               		in r24,54-32
 198               	.LBB38:
 199               	.LBB39:
  55:lcdtest.c     **** 	  // unsigned char time,i;
  56:lcdtest.c     **** 	   uchar key_num,temp_num;
  57:lcdtest.c     **** 	   
  58:lcdtest.c     **** 		     //if(bit_is_set(PINA,7))
  59:lcdtest.c     **** 		     if(PINA&0x80)
 200               	0:
 201               	.LBB41:
 203 0064 00C0      	.Ltext3:
  60:lcdtest.c     **** 			{
  61:lcdtest.c     **** 			
  62:lcdtest.c     **** 			key_num=(PINB&0x0f);
 204               	abn	68,0,83,.LM15-.LFBB3
 205               	.LM15:
 206 0066 86B3      		ldi r25,lo8(1)
 207               	/* #APP */
 208               	 ;  83 "c:/winavr-20080610/lib/gcc/../../avr/include/util/delay_basic.h" 1
 209               		1: dec r25
 210               		brne 1b
 211               	 ;  0 "" 2
 212               	/* #NOAPP */
 213               	.LBE41:
 214               	.LBE40:
 215 0068 91E0      	.LBE39:
 216               	.LBE38:
 218 006a 9A95      	.Ltext4:
 220               	.LM16:
 221               		in r25,54-32
 222               		andi r25,lo8(15)
 223               		andi r24,lo8(15)
 224               		cp r25,r24
 225               		brne .L10
 227               	.LM17:
  63:lcdtest.c     ****                      temp_num=key_num;
  64:lcdtest.c     **** 			_delay_us(0.3);		 
  65:lcdtest.c     **** 			 //time=0;
  66:lcdtest.c     **** 			 if((key_num=(PINB&0x0f))==temp_num)	 
 228               	,r25
 229               		call display_number
 230 006e 96B3      		ret
 231 0070 9F70      	.L10:
 233 0074 9817      	.LM18:
 234 0076 01F4      		ldi r22,lo8(0)
  67:lcdtest.c     **** 			      {     
  68:lcdtest.c     **** 			 // PORTC=key_num;
  69:lcdtest.c     **** 			  display_number(key_num,0);	
 235               	4,lo8(1)
 236               		call LCDByte
 238 007a 892F      	.LM19:
 239 007c 0E94 0000 		ldi r24,lo8(.LC2)
 240 0080 0895      		ldi r25,hi8(.LC2)
 241               		call LCDWriteString
  70:lcdtest.c     **** 			 	}
  71:lcdtest.c     **** 			 else
  72:lcdtest.c     **** 			 	{
  73:lcdtest.c     **** 			 LCDClear();
 242               	ret
 244 0082 60E0      	.Lscope3:
 245 0084 81E0      		.data
 246 0086 0E94 0000 	.LC3:
  74:lcdtest.c     **** 			 LCDWriteString("....wait you...");
 247               	ing	"ready config "
 248               	.LC4:
 249 008a 80E0      		.string	"Loading "
 250 008c 90E0      	.LC5:
 251 008e 0E94 0000 		.string	"%"
 252               	.LC6:
 253 0092 0895      		.string	"Hello everyone"
 254               	.LC7:
 255               		.string	"sign you name "
 256               	.LC8:
 257               		.string	"@welcome to@"
 258 0029 7265 6164 	.LC9:
 258      7920 636F 
 258      6E66 6967 
 258      2000 
 259               		.string	"fenggang space"
 260 0037 4C6F 6164 		.text
 260      696E 6720 
 260      00
 262 0040 2500      	.global	main
 264 0042 4865 6C6C 	main:
 264      6F20 6576 
 264      6572 796F 
 264      6E65 00
 266 0051 7369 676E 	.LM20:
 266      2079 6F75 
 266      206E 616D 
 266      6520 00
 267               	.LFBB4:
 268 0060 4077 656C 		push r14
 268      636F 6D65 
 268      2074 6F40 
 268      00
 269               		push r15
 270 006d 6665 6E67 		push r16
 270      6761 6E67 
 270      2073 7061 
 270      6365 00
 271               		push r17
 272               		push r28
 273               		push r29
 274               	/* prologue: function */
 275               	/* frame size = 0 */
  75:lcdtest.c     **** 			 	}
  76:lcdtest.c     **** 		       }
  77:lcdtest.c     **** 		/*
  78:lcdtest.c     **** 			else 
  79:lcdtest.c     **** 			 {
  80:lcdtest.c     **** 			 //LCDClear();
  81:lcdtest.c     **** 			 LCDWriteString("@wait you...@");
  82:lcdtest.c     **** 			 LCDWriteStringXY(0,1,"thanks");	
  83:lcdtest.c     **** 			 }
  84:lcdtest.c     **** 	    */
  85:lcdtest.c     **** 		
  86:lcdtest.c     **** 	}
  87:lcdtest.c     **** 
  88:lcdtest.c     **** 
  89:lcdtest.c     **** void main()
  90:lcdtest.c     **** {
 276               	.LM21:
 277               		ldi r24,lo8(3)
 278               		call InitLCD
 280 0096 FF92      	.LM22:
 281 0098 0F93      		ldi r22,lo8(0)
 282 009a 1F93      		ldi r24,lo8(1)
 283 009c CF93      		call LCDByte
 285               	.LM23:
 286               		ldi r24,lo8(.LC3)
  91:lcdtest.c     **** 	unsigned char i;
  92:lcdtest.c     ****        
  93:lcdtest.c     **** 	//Initialize LCD module
  94:lcdtest.c     **** 	InitLCD(LS_BLINK|LS_ULINE);
 287               	8(.LC3)
 288               		call LCDWriteString
 290 00a2 0E94 0000 	.LM24:
  95:lcdtest.c     **** 
  96:lcdtest.c     **** 	//Clear the screen
  97:lcdtest.c     **** 	LCDClear();
 291               	8,0,97,.LM22-.LFBB4
 292               	.LM22:
 293 00a6 60E0      		ldi r22,lo8(0)
 294 00a8 81E0      		ldi r24,lo8(1)
 295 00aa 0E94 0000 		call LCDByte
  98:lcdtest.c     **** 
  99:lcdtest.c     **** 	//Simple string printing
 100:lcdtest.c     **** 	LCDWriteString("ready config ");
 296               	bn	68,0,100,.LM23-.LFBB4
 297               	.LM23:
 298 00ae 80E0      		ldi r24,lo8(.LC3)
 299 00b0 90E0      		ldi r25,hi8(.LC3)
 300 00b2 0E94 0000 		call LCDWriteString
 101:lcdtest.c     **** 	
 102:lcdtest.c     **** 	//A string on line 2
 103:lcdtest.c     **** 	LCDWriteStringXY(0,1,"Loading ");
 301               	bn	68,0,103,.LM24-.LFBB4
 302               	.LM24:
 303 00b6 61E0      		ldi r22,lo8(1)
 304 00b8 80E0      		ldi r24,lo8(0)
 305 00ba 0E94 0000 		call LCDGotoXY
 306 00be 80E0      		ldi r24,lo8(.LC4)
 307 00c0 90E0      		ldi r25,hi8(.LC4)
 308 00c2 0E94 0000 		call LCDWriteString
 309 00c6 C0E0      		ldi r28,lo8(0)
 310 00c8 D0E0      		ldi r29,hi8(0)
 311               	.LBB42:
 312               	.LBB43:
 314               	.Ltext5:
 316               	.LM25:
 317 00ca 00E0      		ldi r16,lo8(0)
 318 00cc 10E0      		ldi r17,hi8(0)
 319               	.L13:
 320               	.LBE43:
 321               	.LBE42:
 323               	.Ltext6:
 104:lcdtest.c     ****    
 105:lcdtest.c     **** 	//Print some numbers
 106:lcdtest.c     **** 	for (i=0;i<10;i+=1)
 107:lcdtest.c     **** 	{
 108:lcdtest.c     **** 		LCDWriteIntXY(9,1,i,3);
 324               	ude/util/delay_basic.h",132,0,0,.Ltext5

⌨️ 快捷键说明

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