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

📄 lcdtest.lst

📁 已经上传的YF-320240-3.5寸彩屏(可由单片机控制)的测试程序。主CPU为MEGA128
💻 LST
📖 第 1 页 / 共 5 页
字号:
    1C96 24AA      CLR	R10
    1C97 24BB      CLR	R11
    1C98 898F      LDD	R24,Y+23
    1C99 3082      CPI	R24,2
    1C9A F019      BEQ	0x1C9E
    1C9B E061      LDI	R22,1
    1C9C E070      LDI	R23,0
    1C9D C002      RJMP	0x1CA0
    1C9E 2766      CLR	R22
    1C9F 2777      CLR	R23
    1CA0 0116      MOVW	R2,R12
    1CA1 202A      AND	R2,R10
    1CA2 203B      AND	R3,R11
    1CA3 2226      AND	R2,R22
    1CA4 2237      AND	R3,R23
    1CA5 2022      TST	R2
    1CA6 F411      BNE	0x1CA9
    1CA7 2033      TST	R3
    1CA8 F011      BEQ	0x1CAB
(0099)     {
(0100)         tt=' ';
    1CA9 E240      LDI	R20,0x20
(0101)     }
    1CAA C004      RJMP	0x1CAF
(0102)     else
(0103)     {
(0104)         flag=1;
    1CAB 2400      CLR	R0
    1CAC 9403      INC	R0
    1CAD 820E      STD	Y+6,R0
(0105)         tt+=0x30;
    1CAE 5D40      SUBI	R20,0xD0
(0106)     }
(0107)     x+=8;
    1CAF 8989      LDD	R24,Y+17
    1CB0 899A      LDD	R25,Y+18
    1CB1 9608      ADIW	R24,0x8
    1CB2 8B9A      STD	Y+18,R25
    1CB3 8B89      STD	Y+17,R24
(0108)     Dis_Ascii(x,y,tt,front,back);
    1CB4 2C2E      MOV	R2,R14
    1CB5 2433      CLR	R3
    1CB6 823D      STD	Y+5,R3
    1CB7 822C      STD	Y+4,R2
    1CB8 8C09      LDD	R0,Y+25
    1CB9 820A      STD	Y+2,R0
    1CBA 8348      STD	Y+0,R20
    1CBB 892B      LDD	R18,Y+19
    1CBC 018C      MOVW	R16,R24
    1CBD 940E24CF  CALL	_Dis_Ascii
(0109)     if(point==2)
    1CBF 898F      LDD	R24,Y+23
    1CC0 3082      CPI	R24,2
    1CC1 F491      BNE	0x1CD4
(0110)     {
(0111)        x+=8;
    1CC2 8989      LDD	R24,Y+17
    1CC3 899A      LDD	R25,Y+18
    1CC4 9608      ADIW	R24,0x8
    1CC5 8B9A      STD	Y+18,R25
    1CC6 8B89      STD	Y+17,R24
(0112)        Dis_Ascii(x,y,'.',front,back);
    1CC7 2C2E      MOV	R2,R14
    1CC8 2433      CLR	R3
    1CC9 823D      STD	Y+5,R3
    1CCA 822C      STD	Y+4,R2
    1CCB 8C09      LDD	R0,Y+25
    1CCC 820A      STD	Y+2,R0
    1CCD E28E      LDI	R24,0x2E
    1CCE 8388      STD	Y+0,R24
    1CCF 892B      LDD	R18,Y+19
    1CD0 8909      LDD	R16,Y+17
    1CD1 891A      LDD	R17,Y+18
    1CD2 940E24CF  CALL	_Dis_Ascii
(0113)     }
(0114)     tt=temp/10;
    1CD4 E02A      LDI	R18,0xA
    1CD5 E030      LDI	R19,0
    1CD6 890D      LDD	R16,Y+21
    1CD7 891E      LDD	R17,Y+22
    1CD8 940E3022  CALL	div16u
    1CDA 2F40      MOV	R20,R16
(0115)     temp%=10;
    1CDB E02A      LDI	R18,0xA
    1CDC E030      LDI	R19,0
    1CDD 890D      LDD	R16,Y+21
    1CDE 891E      LDD	R17,Y+22
    1CDF 940E3020  CALL	mod16u
    1CE1 8B1E      STD	Y+22,R17
    1CE2 8B0D      STD	Y+21,R16
(0116)     if((tt==0)&(flag==0)&(point!=1))
    1CE3 2344      TST	R20
    1CE4 F421      BNE	0x1CE9
    1CE5 E081      LDI	R24,1
    1CE6 E090      LDI	R25,0
    1CE7 016C      MOVW	R12,R24
    1CE8 C002      RJMP	0x1CEB
    1CE9 24CC      CLR	R12
    1CEA 24DD      CLR	R13
    1CEB 800E      LDD	R0,Y+6
    1CEC 2000      TST	R0
    1CED F421      BNE	0x1CF2
    1CEE E081      LDI	R24,1
    1CEF E090      LDI	R25,0
    1CF0 015C      MOVW	R10,R24
    1CF1 C002      RJMP	0x1CF4
    1CF2 24AA      CLR	R10
    1CF3 24BB      CLR	R11
    1CF4 898F      LDD	R24,Y+23
    1CF5 3081      CPI	R24,1
    1CF6 F019      BEQ	0x1CFA
    1CF7 E061      LDI	R22,1
    1CF8 E070      LDI	R23,0
    1CF9 C002      RJMP	0x1CFC
    1CFA 2766      CLR	R22
    1CFB 2777      CLR	R23
    1CFC 0116      MOVW	R2,R12
    1CFD 202A      AND	R2,R10
    1CFE 203B      AND	R3,R11
    1CFF 2226      AND	R2,R22
    1D00 2237      AND	R3,R23
    1D01 2022      TST	R2
    1D02 F411      BNE	0x1D05
    1D03 2033      TST	R3
    1D04 F011      BEQ	0x1D07
(0117)     {
(0118)        tt=' ';
    1D05 E240      LDI	R20,0x20
(0119)     }
    1D06 C004      RJMP	0x1D0B
(0120)     else
(0121)     {
(0122)        flag=1;
    1D07 2400      CLR	R0
    1D08 9403      INC	R0
    1D09 820E      STD	Y+6,R0
(0123)        tt+=0x30;
    1D0A 5D40      SUBI	R20,0xD0
(0124)     }
(0125)     x+=8;
    1D0B 8989      LDD	R24,Y+17
    1D0C 899A      LDD	R25,Y+18
    1D0D 9608      ADIW	R24,0x8
    1D0E 8B9A      STD	Y+18,R25
    1D0F 8B89      STD	Y+17,R24
(0126)     Dis_Ascii(x,y,tt,front,back);
    1D10 2C2E      MOV	R2,R14
    1D11 2433      CLR	R3
    1D12 823D      STD	Y+5,R3
    1D13 822C      STD	Y+4,R2
    1D14 8C09      LDD	R0,Y+25
    1D15 820A      STD	Y+2,R0
    1D16 8348      STD	Y+0,R20
    1D17 892B      LDD	R18,Y+19
    1D18 018C      MOVW	R16,R24
    1D19 940E24CF  CALL	_Dis_Ascii
(0127)     if(point==1)
    1D1B 898F      LDD	R24,Y+23
    1D1C 3081      CPI	R24,1
    1D1D F491      BNE	0x1D30
(0128)     {
(0129)        x+=8;
    1D1E 8989      LDD	R24,Y+17
    1D1F 899A      LDD	R25,Y+18
    1D20 9608      ADIW	R24,0x8
    1D21 8B9A      STD	Y+18,R25
    1D22 8B89      STD	Y+17,R24
(0130)        Dis_Ascii(x,y,'.',front,back);
    1D23 2C2E      MOV	R2,R14
    1D24 2433      CLR	R3
    1D25 823D      STD	Y+5,R3
    1D26 822C      STD	Y+4,R2
    1D27 8C09      LDD	R0,Y+25
    1D28 820A      STD	Y+2,R0
    1D29 E28E      LDI	R24,0x2E
    1D2A 8388      STD	Y+0,R24
    1D2B 892B      LDD	R18,Y+19
    1D2C 8909      LDD	R16,Y+17
    1D2D 891A      LDD	R17,Y+18
    1D2E 940E24CF  CALL	_Dis_Ascii
(0131)     }
(0132)     x+=8;
    1D30 8989      LDD	R24,Y+17
    1D31 899A      LDD	R25,Y+18
    1D32 9608      ADIW	R24,0x8
    1D33 8B9A      STD	Y+18,R25
    1D34 8B89      STD	Y+17,R24
(0133)     Dis_Ascii(x,y,temp+0x30,front,back);
    1D35 2C2E      MOV	R2,R14
    1D36 2433      CLR	R3
    1D37 823D      STD	Y+5,R3
    1D38 822C      STD	Y+4,R2
    1D39 8C09      LDD	R0,Y+25
    1D3A 820A      STD	Y+2,R0
    1D3B 898D      LDD	R24,Y+21
    1D3C 899E      LDD	R25,Y+22
    1D3D 96C0      ADIW	R24,0x30
    1D3E 8388      STD	Y+0,R24
    1D3F 892B      LDD	R18,Y+19
    1D40 8909      LDD	R16,Y+17
    1D41 891A      LDD	R17,Y+18
    1D42 940E24CF  CALL	_Dis_Ascii
    1D44 9627      ADIW	R28,7
    1D45 940E310A  CALL	pop_gset5
    1D47 9624      ADIW	R28,4
    1D48 9508      RET
_DrawLine:
  ey                   --> Y+12
  ex                   --> Y+8
  sy                   --> Y+4
  sx                   --> Y+0
  y                    --> R10
  x                    --> R12
  color                --> Y+36
  y2                   --> Y+34
  x2                   --> R20
  y1                   --> Y+30
  x1                   --> R10
    1D49 933A      ST	R19,-Y
    1D4A 932A      ST	R18,-Y
    1D4B 940E310D  CALL	push_gset5
    1D4D 0158      MOVW	R10,R16
    1D4E 9764      SBIW	R28,0x14
    1D4F A148      LDD	R20,Y+32
    1D50 A159      LDD	R21,Y+33
(0134) }
(0135) /*
(0136)     功能:画直线
(0137)   参数:(x1,y1) 为起点坐标
(0138)      (x2,y2) 为终点坐标
(0139)      color 为线的颜色
(0140)      编写者:赫树开
(0141)      日期:2005.12.1
(0142) */
(0143) void DrawLine(unsigned int x1,unsigned char y1,unsigned int x2,unsigned char y2,unsigned char color)
(0144) {
(0145)      float sx,sy,ex,ey;
(0146) 	 unsigned int x;
(0147) 	 unsigned char y;
(0148) 	 sx = x1;
    1D51 EB03      LDI	R16,0xB3
    1D52 E117      LDI	R17,0x17
    1D53 940E30AD  CALL	elpm32
    1D55 933A      ST	R19,-Y
    1D56 932A      ST	R18,-Y
    1D57 931A      ST	R17,-Y
    1D58 930A      ST	R16,-Y
    1D59 0185      MOVW	R16,R10
    1D5A 9516      LSR	R17
    1D5B 9507      ROR	R16
    1D5C 940E31FD  CALL	int2fp
    1D5E 933A      ST	R19,-Y
    1D5F 932A      ST	R18,-Y
    1D60 931A      ST	R17,-Y
    1D61 930A      ST	R16,-Y
    1D62 940E3348  CALL	empy32fs
    1D64 0185      MOVW	R16,R10
    1D65 7001      ANDI	R16,1
    1D66 7010      ANDI	R17,0
    1D67 940E31FD  CALL	int2fp
    1D69 933A      ST	R19,-Y
    1D6A 932A      ST	R18,-Y
    1D6B 931A      ST	R17,-Y
    1D6C 930A      ST	R16,-Y
    1D6D 940E325C  CALL	add32f
    1D6F 01FE      MOVW	R30,R28
    1D70 8300      STD	Z+0,R16
    1D71 8311      STD	Z+1,R17
    1D72 8322      STD	Z+2,R18
    1D73 8333      STD	Z+3,R19
(0149) 	 sy = y1;
    1D74 8D0E      LDD	R16,Y+30
    1D75 2711      CLR	R17
    1D76 940E31FD  CALL	int2fp
    1D78 01FE      MOVW	R30,R28
    1D79 8304      STD	Z+4,R16
    1D7A 8315      STD	Z+5,R17
    1D7B 8326      STD	Z+6,R18
    1D7C 8337      STD	Z+7,R19
(0150) 	 ex = x2;
    1D7D EB03      LDI	R16,0xB3
    1D7E E117      LDI	R17,0x17
    1D7F 940E30AD  CALL	elpm32
    1D81 933A      ST	R19,-Y
    1D82 932A      ST	R18,-Y
    1D83 931A      ST	R17,-Y
    1D84 930A      ST	R16,-Y
    1D85 018A      MOVW	R16,R20
    1D86 9516      LSR	R17
    1D87 9507      ROR	R16
    1D88 940E31FD  CALL	int2fp
    1D8A 933A      ST	R19,-Y
    1D8B 932A      ST	R18,-Y
    1D8C 931A      ST	R17,-Y
    1D8D 930A      ST	R16,-Y
    1D8E 940E3348  CALL	empy32fs
    1D90 018A      MOVW	R16,R20
    1D91 7001      ANDI	R16,1
    1D92 7010      ANDI	R17,0
    1D93 940E31FD  CALL	int2fp
    1D95 933A      ST	R19,-Y
    1D96 932A      ST	R18,-Y
    1D97 931A      ST	R17,-Y
    1D98 930A      ST	R16,-Y
    1D99 940E325C  CALL	add32f
    1D9B 01FE      MOVW	R30,R28
    1D9C 8700      STD	Z+8,R16
    1D9D 8711      STD	Z+9,R17
    1D9E 8722      STD	Z+10,R18
    1D9F 8733      STD	Z+11,R19
(0151) 	 ey = y2;
    1DA0 A10A      LDD	R16,Y+34
    1DA1 2711      CLR	R17
    1DA2 940E31FD  CALL	int2fp
    1DA4 01FE      MOVW	R30,R28
    1DA5 8704      STD	Z+12,R16
    1DA6 8715      STD	Z+13,R17
    1DA7 8726      STD	Z+14,R18
    1DA8 8737      STD	Z+15,R19
(0152) 	 if(fabs(sx-ex)>=fabs(sy-ey))
    1DA9 01FE      MOVW	R30,R28
    1DAA 8020      LDD	R2,Z+0
    1DAB 8031      LDD	R3,Z+1
    1DAC 8042      LDD	R4,Z+2
    1DAD 8053      LDD	R5,Z+3
    1DAE 925A      ST	R5,-Y
    1DAF 924A      ST	R4,-Y
    1DB0 923A      ST	R3,-Y
    1DB1 922A      ST	R2,-Y
    1DB2 01FE      MOVW	R30,R28
    1DB3 8424      LDD	R2,Z+12
    1DB4 8435      LDD	R3,Z+13
    1DB5 8446      LDD	R4,Z+14
    1DB6 8457      LDD	R5,Z+15
    1DB7 925A      ST	R5,-Y
    1DB8 924A      ST	R4,-Y
    1DB9 923A      ST	R3,-Y
    1DBA 922A      ST	R2,-Y
    1DBB 940E3264  CALL	sub32f
    1DBD 940E3257  CALL	_fabs
    1DBF 0118      MOVW	R2,R16
    1DC0 0129      MOVW	R4,R18
    1DC1 01FE      MOVW	R30,R28
    1DC2 8064      LDD	R6,Z+4
    1DC3 8075      LDD	R7,Z+5
    1DC4 8086      LDD	R8,Z+6
    1DC5 8097      LDD	R9,Z+7
    1DC6 929A      ST	R9,-Y
    1DC7 928A      ST	R8,-Y
    1DC8 927A      ST	R7,-Y
    1DC9 926A      ST	R6,-Y
    1DCA 01FE      MOVW	R30,R28
    1DCB 8860      LDD	R6,Z+16
    1DCC 8871      LDD	R7,Z+17
    1DCD 8882      LDD	R8,Z+18
    1DCE 8893      LDD	R9,Z+19
    1DCF 929A      ST	R9,-Y
    1DD0 928A      ST	R8,-Y
    1DD1 927A      ST	R7,-Y

⌨️ 快捷键说明

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