Referencia en papel de microcomputadora de un solo chip: 2. Diseño de un sistema de llamada a cama de hospital basado en una microcomputadora de un solo chip

Requisitos de la misión

        Diseñe un sistema de llamada de camas de hospital, utilizando interruptores de matriz 3X8 para simular el número de salas y camas de hospital respectivamente. Cuando se presiona un determinado interruptor, el sistema muestra la sala y la cama a la que se llama, y ​​la hora de la llamada. El registro de visualización de llamadas se puede borrar una vez completado el procesamiento. Cuando hay llamadas desde varias camas de hospital al mismo tiempo, la visualización del registro de llamadas se puede alternar.

Resumen

        El sistema de llamada de sala es un medio importante para transmitir información clínica. Puede transmitir rápidamente las solicitudes de los pacientes al médico o enfermero de turno. Se utiliza principalmente para ayudar a los pacientes del hospital a llamar cómodamente al personal médico desde sus camas. Es esencial mejorar la nivel de atención en hospitales y salas Uno de los dispositivos. Cuando los pacientes necesitan servicios, sólo necesitan presionar el buscapersonas portátil y la información se transmitirá inmediatamente al cuidador, lo que evita la situación en la que el paciente necesita servicios con urgencia pero no puede notificar al médico cuando no hay un cuidador. requiere que sea oportuna, precisa, confiable y sencillamente factible.

        El sistema de llamada diseñado en este diseño consta de tres partes: detección de botones, procesamiento de datos y visualización de información. El microcontrolador C51 se utiliza como controlador principal, la pantalla LCD se utiliza como parte de visualización y se utiliza un interruptor de matriz 3X8 para simular el número de salas y camas de hospital, respectivamente. Cuando el paciente presiona el botón, C51 obtiene inmediatamente el número de sala y de cama del paciente, y simultáneamente recopila la hora y la muestra en la pantalla LCD. Cuando la enfermera ve la información del paciente en la pantalla y presiona el botón borrar, la pantalla LCD El monitor vuelve a su estado original. Este sistema utiliza un método de interrupción para detectar el teclado, lo que puede mejorar la inmediatez y eficiencia del sistema. Cuando hay llamadas desde varias camas de hospital al mismo tiempo, el sistema también puede realizar un ciclo en la visualización del registro de llamadas.

Palabras clave: microcontrolador de llamada de sala interrupción pantalla LCD

1. Análisis de requisitos

En los últimos años, con la mejora continua del nivel de vida de las personas, las necesidades de atención médica también han seguido aumentando. Especialmente en emergencias, los pacientes solicitan a los médicos o enfermeras de turno un diagnóstico o atención oportuna. Este vínculo es muy importante para mejorar la calidad. de los servicios de gestión hospitalaria, es particularmente importante y también mejora en gran medida la capacidad del personal médico del hospital para responder a las emergencias. Por lo tanto, el desarrollo de un nuevo tipo de instrumento de llamada clínica se ha convertido en uno de los puntos críticos de investigación en los últimos años. La calidad del sistema de llamadas está directamente relacionada con la seguridad de los pacientes y siempre ha sido valorada en general por los grandes hospitales. Requiere oportunidad, precisión, confiabilidad, simple y factible, y propicio para la promoción. Utilizando tecnología de comunicación de portador de línea eléctrica, comunicación de múltiples máquinas de un solo chip y tecnología de administración y monitoreo por computadora, el sistema de llamadas de cama de hospital está diseñado con funciones tales como llamadas, timbres, visualización de colas, establecimiento de prioridades, almacenamiento y grabación, etc., que cumple con los requisitos de enfermería y gestión de salas del hospital.

A través del análisis de las tareas de diseño anteriores, se pueden subdividir en los siguientes puntos, y la depuración final también se basará en los siguientes puntos.

①Cuando un paciente presiona el botón, el número de sala del paciente, el número de cama y la hora en que se presiona el botón se muestran en la pantalla LCD.

②Después de que la enfermera presione la tecla borrar, el contenido de la pantalla LCD vuelve a su estado inicial.

③Si hay varios botones de paciente antes de que la enfermera presione el botón borrar, la pantalla LCD mostrará la información de cada paciente en un ciclo hasta que la enfermera presione el botón borrar, y el contenido de la pantalla LCD volverá al estado inicial.

2. Diseño del sistema y selección de soluciones.

2.1 Ideas de diseño

De acuerdo con los requisitos de diseño, el sistema de llamada de cama utiliza el microcontrolador C51 como núcleo y está conectado a un teclado matricial de 3 x 8. Cada tecla corresponde a una cama diferente. Cuando no hay una llamada del paciente, el microcontrolador espera a que se presione el botón en un bucle; cuando el paciente presiona el botón correspondiente al lado de la cama, se genera una señal de interrupción. Después de recibir la señal de interrupción, el microcontrolador llama al programa de servicio de interrupción para identificar el número de sala y el número de cama de la cama que llama. Al mismo tiempo, registra la hora del sistema en ese momento y muestra el registro de llamadas a través del LCD12864. La enfermera puede lea rápidamente la información de la llamada que aparece en la pantalla, detecte correctamente la cama del paciente, haga los preparativos correspondientes y manéjela de manera oportuna. Una vez completado el procesamiento, presione el botón borrar para borrar el registro de llamadas y espere la siguiente llamada. Al mismo tiempo, se mostrará nuevamente "Todo está bien" en la pantalla LCD. Su diagrama de estructura es el siguiente:

2.2 Selección de la solución de adquisición de teclado

El modo de trabajo del teclado debe determinarse de acuerdo con las condiciones de trabajo de la CPU en el sistema de aplicación real. El principio de selección es garantizar que la CPU pueda responder a las operaciones clave de manera oportuna sin ocupar demasiado de la CPU. tiempo de trabajo. Generalmente, hay tres modos de trabajo del teclado: escaneo de programación, escaneo programado y escaneo de interrupción.

2.2.1 Programación del método de escaneo

El método de escaneo de programación consiste en utilizar el tiempo libre de la CPU para completar otros trabajos para llamar a la subrutina de escaneo del teclado para verificar el estado de la tecla en respuesta a la entrada del teclado. Al ejecutar una rutina de función clave, la CPU ya no recibe solicitudes de entrada de teclas hasta que la CPU vuelve a escanear el teclado.

2.2.2 Modo de escaneo programado

El método de escaneo cronometrado consiste en escanear el teclado de vez en cuando. Ella utiliza el temporizador dentro del microcontrolador para generar un temporizador durante un cierto período de tiempo, como 20 ms. Cuando el temporizador expira, se genera una interrupción de desbordamiento del temporizador. La CPU escanea el teclado en el programa de servicio de interrupción y reconoce la tecla cuando se presiona una tecla, guarda el número de tecla y luego ejecuta el programa de función de la tecla en el programa de servicio de interrupción o el programa principal.

2.2.3 Interrumpir el modo de escaneo

El método de escaneo de interrupciones es que cuando se presiona un botón, se genera una señal de interrupción. Después de recibir la señal de interrupción, la CPU ejecuta la subrutina de servicio de interrupción correspondiente para responder al botón. Después del procesamiento, la CPU comienza a realizar un ciclo y esperar la presione el siguiente botón.

Cuando se utilizan los dos primeros métodos de escaneo del teclado, la CPU escanea el teclado regularmente independientemente de si se presiona una tecla, y a menudo no se requiere la entrada del teclado cuando el sistema de aplicación del microcontrolador está funcionando. Por lo tanto, la CPU suele estar en un estado de escaneo vacío, lo que desperdicia mucho tiempo de la CPU. La CPU no escanea el teclado pero cuando se presiona una tecla se genera una solicitud de interrupción a través del circuito correspondiente, la CPU responde a la interrupción, ejecuta la subrutina de escaneo del teclado e identifica el número de tecla.

  Por lo tanto, en este diseño, se utiliza el escaneo de interrupciones para recopilar información del teclado.

2.3 Selección de dispositivo electrónico

Microcontrolador C51 :

Un microcontrolador es un chip de circuito integrado que utiliza tecnología de circuito integrado a muy gran escala para integrar funciones como CPU, RAM, ROM, puertos de E/S multicanal, sistemas de interrupción, temporizadores/contadores, etc. con capacidades de procesamiento de datos en uno. chip Un sistema pequeño puede implementar diferentes funciones escribiendo programas y descargándolos en la memoria de programa del microcontrolador.

Pantalla de cristal líquido LCD12864 :

En comparación con los tubos digitales, la matriz de puntos de diodos LED, etc., las pantallas de cristal líquido tienen la ventaja de poder mostrar caracteres chinos y tener conexiones de circuitos de hardware relativamente simples.

3. Diseño de circuitos de hardware

3.1 Diseño del sistema de control del microcontrolador.

Las funciones del sistema de control del microcontrolador son: recopilación de datos del teclado y retención de los resultados de la recopilación, control del contenido requerido por el diseño del LCD, lectura del tiempo real y procesamiento de datos adecuado.

En este sistema de control, las interfaces P0, P1, P2 y P3.0, P3.1 del microcontrolador AT89C51 se utilizan para E/S ordinarias. El puerto P0 se utiliza como puerto de transmisión de datos del LCD12864 y el P2.0 ~Los puertos P2.5 se utilizan como puertos de control, P2.6, P2.7, P3.0 y P1 son los puertos de fila y columna del teclado, y P3.0 es el puerto de entrada de datos para la tecla de borrado. P3.2 sirve como puerto de entrada de señal de interrupción externa. El puerto de la parte P3 está conectado al chip de reloj DS1302 para realizar la comunicación horaria. El diagrama de circuito específico se muestra en la Figura 3.1.

3.2 Diseño de hardware LCD

Las funciones de la pantalla LCD incluyen: cuando no hay una llamada de un paciente, muestra "todo es normal"; cuando hay una llamada de un paciente, muestra la ubicación específica del paciente y la hora y fecha de la llamada.

El LCD12864 universal tiene un total de 18 pines, de los cuales DB7~DB0 son los buses de datos conectados al controlador, los otros pines incluyen 6 líneas de control y una línea de alimentación, las conexiones específicas se muestran en la Figura 3.2.

3.3 Diseño de hardware del teclado de escaneo

Función de entrada de teclado: Cada tecla corresponde a una cama de hospital, compuesta por un teclado matricial de 3X8.

El teclado matricial requiere un total de 11 interfaces, de las cuales las columnas están conectadas a los puertos P2.6, P2.7 y P3.0 del microcontrolador respectivamente, y las filas ocupan todo el puerto P1. Las conexiones específicas se muestran en la Figura 3.3.

3.4 Diseño de circuito de hardware de chip de reloj

El chip de reloj DS1302 tiene dos pines de fuente de alimentación, VCC1 y VCC2, donde VCC1 es la fuente de alimentación principal y VCC2 es la fuente de alimentación de respaldo. Cuando VCC2>VCC1+0.2V, VCC2 suministra energía a DS1302. Cuando VCC2<VCC1, VCC1 suministra energía a DS1302 para evitar que los datos dentro del chip se pierdan cuando el sistema está apagado. Tiene tres pines de comunicación y se utiliza un oscilador de cristal externo de 32,768 KHz para proporcionar pulsos de sincronización para el chip. El diagrama del circuito de conexión se muestra en la Figura 3.4.

3.5 Diseño del circuito de interrupción

Si L1, L2 y L3 están configurados en nivel alto y el puerto P0 está configurado en nivel bajo durante la inicialización del sistema, cuando se presiona un botón, uno de L1, L2 y L3 cambiará a nivel bajo. De manera similar, cuando se presiona la tecla borrar, CLEAR también será de nivel bajo. De esta manera, la detección de interrupciones del teclado se puede realizar conectando una puerta AND de 4 entradas a P3.2. El diagrama del circuito de conexión se muestra en la Figura 3.5.

4. Diseño del software del sistema de llamadas de sala

Para un diseño completo, además de diseñar el circuito de hardware, también es necesario diseñar un sistema de software que se ejecute de manera eficiente, tenga pocas instrucciones redundantes y tenga una gran estabilidad de acuerdo con los requisitos funcionales. Para completar esta parte utilizamos principalmente el diseño de cada subrutina, la función principal solo necesita realizar un procesamiento de datos simple y llamar a cada subrutina, completando así gradualmente todos los requisitos de la pregunta.

4.1 Diseño del programa principal

El programa principal es principalmente inicializar cada subrutina e interrumpir la subrutina de servicio, y mostrar información del paciente en un bucle. El diagrama de flujo se muestra en la Figura 4.1.

4.2 Programación del teclado matricial

El programa de interrupción del teclado matricial escanea principalmente las teclas para realizar la identificación del número de tecla de las teclas y, al mismo tiempo, almacena la sala, el número de cama y el tiempo de pulsación de tecla correspondientes al número de tecla. La función principal puede realizar la visualización cíclica de información del barrio llamando a los datos almacenados.

El diagrama de flujo de diseño se muestra en la Figura 4.2.

Cabe señalar que la identificación de jitter en este programa de interrupción se puede realizar juzgando los niveles alto y bajo de L1, L2, L3 y CLEAR después de un retraso. Si todavía hay un nivel bajo después del retraso, no es jitter. Pero hay botones reales presionados.

El diseño del programa de interrupción del teclado matricial es el siguiente:

4.3 Diseño del controlador LCD12864

Antes de escribir el controlador LCD12864, primero debe diseñar los grupos de datos de caracteres chinos, números y caracteres especiales utilizados en el sistema. Para el controlador LCD, se consideran principalmente los siguientes preparativos:

4.4 Diseño del controlador DS1302 del reloj en tiempo real

Dado que DS1302 es un controlador de bus SPI, no solo necesita escribir palabras de control en el registro, sino que también necesita leer los datos de registro correspondientes. Por lo tanto, si desea comunicarse con él, primero debe comprender la palabra de control DS1302 y solo hay dos líneas de bus SPI para la comunicación de datos. Las líneas de datos, a saber, SCLK y RST, pueden realizar diferentes operaciones a través de diferentes cambios de batería de los dos buses en diferentes momentos.

5. Resultados y análisis de la simulación.

Después de completar el diseño del circuito de hardware y el diseño del sistema de software en protues y el software de compilación del microcontrolador keil C51 respectivamente, se generó el archivo HEX y se cargó en el microcontrolador para comenzar a depurar el programa paso a paso. Después de muchas depuraciones, el sistema puede ejecutarse normalmente y se puede mostrar correctamente en la pantalla LCD. La pantalla muestra el número de sala y el número de cama de la cama llamada, así como la hora y fecha actuales del sistema.

5.1 Resultados de la simulación cuando ningún paciente pide ayuda

Haga clic en el botón "Ejecutar", el sistema comienza a funcionar y se muestra "Todo está bien" en la pantalla LCD, lo que indica que no hay ningún paciente que busque ayuda, como se muestra en la Figura 4.1.

5.2 Resultados de la simulación cuando un paciente pide ayuda

Cuando un paciente en una determinada habitación presiona el botón de ayuda (como presionar el botón 2-3), la pantalla LCD le solicita a la persona de turno que muestre, como se muestra en la Figura 4.2. El lado izquierdo es la hora interna del sistema DS1302. En comparación, se puede ver que la hora mostrada se establece en el botón Hora.

Cuando se presiona la tecla "Borrar", la pantalla LCD mostrará "Todo está bien" nuevamente sin que el paciente solicite ayuda. Los resultados son consistentes con los resultados al comienzo de la ejecución.

5.3 Resultados de la simulación cuando hay varios pacientes pidiendo ayuda

Cuando varios pacientes presionan el botón al mismo tiempo, la pantalla LCD recorrerá la sala de cada paciente, la información de la cama y el tiempo de presión del botón en ciertos intervalos de tiempo. Los resultados de la simulación se muestran en la Figura 5.3 y la Figura 5.4 (aquí se supone que sólo dos pacientes presionan el botón al mismo tiempo).

Cuando se presiona la tecla "Borrar", la pantalla LCD mostrará "Todo está bien" nuevamente sin que el paciente solicite ayuda. Los resultados son consistentes con los resultados al comienzo de la ejecución.

6. Experiencia

Este diseño es un sistema de llamada de pacientes con AT89C51 como núcleo, y la estructura de hardware y software del sistema se describe en consecuencia. A través de la recopilación de datos de la sala, se realiza la comunicación entre la sala de servicio del personal médico del hospital y la habitación del paciente, lo cual es fácil de usar y simple de operar. Este diseño es un sistema de llamada por cable, aunque tiene defectos como cableado complicado, mantenimiento inconveniente e imposibilidad de diálogo de voz entre la sala y la sala de servicio. Pero en comparación con los sistemas de llamadas inalámbricas, tiene una alta confiabilidad y no interfiere con otros equipos médicos. Si se utiliza la transmisión inalámbrica, ahorrará dinero en cableado y modificación de líneas, ahorrará costos para los hospitales y será oportuna, simple y factible. En comparación con productos similares actuales, será más reconocido por los hospitales y los pacientes, tendrá una mayor competitividad y puede ser ampliamente promocionado.

Durante el diseño del sistema, especialmente durante el período de depuración del programa, ocurrieron muchos errores, principalmente errores en la pantalla LCD12864 y algunas subrutinas de DS1302. Esto se debió principalmente a mi falta de familiaridad con el principio de visualización de LCD12864 y el valor de retorno del subfunción de DS1302 conducen a. También encontré muchas dificultades al diseñar una pantalla de bucle de llamadas para varios pacientes. Para almacenar el número de clave del paciente y el tiempo de pulsación de tecla en el tiempo, definí dos matrices de enteros sin signo fuera del programa principal y las definí de acuerdo con la longitud de 24 pacientes. Como resultado, el segmento de datos tenía memoria insuficiente y no podía ser compilado. Más tarde, la matriz se cambió al tipo de caracteres sin firmar y la longitud se redujo a 10, lo que puede satisfacer las necesidades reales. Sólo después de la modificación el programa podrá compilarse y ejecutarse sin problemas.

A través de este diseño, no solo obtuve una mejor comprensión del sistema de llamadas a camas de hospital, sino que también fortalecí mis habilidades de programación mientras me familiarizaba con el chip. Además, durante este proceso de diseño, consulté constantemente información e invité a compañeros, lo que mejoró enormemente mi capacidad de autoestudio.

referencias:

apéndice:

おすすめ

転載: blog.csdn.net/m0_49968063/article/details/132917149