Cinta de medición ultrasónico (6 / 12 paso)

Paso 6: Configurar el PIC como un esclavo I²C

Configuración del módulo MSSP de la PIC12LF1840T39A
En nuestro caso, deberemos configurar el PIC12LF1840T39A para actuar como un dispositivo esclavo. Lo primero, que hay que hacer, es configurar el módulo MSSP. La hoja de datos describe este procedimiento en detalle, así como las transacciones.

1. empezar poco detectado.
2. se establece el bit S de SSP1STAT; SSP1IF se establece si la interrupción Inicio detección está activada.
3. coincidencia de dirección con R/W poco clara es recibida.
4. el esclavo tira SDA baja envía un ACK al maestro y establece el bit SSP1IF.
5. software borra el bit SSP1IF.
6. Lee software recibió dirección de SSP1BUF borrar la bandera BF.
7. si SEN = 1; Software de esclavo establece bit CKP para soltar la línea SCL.
8. el maestro relojes a un byte de datos.
9. esclavo conduce SDA baja envía un ACK al maestro y establece el bit SSP1IF.
10. software borra SSP1IF.
11. el software lee el byte recibido de SSP1BUF claro BF.
12. pasos 8-12 se repiten para todos los bytes recibidos del maestro.
13. el maestro envía condición de parada, bit de configuración P de SSP1STAT y el autobús va a marcha lenta.

Vamos a empezar a escribir nuestro programa. A un lado de nuestras configuraciones habituales, como configuración de oscilador, tenemos que dar valores a los registros MSSP:

SSP1STAT = 0 X 80
1 = control de la velocidad de giro para el modo de velocidad Standard (100 kHz y 1 MHz)
0 = deshabilitar SMBus entradas específicas
0 = indica que el último byte recibido o transmitido dirección
0 = parada bit no se detectó el último
0 = Inicio bit no se detectó el último
0 = escribir
0 = dirección no necesita ser actualizado
0 = datos transmiten completa (no incluye los bits ACK y parada), SSP1BUF está vacía

SSP1CON1 = 0X26
0 no = ninguna colisión
0 = no hay desbordamiento
1 = habilita el puerto serial y configura los pines SDA y SCL como la fuente de los pines del puerto serie
1 = desactivar reloj
0110 = modo esclavo I2C, dirección de 7 bits

SSP1CON2 = 0 X 00
0 = dirección de llamada general con discapacidad
0 = reconocimiento recibió
0 = reconocimiento
0 = secuencia de reconocimiento Idle
0 = recibir inactivo
0 = parada condición ociosa
0 = repetido Inicio condición ociosa
0 = reloj de estiramiento está deshabilitado

SSP1ADD = 0X88
1000100 = dirección de 7 bits esclavo
0 = no utilizados

SSP1MSK = 0X0F
Esclavo de enmascaramiento de la dirección, no busca el partido en los primeros cuatro bits

Así que estos son los ajustes que debemos aplicar a nuestro PIC para que funcione como esperamos. Todo esto entra en la rutina de inicialización, antes nuestro bucle infinito.
Una vez hecho esto, tenemos que escribir nuestra escritura, leer, reconocer, negativa reconocer, ralentí, arranque y parada de rutinas. Siempre es una cosa agradable para construir algo desde cero, pero si alguien trabajó con I²C antes y ya tiene sus rutinas favoritas/optimizado - sólo tiene que utilizarlos. He seguido las instrucciones de la hoja de datos, aunque ya había escrito hace un tiempo las funciones de I²C. Comencé desde cero por el instructable.

Artículos Relacionados

Arranque fiesta ultrasónico

Arranque fiesta ultrasónico

¿Siempre ha querido el partido para comenzar tan pronto como usted entra en la habitación? Ahora puede cada vez con el arranque de partido ultrasónico!Este proyecto utiliza un Arduino y un sensor HC-SR04 al inicio del partido. Si no está familiarizad
La medición de distancia con sensor ultrasónico y Arduino

La medición de distancia con sensor ultrasónico y Arduino

Hola cada unoConseguí mi primer Aduino recientemente, aquí estoy ver gonne que mi primer proyecto que utiliza la medición de distancia sensor ultrasónico y Arduino, puede utilizar este proyecto muchas aplicaciones comoNivel 1-líquidoDetección de obje
Medición con ftf 2,4 y un sensor ultrasónico de distancia

Medición con ftf 2,4 y un sensor ultrasónico de distancia

se trata de circuito de arduino muy simple con HC-SR04 ultrasónico sensor y 2.4 pulgadas de pantalla tft, con arduino uno.el arduino uno calcula la distancia y actualizar la pantalla cada 1 segundo.vea este vídeo para ver cómo funciona.Paso 1: Herram
Medición de la velocidad del sonido con Arduino microcontrolador y un sensor ultrasónico

Medición de la velocidad del sonido con Arduino microcontrolador y un sensor ultrasónico

Mi hija de 6 años, Samatha, muestra cómo medir la velocidad del sonido en el aire con el microcontrolador de Arduino Uno y sensor ultrasónico.Creo que esto es un buen proyecto para que los niños quedan expuestos a la ciencia, ingeniería y matemáticas
Distancia de medición por Sensor ultrasónico usando Arduino

Distancia de medición por Sensor ultrasónico usando Arduino

Es un proyecto muy simple y útil que puede ser utilizado en nuestra vida diaria.A continuación se enumera las cosas que necesita para proyectar...Arduino Uno.Sensor de ultrasonidos.4 macho a hembra cable de conexión.cable de conexión usb.Paso 1: Cone
Medidor de distancia ultrasónico con pantalla LCD en el Arduino UNO

Medidor de distancia ultrasónico con pantalla LCD en el Arduino UNO

En este tutorial vamos a ver un uso distinto del módulo de ultrasonidos HC-SR04. Este módulo es de uso frecuente en coches de juguetes y robots para localizar obstáculos pero puede ser utilizado para medir distancias así.Distancias medidas por la HC-
YourDuino: HandBat - Radar ultrasónico portátil usando Arduino

YourDuino: HandBat - Radar ultrasónico portátil usando Arduino

HandBat es un dispositivo de Radar ultrasónico portátil que envía pulsos de ultrasonido y escucha los ecos, como un murciélago. Está diseñado para su uso por personas con problemas de visión o la navegación en la oscuridad.HandBAT se encuentra en una
Ultrasónico Robot evitando obstáculo

Ultrasónico Robot evitando obstáculo

Este es mi intento de diseñar y construir un obstáculo evitando robot! RekaBot (nombrada de un hada (:) puede detectar obstáculos con un sensor de ultrasonidos que puede moverse con la ayuda de un servo. Basado en las medidas que toma, las pistas son
Medida caja (sensor de distancia) usando el Sensor ultrasónico ~ la

Medida caja (sensor de distancia) usando el Sensor ultrasónico ~ la

¿Alguna vez has querido medir sin escala o cinta métrica?Mida la distancia sin problemas con este pequeño dispositivo!Alta precisión *Para más proyectos de interés visite: www.miymakers.comFacebook: www.facebook.com/miymakersPaso 1: Cómo funciona '¿C
Araña-sentido ultrasónico

Araña-sentido ultrasónico

Todos queremos tener superpoderes. Pero probablemente no querrá exponerse a sustancias químicas tóxicas o radiación con el fin de conseguirlos. Afortunadamente, hay algunas habilidades que nos podemos aproximar de cerca con tecnología un poco.Por eje
Mejorar la precisión del Sensor ultrasónico gama

Mejorar la precisión del Sensor ultrasónico gama

Hola de nuevo comunidad de Instructables!Este instructable le mostrará cómo mejorar la precisión de un sensor de la gama ultrasónica. Se basa en el principio que el sonido se moverá a través del aire a diferentes velocidades dependiendo de la tempera
Ultrasónico Headtracker ratón

Ultrasónico Headtracker ratón

Yo recientemente había reconstruido un audífono para un ratón de cabeza tracker para un parapléjico chap.Este instructivo contiene un poco de información que pueda ayudar a alguien más tratando de hacer lo mismo.La unidad que este auricular funciona
Ultrasónico Piano

Ultrasónico Piano

Nota: Arriba es un video - puede mostrar como una foto solo en algunos dispositivos móviles.Este es un proyecto ideal para un etc. de Feria de ciencia - no es demasiado difícil de construir, sin embargo, hace un divertido interactivo exhibe.La idea e
Guía de estacionamiento ultrasónico incorporado Hackduino (Arduino)

Guía de estacionamiento ultrasónico incorporado Hackduino (Arduino)

Esta es una guía de parking de hackduino que cabe en una vieja caja de trabajo, por lo que se puede construir en a la pared en su garaje. Originalmente iba a usar el Arduino con el sensor de distancia por ultrasonidos para el control de un semáforo r