Вы находитесь на странице: 1из 3

;**************************** Librera "BUS_1LIN.INC" **************************** ***** ; ; =================================================================== ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" ; E. Palacios, F. Remiro y L. Lpez.

; Editorial Ra-Ma. www.ra-ma.es ; =================================================================== ; ; Estas subrutinas permiten realizar las tareas bsicas de control del bus de una sola lnea ; ; ZONA DE DATOS **************************************************************** ****** CBLOCK Bus1Linea_Dato el bus. Bus1Linea_ContadorBits ir. ENDC #DEFINE Bus1Linea PORTB,3 ; Guarda dato a transmitir o recibir por ; Cuenta los bits a transmitir o a recib

; Lnea donde se conecta el DS1820.

; Subrutina "Bus1Linea_AltaImpedancia" ------------------------------------------------; ; Configura la lnea nica de 1-Wire Bus como entrada. Lo pone en alta impedancia. Bus1Linea_AltaImpedancia bsf STATUS,RP0 bsf Bus1Linea a bcf STATUS,RP0 return

; La lnea como entrada, por tanto, en alt ; impedancia.

; Subrutina "Bus1Linea_Bajo" ----------------------------------------------------------; ; Mantiene el pin de datos del Bus de 1 lnea en bajo. Bus1Linea_Bajo bsf bcf bcf bcf return STATUS,RP0 Bus1Linea STATUS,RP0 Bus1Linea

; La lnea como salida. ; Pasa a bajo.

; Subrutina "Bus1Linea_Reset" ---------------------------------------------------------; ; Enva un impulso de Reset al dispositivo conectado en el bus de 1 lnea y despus ; espera recibir un impulso de Presence". Esto consiste en: ; 1. El PIC manda un impulso en bajo durante unos 500 s. (El protocolo permite entre 480 ; y 960 s). ; 2. El PIC pasa a modo entrada, espera 20 s. (El protocolo fija entre 15 y 60 s). ; 3. El PIC lee la lnea de entrada y si es bajo est correcto (pulso de "Presenc

e"). ;

Se interpreta como que el procedimiento est correctamente inicializado. ; Empieza en alto para conseguir bajada con la siguiente instruccin. El bus de 1 lnea en bajo durante 500 s. ; Permanece en alta impedancia ( ; las resistencias de Pull-Up) d Espera a que el dispositivo le enve el ; en bajo de "Presence". Y ahora el dispositivo lo debe poner e

Bus1Linea_Reset call Bus1Linea_AltaImpedancia el flanco de ; call Bus1Linea_Bajo ; call Retardo_500micros call Bus1Linea_AltaImpedancia nivel alto por call Retardo_20micros urante unos s. Bus1Linea_EsperaLeerBajo btfsc Bus1Linea ; pulso goto Bus1Linea_EsperaLeerBajo Bus1Linea_EsperaLeerAlto btfss Bus1Linea ; n alto. goto Bus1Linea_EsperaLeerAlto return

; Subrutina "Bus1Linea_EscribeByte" ---------------------------------------------------; ; El maestro escribe un byte al esclavo conectado al bus de 1 lnea comenzando por el bit LSB. ; Consiste en enviar 8 bits, repitiendo 8 veces la siguiente secuencia: ; 1 El PIC manda un impulso en bajo durante unos microsegundos. (El protocol o fija un ; mnimo de 1 s y sin exceder con lo que viene a continuacin de 60 s) A continu acin: ; - Si va a enviar un "0" permanece en bajo durante 50 s. ; - Si va a escribir un "1" se pone en alta impedancia durante 50 s. (El pr otocolo ; permite unos valores entre 15 y 60 s para ambos casos). ; 2 Para escribir otro bit se pone en alta impedancia durante unos s. (El pro tocolo ; establece un mnimo de 1 s). ; ; Entrada: En (W) el dato a enviar. Bus1Linea_EscribeByte movwf Bus1Linea_Dato ; Guarda el byte a transmitir. movlw 0x08 ; 8 bits a transmitir. movwf Bus1Linea_ContadorBits call Bus1Linea_AltaImpedancia ; Empieza en alta impedancia. Bus1Linea_EnviaBit call Bus1Linea_Bajo ; Flanco de bajada. ; ; Pregunta por el valor del bit a transmitir. ; rrf Bus1Linea_Dato,F ; Lleva el bit de menor peso LSB al Carry. btfss STATUS,C ; Es un "1" el bit a transmitir?. goto Bus1Linea_EnviaCero ; No, pues enva un "0". Bus1Linea_EnviaUno call Bus1Linea_AltaImpedancia ; Transmite un "1". goto Bus1Linea_Espera50us

Bus1Linea_EnviaCero call Bus1Linea_Bajo ; Transmite un "0". Bus1Linea_Espera50us call Retardo_50micros call Bus1Linea_AltaImpedancia ; Flanco de subida. decfsz Bus1Linea_ContadorBits,1 ; Comprueba que es el ltimo bit. goto Bus1Linea_EnviaBit ; Como no es el ltimo bit repite la opera cin. return ; ; Subrutina "Bus1Linea_LeeByte" -------------------------------------------------------; ; El microcontrolador maestro lee un byte del dispositivo esclavo conectado al b us de ; 1 lnea. Consiste en leer 8 bits, repitiendo 8 veces la siguiente secuencia: ; 1 El PIC manda un pulso en bajo durante unos s. (El protocolo fija un mnimo de 1 s). ; 2 El PIC se pone en entrada (alta impedancia) durante otros 10 s (con un to tal de 15 s ; desde el flanco de bajada) para proceder a la lectura de la lnea. ; 3 El PIC espera 50 s para realizar la siguiente lectura (total unos 65 s des de el ; flanco de bajada). El protocolo fija que las lecturas se harn cada 60 s ms. ; ; Salida: En (W) el dato ledo. Bus1Linea_LeeByte movlw 0x08 ; movwf Bus1Linea_ContadorBits call Bus1Linea_AltaImpedancia Bus1Linea_LeeBit call Bus1Linea_Bajo ; call Bus1Linea_AltaImpedancia call Retardo_10micros riores, supone ; ada. bcf STATUS,C ; que es 0. btfsc Bus1Linea ; bsf STATUS,C ; rrf Bus1Linea_Dato,1 o. call Retardo_50micros call Bus1Linea_AltaImpedancia itivo. decfsz Bus1Linea_ContadorBits,1 goto Bus1Linea_LeeBit er el siguiente. movf Bus1Linea_Dato,W return ; ; ; ; ; 8 bits a recibir. ; Empieza en alta impedancia. Flanco de bajada. ; Aadiendo las instrucciones ante un total de 15 s desde el flanco de baj Ahora lee el pin. En principio supone Realmente es cero?. No, pues cambia a uno. ; Introduce el bit en el registr ; Espera. ; Flanco de subida del pulso pos ; Comprueba que es el ltimo bit. ; Si no es el ltimo bit pasa a le ; El resultado en el registro W.

=================================================================== Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" E. Palacios, F. Remiro y L. Lpez. Editorial Ra-Ma. www.ra-ma.es ===================================================================

Вам также может понравиться

  • Asm Display 04
    Asm Display 04
    Документ2 страницы
    Asm Display 04
    julio_09_37
    Оценок пока нет
  • Asm Display 03
    Asm Display 03
    Документ2 страницы
    Asm Display 03
    julio_09_37
    Оценок пока нет
  • Asm Display 02
    Asm Display 02
    Документ2 страницы
    Asm Display 02
    julio_09_37
    Оценок пока нет
  • Asm Teclado 05
    Asm Teclado 05
    Документ2 страницы
    Asm Teclado 05
    julio_09_37
    Оценок пока нет
  • Asm Teclado 02
    Asm Teclado 02
    Документ1 страница
    Asm Teclado 02
    julio_09_37
    Оценок пока нет
  • Asm Display 01
    Asm Display 01
    Документ2 страницы
    Asm Display 01
    julio_09_37
    Оценок пока нет
  • Asm Teclado 09
    Asm Teclado 09
    Документ4 страницы
    Asm Teclado 09
    julio_09_37
    Оценок пока нет
  • Asm Teclado 06
    Asm Teclado 06
    Документ2 страницы
    Asm Teclado 06
    julio_09_37
    Оценок пока нет
  • Asm Teclado 08
    Asm Teclado 08
    Документ3 страницы
    Asm Teclado 08
    julio_09_37
    Оценок пока нет
  • Asm Teclado 07
    Asm Teclado 07
    Документ2 страницы
    Asm Teclado 07
    julio_09_37
    Оценок пока нет
  • Asm Teclado 02
    Asm Teclado 02
    Документ1 страница
    Asm Teclado 02
    julio_09_37
    Оценок пока нет
  • Asm Teclado 04
    Asm Teclado 04
    Документ2 страницы
    Asm Teclado 04
    julio_09_37
    Оценок пока нет
  • R Segu
    R Segu
    Документ2 страницы
    R Segu
    julio_09_37
    Оценок пока нет
  • Asm Timer 0
    Asm Timer 0
    Документ2 страницы
    Asm Timer 0
    julio_09_37
    Оценок пока нет
  • Asm Teclado 02
    Asm Teclado 02
    Документ1 страница
    Asm Teclado 02
    julio_09_37
    Оценок пока нет
  • Manual 18F2455 y 18F2550
    Manual 18F2455 y 18F2550
    Документ234 страницы
    Manual 18F2455 y 18F2550
    wilith
    Оценок пока нет
  • Asm Teclado
    Asm Teclado
    Документ4 страницы
    Asm Teclado
    julio_09_37
    Оценок пока нет
  • Asm Bus de Una Linea
    Asm Bus de Una Linea
    Документ3 страницы
    Asm Bus de Una Linea
    julio_09_37
    Оценок пока нет
  • P A P 1
    P A P 1
    Документ2 страницы
    P A P 1
    julio_09_37
    Оценок пока нет
  • 8 Bits
    8 Bits
    Документ2 страницы
    8 Bits
    julio_09_37
    Оценок пока нет
  • R Segu
    R Segu
    Документ2 страницы
    R Segu
    julio_09_37
    Оценок пока нет
  • Asm Bus de Una Linea
    Asm Bus de Una Linea
    Документ3 страницы
    Asm Bus de Una Linea
    julio_09_37
    Оценок пока нет
  • R B
    R B
    Документ2 страницы
    R B
    julio_09_37
    Оценок пока нет
  • Curso Cekit Uc Tomo II Programacion
    Curso Cekit Uc Tomo II Programacion
    Документ169 страниц
    Curso Cekit Uc Tomo II Programacion
    sarah2118
    100% (12)
  • P A P
    P A P
    Документ1 страница
    P A P
    julio_09_37
    Оценок пока нет
  • Sears Capitulo 13
    Sears Capitulo 13
    Документ39 страниц
    Sears Capitulo 13
    alff21
    100% (1)
  • Datos Hyperterminal
    Datos Hyperterminal
    Документ3 страницы
    Datos Hyperterminal
    Enrique Estrada
    Оценок пока нет
  • Soluciones para problemas comunes de video rockola
    Soluciones para problemas comunes de video rockola
    Документ12 страниц
    Soluciones para problemas comunes de video rockola
    Javier Lorenzo Figueroa Miranda
    100% (1)
  • Componentes Del CPU
    Componentes Del CPU
    Документ5 страниц
    Componentes Del CPU
    Juan Andres Martin Pollo
    Оценок пока нет
  • Practica 4 - Introducción A Verilog
    Practica 4 - Introducción A Verilog
    Документ4 страницы
    Practica 4 - Introducción A Verilog
    Moises
    Оценок пока нет
  • Detectar Fallas en PC PDF
    Detectar Fallas en PC PDF
    Документ24 страницы
    Detectar Fallas en PC PDF
    rlquichca
    100% (1)
  • Proyecto2 DDM MéndezLuis
    Proyecto2 DDM MéndezLuis
    Документ32 страницы
    Proyecto2 DDM MéndezLuis
    Luis Enrique Méndez Costales
    Оценок пока нет
  • II Prueba Corta de MICROPROCESADORES-5N1-El
    II Prueba Corta de MICROPROCESADORES-5N1-El
    Документ2 страницы
    II Prueba Corta de MICROPROCESADORES-5N1-El
    Carlos Conrado
    Оценок пока нет
  • Comparacion PIC18F4550 Vs dsPIC30F4013
    Comparacion PIC18F4550 Vs dsPIC30F4013
    Документ1 страница
    Comparacion PIC18F4550 Vs dsPIC30F4013
    Aaron Llanos Soto
    Оценок пока нет
  • Indice
    Indice
    Документ17 страниц
    Indice
    Nairobi Ventura
    Оценок пока нет
  • Prueba Objetiva
    Prueba Objetiva
    Документ2 страницы
    Prueba Objetiva
    Isabelitha Sihue Davila
    Оценок пока нет
  • Circuito temporizador 555: diseño y simulación
    Circuito temporizador 555: diseño y simulación
    Документ4 страницы
    Circuito temporizador 555: diseño y simulación
    Edgar Baque
    Оценок пока нет
  • Recuperatorio de Informática
    Recuperatorio de Informática
    Документ8 страниц
    Recuperatorio de Informática
    benito
    Оценок пока нет
  • Sistemas Embebidos - Interruptores, Temporizador y Captura
    Sistemas Embebidos - Interruptores, Temporizador y Captura
    Документ35 страниц
    Sistemas Embebidos - Interruptores, Temporizador y Captura
    Angel David Mendoza Cerna
    Оценок пока нет
  • Diagnostico de Fallas
    Diagnostico de Fallas
    Документ12 страниц
    Diagnostico de Fallas
    uglybull
    Оценок пока нет
  • Tarea2 SDIU115
    Tarea2 SDIU115
    Документ30 страниц
    Tarea2 SDIU115
    jiyawi1
    100% (1)
  • Practica PDF
    Practica PDF
    Документ3 страницы
    Practica PDF
    Hugo Alavez
    Оценок пока нет
  • Los Microprocesadores Ensayo
    Los Microprocesadores Ensayo
    Документ3 страницы
    Los Microprocesadores Ensayo
    GERARDO ANTONIO TRIANA LEGUIZAMON
    Оценок пока нет
  • Curso de Amiga de Commodore
    Curso de Amiga de Commodore
    Документ36 страниц
    Curso de Amiga de Commodore
    Nicolas Fravedi
    Оценок пока нет
  • Mapa Conceptual de La Arquitectura Laura Guevara PDF
    Mapa Conceptual de La Arquitectura Laura Guevara PDF
    Документ1 страница
    Mapa Conceptual de La Arquitectura Laura Guevara PDF
    NiyirethCangrejoSegura
    Оценок пока нет
  • Las Memorias
    Las Memorias
    Документ25 страниц
    Las Memorias
    Fabian Torres
    Оценок пока нет
  • Proyecto Sistemas Digitales
    Proyecto Sistemas Digitales
    Документ8 страниц
    Proyecto Sistemas Digitales
    Manuel Alexis Santillana Garabito
    Оценок пока нет
  • Compuertas Logicas y Aritmetica Digital PDF
    Compuertas Logicas y Aritmetica Digital PDF
    Документ4 страницы
    Compuertas Logicas y Aritmetica Digital PDF
    Edgar Santamaria Ariza
    Оценок пока нет
  • Compuertas Logicas
    Compuertas Logicas
    Документ5 страниц
    Compuertas Logicas
    zoe yul ortiz vidal
    Оценок пока нет
  • Manual Optiplex 980
    Manual Optiplex 980
    Документ83 страницы
    Manual Optiplex 980
    Yonathan Galvez
    Оценок пока нет
  • No Se Que Es Esto
    No Se Que Es Esto
    Документ3 страницы
    No Se Que Es Esto
    GASPAR
    Оценок пока нет
  • Microprocesadores y Memorias
    Microprocesadores y Memorias
    Документ16 страниц
    Microprocesadores y Memorias
    Lourdes Andino
    Оценок пока нет
  • Medidor de Ángulos Por Un Encoder Rotatorio
    Medidor de Ángulos Por Un Encoder Rotatorio
    Документ6 страниц
    Medidor de Ángulos Por Un Encoder Rotatorio
    JUAN FELIPE CARO GIL
    Оценок пока нет
  • Aca Primera Entrega Arquitectura PC
    Aca Primera Entrega Arquitectura PC
    Документ16 страниц
    Aca Primera Entrega Arquitectura PC
    Jessica Andrea HERNANDEZ HOLGUIN
    Оценок пока нет
  • Chipset controla sistema y capacidades
    Chipset controla sistema y capacidades
    Документ19 страниц
    Chipset controla sistema y capacidades
    sistemastelnet
    Оценок пока нет
  • Familias de Microcontroladores - Digitales III
    Familias de Microcontroladores - Digitales III
    Документ52 страницы
    Familias de Microcontroladores - Digitales III
    Andrés Nicolás Ballesteros V
    Оценок пока нет
  • Practica6 Digital
    Practica6 Digital
    Документ9 страниц
    Practica6 Digital
    xiomara
    Оценок пока нет