Advertisement
electronicosembebido

ADC LCD PIC16F1827 ASM

Jul 29th, 2017
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;*******************************************************************************
  2. ;                                                                              *
  3. ;    Filename:  Proyecto 9                                                     *
  4. ;    Date:      29/07/2017                                                     *
  5. ;    File Version:   0.01                                                      *
  6. ;    Author:    Mariano Rocha                                                  *
  7. ;    Company:   Electronicos embebidos                                         *
  8. ;    Description: ADC LCD                                               *
  9. ;                                                                              *
  10. ;*******************************************************************************
  11. ;*******************************************************************************
  12. ; MAIN PROGRAM
  13. ;*******************************************************************************
  14.  
  15. LIST P=16f1827
  16. RADIX HEX
  17. include  "P16f1827.inc"
  18. __CONFIG _CONFIG1, _FOSC_XT & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_ON & _CLKOUTEN_OFF & _IESO_ON & _FCMEN_ON    
  19. __CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_ON & _BORV_LO & _LVP_ON
  20.     ORG 0
  21.    
  22.    
  23. CBLOCK 0X20
  24. RESULTHI, RESULTLO
  25. ENDC    
  26.    
  27.  
  28.    
  29.     ORG 0
  30.     goto INICIO
  31.  
  32.  include "lcd.inc"    
  33.  include "convert.inc"     
  34.  
  35. ADC_INIT:    
  36.      BANKSEL   ADCON0
  37.      movlw     b'00000001'  
  38.      movwf     ADCON0              
  39.      BANKSEL   ADCON1
  40.      movlw     b'11110000'
  41.      movwF     ADCON1
  42.      BANKSEL   ANSELA
  43.      movlw     b'00000001'
  44.      movwf     ANSELA
  45.      BANKSEL   0    
  46.      return
  47.      
  48.      
  49. ADC_READ:
  50.      BANKSEL   ADCON0
  51.      bsf       ADCON0,GO_NOT_DONE   ; se pone en marcha el ADC
  52.      btfsc     ADCON0,GO_NOT_DONE
  53.      goto      $-1              ; esparamos a que termine la conversion
  54.      BANKSEL   ADRESH ;
  55.      MOVF      ADRESH,W ;Read upper 2 bits
  56.      BANKSEL   0
  57.      MOVWF     RESULTHI ;store in GPR space
  58.      BANKSEL   ADRESL ;
  59.      MOVF      ADRESL,W ;Read lower 8 bits
  60.      BANKSEL   0
  61.      MOVWF     RESULTLO ;Store in GPR space
  62.      BANKSEL   0
  63.      return
  64.        
  65. INICIO:    
  66.     BANKSEL    ANSELB
  67.     clrf       ANSELB
  68.     BANKSEL 0
  69.     call       ADC_INIT
  70.     call       Lcd_Init_4L
  71.     movlw      MEN_1-1
  72.     call       Lcd_Out_Rom
  73.    
  74. MAIN:    
  75.      movlw      0
  76.      call       Curs_Pos_L2
  77.      movlw      MEN_2-1
  78.      call       Lcd_Out_Rom
  79.  
  80.      call       ADC_READ
  81.  
  82.      movf       RESULTHI,w
  83.      movwf      dato_word_h
  84.      movf       RESULTLO,w
  85.      movwf      dato_word_l
  86.    
  87.      movlw      array_txt_0         ; posicion del array
  88.      movwf      Array
  89.      movlw      dato_word_h         ; direccion del dato alto del word
  90.      call       WordToStr
  91.    
  92.  
  93.      movlw      array_txt_0         ; posicion del array
  94.      call       Lcd_out
  95.      
  96.      movlw      'F'
  97.      call       LCD_CHAR
  98.    
  99.    
  100.     goto       MAIN
  101.    
  102.     goto $
  103.  
  104.      
  105. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement