找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1814|回复: 0
收起左侧

基于pic单片机的冲击测试PCB文件

[复制链接]
ID:237797 发表于 2019-12-20 10:27 | 显示全部楼层 |阅读模式
本版本为基础版,冲击实验次数在程序里面固定。PWM输出控制继电器或者MOS管去控制测试的负载。RLED是工作指示灯,亮1S灭1S闪烁,GLED为停止工作指示灯,工作时灭,停止测试时常亮!KEY_IN为启动按键。文件附PCB这里和元项目文件。

Altium Designer画的PCB图如下:(51hei附件中可下载工程文件)
51hei.png 51hei.png

单片机源程序如下:
  1. //Deviec:FT61F02X
  2. //-----------------------Variable---------------------------------
  3.                 _ISR                EQU                1A640H
  4.                 _sysRun                EQU                7BH
  5.                 _TimValue                EQU                70H
  6.                 _keyState                EQU                79H
  7.                 _sysTim                EQU                74H
  8.                 _keyProcTim                EQU                72H
  9.                 _RLEDProcTim                EQU                22H
  10.                 _PWMProcTim                EQU                20H
  11.                 _RLEDState                EQU                78H
  12.                 _PWMState                EQU                77H
  13.                 _GLEDState                EQU                76H
  14.                 _f1ms                EQU                7BH
  15.                 _PWMNum                EQU                24H
  16.                 _pwmEnd                EQU                7AH
  17.                 _ISR                EQU                1A640H
  18. //-----------------------Variable END---------------------------------
  19.                 ORG                0000H
  20.                 LJUMP         0AH                         //0000         380A
  21.                 ORG                0004H
  22.                 STR         7EH                         //0004         01FE
  23.                 SWAPR         STATUS,0                 //0005         0703
  24.                 STR         7CH                         //0006         01FC
  25.                 LDR         PCLATH,0                 //0007         080A
  26.                 STR         7DH                         //0008         01FD
  27.                 LJUMP         E8H                         //0009         38E8
  28.                 LJUMP         D8H                         //000A         38D8

  29.                 //;Impacttest.C: 144: TimValue = sysTim - keyProcTim;
  30.                 LDR         75H,0                         //000B         0875
  31.                 STR         71H                         //000C         01F1
  32.                 LDR         74H,0                         //000D         0874
  33.                 STR         70H                         //000E         01F0
  34.                 LDR         72H,0                         //000F         0872
  35.                 SUBWR         70H,1                         //0010         0CF0
  36.                 LDR         73H,0                         //0011         0873
  37.                 BTSS         STATUS,0                 //0012         1C03
  38.                 DECR         71H,1                         //0013         0DF1
  39.                 SUBWR         71H,1                         //0014         0CF1

  40.                 //;Impacttest.C: 147: if (TimValue >= 20)
  41.                 LDWI         0H                         //0015         2A00
  42.                 SUBWR         71H,0                         //0016         0C71
  43.                 LDWI         14H                         //0017         2A14
  44.                 BTSC         STATUS,2                 //0018         1503
  45.                 SUBWR         70H,0                         //0019         0C70
  46.                 BTSS         STATUS,0                 //001A         1C03
  47.                 RET                                                         //001B         0004

  48.                 //;Impacttest.C: 148: {
  49.                 //;Impacttest.C: 149: keyProcTim = sysTim;
  50.                 LDR         75H,0                         //001C         0875
  51.                 STR         73H                         //001D         01F3
  52.                 LDR         74H,0                         //001E         0874
  53.                 STR         72H                         //001F         01F2

  54.                 //;Impacttest.C: 151: switch (keyState)
  55.                 LJUMP         45H                         //0020         3845

  56.                 //;Impacttest.C: 152: {
  57.                 //;Impacttest.C: 154: case 0:
  58.                 //;Impacttest.C: 155: if (PA0 == 0)
  59.                 BTSC         5H,0                         //0021         1405
  60.                 RET                                                         //0022         0004

  61.                 //;Impacttest.C: 156: {
  62.                 //;Impacttest.C: 157: keyState = 1;
  63.                 CLRR         79H                         //0023         0179
  64.                 INCR        79H,1                         //0024         09F9
  65.                 RET                                                         //0025         0004

  66.                 //;Impacttest.C: 161: case 1:
  67.                 //;Impacttest.C: 162: if (PA0 == 0)
  68.                 BTSC         5H,0                         //0026         1405
  69.                 LJUMP         40H                         //0027         3840

  70.                 //;Impacttest.C: 163: {
  71.                 //;Impacttest.C: 165: if (sysRun == 0)
  72.                 BTSC         7BH,1                         //0028         14FB
  73.                 LJUMP         3DH                         //0029         383D

  74.                 //;Impacttest.C: 166: {
  75.                 //;Impacttest.C: 167: sysRun = 1;
  76.                 BSR         7BH,1                         //002A         18FB

  77.                 //;Impacttest.C: 169: PC2 = 1;
  78.                 BSR         7H,2                         //002B         1907

  79.                 //;Impacttest.C: 170: PC4 = 1;
  80.                 BSR         7H,4                         //002C         1A07

  81.                 //;Impacttest.C: 172: RLEDState = 1;
  82.                 CLRR         78H                         //002D         0178
  83.                 INCR        78H,1                         //002E         09F8

  84.                 //;Impacttest.C: 173: RLEDProcTim = sysTim;
  85.                 LDR         75H,0                         //002F         0875
  86.                 STR         23H                         //0030         01A3
  87.                 LDR         74H,0                         //0031         0874
  88.                 STR         22H                         //0032         01A2

  89.                 //;Impacttest.C: 175: PWMNum = 2;
  90.                 LDWI         2H                         //0033         2A02
  91.                 STR         24H                         //0034         01A4
  92.                 CLRR         25H                         //0035         0125

  93.                 //;Impacttest.C: 176: pwmEnd = 0;
  94.                 CLRR         7AH                         //0036         017A

  95.                 //;Impacttest.C: 177: PWMState = 1;
  96.                 CLRR         77H                         //0037         0177
  97.                 INCR        77H,1                         //0038         09F7

  98.                 //;Impacttest.C: 178: PWMProcTim = sysTim;
  99.                 LDR         75H,0                         //0039         0875
  100.                 STR         21H                         //003A         01A1
  101.                 LDR         74H,0                         //003B         0874
  102.                 STR         20H                         //003C         01A0

  103.                 //;Impacttest.C: 179: }
  104.                 //;Impacttest.C: 181: keyState = 2;
  105.                 LDWI         2H                         //003D         2A02
  106.                 STR         79H                         //003E         01F9

  107.                 //;Impacttest.C: 182: }
  108.                 RET                                                         //003F         0004

  109.                 //;Impacttest.C: 183: else
  110.                 //;Impacttest.C: 184: {
  111.                 //;Impacttest.C: 185: keyState = 0;
  112.                 CLRR         79H                         //0040         0179
  113.                 RET                                                         //0041         0004

  114.                 //;Impacttest.C: 189: default:
  115.                 //;Impacttest.C: 191: if (PA0)
  116.                 BTSS         5H,0                         //0042         1C05
  117.                 RET                                                         //0043         0004
  118.                 LJUMP         40H                         //0044         3840
  119.                 LDR         79H,0                         //0045         0879
  120.                 XORWI         0H                         //0046         2600
  121.                 BTSC         STATUS,2                 //0047         1503
  122.                 LJUMP         21H                         //0048         3821
  123.                 XORWI         1H                         //0049         2601
  124.                 BTSC         STATUS,2                 //004A         1503
  125.                 LJUMP         26H                         //004B         3826
  126.                 LJUMP         42H                         //004C         3842
  127.                 RET                                                         //004D         0004

  128.                 //;Impacttest.C: 238: switch (PWMState)
  129.                 LJUMP         7BH                         //004E         387B

  130.                 //;Impacttest.C: 239: {
  131.                 //;Impacttest.C: 241: case 0:
  132.                 //;Impacttest.C: 242: PC4 = 0;
  133.                 BCR         7H,4                         //004F         1207

  134.                 //;Impacttest.C: 243: break;
  135.                 RET                                                         //0050         0004

  136.                 //;Impacttest.C: 245: TimValue = sysTim - PWMProcTim;
  137.                 LDR         75H,0                         //0051         0875
  138.                 STR         71H                         //0052         01F1
  139.                 LDR         74H,0                         //0053         0874
  140.                 STR         70H                         //0054         01F0
  141.                 LDR         20H,0                         //0055         0820
  142.                 SUBWR         70H,1                         //0056         0CF0
  143.                 LDR         21H,0                         //0057         0821
  144.                 BTSS         STATUS,0                 //0058         1C03
  145.                 DECR         71H,1                         //0059         0DF1
  146.                 SUBWR         71H,1                         //005A         0CF1

  147.                 //;Impacttest.C: 248: if (TimValue >= 30000)
  148.                 LDWI         75H                         //005B         2A75
  149.                 SUBWR         71H,0                         //005C         0C71
  150.                 LDWI         30H                         //005D         2A30
  151.                 BTSC         STATUS,2                 //005E         1503
  152.                 SUBWR         70H,0                         //005F         0C70
  153.                 BTSS         STATUS,0                 //0060         1C03
  154.                 RET                                                         //0061         0004

  155.                 //;Impacttest.C: 249: {
  156.                 //;Impacttest.C: 250: PWMProcTim = sysTim;
  157.                 LDR         75H,0                         //0062         0875
  158.                 STR         21H                         //0063         01A1
  159.                 LDR         74H,0                         //0064         0874
  160.                 STR         20H                         //0065         01A0

  161.                 //;Impacttest.C: 266: PWMNum--;
  162.                 LDWI         1H                         //0066         2A01
  163.                 SUBWR         24H,1                         //0067         0CA4
  164.                 LDWI         0H                         //0068         2A00
  165.                 BTSS         STATUS,0                 //0069         1C03
  166.                 DECR         25H,1                         //006A         0DA5
  167.                 SUBWR         25H,1                         //006B         0CA5

  168.                 //;Impacttest.C: 267: if (PWMNum == 0)
  169.                 LDR         25H,0                         //006C         0825
  170.                 IORWR         24H,0                         //006D         0324
  171.                 BTSS         STATUS,2                 //006E         1D03
  172.                 LJUMP         78H                         //006F         3878

  173.                 //;Impacttest.C: 268: {
  174.                 //;Impacttest.C: 269: pwmEnd = 1;
  175.                 CLRR         7AH                         //0070         017A
  176.                 INCR        7AH,1                         //0071         09FA

  177.                 //;Impacttest.C: 270: GLEDState = 1;
  178.                 CLRR         76H                         //0072         0176
  179.                 INCR        76H,1                         //0073         09F6

  180.                 //;Impacttest.C: 272: sysRun = 0;
  181.                 BCR         7BH,1                         //0074         10FB

  182.                 //;Impacttest.C: 273: PC4 = 0;
  183.                 BCR         7H,4                         //0075         1207

  184.                 //;Impacttest.C: 274: PWMState = 0;
  185.                 CLRR         77H                         //0076         0177

  186.                 //;Impacttest.C: 275: }
  187.                 RET                                                         //0077         0004

  188.                 //;Impacttest.C: 276: else
  189.                 //;Impacttest.C: 277: {
  190.                 //;Impacttest.C: 278: PC4 = ~PC4;
  191.                 LDWI         10H                         //0078         2A10
  192.                 XORWR         7H,1                         //0079         0487
  193.                 RET                                                         //007A         0004
  194.                 LDR         77H,0                         //007B         0877
  195.                 XORWI         0H                         //007C         2600
  196.                 BTSC         STATUS,2                 //007D         1503
  197.                 LJUMP         4FH                         //007E         384F
  198.                 XORWI         1H                         //007F         2601
  199.                 BTSC         STATUS,2                 //0080         1503
  200.                 LJUMP         51H                         //0081         3851
  201.                 LJUMP         83H                         //0082         3883
  202.                 RET                                                         //0083         0004

  203.                 //;Impacttest.C: 205: switch (RLEDState)
  204.                 LJUMP         A6H                         //0084         38A6

  205.                 //;Impacttest.C: 206: {
  206.                 //;Impacttest.C: 208: case 0:
  207.                 //;Impacttest.C: 209: PC2 = 0;
  208.                 BCR         7H,2                         //0085         1107

  209.                 //;Impacttest.C: 210: break;
  210.                 RET                                                         //0086         0004

  211.                 //;Impacttest.C: 213: if (pwmEnd == 0)
  212.                 LDR         7AH,1                         //0087         08FA
  213.                 BTSS         STATUS,2                 //0088         1D03
  214.                 LJUMP         A3H                         //0089         38A3

  215.                 //;Impacttest.C: 214: {
  216.                 //;Impacttest.C: 215: TimValue = sysTim - RLEDProcTim;
  217.                 LDR         75H,0                         //008A         0875
  218.                 STR         71H                         //008B         01F1
  219.                 LDR         74H,0                         //008C         0874
  220.                 STR         70H                         //008D         01F0
  221.                 LDR         22H,0                         //008E         0822
  222.                 SUBWR         70H,1                         //008F         0CF0
  223.                 LDR         23H,0                         //0090         0823
  224.                 BTSS         STATUS,0                 //0091         1C03
  225.                 DECR         71H,1                         //0092         0DF1
  226.                 SUBWR         71H,1                         //0093         0CF1

  227.                 //;Impacttest.C: 218: if (TimValue >= 1000)
  228.                 LDWI         3H                         //0094         2A03
  229.                 SUBWR         71H,0                         //0095         0C71
  230.                 LDWI         E8H                         //0096         2AE8
  231.                 BTSC         STATUS,2                 //0097         1503
  232.                 SUBWR         70H,0                         //0098         0C70
  233.                 BTSS         STATUS,0                 //0099         1C03
  234.                 RET                                                         //009A         0004

  235.                 //;Impacttest.C: 219: {
  236.                 //;Impacttest.C: 220: RLEDProcTim = sysTim;
  237.                 LDR         75H,0                         //009B         0875
  238.                 STR         23H                         //009C         01A3
  239.                 LDR         74H,0                         //009D         0874
  240.                 STR         22H                         //009E         01A2
  241.                 LDWI         4H                         //009F         2A04

  242.                 //;Impacttest.C: 221: GLEDState = 0;
  243.                 CLRR         76H                         //00A0         0176

  244.                 //;Impacttest.C: 222: PC2 = ~PC2;
  245.                 XORWR         7H,1                         //00A1         0487
  246.                 RET                                                         //00A2         0004

  247.                 //;Impacttest.C: 226: else
  248.                 //;Impacttest.C: 227: {
  249.                 //;Impacttest.C: 228: PC2 = 0;
  250.                 BCR         7H,2                         //00A3         1107

  251.                 //;Impacttest.C: 229: RLEDState = 0;
  252.                 CLRR         78H                         //00A4         0178
  253.                 RET                                                         //00A5         0004
  254.                 LDR         78H,0                         //00A6         0878
  255.                 XORWI         0H                         //00A7         2600
  256.                 BTSC         STATUS,2                 //00A8         1503
  257.                 LJUMP         85H                         //00A9         3885
  258.                 XORWI         1H                         //00AA         2601
  259.                 BTSC         STATUS,2                 //00AB         1503
  260.                 LJUMP         87H                         //00AC         3887
  261.                 LJUMP         AEH                         //00AD         38AE
  262.                 RET                                                         //00AE         0004

  263.                 //;Impacttest.C: 76: OSCCON = 0B01100001;
  264.                 LDWI         61H                         //00AF         2A61
  265.                 BSR         STATUS,5                 //00B0         1A83
  266.                 STR         FH                         //00B1         018F

  267.                 //;Impacttest.C: 78: INTCON = 0;
  268.                 CLRR         INTCON                         //00B2         010B

  269.                 //;Impacttest.C: 79: PORTA = 0B00000010;
  270.                 LDWI         2H                         //00B3         2A02
  271.                 BCR         STATUS,5                 //00B4         1283
  272.                 STR         5H                         //00B5         0185

  273.                 //;Impacttest.C: 80: TRISA = 0B11111111;
  274.                 LDWI         FFH                         //00B6         2AFF
  275.                 BSR         STATUS,5                 //00B7         1A83
  276.                 STR         5H                         //00B8         0185

  277.                 //;Impacttest.C: 81: PORTC = 0B00000100;
  278.                 LDWI         4H                         //00B9         2A04
  279.                 BCR         STATUS,5                 //00BA         1283
  280.                 STR         7H                         //00BB         0187

  281.                 //;Impacttest.C: 82: TRISC = 0B11100011;
  282.                 LDWI         E3H                         //00BC         2AE3
  283.                 BSR         STATUS,5                 //00BD         1A83
  284.                 STR         7H                         //00BE         0187

  285.                 //;Impacttest.C: 84: ANSEL=0B0000000;
  286.                 CLRR         11H                         //00BF         0111

  287.                 //;Impacttest.C: 86: WPUA = 0B00000001;
  288.                 LDWI         1H                         //00C0         2A01
  289.                 STR         15H                         //00C1         0195

  290.                 //;Impacttest.C: 87: WPUC = 0B00000000;
  291.                 CLRR         8H                         //00C2         0108

  292.                 //;Impacttest.C: 88: OPTION = 0B00001000;
  293.                 LDWI         8H                         //00C3         2A08
  294.                 STR         1H                         //00C4         0181

  295.                 //;Impacttest.C: 90: MSCKCON = 0B00000000;
  296.                 BCR         STATUS,5                 //00C5         1283
  297.                 CLRR         1BH                         //00C6         011B

  298.                 //;Impacttest.C: 93: CMCON0 = 0B00000111;
  299.                 LDWI         7H                         //00C7         2A07
  300.                 STR         19H                         //00C8         0199

  301.                 //;Impacttest.C: 96: T2CON = 0B00011001;
  302.                 LDWI         19H                         //00C9         2A19
  303.                 STR         12H                         //00CA         0192

  304.                 //;Impacttest.C: 98: TMR2 = 0;
  305.                 CLRR         11H                         //00CB         0111

  306.                 //;Impacttest.C: 99: PR2 = 248;
  307.                 LDWI         F8H                         //00CC         2AF8
  308.                 BSR         STATUS,5                 //00CD         1A83
  309.                 STR         12H                         //00CE         0192

  310.                 //;Impacttest.C: 101: TMR2IF = 0;
  311.                 BCR         STATUS,5                 //00CF         1283
  312.                 BCR         CH,1                         //00D0         108C

  313.                 //;Impacttest.C: 102: TMR2IE = 1;
  314.                 BSR         STATUS,5                 //00D1         1A83
  315.                 BSR         CH,1                         //00D2         188C

  316.                 //;Impacttest.C: 103: TMR2ON = 1;
  317.                 BCR         STATUS,5                 //00D3         1283
  318.                 BSR         12H,2                         //00D4         1912

  319.                 //;Impacttest.C: 104: PEIE = 1;
  320.                 BSR         INTCON,6                 //00D5         1B0B

  321.                 //;Impacttest.C: 105: GIE = 1;
  322.                 BSR         INTCON,7                 //00D6         1B8B
  323.                 RET                                                         //00D7         0004
  324.                 LDWI         70H                         //00D8         2A70
  325.                 CLRR         7BH                         //00D9         017B
  326.                 STR         FSR                         //00DA         0184
  327.                 LDWI         7BH                         //00DB         2A7B
  328.                 LCALL         F5H                         //00DC         30F5
  329.                 LDWI         20H                         //00DD         2A20
  330.                 BCR         STATUS,7                 //00DE         1383
  331.                 STR         FSR                         //00DF         0184
  332.                 LDWI         24H                         //00E0         2A24
  333.                 LCALL         F5H                         //00E1         30F5
  334.                 LDWI         2H                         //00E2         2A02
  335.                 STR         24H                         //00E3         01A4
  336.                 LDWI         0H                         //00E4         2A00
  337.                 CLRR         25H                         //00E5         0125
  338.                 CLRR         STATUS                         //00E6         0103
  339.                 LJUMP         FDH                         //00E7         38FD

  340.                 //;Impacttest.C: 117: if (TMR2IF)
  341.                 BCR         STATUS,5                 //00E8         1283
  342.                 BCR         STATUS,6                 //00E9         1303
  343.                 BTSS         CH,1                         //00EA         1C8C
  344.                 LJUMP         EEH                         //00EB         38EE

  345.                 //;Impacttest.C: 118: {
  346.                 //;Impacttest.C: 119: TMR2IF = 0;
  347.                 BCR         CH,1                         //00EC         108C
  348.                 BSR         7BH,0                         //00ED         187B
  349.                 LDR         7DH,0                         //00EE         087D
  350.                 STR         PCLATH                         //00EF         018A
  351.                 SWAPR         7CH,0                         //00F0         077C
  352.                 STR         STATUS                         //00F1         0183
  353.                 SWAPR         7EH,1                         //00F2         07FE
  354.                 SWAPR         7EH,0                         //00F3         077E
  355.                 RETI                                         //00F4         0009
  356.                 CLRWDT                                 //00F5         0001
  357.                 CLRR         INDF                         //00F6         0100
  358.                 INCR        FSR,1                         //00F7         0984
  359.                 XORWR         FSR,0                         //00F8         0404
  360.                 BTSC         STATUS,2                 //00F9         1503
  361.                 RETW         0H                         //00FA         2100
  362.                 XORWR         FSR,0                         //00FB         0404
  363.                 LJUMP         F6H                         //00FC         38F6

  364.                 //;Impacttest.C: 309: MCU_INITIAL();
  365. ……………………

  366. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
冲击测试.rar (2.09 MB, 下载次数: 11)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表