Advertisement
Guest User

Untitled

a guest
Jun 27th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. ;/// CODE IN ASSEMBLER TO PRINT CHARACTERS IN AN LCD
  3. ;/// USING PIC16f877A
  4. ;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5.  
  6. LIST P=16f877A ;Indica el tipo de procesador a programar
  7.      INCLUDE "P16F877A.INC" ;Incluye en el programa el fichero de definiciones del uC seleccionado
  8.      __CONFIG _CP_OFF& _DEBUG_OFF& _WRT_OFF& _CPD_OFF& _LVP_OFF& _BODEN_OFF& _PWRTE_ON& _WDT_OFF& _XT_OSC
  9.  
  10. ORG 0x00
  11.      BCF STATUS,RP1 ; Seleccion del banco de memoria 1
  12.      BSF STATUS,RP0
  13.      CLRF TRISB ; Configuración del puerto B como salida (Data pins LCD)
  14.      CLRF TRISD ; Configuración del puerto D como salida (RD0-R/S, RD1-E)
  15.  
  16.      MOVLW b'00000111'
  17.      MOVWF OPTION_REG ; Configuración de Option Register (TMR0 Rate = 1:256)
  18.  
  19.      BCF STATUS,RP0 ; Seleccion del banco de memoria 0
  20.      CLRF PORTB
  21.      CLRF PORTD
  22.  
  23.      CALL IniciarLCD
  24.  
  25. ;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  26. ;///// LCD RUTINA ////////////////////////////////////////////////////////////////////////////////////////////////
  27. ;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  28.      
  29. IniciarLCD CALL DELAY_5ms
  30.  
  31.      MOVLW b'00000001' ; Clearing display
  32.      MOVWF PORTB
  33.      CALL Enable
  34.      CALL DELAY_5ms
  35.  
  36.      MOVLW b'00111000' ; Funtion set
  37.      MOVWF PORTB
  38.      CALL Enable
  39.      CALL DELAY_5ms
  40.  
  41.      MOVLW b'00001111' ; Display on off
  42.      MOVWF PORTB
  43.      CALL Enable
  44.      CALL DELAY_5ms
  45.  
  46.      MOVLW b'00000110' ; Entry mod set
  47.      MOVWF PORTB
  48.      CALL Enable
  49.      CALL DELAY_5ms
  50.  
  51.      BSF PORTD,RD0 ; Setting RS as 1 (Sends information to LCD)
  52.  
  53.      CALL DELAY_5ms
  54.  
  55.      MOVLW d'72' ; Print character "H"
  56.      MOVWF PORTB
  57.      CALL Enable
  58.      CALL DELAY_5ms
  59.  
  60.      MOVLW d'101' ; Print character "e"
  61.      MOVWF PORTB
  62.      CALL Enable
  63.      CALL DELAY_5ms
  64.      
  65.      MOVLW d'108' ; Print character "l"
  66.      MOVWF PORTB
  67.      CALL Enable
  68.      CALL DELAY_5ms
  69.      
  70.      MOVLW d'108' ; Print character "l"
  71.      MOVWF PORTB
  72.      CALL Enable
  73.      CALL DELAY_5ms
  74.      
  75.      MOVLW d'111' ; Print character "o"
  76.      MOVWF PORTB
  77.      CALL Enable
  78.      CALL DELAY_5ms
  79.      
  80.      MOVLW d'0' ; Print caracter " "
  81.      MOVWF PORTB
  82.      CALL Enable
  83.      CALL DELAY_5ms
  84.  
  85.      MOVLW d'87' ; Print caracter "W"
  86.      MOVWF PORTB
  87.      CALL Enable
  88.      CALL DELAY_5ms
  89.      
  90.      MOVLW d'111' ; Print character "o"
  91.      MOVWF PORTB
  92.      CALL Enable
  93.      CALL DELAY_5ms
  94.      
  95.      MOVLW d'114' ; Print character "r"
  96.      MOVWF PORTB
  97.      CALL Enable
  98.      CALL DELAY_5ms
  99.      
  100.      MOVLW d'108' ; Print character "l"
  101.      MOVWF PORTB
  102.      CALL Enable
  103.      CALL DELAY_5ms
  104.      
  105.      MOVLW d'100' ; Print character "d"
  106.      MOVWF PORTB
  107.      CALL Enable
  108.      CALL DELAY_5ms
  109.      
  110.      RETURN
  111.  
  112. Enable BSF PORTD,1 ; E pin is high, (LCD is processing the incoming data)
  113.      NOP
  114.      BCF PORTD,1 ; E pin is low, (LCD does not care what is happening)
  115.      RETURN
  116.  
  117. DELAY_5ms MOVLW .5 ; Delay of 5 ms
  118.      MOVWF TMR0
  119.  
  120. LOOP BTFSS INTCON,2
  121.      GOTO LOOP
  122.      BCF INTCON,2
  123.      RETURN
  124.  
  125. ;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  126.      
  127. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement