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

📄 yj12864.lst

📁 12864菜单
💻 LST
📖 第 1 页 / 共 5 页
字号:
    03D6 C047      RJMP	0x041E
    03D7 376D      CPI	R22,0x7D
    03D8 E0E0      LDI	R30,0
    03D9 077E      CPC	R23,R30
    03DA F409      BNE	0x03DC
    03DB C03A      RJMP	0x0416
    03DC 376E      CPI	R22,0x7E
    03DD E0E0      LDI	R30,0
    03DE 077E      CPC	R23,R30
    03DF F171      BEQ	0x040E
    03E0 C046      RJMP	0x0427
    03E1 3D67      CPI	R22,0xD7
    03E2 E0E0      LDI	R30,0
    03E3 077E      CPC	R23,R30
    03E4 F409      BNE	0x03E6
    03E5 C03C      RJMP	0x0422
    03E6 3D6B      CPI	R22,0xDB
    03E7 E0E0      LDI	R30,0
    03E8 077E      CPC	R23,R30
    03E9 F181      BEQ	0x041A
    03EA 3D6D      CPI	R22,0xDD
    03EB E0E0      LDI	R30,0
    03EC 077E      CPC	R23,R30
    03ED F121      BEQ	0x0412
    03EE 3D6E      CPI	R22,0xDE
    03EF E0E0      LDI	R30,0
    03F0 077E      CPC	R23,R30
    03F1 F0C1      BEQ	0x040A
    03F2 3D67      CPI	R22,0xD7
    03F3 E0E0      LDI	R30,0
    03F4 077E      CPC	R23,R30
    03F5 F40C      BGE	0x03F7
    03F6 C030      RJMP	0x0427
    03F7 3E67      CPI	R22,0xE7
    03F8 E0E0      LDI	R30,0
    03F9 077E      CPC	R23,R30
    03FA F129      BEQ	0x0420
    03FB 3E6B      CPI	R22,0xEB
    03FC E0E0      LDI	R30,0
    03FD 077E      CPC	R23,R30
    03FE F0C9      BEQ	0x0418
    03FF 3E6D      CPI	R22,0xED
    0400 E0E0      LDI	R30,0
    0401 077E      CPC	R23,R30
    0402 F069      BEQ	0x0410
    0403 3E6E      CPI	R22,0xEE
    0404 E0E0      LDI	R30,0
    0405 077E      CPC	R23,R30
    0406 F009      BEQ	0x0408
    0407 C01F      RJMP	0x0427
(0057) 	{
(0058) 	   case 0xEE:
(0059) 	   		keycode=0x0;
    0408 2744      CLR	R20
(0060) 			break;
    0409 C01D      RJMP	0x0427
(0061) 	   case 0xDE:
(0062) 	   		keycode=0x1;
    040A E041      LDI	R20,1
(0063) 			break;
    040B C01B      RJMP	0x0427
(0064) 	   case 0xBE:
(0065) 	   		keycode=0x2;
    040C E042      LDI	R20,2
(0066) 			break;
    040D C019      RJMP	0x0427
(0067) 	   case 0x7E:
(0068) 	   		keycode=0x3;
    040E E043      LDI	R20,3
(0069) 			break;
    040F C017      RJMP	0x0427
(0070) 	   case 0xED:
(0071) 	   		keycode=0x4;
    0410 E044      LDI	R20,4
(0072) 			break;
    0411 C015      RJMP	0x0427
(0073) 	   case 0xDD:
(0074) 	   		keycode=0x5;
    0412 E045      LDI	R20,5
(0075) 			break;
    0413 C013      RJMP	0x0427
(0076) 	   case 0xBD:
(0077) 	   		keycode=0x6;
    0414 E046      LDI	R20,6
(0078) 			break;
    0415 C011      RJMP	0x0427
(0079) 	   case 0x7D:
(0080) 	   		keycode=0x7;
    0416 E047      LDI	R20,7
(0081) 			break;
    0417 C00F      RJMP	0x0427
(0082) 	   case 0xEB:
(0083) 	   		keycode=0x8;
    0418 E048      LDI	R20,0x8
(0084) 			break;
    0419 C00D      RJMP	0x0427
(0085) 	   case 0xDB:
(0086) 	   		keycode=0x9;
    041A E049      LDI	R20,0x9
(0087) 			break;
    041B C00B      RJMP	0x0427
(0088) 	   case 0xBB:
(0089) 	   		keycode=0xA;
    041C E04A      LDI	R20,0xA
(0090) 			break;
    041D C009      RJMP	0x0427
(0091) 	   case 0x7B:
(0092) 	   		keycode=0xB;
    041E E04B      LDI	R20,0xB
(0093) 			break;
    041F C007      RJMP	0x0427
(0094) 	   case 0xE7:
(0095) 	   		keycode=0xC;
    0420 E04C      LDI	R20,0xC
(0096) 			break;
    0421 C005      RJMP	0x0427
(0097) 	   case 0xD7:
(0098) 	   		keycode=0xD;
    0422 E04D      LDI	R20,0xD
(0099) 			break;
    0423 C003      RJMP	0x0427
(0100) 	   case 0xB7:
(0101) 	   		keycode=0xE;
    0424 E04E      LDI	R20,0xE
(0102) 			break;
    0425 C001      RJMP	0x0427
(0103) 	   case 0x77:
(0104) 	   		keycode=0xF;
    0426 E04F      LDI	R20,0xF
(0105) 			break;
(0106) 	}
(0107)  }
(0108)  return keycode;  		//返回经过翻译的键码
    0427 2F04      MOV	R16,R20
    0428 940E0A72  CALL	pop_gset3
    042A 9508      RET
FILE: C:\DOCUME~1\Administrator\桌面\12864液晶菜单显示时钟不过不能调2\12864.h
(0001) #pragma data:code //以下是字模工具取出的图片数组
(0002) const uchar GDRAM[1024]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0003) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0004) 0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
(0005) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0006) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0007) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0008) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0009) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0010) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0011) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0012) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0013) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0014) 0x20,0x7F,0xFF,0xC0,0xFF,0xFF,0x80,0xFF,0xFF,0x80,0xFF,0xFF,0x83,0xFF,0xFE,0x04,
(0015) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0016) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0017) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0018) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0019) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0020) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0021) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0022) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0023) 0x20,0x40,0x00,0x40,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x82,0x00,0x02,0x04,
(0024) 0x20,0x7F,0xFF,0xC0,0xFF,0xFF,0x80,0xFF,0xFF,0x80,0xFF,0xFF,0x83,0xFF,0xFE,0x04,
(0025) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0026) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0027) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0028) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0029) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0030) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0031) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0032) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0033) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0034) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0035) 0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
(0036) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0037) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0038) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0039) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0040) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0041) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0042) 0x20,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0043) 0x20,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0044) 0x20,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0045) 0x2F,0xFF,0xFF,0xFF,0xC1,0xF8,0x7F,0xBF,0xC1,0xE3,0x9C,0x00,0x78,0x1E,0x3F,0xC4,
(0046) 0x26,0xD9,0xB6,0x6D,0x80,0x60,0x33,0x1B,0x63,0x31,0x8C,0x00,0xCC,0x33,0x1B,0x64,
(0047) 0x26,0xD9,0xB6,0x6D,0x80,0x60,0x1E,0x1B,0x66,0x31,0x8C,0x01,0x8C,0x61,0x9B,0x64,
(0048) 0x27,0xF9,0xFE,0x7F,0x80,0x60,0x0C,0x1B,0x66,0x01,0x8C,0x01,0x80,0x61,0x9B,0x64,
(0049) 0x27,0xF9,0xFE,0x7F,0x80,0x60,0x1E,0x1B,0x66,0x01,0x8C,0x01,0x80,0x61,0x9B,0x64,
(0050) 0x23,0x30,0xCC,0x33,0x1C,0x6C,0x33,0x1B,0x63,0x31,0x9C,0x70,0xCC,0x33,0x1B,0x64,
(0051) 0x23,0x30,0xCC,0x33,0x1C,0x78,0x7F,0xBF,0xF1,0xE0,0xFC,0x70,0x78,0x1E,0x3F,0xF4,
(0052) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0053) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0054) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0055) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0056) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0057) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0058) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0059) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0060) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0061) 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,
(0062) 0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
(0063) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0064) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0065) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
(0066) #pragma data:data
(0067) 
(0068) /*******************************************
(0069) 函数名称: LCD12864_portini
(0070) 功    能: 初始化12864液晶用到的IO口
(0071) 参    数: 无
(0072) 返回值  : 无
(0073) /********************************************/
(0074) void LCD12864_portini(void)
(0075) {
(0076) 	LCDb_CTRL_DDR |= BIT(LCDb_RS)|BIT(LCDb_RW)|BIT(LCDb_E)|BIT(LCDb_RST);//配置控制管脚为输出
_LCD12864_portini:
    042B B381      IN	R24,0x11
    042C 6F80      ORI	R24,0xF0
    042D BB81      OUT	0x11,R24
(0077) 	LCDb_DATA_DDR |= 0xFF;  //配置数据管脚为输出
    042E B387      IN	R24,0x17
    042F 6F8F      ORI	R24,0xFF
    0430 BB87      OUT	0x17,R24
(0078) 	LCDb_SET_RST;		//不使能复位端
    0431 9A97      SBI	0x12,7
    0432 9508      RET
_LCD12864_readbyte:
  dByte                --> R20
  DatCmd               --> R20
    0433 940E0A80  CALL	push_gset1
    0435 2F40      MOV	R20,R16
(0079) }
(0080) /*******************************************
(0081) 函数名称: LCD12864_readbyte
(0082) 功    能: 从12864液晶读出一个字节数据或者指令
(0083) 参    数: DatCmd--为iDat时是数据,为iCmd时是指令
(0084) 返回值  : dByte--读回的数据或者指令
(0085) /********************************************/
(0086) uchar LCD12864_readbyte(uchar DatCmd)
(0087) {
(0088)  	uchar dByte;
(0089) 	if (DatCmd == iCmd)		 //指令操作
    0436 2344      TST	R20
    0437 F411      BNE	0x043A
(0090) 		LCDb_CLR_RS;
    0438 9894      CBI	0x12,4
    0439 C001      RJMP	0x043B
(0091) 	else
(0092) 		LCDb_SET_RS;
    043A 9A94      SBI	0x12,4
(0093) 		
(0094) 	LCDb_SET_RW;	   	  	 //读操作
    043B 9A95      SBI	0x12,5
(0095) 	LCDb_SET_E;
    043C 9A96      SBI	0x12,6
(0096) 	LCDb_DATA_DDR=0x00;	 //数据总线定义为输入
    043D 2422      CLR	R2
    043E BA27      OUT	0x17,R2
(0097) 	dByte=LCDb_DI;			 //读数据或者指令
    043F B346      IN	R20,0x16
(0098) 	Delayms(1);				 //时序调整
    0440 E001      LDI	R16,1
    0441 E010      LDI	R17,0
    0442 DEFC      RCALL	_Delayms
(0099) 	LCDb_CLR_E;	
    0443 9896      CBI	0x12,6
(0100) 	LCDb_DATA_DDR|=0xff;	 //数据总线还原为输出
    0444 B387      IN	R24,0x17
    0445 6F8F      ORI	R24,0xFF
    0446 BB87      OUT	0x17,R24
(0101) 	return dByte;
    0447 2F04      MOV	R16,R20
    0448 940E0A83  CALL	pop_gset1
    044A 9508      RET
_LCD12864_sendbyte:
  dByte                --> R20
  DatCmd               --> R22
    044B 940E0A7E  CALL	push_gset2
    044D 2F42      MOV	R20,R18
    044E 2F60      MOV	R22,R16
(0102) }
(0103) /*******************************************
(0104) 函数名称: LCD12864_sendbyte
(0105) 功    能: 向12864液晶写入一个字节数据或者指令
(0106) 参    数: DatCmd--为iDat时是数据,为iCmd时是指令
(0107) 	  	  dByte--为写入12864的数据或者指令
(0108) 返回值  : 无
(0109) /********************************************/
(0110) void LCD12864_sendbyte(uchar DatCmd, uchar dByte)
(0111) {
(0112) 	if (DatCmd == iCmd)		//指令操作
    044F 2366      TST	R22
    0450 F411      BNE	0x0453
(0113) 		LCDb_CLR_RS;
    0451 9894      CBI	0x12,4
    0452 C001      RJMP	0x0454
(0114) 	else
(0115) 		LCDb_SET_RS;
    0453 9A94      SBI	0x12,4
(0116) 		
(0117) 	LCDb_CLR_RW;			//写操作
    0454 9895      CBI	0x12,5
(0118) 	LCDb_SET_E;
    0455 9A96      SBI	0x12,6
(0119) 	LCDb_DO = dByte;		//写入数据
    0456 BB48      OUT	0x18,R20
(0120) 	Delayus(100);
    0457 E604      LDI	R16,0x64
    0458 E010      LDI	R17,0
    0459 DECD      RCALL	_Delayus
(0121) 	LCDb_CLR_E;	
    045A 9896      CBI	0x12,6
    045B 940E0A6F  CALL	pop_gset2
    045D 9508      RET
_LCD12864_sendstr:
  ptString             --> R20
    045E 940E0A80  CALL	push_gset1
    0460 01A8      MOVW	R20,R16
(0122) }
(0123) /*******************************************
(0124) 函数名称: LCD12864_sendstr
(0125) 功    能: 向12864液晶写入一个字符串
(0126) 参    数: ptString--字符串指针
(0127) 返回值  : 无
(0128) /********************************************/
(0129) void LCD12864_sendstr(uchar *ptString)
(0130) {
    0461 C008      RJMP	0x046A
(0131) 	while((*ptString)!='\0')		 //字符串未结束一直写
(0132) 	{
(0133) 		LCD12864_sendbyte(iDat, *ptString++);
    0462 01FA      MOVW	R30,R20
    0463 9121      LD	R18,Z+
    0464 01AF      MOVW	R20,R30
    0465 E001      LDI	R16,1
    0466 DFE4      RCALL	_LCD12864_sendbyte
(0134) 		Delayms(10);
    0467 E00A      LDI	R16,0xA
    0468 E010      LDI	R17,0
    0469 DED5      RCALL	_Delayms
    046A 01FA      MOVW	R30,R20
    046B 8020      LDD	R2,Z+0
    046C 2022      TST	R2
    046D F7A1      BNE	0x0462
    046E 940E0A83  CALL	pop_gset1
    0470 9508      RET
(0135) 	}
(0136) }
(0137) /*******************************************
(0138) 函数名称: LCD12864_clear
(0139) 功    能: 12864液晶清屏
(0140) 参    数: 无
(0141) 返回值  : 无
(0142) /********************************************/
(0143) void LCD12864_clear(void)
(0144) {
(0145) 	LCD12864_sendbyte(iCmd,LCDb_CLS);
_LCD12864_clear:

⌨️ 快捷键说明

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