Subversion Repositories pentevo

Rev

Rev 380 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. ;
  2. ;--------------------------------------
  3. ;
  4. PINTEST:
  5.         CLR     TEMP
  6.         SBI     PORTD,3
  7.         NOP
  8.         NOP
  9.         NOP
  10.         NOP
  11.         NOP
  12.         NOP
  13.         NOP
  14.         NOP
  15.         SBIS    PIND,3
  16.         SBR     TEMP,$01
  17.         CBI     PORTD,3
  18.         SBI     DDRD,3
  19.         NOP
  20.         NOP
  21.         SBIC    PIND,3
  22.         SBR     TEMP,$02
  23.         CBI     DDRD,3
  24.         TST     TEMP
  25.         BREQ    PINTEST_UART_OK
  26. CHAOS00:
  27.         SBI     DDRB,7
  28. CHAOS2: CALL    RANDOM
  29.         LED_OFF
  30.         SBRC    DATA,0
  31.         LED_ON
  32.         LDIX    $6C00
  33. CHAOS1: SUBI    XL,1
  34.         SBCI    XH,0
  35.         BRNE    CHAOS1
  36.         RJMP    CHAOS2
  37.  
  38. PINTEST_UART_OK:
  39.         CALL    UARTDIRECT_INIT
  40.  
  41.         RCALL   UARTDIRECT_CRLF
  42.         RCALL   UARTDIRECT_CRLF
  43.         RCALL   UARTDIRECT_CRLF
  44.         LDIZ    MSG_TITLE1*2
  45.         CALL    PRINTSTRZ
  46.         CALL    PRINT_SHORT_VERS
  47.         LDIZ    MLMSG_PINTEST*2
  48.         CALL    PRINTMLSTR
  49.  
  50.         LDI     TEMP,0B01010101
  51.         OUT     PORTA,TEMP
  52.         LDI     TEMP,0B10101010
  53.         OUT     DDRA,TEMP
  54.         LDI     TEMP,0B10000010
  55.         OUT     PORTB,TEMP
  56.         LDI     TEMP,0B00000101
  57.         OUT     DDRB,TEMP
  58.         LDI     TEMP,0B00010101
  59.         OUT     PORTC,TEMP
  60.         LDI     TEMP,0B00001010
  61.         OUT     DDRC,TEMP
  62.         SBI     PORTD,5
  63.         CBI     DDRD,5
  64.         SBI     PORTE,0
  65.         CBI     DDRE,0
  66.         CBI     PORTE,1
  67.         SBI     DDRE,1
  68.         LDI     TEMP,0B00010101
  69.         OUTPORT PORTG,TEMP
  70.         LDI     TEMP,0B00001010
  71.         OUTPORT DDRG,TEMP
  72.         DELAY_US 100
  73.  
  74.         CLR     DATA
  75.         IN      TEMP,PINA
  76.         CPI     TEMP,0B01010101
  77.         BREQ    PINTEST_OK11
  78.         ORI     DATA,$01
  79. PINTEST_OK11:
  80.         IN      TEMP,PINB
  81.         ANDI    TEMP,0B10000111
  82.         CPI     TEMP,0B10000000
  83.         BREQ    PINTEST_OK12
  84.         ORI     DATA,$02
  85. PINTEST_OK12:
  86.         IN      TEMP,PINC
  87.         ANDI    TEMP,0B00011111
  88.         CPI     TEMP,0B00010101
  89.         BREQ    PINTEST_OK13
  90.         ORI     DATA,$04
  91. PINTEST_OK13:
  92.         SBIS    PIND,5
  93.         ORI     DATA,$08
  94.         IN      TEMP,PINE
  95.         ANDI    TEMP,0B00000011
  96.         CPI     TEMP,0B00000001
  97.         BREQ    PINTEST_OK14
  98.         ORI     DATA,$10
  99. PINTEST_OK14:
  100.         INPORT  TEMP,PING
  101.         ANDI    TEMP,0B00011111
  102.         CPI     TEMP,0B00010101
  103.         BREQ    PINTEST_OK15
  104.         ORI     DATA,$20
  105. PINTEST_OK15:
  106.  
  107.         LDI     TEMP,0B10101010
  108.         OUT     PORTA,TEMP
  109.         LDI     TEMP,0B01010101
  110.         OUT     DDRA,TEMP
  111.         LDI     TEMP,0B00000101
  112.         OUT     PORTB,TEMP
  113.         LDI     TEMP,0B10000010
  114.         OUT     DDRB,TEMP
  115.         LDI     TEMP,0B00001010
  116.         OUT     PORTC,TEMP
  117.         LDI     TEMP,0B00010101
  118.         OUT     DDRC,TEMP
  119.         CBI     PORTD,5
  120.         SBI     DDRD,5
  121.         CBI     PORTE,0
  122.         SBI     DDRE,0
  123.         SBI     PORTE,1
  124.         CBI     DDRE,1
  125.         LDI     TEMP,0B00001010
  126.         OUTPORT PORTG,TEMP
  127.         LDI     TEMP,0B00010101
  128.         OUTPORT DDRG,TEMP
  129.         DELAY_US 100
  130.  
  131.         IN      TEMP,PINA
  132.         CPI     TEMP,0B10101010
  133.         BREQ    PINTEST_OK21
  134.         ORI     DATA,$01
  135. PINTEST_OK21:
  136.         IN      TEMP,PINB
  137.         ANDI    TEMP,0B10000111
  138.         CPI     TEMP,0B00000101
  139.         BREQ    PINTEST_OK22
  140.         ORI     DATA,$02
  141. PINTEST_OK22:
  142.         IN      TEMP,PINC
  143.         ANDI    TEMP,0B00011111
  144.         CPI     TEMP,0B00001010
  145.         BREQ    PINTEST_OK23
  146.         ORI     DATA,$04
  147. PINTEST_OK23:
  148.         SBIC    PIND,5
  149.         ORI     DATA,$08
  150.         IN      TEMP,PINE
  151.         ANDI    TEMP,0B00000011
  152.         CPI     TEMP,0B00000010
  153.         BREQ    PINTEST_OK24
  154.         ORI     DATA,$10
  155. PINTEST_OK24:
  156.         INPORT  TEMP,PING
  157.         ANDI    TEMP,0B00011111
  158.         CPI     TEMP,0B00001010
  159.         BREQ    PINTEST_OK25
  160.         ORI     DATA,$20
  161. PINTEST_OK25:
  162.         TST     DATA
  163.         BRNE    PINTEST_ERROR
  164.         LDIZ    MLMSG_PINTEST_OK*2
  165.         CALL    PRINTMLSTR
  166.         RET
  167. ;
  168. PINTEST_ERROR:
  169.         PUSH    DATA
  170.         CALL    CLRPINS
  171.         LDIZ    MLMSG_PINTEST_ERROR*2
  172.         CALL    PRINTMLSTR
  173.         POP     DATA
  174.         LSR     DATA
  175.         PUSH    DATA
  176.         BRCC    PINTEST_ERR1
  177.         LDIZ    MSG_PINTEST_PA*2
  178.         CALL    PRINTSTRZ
  179. PINTEST_ERR1:
  180.         POP     DATA
  181.         LSR     DATA
  182.         PUSH    DATA
  183.         BRCC    PINTEST_ERR2
  184.         LDIZ    MSG_PINTEST_PB*2
  185.         CALL    PRINTSTRZ
  186. PINTEST_ERR2:
  187.         POP     DATA
  188.         LSR     DATA
  189.         PUSH    DATA
  190.         BRCC    PINTEST_ERR3
  191.         LDIZ    MSG_PINTEST_PC*2
  192.         CALL    PRINTSTRZ
  193. PINTEST_ERR3:
  194.         POP     DATA
  195.         LSR     DATA
  196.         PUSH    DATA
  197.         BRCC    PINTEST_ERR4
  198.         LDIZ    MSG_PINTEST_PD*2
  199.         CALL    PRINTSTRZ
  200. PINTEST_ERR4:
  201.         POP     DATA
  202.         LSR     DATA
  203.         PUSH    DATA
  204.         BRCC    PINTEST_ERR5
  205.         LDIZ    MSG_PINTEST_PE*2
  206.         CALL    PRINTSTRZ
  207. PINTEST_ERR5:
  208.         POP     DATA
  209.         LSR     DATA
  210.         PUSH    DATA
  211.         BRCC    PINTEST_ERR6
  212.         LDIZ    MSG_PINTEST_PG*2
  213.         CALL    PRINTSTRZ
  214. PINTEST_ERR6:
  215.         LDIZ    MLMSG_HALT*2
  216.         CALL    PRINTMLSTR
  217.         CALL    CLRPINS
  218. PINTEST_HALT:
  219.         RJMP    PINTEST_HALT
  220. ;
  221. ;--------------------------------------
  222. ;
  223.