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

📄 nokia5110.lst

📁 avr基础程序大全
💻 LST
📖 第 1 页 / 共 3 页
字号:
    00345 2D0C      MOV	R16,R12
    00346 940E 03CD CALL	mod8u
    00348 2300      TST	R16
    00349 F429      BNE	0x034F
(0327) 	{
(0328) 	    row=Pix_y/8;      //计算位图所占行数
    0034A 2D6C      MOV	R22,R12
    0034B 9566      LSR	R22
    0034C 9566      LSR	R22
    0034D 9566      LSR	R22
(0329)     }
    0034E C005      RJMP	0x0354
(0330)     else
(0331) 	{
(0332)         row=Pix_y/8+1;
    0034F 2D6C      MOV	R22,R12
    00350 9566      LSR	R22
    00351 9566      LSR	R22
    00352 9566      LSR	R22
    00353 5F6F      SUBI	R22,0xFF
(0333)     }
(0334)     for (n=0;n<row;n++)
    00354 2744      CLR	R20
    00355 2755      CLR	R21
    00356 C025      RJMP	0x037C
(0335)     {
(0336)       	LCD_set_XY(X,Y);
    00357 852C      LDD	R18,Y+12
    00358 850A      LDD	R16,Y+10
    00359 DF60      RCALL	_LCD_set_XY
(0337)         for(i=0; i<Pix_x; i++)
    0035A 24CC      CLR	R12
    0035B 24DD      CLR	R13
    0035C C015      RJMP	0x0372
(0338)           {
(0339)             LCD_write_byte(map[i+n*Pix_x], 1);
    0035D E021      LDI	R18,1
    0035E 2C2A      MOV	R2,R10
    0035F 2433      CLR	R3
    00360 932F      PUSH	R18
    00361 933F      PUSH	R19
    00362 0191      MOVW	R18,R2
    00363 018A      MOVW	R16,R20
    00364 940E 03E5 CALL	empy16s
    00366 913F      POP	R19
    00367 912F      POP	R18
    00368 01F6      MOVW	R30,R12
    00369 0FE0      ADD	R30,R16
    0036A 1FF1      ADC	R31,R17
    0036B 0DEE      ADD	R30,R14
    0036C 1DFF      ADC	R31,R15
    0036D 8100      LD	R16,Z
    0036E D016      RCALL	_LCD_write_byte
    0036F 01C6      MOVW	R24,R12
    00370 9601      ADIW	R24,1
    00371 016C      MOVW	R12,R24
    00372 2C2A      MOV	R2,R10
    00373 2433      CLR	R3
    00374 14C2      CP	R12,R2
    00375 04D3      CPC	R13,R3
    00376 F330      BCS	0x035D
(0340)           }
(0341)         Y++;                         //换行
    00377 840C      LDD	R0,Y+12
    00378 9403      INC	R0
    00379 860C      STD	Y+12,R0
    0037A 5F4F      SUBI	R20,0xFF
    0037B 4F5F      SBCI	R21,0xFF
    0037C 2E26      MOV	R2,R22
    0037D 2433      CLR	R3
    0037E 1542      CP	R20,R2
    0037F 0553      CPC	R21,R3
    00380 F2B0      BCS	0x0357
    00381 940E 03F5 CALL	pop_xgsetF0FC
    00383 9624      ADIW	R28,4
    00384 9508      RET
_LCD_write_byte:
  i                    --> R20
  command              --> R18
  dat                  --> R16
    00385 934A      ST	-Y,R20
(0342)     }      
(0343) }
(0344) /**********************************************/
(0345) /*---------------------------------------------
(0346) LCD_write_byte    : 写数据到LCD
(0347) 
(0348) 输入参数:data    :写入的数据;
(0349)           command :写数据/命令选择;
(0350) ---------------------------------------------*/
(0351) void LCD_write_byte(unsigned char dat, unsigned char command)
(0352) {
(0353)     unsigned char i;
(0354) 	CLEARBIT(LCD_PORT,LCD_CE);// 使能LCD_CE = 0
    00386 98AD      CBI	0x15,5
(0355)     if (command == 0)
    00387 2322      TST	R18
    00388 F411      BNE	0x038B
(0356) 	{
(0357) 	    CLEARBIT(LCD_PORT,LCD_DC);// 传送命令 LCD_DC = 0;
    00389 98AB      CBI	0x15,3
(0358) 	}
    0038A C001      RJMP	0x038C
(0359)     else
(0360) 	{
(0361) 	    SETBIT(LCD_PORT,LCD_DC);// 传送数据LCD_DC = 1;
    0038B 9AAB      SBI	0x15,3
(0362) 	}
(0363) 	
(0364) 	for(i=0;i<8;i++)
    0038C 2744      CLR	R20
    0038D C009      RJMP	0x0397
(0365) 	{
(0366) 		if(dat&0x80)
    0038E FF07      SBRS	R16,7
    0038F C002      RJMP	0x0392
(0367) 		{
(0368) 			SETBIT(LCD_PORT,SDIN);//SDIN = 1;
    00390 9AAA      SBI	0x15,2
(0369) 		}
    00391 C001      RJMP	0x0393
(0370) 		else
(0371) 		{
(0372) 			CLEARBIT(LCD_PORT,SDIN);//SDIN = 0;
    00392 98AA      CBI	0x15,2
(0373) 		}
(0374) 		CLEARBIT(LCD_PORT,SCLK);//SCLK = 0;
    00393 98A9      CBI	0x15,1
(0375) 		dat = dat << 1;
    00394 0F00      LSL	R16
(0376) 		SETBIT(LCD_PORT,SCLK);//SCLK = 1;
    00395 9AA9      SBI	0x15,1
    00396 9543      INC	R20
    00397 3048      CPI	R20,0x8
    00398 F3A8      BCS	0x038E
(0377) 	}
(0378)     SETBIT(LCD_PORT,LCD_CE);//LCD_CE = 1;
    00399 9AAD      SBI	0x15,5
    0039A 9149      LD	R20,Y+
    0039B 9508      RET
_main:
    0039C 9727      SBIW	R28,7
FILE: D:\蔺贻立\模块化编程\avr程序\7.nokia5110\main.c
(0001) #include <iom16v.h>
(0002) #include <MACROS.h>
(0003) #include"nokia5110.h"
(0004) void main(void) 
(0005) {
(0006) 	DDRA=0xFF;
    0039D EF8F      LDI	R24,0xFF
    0039E BB8A      OUT	0x1A,R24
(0007) 	PORTA=0x3F;
    0039F E38F      LDI	R24,0x3F
    003A0 BB8B      OUT	0x1B,R24
(0008) 	LCD_init();//初始化液晶    
    003A1 DED6      RCALL	_LCD_init
(0009) 	LCD_clear();
    003A2 DEF6      RCALL	_LCD_clear
(0010) 	{
(0011) 		LCD_write_chinese_string(4,0,12,2,0,0);
    003A3 2422      CLR	R2
    003A4 822E      STD	Y+6,R2
    003A5 822C      STD	Y+4,R2
    003A6 E082      LDI	R24,2
    003A7 838A      STD	Y+2,R24
    003A8 E08C      LDI	R24,0xC
    003A9 8388      ST	Y,R24
    003AA 2722      CLR	R18
    003AB E004      LDI	R16,4
    003AC DF4C      RCALL	_LCD_write_chinese_string
(0012) 		LCD_draw_bmp_pixel(32,0,AVR_bmp,48,24);
    003AD E188      LDI	R24,0x18
    003AE 838C      STD	Y+4,R24
    003AF E380      LDI	R24,0x30
    003B0 838A      STD	Y+2,R24
    003B1 E080      LDI	R24,0
    003B2 E092      LDI	R25,2
    003B3 8399      STD	Y+1,R25
    003B4 8388      ST	Y,R24
    003B5 2722      CLR	R18
    003B6 E200      LDI	R16,0x20
    003B7 DF84      RCALL	_LCD_draw_bmp_pixel
(0013) 		LCD_write_english_string(0,3," ---skyxjh--- ");
    003B8 EB87      LDI	R24,0xB7
    003B9 E095      LDI	R25,5
    003BA 8399      STD	Y+1,R25
    003BB 8388      ST	Y,R24
    003BC E023      LDI	R18,3
    003BD 2700      CLR	R16
    003BE DF25      RCALL	_LCD_write_english_string
(0014) 		LCD_write_english_string(0,5," QQ:1055590969");
    003BF EA88      LDI	R24,0xA8
    003C0 E095      LDI	R25,5
    003C1 8399      STD	Y+1,R25
    003C2 8388      ST	Y,R24
    003C3 E025      LDI	R18,5
    003C4 2700      CLR	R16
    003C5 DF1E      RCALL	_LCD_write_english_string
(0015) 	}	  
FILE: <library>
    003C6 9627      ADIW	R28,7
    003C7 9508      RET
push_arg4:
    003C8 933A      ST	-Y,R19
    003C9 932A      ST	-Y,R18
push_arg2:
    003CA 931A      ST	-Y,R17
    003CB 930A      ST	-Y,R16
    003CC 9508      RET
mod8u:
    003CD 9468      BSET	6
    003CE C001      RJMP	xdiv8u
div8u:
    003CF 94E8      BCLR	6
xdiv8u:
    003D0 932A      ST	-Y,R18
    003D1 92FA      ST	-Y,R15
    003D2 92EA      ST	-Y,R14
    003D3 24FF      CLR	R15
    003D4 24EE      CLR	R14
    003D5 E120      LDI	R18,0x10
    003D6 0F00      LSL	R16
    003D7 1CFF      ROL	R15
    003D8 1CEE      ROL	R14
    003D9 16E1      CP	R14,R17
    003DA F010      BCS	0x03DD
    003DB 1AE1      SUB	R14,R17
    003DC 9503      INC	R16
    003DD 952A      DEC	R18
    003DE F7B9      BNE	0x03D6
    003DF F40E      BRTC	0x03E1
    003E0 2D0E      MOV	R16,R14
    003E1 90E9      LD	R14,Y+
    003E2 90F9      LD	R15,Y+
    003E3 9129      LD	R18,Y+
    003E4 9508      RET
empy16s:
    003E5 920A      ST	-Y,R0
    003E6 921A      ST	-Y,R1
    003E7 938A      ST	-Y,R24
    003E8 939A      ST	-Y,R25
    003E9 9F02      MUL	R16,R18
    003EA 01C0      MOVW	R24,R0
    003EB 9F12      MUL	R17,R18
    003EC 0D90      ADD	R25,R0
    003ED 9F03      MUL	R16,R19
    003EE 0D90      ADD	R25,R0
    003EF 018C      MOVW	R16,R24
    003F0 9199      LD	R25,Y+
    003F1 9189      LD	R24,Y+
    003F2 9019      LD	R1,Y+
    003F3 9009      LD	R0,Y+
    003F4 9508      RET
pop_xgsetF0FC:
    003F5 90A9      LD	R10,Y+
    003F6 90B9      LD	R11,Y+
    003F7 90C9      LD	R12,Y+
    003F8 90D9      LD	R13,Y+
    003F9 90E9      LD	R14,Y+
    003FA 90F9      LD	R15,Y+
    003FB 9149      LD	R20,Y+
    003FC 9159      LD	R21,Y+
    003FD 9169      LD	R22,Y+
    003FE 9179      LD	R23,Y+
    003FF 9508      RET
push_xgsetF0FC:
    00400 937A      ST	-Y,R23
    00401 936A      ST	-Y,R22
push_xgset30FC:
    00402 935A      ST	-Y,R21
    00403 934A      ST	-Y,R20
push_xgset00FC:
    00404 92FA      ST	-Y,R15
    00405 92EA      ST	-Y,R14
push_xgset003C:
    00406 92DA      ST	-Y,R13
    00407 92CA      ST	-Y,R12
    00408 92BA      ST	-Y,R11
    00409 92AA      ST	-Y,R10
    0040A 9508      RET
push_xgset303C:
    0040B 935A      ST	-Y,R21
    0040C 934A      ST	-Y,R20
    0040D 92DA      ST	-Y,R13
    0040E 92CA      ST	-Y,R12
    0040F 92BA      ST	-Y,R11
    00410 92AA      ST	-Y,R10
    00411 9508      RET
pop_xgset303C:
    00412 90A9      LD	R10,Y+
    00413 90B9      LD	R11,Y+
    00414 90C9      LD	R12,Y+
    00415 90D9      LD	R13,Y+
    00416 9149      LD	R20,Y+
    00417 9159      LD	R21,Y+
    00418 9508      RET

⌨️ 快捷键说明

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