Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pic 16 2.37 KB | None | 0 0
  1. #DEFINE PAGE0   BCF     H'03',5
  2. #DEFINE PAGE1   BSF     H'03',5
  3.                
  4. OPSHUN  EQU H'81'       ;
  5. PCL EQU H'02'       ;
  6. STATUS  EQU H'03'       ;
  7. PORTA   EQU H'05'       ;
  8. TRISA   EQU H'85'       ;
  9. PORTB   EQU H'06'       ;
  10. TRISB   EQU H'86'       ;
  11. INTCON  EQU H'0B'       ;
  12.  
  13.  
  14.  
  15. W   EQU 0       ;
  16. F   EQU 1       ;
  17. C   EQU 0       ;
  18. DC  EQU 1       ;
  19. COUNT1  EQU H'30'
  20. COUNTER EQU H'31'
  21.  
  22.  
  23. N   EQU D'12'              
  24. TEMP    EQU H'35'  
  25. Z   EQU 2              
  26.                
  27.     ORG 0       ; Reset vector
  28.     GOTO    5       ; Goto start of program
  29.     ORG 4       ; Interrupt vector
  30.     GOTO    5       ; Goto start of program
  31.     ORG 5       ; Start of program memory
  32.  
  33.     CLRF    PORTA       ;
  34.     CLRF    PORTB       ;
  35.    
  36.  
  37.     PAGE1          
  38.     CLRF    TRISA       ;Port RA0 as output (see text)
  39.     CLRF    TRISB       ;Port B0-B7 as output
  40.  
  41.     MOVLW   B'00000111' ;move zero into W (binary shown intentionally)
  42.     MOVWF   OPSHUN      ;set into OPTION as timer ratio 1:2 (TMRO rate)
  43.  
  44.  
  45.     PAGE0
  46.    
  47.     MOVLW   4   ;
  48.     MOVWF   COUNTER ;
  49.  
  50. ;--------------------------------------------------------------------------;
  51.  
  52.  
  53.  
  54.  
  55. POLL    BTFSC   INTCON,2    ;
  56.     CALL    ISR ;  
  57.     GOTO    POLL   
  58.        
  59.  
  60.  
  61.  
  62. ;--------------------------------------------------------------------------;
  63.  
  64. ISR
  65.    
  66.     BCF INTCON,2    ;
  67.     CLRF    PORTA
  68.     MOVF    COUNTER,W
  69.     CALL    TABLE
  70.     MOVWF   PORTB
  71.  
  72.     MOVF    COUNTER,W
  73.     CALL    SELECT
  74.     MOVWF   PORTA
  75. ;--------   CALL    DEL_H--;
  76.    
  77.     DECFSZ  COUNTER
  78.     GOTO    FIN
  79.     MOVLW   h'4'
  80.     MOVWF   COUNTER
  81.    
  82. FIN RETURN
  83.  
  84. ;------------------------------------------------------------------------;
  85.  
  86.  
  87.  
  88. ;------------------------------------------------------------------------------------------------;     
  89. ;NUMBER TABLE; 
  90.  
  91. TABLE   ADDWF   PCL,F       ;add to PCL
  92.     RETLW   B'11000000' ;0  common anode codes
  93.     RETLW   B'11111001' ;1
  94.     RETLW   B'10100100' ;2
  95.     RETLW   B'10110000' ;3
  96.     RETLW   B'10011001' ;4
  97.     RETLW   B'10010010' ;5
  98.     RETLW   B'10000011' ;6
  99.     RETLW   B'11111000' ;7
  100.     RETLW   B'10000000' ;8
  101.     RETLW   B'10011000' ;9
  102.  
  103.  
  104.  
  105. ;---------------------------------------------------------------------------------;
  106.  
  107. SELECT  ADDWF   PCL,F
  108.     NOP
  109.     RETLW B'00000001'   ;0
  110.     RETLW B'00000010'   ;1
  111.     RETLW B'00000100'   ;2
  112.     RETLW B'00001000'   ;3
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120. ;-----------------------------------------------------------------------;
  121.  
  122.  
  123.  
  124.  
  125. DEL_H   MOVF    STATUS,W
  126.     MOVWF   TEMP
  127.  
  128.     MOVLW   D'1'
  129.     MOVWF   COUNT1
  130.  
  131. DELAY_1MS   MOVLW   N
  132.  
  133. D_LOOP  ADDLW   -1
  134.     BTFSS   STATUS,Z
  135.     GOTO    D_LOOP
  136.  
  137.     DECFSZ  COUNT1,f
  138.     GOTO    DELAY_1MS
  139.  
  140.     MOVF    TEMP,W
  141.     MOVWF   STATUS
  142.    
  143.     RETURN
  144.    
  145.  
  146.  
  147.  
  148.  
  149.  
  150. ;---------------------------------------------------------------------------;
  151.  
  152.  
  153.  
  154.  
  155.     END         ;final line
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement