Está en la página 1de 2

REPORTE PRACTICA 3

Semaforo

En esta práctica usaremos el PIC16F628 y un


Semaforo
PIC16F628A: El Microcontrolador PIC16F628A puede integrarse
en aplicaciones de diseño embebido y desarrollo, control de motores,
dispositivos portátiles, industriales, electrodomésticos y de consumo.

Usaremos MikroC Pro para realizar el código y Proteus 7 para


simularlo.
Código:

1. struct semaforo {
2. char nombre[GABY_NOM_SEM+1]; /* Nombre del sem. con sitio
para */
3. int contador; /* valor del sem. */
4. int num_aperturas; /* cuantos lo usan: si 0
libre */
5. lista_BCPs lista_bloqueados_sem;/* procesos bloqueados en
sem. */
6. };
7.
8. typedef struct semaforo semaforo;
9.
10. /*
11. * Semaforos del sistema
12. */
13. struct {
14. int num_sem_ocupados; /* Cuantos existen?
*/
15. lista_BCPs lista_espera_libre; /* Bloqueados
esperando libre */
16. semaforo tabla_semaforos[NUM_SEM]; /* La tabla de semaforos
*/

} info_semaforos;

17. return 0;

Simulación:

También podría gustarte