https://github.com/diegomarvid/obligatorio-microprocesador
Obligatorio para la materia Microprocesadores y Microcontroladores
https://github.com/diegomarvid/obligatorio-microprocesador
Last synced: 3 months ago
JSON representation
Obligatorio para la materia Microprocesadores y Microcontroladores
- Host: GitHub
- URL: https://github.com/diegomarvid/obligatorio-microprocesador
- Owner: diegomarvid
- License: mit
- Created: 2020-04-17T18:50:05.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-17T21:22:42.000Z (almost 5 years ago)
- Last Synced: 2025-01-20T18:12:44.469Z (4 months ago)
- Language: C
- Size: 1.12 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Obligatorio Microprocesador
Obligatorio para la materia Microprocesadores y MicrocontroladoresAutores: Diego Marvid y Valentin Otte
Se presenta el codigo C de una pistola de codigo de barras simulada en un PIC 16F877A. Para poder usarla se debe conectar la pata TX de este mismo PIC a la pata RX del PIC en el sistema. Dentro de la pistola se contienen 5 productos de prueba para usar en el escaneo dado.
Estos son strings de la forma: TTIIIIIC\r
Ejemplos de productos que vienen por defecto:
* 01PILAS4\r
* 02JAMON1\r
* 03CARNE0\r
* 04VODKA3\r
* 05ARROZ9\rTodos vienen con el checksum calculado correctamente (suma del valor ASCII de todos los caracteres modulo 10).
Para poder calcular el checksum de un string de forma rapida se puede utilizar el navegador de Chrome como IDE de programacion y utilizar JavaScript. Para eso en una ventana del navegador se debe apretar F12 y se abrira por defecto una consola. En ella se puede pegar el siguiente codigo:
```javascript
function checksum(cadena) {
let ret = 0;
for(let i = 0; i < cadena.length; i++){
ret += cadena.charCodeAt(i);
}
return ret % 10;}
```Se pega el codigo y se apreta enter para cargar la funcion. Posteriormente para poder usarla se debe ejecutar lo siguiente:
```javascript
checksum("05EJEMPLO")
```
Y el navegador devolvera el checksum adecuado a la cadena de texto ingresada como atributo a la funcion.Para poder ejecutar la pistola se dispone de un registro en el puerto B denominado RB1 en el cual se puede adjuntar un Boton para poder funcionar como disparador. Cada vez que se apriete el boton se va a oscilar de forma ciclica entre los 5 codigos que vienen por defecto.