¿Cómo utilizar el modelo propio de Proteus para hacer un teclado? ¿Explicar los pasos específicos?
Para convertirlo en su propio modelo, el trabajo que hay que hacer es utilizar proteus para crear los gráficos y funciones correspondientes. Para un teclado como este que no necesita ser mostrado, solo puede hacerlo. use el modelo de la clase funcional para heredar y, al mismo tiempo, escriba la biblioteca dinámica dll funcional correspondiente para reaccionar a las acciones de entrada y salida. Para obtener más información, consulte lo siguiente
Creación de un modelo de simulación ProteusVSM basado en DLL
Autor: silingsong
1 Introducción al modelo de simulación Proteus VSM<. /p>
En el proceso de utilizar Proteus para simular el sistema de microcontrolador, a menudo no se encuentran los componentes necesarios, por lo que debe escribirlos usted mismo. Una característica clave de Proteus VSM es la extensibilidad utilizando un modelo de componentes basado en DLL. Estos modelos se dividen en dos categorías: Modelo Eléctrico y Modelo Gráfico. El modelo eléctrico realiza las características eléctricas de los componentes, recibe datos y genera datos de acuerdo con el tiempo especificado; el modelo de dibujo realiza la interacción con el usuario durante la simulación, como la pantalla LCD. Un componente puede implementar sólo el modelo eléctrico, o puede implementar tanto modelos eléctricos como gráficos.
Proteus proporciona algunas interfaces de clases abstractas en C para el modelo VSM. Cuando los usuarios crean componentes, necesitan implementar las clases abstractas correspondientes en la DLL. El principio de comunicación entre el modelo VSM y el sistema Proteus es el siguiente:
Clase abstracta de la interfaz del modelo de dibujo:
ICOMPONENT: un objeto componente activo dentro de ISIS que proporciona dibujo en el esquema. diagrama para el modelo VSM Servicios que interactúan con los usuarios.
IACTIVEMODEL: el modelo de dibujo VSM implementado por el usuario debe heredar esta clase e implementar el dibujo correspondiente y el procesamiento de eventos de teclado y mouse.
Clase abstracta de interfaz de modelo eléctrico:
IINSTANCE: un modelo primitivo de simulación PROSPICE que proporciona servicios para acceder a atributos, nodos de simulación y pines de datos para el modelo VSM, y también permite que el modelo pasar simulación Registra mensajes de advertencia y error.
ISPICECKT (simulación): un componente de simulación propiedad de SPICE que proporciona servicios: acceder, crear y eliminar nodos, asignar espacio en una matriz dispersa y también permite que el modelo fuerce puntos de tiempo de simulación en un momento dado. . Ocurre y suspende la simulación.
ISPICEMODEL (simulación): el componente de simulación VSM implementado por el usuario debe heredar esta clase e implementar los datos de carga correspondientes, procesar los datos en el momento de finalización, etc.
IDSIMCKT (digital): un componente digital propiedad de DSIM que proporciona servicios: acceso a variables de sistemas digitales, creación de funciones de devolución de llamadas y suspensión de simulaciones.
IDSIMMODEL (digital): el componente digital VSM implementado por el usuario debe heredar esta clase e implementar el juicio correspondiente de los cambios de estado del pin y el procesamiento de eventos de devolución de llamada.
IDSIMPIN (digital): un pin de un componente digital que proporciona servicios para detectar el estado del pin y crear eventos de transacciones de salida.
IDBUSPIN (digital): un bus de datos o direcciones para componentes digitales que proporciona servicios para detectar el estado del bus y crear eventos de transacción de salida del bus.
IMIXEDMODEL (híbrido): hereda ISPICEMODEL e IDSIMMODEL, y el componente tiene características tanto analógicas como digitales.
Para que Proteus acceda a las funciones miembro en el modelo de usuario, se debe crear una instancia del modelo de usuario. Esto no se puede lograr a través de la interfaz de la clase, solo se puede lograr exportando varias funciones C desde la DLL. Estas funciones C deben implementarse en el modelo de usuario para lograr el efecto de construir y destruir instancias del modelo de usuario.
(1) Ejemplos de construcción y destrucción de modelos de dibujo:
IACTIVEMODEL*createactivemodel (CHAR *dispositivo, ILICENCESERVER *ils)
VOIDdeleteactivemodel (IACTIVEMODEL *modelo)
(2) Ejemplos de construcción y destrucción de modelos eléctricos simulados:
ISPICEMODEL*createspicemodel (CHAR *device, ILICENCESERVER *ils)
VOIDdeletespicemodel (ISPICEMODEL * model )
(3) Ejemplos de construcción y destrucción de modelos eléctricos digitales:
IDSIMMODEL*createdsimmodel (CHAR *device, ILICENCESERVER *ils)
VOIDdeletedsimmodel ( IDSIMMODEL *model)
(4) Ejemplos de construcción y destrucción de modelos eléctricos mixtos:
IMIXEDMODEL*createmixedmodel (CHAR *device, ILICENCESERVER *ils)
VOID eliminar modelo mixto (IDSIMMODEL * modelo)
Puede buscar este documento en Baidu. Si no comprende lo anterior, agregue algunos conocimientos de C antes de operar. Hay demasiadas cosas que necesitas saber para jugar bien a Proteus.