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

📄 dianzhen.lst

📁 点阵显示
💻 LST
字号:
__text_start:
__start:
    0019 E5CF      LDI	R28,0x5F
    001A E0D2      LDI	R29,2
    001B BFCD      OUT	0x3D,R28
    001C BFDE      OUT	0x3E,R29
    001D 51C0      SUBI	R28,0x10
    001E 40D0      SBCI	R29,0
    001F EA0A      LDI	R16,0xAA
    0020 8308      STD	Y+0,R16
    0021 2400      CLR	R0
    0022 E7E0      LDI	R30,0x70
    0023 E0F0      LDI	R31,0
    0024 E010      LDI	R17,0
    0025 37E0      CPI	R30,0x70
    0026 07F1      CPC	R31,R17
    0027 F011      BEQ	0x002A
    0028 9201      ST	R0,Z+
    0029 CFFB      RJMP	0x0025
    002A 8300      STD	Z+0,R16
    002B E2E2      LDI	R30,0x22
    002C E0F0      LDI	R31,0
    002D E6A0      LDI	R26,0x60
    002E E0B0      LDI	R27,0
    002F E010      LDI	R17,0
    0030 33E2      CPI	R30,0x32
    0031 07F1      CPC	R31,R17
    0032 F021      BEQ	0x0037
    0033 95C8      LPM
    0034 9631      ADIW	R30,1
    0035 920D      ST	R0,X+
    0036 CFF9      RJMP	0x0030
    0037 D01C      RCALL	_main
_exit:
    0038 CFFF      RJMP	_exit
FILE: E:\zh\avr\8515板\dianzhen\dianzhen.c
(0001) //8*8点阵
(0002) #include <io8515v.h>
(0003) #include<macros.h>
(0004) #define uchar unsigned char
(0005) #define uint  unsigned int
(0006) /*菱形码
(0007) unsigned char tabP0[]={0x00,0x08,0x14,0x22,0x41,0x22,0x14,0x08};
(0008) unsigned char tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
(0009) */
(0010) /*圈形码
(0011) unsigned char tabP0[]={0x00,0x3c,0x42,0x42,0x42,0x42,0x3c,0x00};
(0012) unsigned char tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
(0013) */
(0014) /*心形码
(0015) unsigned char tabP0[]={0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00};
(0016) unsigned char tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
(0017) */
(0018) //叉形码
(0019) unsigned char tabP0[]={0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41};
(0020) unsigned char tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
(0021) void delay_1ms()
(0022) {
(0023)  uchar i;
(0024)  for(i=0;i<140;i++);
_delay_1ms:
  i                    --> R16
    0039 2700      CLR	R16
    003A C001      RJMP	0x003C
    003B 9503      INC	R16
    003C 380C      CPI	R16,0x8C
    003D F3E8      BCS	0x003B
    003E 9508      RET
_delay_nms:
  i                    --> R20
  n                    --> R22
    003F D03D      RCALL	push_gset2
    0040 2F60      MOV	R22,R16
(0025) }
(0026) void delay_nms(uchar n)
(0027) {
(0028)  uchar i;
(0029)  for(i=0;i<n;i++)
    0041 2744      CLR	R20
    0042 C002      RJMP	0x0045
(0030)      delay_1ms();
    0043 DFF5      RCALL	_delay_1ms
    0044 9543      INC	R20
    0045 1746      CP	R20,R22
    0046 F3E0      BCS	0x0043
    0047 D02D      RCALL	pop_gset2
    0048 9508      RET
(0031) }
(0032) void m8515_init()
(0033) {
(0034)  DDRA=0XFF;
_m8515_init:
    0049 EF8F      LDI	R24,0xFF
    004A BB8A      OUT	0x1A,R24
(0035)  PORTA=0X00;
    004B 2422      CLR	R2
    004C BA2B      OUT	0x1B,R2
(0036)  DDRB=0X00;
    004D BA27      OUT	0x17,R2
(0037)  PORTB=0XFF;
    004E BB88      OUT	0x18,R24
(0038)  DDRC=0XFF;
    004F BB84      OUT	0x14,R24
(0039)  PORTC=0X00;
    0050 BA25      OUT	0x15,R2
(0040)  DDRD=0X00;
    0051 BA21      OUT	0x11,R2
(0041)  PORTD=0XFF;
    0052 BB82      OUT	0x12,R24
    0053 9508      RET
(0042) }
(0043) void main()
(0044) {
(0045) unsigned int i;
(0046) m8515_init();
_main:
  i                    --> R20
    0054 DFF4      RCALL	_m8515_init
    0055 C01D      RJMP	0x0073
(0047) while(1){
(0048) for(i=0;i<8;i++)
    0056 2744      CLR	R20
    0057 2755      CLR	R21
    0058 C016      RJMP	0x006F
(0049) {
(0050) PORTA=0;
    0059 2422      CLR	R2
    005A BA2B      OUT	0x1B,R2
(0051) PORTC=tabP2[i];
    005B E688      LDI	R24,0x68
    005C E090      LDI	R25,0
    005D 01FA      MOVW	R30,R20
    005E 0FE8      ADD	R30,R24
    005F 1FF9      ADC	R31,R25
    0060 8020      LDD	R2,Z+0
    0061 BA25      OUT	0x15,R2
(0052) delay_nms(1);
    0062 E001      LDI	R16,1
    0063 DFDB      RCALL	_delay_nms
(0053) PORTA=tabP0[i];
    0064 E680      LDI	R24,0x60
    0065 E090      LDI	R25,0
    0066 01FA      MOVW	R30,R20
    0067 0FE8      ADD	R30,R24
    0068 1FF9      ADC	R31,R25
    0069 8020      LDD	R2,Z+0
    006A BA2B      OUT	0x1B,R2
(0054) delay_nms(1);
FILE: <library>
    006B E001      LDI	R16,1
    006C DFD2      RCALL	_delay_nms
    006D 5F4F      SUBI	R20,0xFF
    006E 4F5F      SBCI	R21,0xFF
    006F 3048      CPI	R20,0x8
    0070 E0E0      LDI	R30,0
    0071 075E      CPC	R21,R30
    0072 F330      BCS	0x0059
    0073 CFE2      RJMP	0x0056
    0074 9508      RET
pop_gset2:
    0075 E0E2      LDI	R30,2
    0076 C00C      RJMP	pop
push_gset5:
    0077 92FA      ST	R15,-Y
    0078 92EA      ST	R14,-Y
push_gset4:
    0079 92DA      ST	R13,-Y
    007A 92CA      ST	R12,-Y
push_gset3:
    007B 92BA      ST	R11,-Y
    007C 92AA      ST	R10,-Y
push_gset2:
    007D 937A      ST	R23,-Y
    007E 936A      ST	R22,-Y
push_gset1:
    007F 935A      ST	R21,-Y
    0080 934A      ST	R20,-Y
    0081 9508      RET
pop_gset1:
    0082 E0E1      LDI	R30,1
pop:
    0083 9149      LD	R20,Y+
    0084 9159      LD	R21,Y+
    0085 FDE0      SBRC	R30,0
    0086 9508      RET
    0087 9169      LD	R22,Y+
    0088 9179      LD	R23,Y+
    0089 FDE1      SBRC	R30,1
    008A 9508      RET
    008B 90A9      LD	R10,Y+
    008C 90B9      LD	R11,Y+
    008D FDE2      SBRC	R30,2
    008E 9508      RET
    008F 90C9      LD	R12,Y+
    0090 90D9      LD	R13,Y+
    0091 FDE3      SBRC	R30,3
    0092 9508      RET
    0093 90E9      LD	R14,Y+
    0094 90F9      LD	R15,Y+
    0095 9508      RET

⌨️ 快捷键说明

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