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

📄 xunhuan.lst

📁 ARM单片机
💻 LST
字号:
__text_start:
__start:
    0018 E5CF      LDI	R28,0x5F
    0019 E0D4      LDI	R29,4
    001A BFCD      OUT	0x3D,R28
    001B BFDE      OUT	0x3E,R29
    001C 51CE      SUBI	R28,0x1E
    001D 40D0      SBCI	R29,0
    001E EA0A      LDI	R16,0xAA
    001F 8308      STD	Y+0,R16
    0020 2400      CLR	R0
    0021 E6EA      LDI	R30,0x6A
    0022 E0F0      LDI	R31,0
    0023 E010      LDI	R17,0
    0024 36EA      CPI	R30,0x6A
    0025 07F1      CPC	R31,R17
    0026 F011      BEQ	0x0029
    0027 9201      ST	R0,Z+
    0028 CFFB      RJMP	0x0024
    0029 8300      STD	Z+0,R16
    002A E2E6      LDI	R30,0x26
    002B E0F0      LDI	R31,0
    002C E6A0      LDI	R26,0x60
    002D E0B0      LDI	R27,0
    002E E010      LDI	R17,0
    002F 33E0      CPI	R30,0x30
    0030 07F1      CPC	R31,R17
    0031 F021      BEQ	0x0036
    0032 95C8      LPM
    0033 9631      ADIW	R30,1
    0034 920D      ST	R0,X+
    0035 CFF9      RJMP	0x002F
    0036 D035      RCALL	_main
_exit:
    0037 CFFF      RJMP	_exit
_Delay:
  j                    --> R20
  i                    --> R16
    0038 D040      RCALL	push_gset1
FILE: D:\icc\程序\循环移位\xunhuan.c
(0001) #include<iom8v.h>
(0002) #define uchar unsigned char
(0003) #define uint  unsigned int
(0004) uchar Table[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//共阴7段码
(0005) 
(0006) 
(0007) void Delay(uint i)       // 延时程序
(0008) {uint j;
(0009)  for(;i!=0;i--)
    0039 C00A      RJMP	0x0044
(0010)   {for(j=500;j!=0;j--);}
    003A EF44      LDI	R20,0xF4
    003B E051      LDI	R21,1
    003C C002      RJMP	0x003F
    003D 5041      SUBI	R20,1
    003E 4050      SBCI	R21,0
    003F 3040      CPI	R20,0
    0040 0745      CPC	R20,R21
    0041 F7D9      BNE	0x003D
    0042 5001      SUBI	R16,1
    0043 4010      SBCI	R17,0
    0044 3000      CPI	R16,0
    0045 0701      CPC	R16,R17
    0046 F799      BNE	0x003A
    0047 D034      RCALL	pop_gset1
    0048 9508      RET
(0011) }
(0012) 
(0013) 
(0014) void Init_IO(void)  //IO口设置 全部设为输出
(0015) {
(0016)    DDRD=0xff;
_Init_IO:
    0049 EF8F      LDI	R24,0xFF
    004A BB81      OUT	0x11,R24
(0017)    PORTD=0xff;
    004B BB82      OUT	0x12,R24
(0018)    DDRB=0xff;
    004C BB87      OUT	0x17,R24
(0019)    PORTB=0x00;
    004D 2422      CLR	R2
    004E BA28      OUT	0x18,R2
    004F 9508      RET
_Display:
  i                    --> R20
    0050 D028      RCALL	push_gset1
(0020) }
(0021) 
(0022) void Display(void)
(0023) {
(0024)     uchar i;//uchar j; uchar n;
(0025) 	for(i=0;i<4;i++)
    0051 2744      CLR	R20
    0052 C015      RJMP	0x0068
(0026) 	{
(0027) 	    PORTD=(0xef<<i);      //<<是左移.0是位选
    0053 2F24      MOV	R18,R20
    0054 2733      CLR	R19
    0055 EE0F      LDI	R16,0xEF
    0056 E010      LDI	R17,0
    0057 D038      RCALL	lsl16
    0058 BB02      OUT	0x12,R16
(0028) 		Delay(20);
    0059 E104      LDI	R16,0x14
    005A E010      LDI	R17,0
    005B DFDC      RCALL	_Delay
(0029) 	    //PORTD=(~(0x80>>i);)   //>>右移,~是取反
(0030) 		
(0031) 	    PORTB=Table[i];//0xfc;//
    005C E680      LDI	R24,0x60
    005D E090      LDI	R25,0
    005E 2FE4      MOV	R30,R20
    005F 27FF      CLR	R31
    0060 0FE8      ADD	R30,R24
    0061 1FF9      ADC	R31,R25
    0062 8020      LDD	R2,Z+0
    0063 BA28      OUT	0x18,R2
(0032) 		Delay(200);
    0064 EC08      LDI	R16,0xC8
    0065 E010      LDI	R17,0
    0066 DFD1      RCALL	_Delay
    0067 9543      INC	R20
    0068 3044      CPI	R20,4
    0069 F348      BCS	0x0053
    006A D011      RCALL	pop_gset1
    006B 9508      RET
(0033) 	
(0034) 		
(0035) 		
(0036) 	}
(0037) }
(0038) 
(0039) void main (void)
(0040) {
(0041)     Init_IO();
_main:
    006C DFDC      RCALL	_Init_IO
    006D C001      RJMP	0x006F
(0042)      while(1)
(0043)       { Display();
FILE: <library>
    006E DFE1      RCALL	_Display
    006F CFFE      RJMP	0x006E
    0070 9508      RET
push_gset5:
    0071 92FA      ST	R15,-Y
    0072 92EA      ST	R14,-Y
push_gset4:
    0073 92DA      ST	R13,-Y
    0074 92CA      ST	R12,-Y
push_gset3:
    0075 92BA      ST	R11,-Y
    0076 92AA      ST	R10,-Y
push_gset2:
    0077 937A      ST	R23,-Y
    0078 936A      ST	R22,-Y
push_gset1:
    0079 935A      ST	R21,-Y
    007A 934A      ST	R20,-Y
    007B 9508      RET
pop_gset1:
    007C E0E1      LDI	R30,1
pop:
    007D 9149      LD	R20,Y+
    007E 9159      LD	R21,Y+
    007F FDE0      SBRC	R30,0
    0080 9508      RET
    0081 9169      LD	R22,Y+
    0082 9179      LD	R23,Y+
    0083 FDE1      SBRC	R30,1
    0084 9508      RET
    0085 90A9      LD	R10,Y+
    0086 90B9      LD	R11,Y+
    0087 FDE2      SBRC	R30,2
    0088 9508      RET
    0089 90C9      LD	R12,Y+
    008A 90D9      LD	R13,Y+
    008B FDE3      SBRC	R30,3
    008C 9508      RET
    008D 90E9      LD	R14,Y+
    008E 90F9      LD	R15,Y+
    008F 9508      RET
lsl16:
    0090 2322      TST	R18
    0091 F021      BEQ	0x0096
    0092 0F00      LSL	R16
    0093 1F11      ROL	R17
    0094 952A      DEC	R18
    0095 CFFA      RJMP	lsl16
    0096 9508      RET

⌨️ 快捷键说明

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