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

📄 tv_power_tester.lst

📁 MCU控制继电器做的电源老化测试程序.每次测100次
💻 LST
字号:
__text_start:
__start:
    0013 E5CF      LDI	R28,0x5F
    0014 E0D4      LDI	R29,4
    0015 BFCD      OUT	0x3D,R28
    0016 BFDE      OUT	0x3E,R29
    0017 51C4      SUBI	R28,0x14
    0018 40D0      SBCI	R29,0
    0019 EA0A      LDI	R16,0xAA
    001A 8308      STD	Y+0,R16
    001B 2400      CLR	R0
    001C E6E0      LDI	R30,0x60
    001D E0F0      LDI	R31,0
    001E E010      LDI	R17,0
    001F 36E0      CPI	R30,0x60
    0020 07F1      CPC	R31,R17
    0021 F011      BEQ	0x0024
    0022 9201      ST	R0,Z+
    0023 CFFB      RJMP	0x001F
    0024 8300      STD	Z+0,R16
    0025 E2E6      LDI	R30,0x26
    0026 E0F0      LDI	R31,0
    0027 E6A0      LDI	R26,0x60
    0028 E0B0      LDI	R27,0
    0029 E010      LDI	R17,0
    002A 32E6      CPI	R30,0x26
    002B 07F1      CPC	R31,R17
    002C F021      BEQ	0x0031
    002D 95C8      LPM
    002E 9631      ADIW	R30,1
    002F 920D      ST	R0,X+
    0030 CFF9      RJMP	0x002A
    0031 D06F      RCALL	_main
_exit:
    0032 CFFF      RJMP	_exit
_DELAY_10uS:
  a                    --> R20
  b                    --> R22
  i                    --> R16
    0033 D0AE      RCALL	push_gset2
FILE: E:\company\hardware\eboda\LCD_TV\TV_power_tester\funcation.c
(0001) #include <iom8v.h>
(0002) #include <define.h>
(0003) 
(0004) 
(0005) /********************DELAY_10uS***************************/
(0006) void DELAY_10uS(unsigned int i)
(0007) { unsigned int a, b;
(0008)          for( a=i;a;a--)
    0034 01A8      MOVW	R20,R16
    0035 C00A      RJMP	0x0040
(0009) 		    for(b=14;b;b--);// a=1 &b=14 for 10us
    0036 E06E      LDI	R22,0xE
    0037 E070      LDI	R23,0
    0038 C002      RJMP	0x003B
    0039 5061      SUBI	R22,1
    003A 4070      SBCI	R23,0
    003B 3060      CPI	R22,0
    003C 0767      CPC	R22,R23
    003D F7D9      BNE	0x0039
    003E 5041      SUBI	R20,1
    003F 4050      SBCI	R21,0
    0040 3040      CPI	R20,0
    0041 0745      CPC	R20,R21
    0042 F799      BNE	0x0036
    0043 D096      RCALL	pop_gset2
    0044 9508      RET
_DELAY_100uS:
  a                    --> R20
  b                    --> R22
  i                    --> R20
    0045 D09C      RCALL	push_gset2
    0046 01A8      MOVW	R20,R16
(0010) }
(0011) /**********************DELAY_10uS****************************/
(0012) 
(0013) 
(0014) /********************DELAY_100uS***************************/
(0015) void DELAY_100uS(unsigned int i)
(0016) { unsigned int a, b;
(0017)          for( a=i*10;a;a--)
    0047 E00A      LDI	R16,0xA
    0048 E010      LDI	R17,0
    0049 019A      MOVW	R18,R20
    004A D07F      RCALL	empy16s
    004B 01A8      MOVW	R20,R16
    004C C00A      RJMP	0x0057
(0018) 		    for(b=23;b;b--);// a=10 &b=23 for 100us
    004D E167      LDI	R22,0x17
    004E E070      LDI	R23,0
    004F C002      RJMP	0x0052
    0050 5061      SUBI	R22,1
    0051 4070      SBCI	R23,0
    0052 3060      CPI	R22,0
    0053 0767      CPC	R22,R23
    0054 F7D9      BNE	0x0050
    0055 5041      SUBI	R20,1
    0056 4050      SBCI	R21,0
    0057 3040      CPI	R20,0
    0058 0745      CPC	R20,R21
    0059 F799      BNE	0x004D
    005A D07F      RCALL	pop_gset2
    005B 9508      RET
_DELAY_1MS:
  a                    --> R20
  b                    --> R22
  i                    --> R20
    005C D085      RCALL	push_gset2
    005D 01A8      MOVW	R20,R16
(0019) }
(0020) /**********************DELAY_100uS****************************/
(0021) 
(0022) /********************DELAY_1MS***************************/
(0023) void DELAY_1MS(unsigned int i)
(0024) { unsigned int a, b;
(0025)          for( a=i*10;a;a--)
    005E E00A      LDI	R16,0xA
    005F E010      LDI	R17,0
    0060 019A      MOVW	R18,R20
    0061 D068      RCALL	empy16s
    0062 01A8      MOVW	R20,R16
    0063 C00A      RJMP	0x006E
(0026) 		    for(b=270;b;b--);
    0064 E06E      LDI	R22,0xE
    0065 E071      LDI	R23,1
    0066 C002      RJMP	0x0069
    0067 5061      SUBI	R22,1
    0068 4070      SBCI	R23,0
    0069 3060      CPI	R22,0
    006A 0767      CPC	R22,R23
    006B F7D9      BNE	0x0067
    006C 5041      SUBI	R20,1
    006D 4050      SBCI	R21,0
    006E 3040      CPI	R20,0
    006F 0745      CPC	R20,R21
    0070 F799      BNE	0x0064
    0071 D068      RCALL	pop_gset2
    0072 9508      RET
_DELAY_10MS:
  a                    --> R20
  b                    --> R22
  i                    --> R20
    0073 D06E      RCALL	push_gset2
    0074 01A8      MOVW	R20,R16
(0027) }
(0028) /**********************DELAY_1MS****************************/
(0029) 
(0030) 
(0031) /********************DELAY_10MS***************************/
(0032) void DELAY_10MS(unsigned int i)
(0033) { unsigned int a, b;
(0034)          for( a=i*100;a;a--)
    0075 E604      LDI	R16,0x64
    0076 E010      LDI	R17,0
    0077 019A      MOVW	R18,R20
    0078 D051      RCALL	empy16s
    0079 01A8      MOVW	R20,R16
    007A C00A      RJMP	0x0085
(0035) 		    for(b=270;b;b--);//A=100 AND B=270 FOR 10MS
    007B E06E      LDI	R22,0xE
    007C E071      LDI	R23,1
    007D C002      RJMP	0x0080
    007E 5061      SUBI	R22,1
    007F 4070      SBCI	R23,0
    0080 3060      CPI	R22,0
    0081 0767      CPC	R22,R23
    0082 F7D9      BNE	0x007E
    0083 5041      SUBI	R20,1
    0084 4050      SBCI	R21,0
    0085 3040      CPI	R20,0
    0086 0745      CPC	R20,R21
    0087 F799      BNE	0x007B
    0088 D051      RCALL	pop_gset2
    0089 9508      RET
_DELAY_1S:
  a                    --> R20
  b                    --> R22
  i                    --> R20
    008A D057      RCALL	push_gset2
    008B 01A8      MOVW	R20,R16
(0036) }
(0037) /**********************DELAY_10MS****************************/
(0038) 
(0039) /********************DELAY_1S***************************/
(0040) void DELAY_1S(unsigned int i)
(0041) { unsigned int a, b;
(0042)          for( a=i*100;a;a--)
    008C E604      LDI	R16,0x64
    008D E010      LDI	R17,0
    008E 019A      MOVW	R18,R20
    008F D03A      RCALL	empy16s
    0090 01A8      MOVW	R20,R16
    0091 C00A      RJMP	0x009C
(0043) 		    for(b=20000;b;b--);//A=100 AND B=270 FOR 10MS
    0092 E260      LDI	R22,0x20
    0093 E47E      LDI	R23,0x4E
    0094 C002      RJMP	0x0097
    0095 5061      SUBI	R22,1
    0096 4070      SBCI	R23,0
    0097 3060      CPI	R22,0
    0098 0767      CPC	R22,R23
    0099 F7D9      BNE	0x0095
    009A 5041      SUBI	R20,1
    009B 4050      SBCI	R21,0
    009C 3040      CPI	R20,0
    009D 0745      CPC	R20,R21
    009E F799      BNE	0x0092
    009F D03A      RCALL	pop_gset2
    00A0 9508      RET
FILE: E:\company\hardware\eboda\LCD_TV\TV_power_tester\main.c
(0001) //EJK601_TEST prj 
(0002) //V1.0 release 2006.12.30
(0003) // 
(0004) //
(0005) //
(0006) #include <iom8v.h>
(0007) #include <define.h>
(0008) 
(0009) 
(0010) 
(0011) 
(0012) void main(void)
(0013) {
(0014) unsigned char i=0;
_main:
  i                    --> R20
    00A1 2744      CLR	R20
(0015) 
(0016) DELAY_10MS(10);//(2)
    00A2 E00A      LDI	R16,0xA
    00A3 E010      LDI	R17,0
    00A4 DFCE      RCALL	_DELAY_10MS
(0017) //-------------------INIT PORT---------------------
(0018) 
(0019) DDRB=0XFF;     //DDFINE PB OUTPUT
    00A5 EF8F      LDI	R24,0xFF
    00A6 BB87      OUT	0x17,R24
(0020) PORTB=0xFF;          //
    00A7 BB88      OUT	0x18,R24
(0021) 
(0022) DDRC=0XFF;      //DDFINE PC OUTPUT
    00A8 BB84      OUT	0x14,R24
(0023) PORTC=0xFF;     //
    00A9 BB85      OUT	0x15,R24
(0024) 
(0025) DDRD=0X00;      //PD0.....PD3  INPUT,PD4....PD7 OUPUT
    00AA 2422      CLR	R2
    00AB BA21      OUT	0x11,R2
(0026) PORTD=0x00;    
    00AC BA22      OUT	0x12,R2
(0027) //-------------------INIT PORT---------------------
(0028) TV_POWER_ON();
    00AD 98AD      CBI	0x15,5
(0029) DELAY_1S(4);  // power on delay times
    00AE E004      LDI	R16,4
    00AF E010      LDI	R17,0
    00B0 DFD9      RCALL	_DELAY_1S
    00B1 C015      RJMP	0x00C7
(0030) 
(0031) while(i<10)
(0032) 		{
(0033) i++;
    00B2 9543      INC	R20
(0034) DELAY_1S(4);  // power on delay times
    00B3 E004      LDI	R16,4
    00B4 E010      LDI	R17,0
    00B5 DFD4      RCALL	_DELAY_1S
(0035) if((PIND&0x08)==0x08)
    00B6 B380      IN	R24,0x10
    00B7 7088      ANDI	R24,0x8
    00B8 3088      CPI	R24,0x8
    00B9 F441      BNE	0x00C2
(0036) {
(0037) DELAY_1S(1);   // backlight on delay times
    00BA E001      LDI	R16,1
    00BB E010      LDI	R17,0
    00BC DFCD      RCALL	_DELAY_1S
(0038) TV_POWER_OFF();
    00BD 9AAD      SBI	0x15,5
(0039) DELAY_10MS(2);   // power off delay times
    00BE E002      LDI	R16,2
    00BF E010      LDI	R17,0
    00C0 DFB2      RCALL	_DELAY_10MS
(0040) }
    00C1 C004      RJMP	0x00C6
(0041) else
(0042) {
(0043) TV_POWER_OFF();
    00C2 9AAD      SBI	0x15,5
(0044) PORTB=0;
    00C3 2422      CLR	R2
    00C4 BA28      OUT	0x18,R2
(0045) break;
    00C5 C003      RJMP	0x00C9
(0046) }
(0047) TV_POWER_ON();
FILE: <library>
    00C6 98AD      CBI	0x15,5
    00C7 304A      CPI	R20,0xA
    00C8 F348      BCS	0x00B2
    00C9 9508      RET
empy16s:
    00CA 920A      ST	R0,-Y
    00CB 921A      ST	R1,-Y
    00CC 938A      ST	R24,-Y
    00CD 939A      ST	R25,-Y
    00CE 9F02      MUL	R16,R18
    00CF 01C0      MOVW	R24,R0
    00D0 9F12      MUL	R17,R18
    00D1 0D90      ADD	R25,R0
    00D2 9F03      MUL	R16,R19
    00D3 0D90      ADD	R25,R0
    00D4 018C      MOVW	R16,R24
    00D5 9199      LD	R25,Y+
    00D6 9189      LD	R24,Y+
    00D7 9019      LD	R1,Y+
    00D8 9009      LD	R0,Y+
    00D9 9508      RET
pop_gset2:
    00DA E0E2      LDI	R30,2
    00DB C00C      RJMP	pop
push_gset5:
    00DC 92FA      ST	R15,-Y
    00DD 92EA      ST	R14,-Y
push_gset4:
    00DE 92DA      ST	R13,-Y
    00DF 92CA      ST	R12,-Y
push_gset3:
    00E0 92BA      ST	R11,-Y
    00E1 92AA      ST	R10,-Y
push_gset2:
    00E2 937A      ST	R23,-Y
    00E3 936A      ST	R22,-Y
push_gset1:
    00E4 935A      ST	R21,-Y
    00E5 934A      ST	R20,-Y
    00E6 9508      RET
pop_gset1:
    00E7 E0E1      LDI	R30,1
pop:
    00E8 9149      LD	R20,Y+
    00E9 9159      LD	R21,Y+
    00EA FDE0      SBRC	R30,0
    00EB 9508      RET
    00EC 9169      LD	R22,Y+
    00ED 9179      LD	R23,Y+
    00EE FDE1      SBRC	R30,1
    00EF 9508      RET
    00F0 90A9      LD	R10,Y+
    00F1 90B9      LD	R11,Y+
    00F2 FDE2      SBRC	R30,2
    00F3 9508      RET
    00F4 90C9      LD	R12,Y+
    00F5 90D9      LD	R13,Y+
    00F6 FDE3      SBRC	R30,3
    00F7 9508      RET
    00F8 90E9      LD	R14,Y+
    00F9 90F9      LD	R15,Y+
    00FA 9508      RET

⌨️ 快捷键说明

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