# salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10 architecture

> Architecture diagram of the GitHub repository salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10
- Repository: https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10

## Overview

This is a course repository of PIC18 firmware exercises, laboratory submissions, and Proteus circuit simulations—not a single deployed application. The documented workflow is to open a firmware project in MPLAB X, compile it to a HEX image, and load that image into a corresponding Proteus simulation. The README describes the exercise topics and tool workflow; sampled source confirms one C GPIO/button example, but implementation-level links among most projects and schematics could not be verified.

Main entry points: [`Semana_2/minilab_semana_2.X/maincode.s`](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_2/minilab_semana_2.X/maincode.s) (Logic and I/O), [`Semana_3/semana_3.X/body.s`](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_3/semana_3.X/body.s) (Combinational / sequential), [`semana_5/display_multiplexado.X/body.s`](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/semana_5/display_multiplexado.X/body.s) (Multiplexed display), [`labs/lab_01_v2.0/LAB_1_V2.0.X/maincode.s`](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/labs/lab_01_v2.0/LAB_1_V2.0.X/maincode.s) (Lab 1 firmware)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_g_firmware["Firmware exercises"]
  node_week2["Logic and I/O<br/>[maincode.s]"]
  node_week3["Combinational / sequential<br/>[body.s]"]
  node_multiplex["Multiplexed display<br/>[body.s]"]
end

subgraph group_g_labs["Laboratory work"]
  node_lab1["Lab 1 firmware<br/>[maincode.s]"]
end

subgraph group_g_autonomous["Autonomous practice"]
  node_first["First PIC program<br/>[new_main.c]"]
  node_primer["Assembler foundations<br/>[maincode.s]"]
  node_segundo["Control-flow practice<br/>[maincode.s]"]
  node_counter["0–9 counter<br/>[maincode.s]"]
  node_counter_opt["Counter variation"]
  node_sevenseg["Seven-segment control<br/>[maincode.s]"]
end

subgraph group_g_simulation["Circuit simulation"]
  node_week2_circuit["NOT gate circuit"]
  node_display_circuit["Four-digit display circuit<br/>[DISPLAYX4.pdsprj]"]
end

subgraph group_g_reference["Device reference"]
  node_datasheet["PIC18F27Q10 datasheet<br/>[PIC18F27Q10.PDF]"]
end

node_learner(("Student / engineer"))
node_mplab["MPLAB X"]
node_hex["Compiled HEX"]
node_proteus["Proteus ISIS"]
node_pic["PIC microcontroller"]

node_learner -->|"opens project"| node_mplab
node_mplab -->|"opens project"| node_week2
node_mplab -->|"opens project"| node_week3
node_mplab -->|"opens project"| node_lab1
node_mplab -->|"opens project"| node_first
node_mplab -->|"opens project"| node_primer
node_mplab -->|"opens project"| node_segundo
node_mplab -->|"opens project"| node_counter
node_mplab -->|"opens project"| node_counter_opt
node_mplab -->|"opens project"| node_sevenseg
node_mplab -->|"opens project"| node_multiplex
node_mplab -->|"compiles to"| node_hex
node_learner -->|"opens simulation"| node_proteus
node_proteus -->|"loads circuit"| node_week2_circuit
node_proteus -->|"loads circuit"| node_display_circuit
node_proteus -->|"loads firmware"| node_hex
node_proteus -->|"simulates on"| node_pic
node_learner -->|"consults"| node_datasheet

click node_week2 "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_2/minilab_semana_2.X/maincode.s"
click node_week2_circuit "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_2/compuerta_not.pdsprj"
click node_week3 "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_3/semana_3.X/body.s"
click node_lab1 "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/labs/lab_01_v2.0/LAB_1_V2.0.X/maincode.s"
click node_first "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/first_program_pic.X/new_main.c"
click node_primer "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/primer_programa%20asembler.X/maincode.s"
click node_segundo "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/segundo_programa_asembler.X/maincode.s"
click node_counter "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/contador%200-9%20.X/maincode.s"
click node_counter_opt "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/tree/main/ptc_autonomas_asembler-PIC18F57Q43/contador%200-9_v.1000.X"
click node_sevenseg "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/Display-7-segments.X/maincode.s"
click node_multiplex "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/semana_5/display_multiplexado.X/body.s"
click node_display_circuit "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/semana_5/esquematico%20_proteus/DISPLAYX4.pdsprj"
click node_datasheet "https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/PIC18F27Q10.PDF"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_week2,node_week3,node_multiplex toneBlue
class node_lab1 toneAmber
class node_first,node_primer,node_segundo,node_counter,node_counter_opt,node_sevenseg toneMint
class node_week2_circuit,node_display_circuit toneRose
class node_datasheet,node_learner,node_mplab,node_hex,node_proteus,node_pic toneIndigo
```

## Components

### Firmware exercises

- [Logic and I/O](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_2/minilab_semana_2.X/maincode.s): `Semana_2/minilab_semana_2.X/maincode.s`
- [Combinational / sequential](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_3/semana_3.X/body.s): `Semana_3/semana_3.X/body.s`
- [Multiplexed display](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/semana_5/display_multiplexado.X/body.s): `semana_5/display_multiplexado.X/body.s`

### Laboratory work

- [Lab 1 firmware](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/labs/lab_01_v2.0/LAB_1_V2.0.X/maincode.s): `labs/lab_01_v2.0/LAB_1_V2.0.X/maincode.s`

### Autonomous practice

- [First PIC program](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/first_program_pic.X/new_main.c): `ptc_autonomas_asembler-PIC18F57Q43/first_program_pic.X/new_main.c`
- [Assembler foundations](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/primer_programa%20asembler.X/maincode.s): `ptc_autonomas_asembler-PIC18F57Q43/primer_programa asembler.X/maincode.s`
- [Control-flow practice](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/segundo_programa_asembler.X/maincode.s): `ptc_autonomas_asembler-PIC18F57Q43/segundo_programa_asembler.X/maincode.s`
- [0–9 counter](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/contador%200-9%20.X/maincode.s): `ptc_autonomas_asembler-PIC18F57Q43/contador 0-9 .X/maincode.s`
- [Counter variation](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/tree/main/ptc_autonomas_asembler-PIC18F57Q43/contador%200-9_v.1000.X): `ptc_autonomas_asembler-PIC18F57Q43/contador 0-9_v.1000.X`
- [Seven-segment control](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/ptc_autonomas_asembler-PIC18F57Q43/Display-7-segments.X/maincode.s): `ptc_autonomas_asembler-PIC18F57Q43/Display-7-segments.X/maincode.s`

### Circuit simulation

- [NOT gate circuit](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/Semana_2/compuerta_not.pdsprj): `Semana_2/compuerta_not.pdsprj`
- [Four-digit display circuit](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/semana_5/esquematico%20_proteus/DISPLAYX4.pdsprj): `semana_5/esquematico _proteus/DISPLAYX4.pdsprj`

### Device reference

- [PIC18F27Q10 datasheet](https://github.com/salazarhuamaniroger-cmyk/microcontroladores-pic18f47q10/blob/main/PIC18F27Q10.PDF): `PIC18F27Q10.PDF`

### Other components

- **Student / engineer**
- **MPLAB X**
- **Compiled HEX**
- **Proteus ISIS**
- **PIC microcontroller**

## Connections

- Student / engineer → MPLAB X: opens project
- MPLAB X → Logic and I/O: opens project
- MPLAB X → Combinational / sequential: opens project
- MPLAB X → Lab 1 firmware: opens project
- MPLAB X → First PIC program: opens project
- MPLAB X → Assembler foundations: opens project
- MPLAB X → Control-flow practice: opens project
- MPLAB X → 0–9 counter: opens project
- MPLAB X → Counter variation: opens project
- MPLAB X → Seven-segment control: opens project
- MPLAB X → Multiplexed display: opens project
- MPLAB X → Compiled HEX: compiles to
- Student / engineer → Proteus ISIS: opens simulation
- Proteus ISIS → NOT gate circuit: loads circuit
- Proteus ISIS → Four-digit display circuit: loads circuit
- Proteus ISIS → Compiled HEX: loads firmware
- Proteus ISIS → PIC microcontroller: simulates on
- Student / engineer → PIC18F27Q10 datasheet: consults
