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

📄 nokia5110.lst

📁 好啊,欢迎大家都来下在,很游泳的问张哦.
💻 LST
📖 第 1 页 / 共 3 页
字号:
    0457 54EE      SUBI	R30,0x4E
    0458 4FFF      SBCI	R31,0xFF
    0459 8100      LDD	R16,Z+0
    045A DEF9      RCALL	_LCD_set_XY
(0216)         for (n=0; n<83; n++)
    045B 24AA      CLR	R10
    045C C00B      RJMP	0x0468
(0217)           { 
(0218)             LCD_write_byte(buffer_l[n],1);
    045D E021      LDI	R18,1
    045E 01CE      MOVW	R24,R28
    045F 5A8C      SUBI	R24,0xAC
    0460 4F9F      SBCI	R25,0xFF
    0461 2DEA      MOV	R30,R10
    0462 27FF      CLR	R31
    0463 0FE8      ADD	R30,R24
    0464 1FF9      ADC	R31,R25
    0465 8100      LDD	R16,Z+0
    0466 D054      RCALL	_LCD_write_byte
    0467 94A3      INC	R10
    0468 2D8A      MOV	R24,R10
    0469 3583      CPI	R24,0x53
    046A F390      BCS	0x045D
(0219)           } 
(0220)           
(0221)        delay_nms(T);
    046B 2D0C      MOV	R16,R12
    046C 2711      CLR	R17
    046D DEA5      RCALL	_delay_nms
    046E 9543      INC	R20
    046F 394C      CPI	R20,0x9C
    0470 F408      BCC	0x0472
    0471 CF80      RJMP	0x03F2
(0222)       }
(0223) }
    0472 96EF      ADIW	R28,0x3F
    0473 96EF      ADIW	R28,0x3F
    0474 96AA      ADIW	R28,0x2A
    0475 D08D      RCALL	pop_gset5
    0476 9624      ADIW	R28,4
    0477 9508      RET
_LCD_draw_bmp_pixel:
  row                  --> R20
  n                    --> R22
  i                    --> R14
  Pix_y                --> Y+18
  Pix_x                --> R10
  map                  --> R12
  Y                    --> Y+12
  X                    --> Y+10
    0478 D059      RCALL	push_arg4
    0479 D0AB      RCALL	push_gset5
    047A 84CE      LDD	R12,Y+14
    047B 84DF      LDD	R13,Y+15
    047C 88A8      LDD	R10,Y+16
(0224) 
(0225) /*-----------------------------------------------------------------------
(0226) LCD_draw_map      : 位图绘制函数
(0227) 
(0228) 输入参数:X、Y    :位图绘制的起始X、Y坐标;
(0229)           *map    :位图点阵数据;
(0230)           Pix_x   :位图像素(长)
(0231)           Pix_y   :位图像素(宽)
(0232) 
(0233) 编写日期          :2004-8-13
(0234) 最后修改日期      :2004-8-13 
(0235) -----------------------------------------------------------------------*/
(0236) void LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,unsigned char *map,
(0237)                   unsigned char Pix_x,unsigned char Pix_y)
(0238)   {
(0239)     unsigned int i,n;
(0240)     unsigned char row;
(0241)     
(0242)     if (Pix_y%8==0) row=Pix_y/8;      //计算位图所占行数
    047D E018      LDI	R17,0x8
    047E 890A      LDD	R16,Y+18
    047F D057      RCALL	mod8u
    0480 2300      TST	R16
    0481 F429      BNE	0x0487
    0482 894A      LDD	R20,Y+18
    0483 9546      LSR	R20
    0484 9546      LSR	R20
    0485 9546      LSR	R20
    0486 C005      RJMP	0x048C
(0243)       else
(0244)         row=Pix_y/8+1;
    0487 894A      LDD	R20,Y+18
    0488 9546      LSR	R20
    0489 9546      LSR	R20
    048A 9546      LSR	R20
    048B 5F4F      SUBI	R20,0xFF
(0245)     
(0246)     for (n=0;n<row;n++)
    048C 2766      CLR	R22
    048D 2777      CLR	R23
    048E C024      RJMP	0x04B3
(0247)       {
(0248)       	LCD_set_XY(X,Y);
    048F 852C      LDD	R18,Y+12
    0490 850A      LDD	R16,Y+10
    0491 DEC2      RCALL	_LCD_set_XY
(0249)         for(i=0; i<Pix_x; i++)
    0492 24EE      CLR	R14
    0493 24FF      CLR	R15
    0494 C014      RJMP	0x04A9
(0250)           {
(0251)             LCD_write_byte(map[i+n*Pix_x], 1);
    0495 E021      LDI	R18,1
    0496 2C2A      MOV	R2,R10
    0497 2433      CLR	R3
    0498 932F      PUSH	R18
    0499 933F      PUSH	R19
    049A 0191      MOVW	R18,R2
    049B 018B      MOVW	R16,R22
    049C D052      RCALL	empy16s
    049D 913F      POP	R19
    049E 912F      POP	R18
    049F 01F7      MOVW	R30,R14
    04A0 0FE0      ADD	R30,R16
    04A1 1FF1      ADC	R31,R17
    04A2 0DEC      ADD	R30,R12
    04A3 1DFD      ADC	R31,R13
    04A4 8100      LDD	R16,Z+0
    04A5 D015      RCALL	_LCD_write_byte
    04A6 01C7      MOVW	R24,R14
    04A7 9601      ADIW	R24,1
    04A8 017C      MOVW	R14,R24
    04A9 2C2A      MOV	R2,R10
    04AA 2433      CLR	R3
    04AB 14E2      CP	R14,R2
    04AC 04F3      CPC	R15,R3
    04AD F338      BCS	0x0495
(0252)           }
(0253)         Y++;                         //换行
    04AE 840C      LDD	R0,Y+12
    04AF 9403      INC	R0
    04B0 860C      STD	Y+12,R0
    04B1 5F6F      SUBI	R22,0xFF
    04B2 4F7F      SBCI	R23,0xFF
    04B3 2E24      MOV	R2,R20
    04B4 2433      CLR	R3
    04B5 1562      CP	R22,R2
    04B6 0573      CPC	R23,R3
    04B7 F2B8      BCS	0x048F
(0254)       }      
(0255)   }
    04B8 D04A      RCALL	pop_gset5
    04B9 9624      ADIW	R28,4
    04BA 9508      RET
_LCD_write_byte:
  i                    --> R20
  command              --> R18
  dat                  --> R16
    04BB D049      RCALL	push_gset1
(0256) 
(0257) /*-----------------------------------------------------------------------
(0258) LCD_write_byte    : 使用SPI接口写数据到LCD
(0259) 
(0260) 输入参数:data    :写入的数据;
(0261)           command :写数据/命令选择;
(0262) 
(0263) 编写日期          :2004-8-10 
(0264) 最后修改日期      :2004-8-13 
(0265) -----------------------------------------------------------------------*/
(0266) void LCD_write_byte(unsigned char dat, unsigned char command)
(0267)   {
(0268)     unsigned char i;
(0269)     //PORTB &= ~LCD_CE ;		        // avr
(0270)     //LCD_CE = 0;						// 51
(0271) 	LCD_5110_PORT &= ~(0x01 << LCD_CE);	// msp430
    04BC 9893      CBI	0x12,3
(0272)     
(0273)     if (command == 0)
    04BD 2322      TST	R18
    04BE F411      BNE	0x04C1
(0274)      // PORTB &= ~LCD_DC ;	        // 传送命令
(0275) 	//     LCD_DC = 0;
(0276) 	  LCD_5110_PORT &= ~(0x01 << LCD_DC);
    04BF 9892      CBI	0x12,2
    04C0 C001      RJMP	0x04C2
(0277)     else
(0278)      // PORTB |= LCD_DC ;		        // 传送数据
(0279)     // LCD_DC = 1;
(0280) 	 LCD_5110_PORT |= (0x01 << LCD_DC);
    04C1 9A92      SBI	0x12,2
(0281) 		for(i=0;i<8;i++)
    04C2 2744      CLR	R20
    04C3 C009      RJMP	0x04CD
(0282) 		{
(0283) 			if(dat&0x80)
    04C4 FF07      SBRS	R16,7
    04C5 C002      RJMP	0x04C8
(0284) 				//SDIN = 1;
(0285) 			   LCD_5110_PORT |= (0x01 << LCD_DIN);
    04C6 9A91      SBI	0x12,1
    04C7 C001      RJMP	0x04C9
(0286) 			else
(0287) 				//SDIN = 0;
(0288) 			   LCD_5110_PORT &= ~(0x01 << LCD_DIN);
    04C8 9891      CBI	0x12,1
(0289) 			//SCLK = 0;
(0290) 			LCD_5110_PORT &= ~(0x01 << LCD_CLK);
    04C9 9890      CBI	0x12,0
(0291) 			dat = dat << 1;
    04CA 0F00      LSL	R16
(0292) 			//SCLK = 1;
(0293) 			LCD_5110_PORT |= (0x01 << LCD_CLK);
    04CB 9A90      SBI	0x12,0
    04CC 9543      INC	R20
    04CD 3048      CPI	R20,0x8
    04CE F3A8      BCS	0x04C4
(0294) 		}
(0295)    // SPDR = data;			// 传送数据到SPI寄存器
(0296) 
(0297)     //while ((SPSR & 0x80) == 0);         // 等待数据传送完毕
(0298) 	
(0299)     //PORTB |= LCD_CE ;			// 关闭LCD
(0300)     // LCD_CE = 1;
(0301) 	 LCD_5110_PORT |= (0x01 << LCD_CE);
    04CF 9A93      SBI	0x12,3
(0302)   }
FILE: <library>
    04D0 D037      RCALL	pop_gset1
    04D1 9508      RET
push_arg4:
    04D2 933A      ST	R19,-Y
    04D3 932A      ST	R18,-Y
push_arg2:
    04D4 931A      ST	R17,-Y
    04D5 930A      ST	R16,-Y
    04D6 9508      RET
mod8u:
    04D7 9468      BSET	6
    04D8 C001      RJMP	xdiv8u
div8u:
    04D9 94E8      BCLR	6
xdiv8u:
    04DA 932A      ST	R18,-Y
    04DB 92FA      ST	R15,-Y
    04DC 92EA      ST	R14,-Y
    04DD 24FF      CLR	R15
    04DE 24EE      CLR	R14
    04DF E120      LDI	R18,0x10
    04E0 0F00      LSL	R16
    04E1 1CFF      ROL	R15
    04E2 1CEE      ROL	R14
    04E3 16E1      CP	R14,R17
    04E4 F010      BCS	0x04E7
    04E5 1AE1      SUB	R14,R17
    04E6 9503      INC	R16
    04E7 952A      DEC	R18
    04E8 F7B9      BNE	0x04E0
    04E9 F40E      BRTC	0x04EB
    04EA 2D0E      MOV	R16,R14
    04EB 90E9      LD	R14,Y+
    04EC 90F9      LD	R15,Y+
    04ED 9129      LD	R18,Y+
    04EE 9508      RET
empy16s:
    04EF 920A      ST	R0,-Y
    04F0 921A      ST	R1,-Y
    04F1 938A      ST	R24,-Y
    04F2 939A      ST	R25,-Y
    04F3 9F02      MUL	R16,R18
    04F4 01C0      MOVW	R24,R0
    04F5 9F12      MUL	R17,R18
    04F6 0D90      ADD	R25,R0
    04F7 9F03      MUL	R16,R19
    04F8 0D90      ADD	R25,R0
    04F9 018C      MOVW	R16,R24
    04FA 9199      LD	R25,Y+
    04FB 9189      LD	R24,Y+
    04FC 9019      LD	R1,Y+
    04FD 9009      LD	R0,Y+
    04FE 9508      RET
pop_gset2:
    04FF E0E2      LDI	R30,2
    0500 C008      RJMP	pop
pop_gset3:
    0501 E0E4      LDI	R30,4
    0502 C006      RJMP	pop
pop_gset5:
    0503 27EE      CLR	R30
    0504 C004      RJMP	pop
push_gset1:
    0505 935A      ST	R21,-Y
    0506 934A      ST	R20,-Y
    0507 9508      RET
pop_gset1:
    0508 E0E1      LDI	R30,1
pop:
    0509 9149      LD	R20,Y+
    050A 9159      LD	R21,Y+
    050B FDE0      SBRC	R30,0
    050C 9508      RET
    050D 9169      LD	R22,Y+
    050E 9179      LD	R23,Y+
    050F FDE1      SBRC	R30,1
    0510 9508      RET
    0511 90A9      LD	R10,Y+
    0512 90B9      LD	R11,Y+
    0513 FDE2      SBRC	R30,2
    0514 9508      RET
    0515 90C9      LD	R12,Y+
    0516 90D9      LD	R13,Y+
    0517 FDE3      SBRC	R30,3
    0518 9508      RET
    0519 90E9      LD	R14,Y+
    051A 90F9      LD	R15,Y+
    051B 9508      RET
push_gset2:
    051C 937A      ST	R23,-Y
    051D 936A      ST	R22,-Y
    051E CFE6      RJMP	push_gset1
push_gset3:
    051F 92BA      ST	R11,-Y
    0520 92AA      ST	R10,-Y
    0521 CFFA      RJMP	push_gset2
push_gset4:
    0522 92DA      ST	R13,-Y
    0523 92CA      ST	R12,-Y
    0524 CFFA      RJMP	push_gset3
push_gset5:
    0525 92FA      ST	R15,-Y
    0526 92EA      ST	R14,-Y
    0527 CFFA      RJMP	push_gset4
asgncblk:
    0528 93AA      ST	R26,-Y
    0529 93BA      ST	R27,-Y
    052A 93EA      ST	R30,-Y
    052B 93FA      ST	R31,-Y
    052C 920A      ST	R0,-Y
    052D 81AF      LDD	R26,Y+7
    052E 85B8      LDD	R27,Y+8
    052F 81ED      LDD	R30,Y+5
    0530 81FE      LDD	R31,Y+6
    0531 3000      CPI	R16,0
    0532 0701      CPC	R16,R17
    0533 F031      BEQ	0x053A
    0534 95C8      LPM
    0535 920D      ST	R0,X+
    0536 9631      ADIW	R30,1
    0537 5001      SUBI	R16,1
    0538 4010      SBCI	R17,0
    0539 CFF7      RJMP	0x0531
    053A 9009      LD	R0,Y+
    053B 91F9      LD	R31,Y+
    053C 91E9      LD	R30,Y+
    053D 91B9      LD	R27,Y+
    053E 91A9      LD	R26,Y+
    053F 9624      ADIW	R28,4
    0540 9508      RET

⌨️ 快捷键说明

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