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

📄 yj12864.lst

📁 AVR单片机开发版资料测试程序里的源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
    035B 2766      CLR	R22
    035C 2777      CLR	R23
(0226) 	while(LCD12864_readBF());	  //读忙标志
    035D DFAD      RCALL	_LCD12864_readBF
    035E 2300      TST	R16
    035F F7E9      BNE	0x035D
(0227) 	LCD12864_sendbyte(iCmd,LCDb_EXTCMD1);		//扩充指令集,并关闭绘图显示	
    0360 E324      LDI	R18,0x34
    0361 2700      CLR	R16
    0362 DF7F      RCALL	_LCD12864_sendbyte
(0228) 	//写入并显示上半屏幕
(0229) 	for(i=0;i<32;i++)            				//行地址计数
    0363 2744      CLR	R20
    0364 C02D      RJMP	0x0392
(0230)      {	  	   	   
(0231)            for(j=0;j<8;j++)      				//列地址计数
    0365 24AA      CLR	R10
    0366 C027      RJMP	0x038E
(0232)            {            		   		 
(0233) 		   		 LCD12864_sendbyte(iCmd,0x80|i);//输入行地址
    0367 2F24      MOV	R18,R20
    0368 6820      ORI	R18,0x80
    0369 2700      CLR	R16
    036A DF77      RCALL	_LCD12864_sendbyte
(0234) 				 Delayus(10);
    036B E00A      LDI	R16,0xA
    036C E010      LDI	R17,0
    036D DF00      RCALL	_Delayus
(0235) 		   		 LCD12864_sendbyte(iCmd,0x80|j);//输入列地址
    036E 2D2A      MOV	R18,R10
    036F 6820      ORI	R18,0x80
    0370 2700      CLR	R16
    0371 DF70      RCALL	_LCD12864_sendbyte
(0236) 				 Delayus(10);
    0372 E00A      LDI	R16,0xA
    0373 E010      LDI	R17,0
    0374 DEF9      RCALL	_Delayus
(0237)                  LCD12864_sendbyte(iDat,ptGDRAM[x++]); //输入高位字节数据 
    0375 011B      MOVW	R2,R22
    0376 5F6F      SUBI	R22,0xFF
    0377 4F7F      SBCI	R23,0xFF
    0378 01F1      MOVW	R30,R2
    0379 0DEC      ADD	R30,R12
    037A 1DFD      ADC	R31,R13
    037B 9124      LD	R18,R18
    037C E001      LDI	R16,1
    037D DF64      RCALL	_LCD12864_sendbyte
(0238) 				 Delayus(10);                
    037E E00A      LDI	R16,0xA
    037F E010      LDI	R17,0
    0380 DEED      RCALL	_Delayus
(0239) 				 LCD12864_sendbyte(iDat,ptGDRAM[x++]); //输入低位字节数据
    0381 011B      MOVW	R2,R22
    0382 5F6F      SUBI	R22,0xFF
    0383 4F7F      SBCI	R23,0xFF
    0384 01F1      MOVW	R30,R2
    0385 0DEC      ADD	R30,R12
    0386 1DFD      ADC	R31,R13
    0387 9124      LD	R18,R18
    0388 E001      LDI	R16,1
    0389 DF58      RCALL	_LCD12864_sendbyte
(0240) 				 Delayus(10); 
    038A E00A      LDI	R16,0xA
    038B E010      LDI	R17,0
    038C DEE1      RCALL	_Delayus
    038D 94A3      INC	R10
    038E 2D8A      MOV	R24,R10
    038F 3088      CPI	R24,0x8
    0390 F2B0      BCS	0x0367
    0391 9543      INC	R20
    0392 3240      CPI	R20,0x20
    0393 F408      BCC	0x0395
    0394 CFD0      RJMP	0x0365
(0241)            }
(0242)      }
(0243) 	 //写入并显示下半屏幕
(0244) 	 for(i=0;i<32;i++)            
    0395 2744      CLR	R20
    0396 C02E      RJMP	0x03C5
(0245)      {	  	   	   
(0246)            for(j=8;j<16;j++)      
    0397 E088      LDI	R24,0x8
    0398 2EA8      MOV	R10,R24
    0399 C027      RJMP	0x03C1
(0247)            {            
(0248) 		   		 LCD12864_sendbyte(iCmd,0x80|i);//输入行地址
    039A 2F24      MOV	R18,R20
    039B 6820      ORI	R18,0x80
    039C 2700      CLR	R16
    039D DF44      RCALL	_LCD12864_sendbyte
(0249) 				 Delayus(10);
    039E E00A      LDI	R16,0xA
    039F E010      LDI	R17,0
    03A0 DECD      RCALL	_Delayus
(0250) 		   		 LCD12864_sendbyte(iCmd,0x80|j);//输入列地址
    03A1 2D2A      MOV	R18,R10
    03A2 6820      ORI	R18,0x80
    03A3 2700      CLR	R16
    03A4 DF3D      RCALL	_LCD12864_sendbyte
(0251) 				 Delayus(10);
    03A5 E00A      LDI	R16,0xA
    03A6 E010      LDI	R17,0
    03A7 DEC6      RCALL	_Delayus
(0252)                  LCD12864_sendbyte(iDat,ptGDRAM[x++]); //输入高位字节数据      
    03A8 011B      MOVW	R2,R22
    03A9 5F6F      SUBI	R22,0xFF
    03AA 4F7F      SBCI	R23,0xFF
    03AB 01F1      MOVW	R30,R2
    03AC 0DEC      ADD	R30,R12
    03AD 1DFD      ADC	R31,R13
    03AE 9124      LD	R18,R18
    03AF E001      LDI	R16,1
    03B0 DF31      RCALL	_LCD12864_sendbyte
(0253) 				 Delayus(10);
    03B1 E00A      LDI	R16,0xA
    03B2 E010      LDI	R17,0
    03B3 DEBA      RCALL	_Delayus
(0254) 				 LCD12864_sendbyte(iDat,ptGDRAM[x++]); //输入低位字节数据
    03B4 011B      MOVW	R2,R22
    03B5 5F6F      SUBI	R22,0xFF
    03B6 4F7F      SBCI	R23,0xFF
    03B7 01F1      MOVW	R30,R2
    03B8 0DEC      ADD	R30,R12
    03B9 1DFD      ADC	R31,R13
    03BA 9124      LD	R18,R18
    03BB E001      LDI	R16,1
    03BC DF25      RCALL	_LCD12864_sendbyte
(0255) 				 Delayus(10); 
    03BD E00A      LDI	R16,0xA
    03BE E010      LDI	R17,0
    03BF DEAE      RCALL	_Delayus
    03C0 94A3      INC	R10
    03C1 2D8A      MOV	R24,R10
    03C2 3180      CPI	R24,0x10
    03C3 F2B0      BCS	0x039A
    03C4 9543      INC	R20
    03C5 3240      CPI	R20,0x20
    03C6 F408      BCC	0x03C8
    03C7 CFCF      RJMP	0x0397
(0256)            }
(0257)      }
(0258) 	 Delayus(10);
    03C8 E00A      LDI	R16,0xA
    03C9 E010      LDI	R17,0
    03CA DEA3      RCALL	_Delayus
(0259) 	 LCD12864_sendbyte(iCmd,LCDb_EXTCMD2);			   //打开绘图显示
    03CB E326      LDI	R18,0x36
    03CC 2700      CLR	R16
    03CD DF14      RCALL	_LCD12864_sendbyte
(0260) 	 LCD12864_sendbyte(iCmd,LCDb_BASCMD);			   //还原回基本指令集模式
    03CE E320      LDI	R18,0x30
    03CF 2700      CLR	R16
    03D0 DF11      RCALL	_LCD12864_sendbyte
(0261) }
    03D1 940E0435  CALL	pop_gset4
    03D3 9508      RET
(0262) 
(0263) /*******************************************
(0264) 函数名称: main
(0265) 功    能: 12864液晶驱动主程序
(0266) 参    数: 无
(0267) 返回值  : 无
(0268) /********************************************/
(0269) void main(void)
(0270) {
(0271)  uchar i;
(0272)  Board_init( );	   							  //初始化开发板
_main:
  i                    --> Y+1
    03D4 DEC7      RCALL	_Board_init
(0273)  LCD12864_initial(); 						  //初始化12864液晶
    03D5 DF6B      RCALL	_LCD12864_initial
    03D6 C026      RJMP	0x03FD
(0274)   
(0275)  while(1)
(0276)  {
(0277)   LCD12864_clear();
    03D7 DF2D      RCALL	_LCD12864_clear
(0278)   while(LCD12864_readBF());
    03D8 DF32      RCALL	_LCD12864_readBF
    03D9 2300      TST	R16
    03DA F7E9      BNE	0x03D8
(0279)   LCD12864_gotoXY(1,0);	   					  //第1行,第1列显示
    03DB 2722      CLR	R18
    03DC E001      LDI	R16,1
    03DD DF3B      RCALL	_LCD12864_gotoXY
(0280)   LCD12864_sendstr("AVR_PQ1A  开发板");	  
    03DE E809      LDI	R16,0x89
    03DF E010      LDI	R17,0
    03E0 DF14      RCALL	_LCD12864_sendstr
(0281)   LCD12864_gotoXY(2,2);		  			  	  //第2行,第3列显示
    03E1 E022      LDI	R18,2
    03E2 E002      LDI	R16,2
    03E3 DF35      RCALL	_LCD12864_gotoXY
(0282)   LCD12864_sendstr("皮球制作");	
    03E4 E800      LDI	R16,0x80
    03E5 E010      LDI	R17,0
    03E6 DF0E      RCALL	_LCD12864_sendstr
(0283)   LCD12864_gotoXY(3,0);						  //第3行,第1列显示
    03E7 2722      CLR	R18
    03E8 E003      LDI	R16,3
    03E9 DF2F      RCALL	_LCD12864_gotoXY
(0284)   LCD12864_sendstr("电话:13212800564");	
    03EA E60F      LDI	R16,0x6F
    03EB E010      LDI	R17,0
    03EC DF08      RCALL	_LCD12864_sendstr
(0285)   LCD12864_gotoXY(4,1);						  //第4行,第2列显示
    03ED E021      LDI	R18,1
    03EE E004      LDI	R16,4
    03EF DF29      RCALL	_LCD12864_gotoXY
(0286)   LCD12864_sendstr("www.txmcu.com ");	
    03F0 E600      LDI	R16,0x60
    03F1 E010      LDI	R17,0
    03F2 DF02      RCALL	_LCD12864_sendstr
(0287)   Delayms(2000);				  			  //延时等待
    03F3 ED00      LDI	R16,0xD0
    03F4 E017      LDI	R17,7
    03F5 DE90      RCALL	_Delayms
(0288)   
(0289)   LCD12864_clear();							  //清屏幕
    03F6 DF0E      RCALL	_LCD12864_clear
(0290)   LCD12864_opGDRAM(GDRAM);					  //完成绘图,绘图后返回基本指令集模式
    03F7 E600      LDI	R16,0x60
    03F8 E010      LDI	R17,0
    03F9 DF5E      RCALL	_LCD12864_opGDRAM
(0291)   Delayms(2000);
    03FA ED00      LDI	R16,0xD0
    03FB E017      LDI	R17,7
    03FC DE89      RCALL	_Delayms
    03FD CFD9      RJMP	0x03D7
(0292)  }
(0293) }
FILE: <library>
    03FE 9508      RET
empy16s:
    03FF 920A      ST	R0,-Y
    0400 921A      ST	R1,-Y
    0401 938A      ST	R24,-Y
    0402 939A      ST	R25,-Y
    0403 9F02      MUL	R16,R18
    0404 01C0      MOVW	R24,R0
    0405 9F12      MUL	R17,R18
    0406 0D90      ADD	R25,R0
    0407 9F03      MUL	R16,R19
    0408 0D90      ADD	R25,R0
    0409 018C      MOVW	R16,R24
    040A 9199      LD	R25,Y+
    040B 9189      LD	R24,Y+
    040C 9019      LD	R1,Y+
    040D 9009      LD	R0,Y+
    040E 9508      RET
push_gset1:
    040F 935A      ST	R21,-Y
    0410 934A      ST	R20,-Y
    0411 9508      RET
pop_gset1:
    0412 E0E1      LDI	R30,1
pop:
    0413 9149      LD	R20,Y+
    0414 9159      LD	R21,Y+
    0415 FDE0      SBRC	R30,0
    0416 9508      RET
    0417 9169      LD	R22,Y+
    0418 9179      LD	R23,Y+
    0419 FDE1      SBRC	R30,1
    041A 9508      RET
    041B 90A9      LD	R10,Y+
    041C 90B9      LD	R11,Y+
    041D FDE2      SBRC	R30,2
    041E 9508      RET
    041F 90C9      LD	R12,Y+
    0420 90D9      LD	R13,Y+
    0421 FDE3      SBRC	R30,3
    0422 9508      RET
    0423 90E9      LD	R14,Y+
    0424 90F9      LD	R15,Y+
    0425 9508      RET
push_gset2:
    0426 937A      ST	R23,-Y
    0427 936A      ST	R22,-Y
    0428 940C040F  JMP	push_gset1
push_gset3:
    042A 92BA      ST	R11,-Y
    042B 92AA      ST	R10,-Y
    042C 940C0426  JMP	push_gset2
push_gset4:
    042E 92DA      ST	R13,-Y
    042F 92CA      ST	R12,-Y
    0430 940C042A  JMP	push_gset3
pop_gset2:
    0432 E0E2      LDI	R30,2
    0433 940C0413  JMP	pop
pop_gset4:
    0435 E0E8      LDI	R30,0x8
    0436 940C0413  JMP	pop

⌨️ 快捷键说明

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