|
|
Programador | Cartel Luminoso | Caja de Banco | |
CPU 6802 v2.0 | |||
Anuncios |
CONTADOR CON DISPLAY Y MOTOR DE PASOS
Este es un contador simple con dos pulsadores que incrementan y decrementan un display por el puerto 0 del microcontrolador at89c51 o at89c52 es indiferente, también gira un motor paso a paso a la izquierda y a la derecha.
La lógica es la siguiente por ejemplo para un garaje si una persona presiona el pulsador ENTRADA (que puede ser reemplazado por un pulsador de peso para vehículos) el motor paso gira en un sentido y luego en el otro simulando abrir una barda y el display se incrementa , cuando llega a presionar el pulsador (puede cambiarse por un sensor de peso) “SALIDA” se decrementa el motor se gira el motor de pasos
Para el correcto funcionamiento de este circuito debe de conectar un decodificador de 7 segmentos entre el puerto 0 y el display, ya que no existe display de cuatro pines
Este circuito es muy útil pues sirve para presentar varios proyectos como ser teleférico ascensor, control de estacionamiento, garaje, etc
CÓDIGO FUENTE
;---------------------------------------------------------------------------------------- ; programa : contador de objetos o de personas ; descripccion : simple programa que cuenta atraves de un display la cantidad de veces ; que se ha pulsado el pulsador "entrada" incrementando dicho display ; decrementa en caso de que el pulsador presionado sea "salida" ; ya sea en el caso de que se haya entrado o salida el motor de pasos gira para simular ; talves que se ha abieto una puerta o un garaje o bueno... lo que se le ocurra en realidad ; habre y cierra con el motor de pasos ; ;Email: ; ;Paginas: ;http://es.geocities.com/raulalejandroql ; ; Cel 72097633 Dom 72039662 ; ;---------------------------------------------------------------------------------------- contador equ p0 entrada equ p1.0 salida equ p1.1 motorpp equ p2 veces equ 20h
org 000h
mov contador,#0
bucle: nop
in: JB entrada,out ; se ha precionado en la entrada acall rebotes ; eliminador de rebotes acall rebotes inc contador ; incremento el puerto del display acall abremotorpp ; gira el motor acall retardo ; cuanto tiempo vaha estar abierdo??? acall retardo acall retardo acall retardo acall cierramotorpp
out: JB salida,in ; preciono en la salida acall rebotes acall rebotes dec contador ; decrementa contador acall abremotorpp ; gira el motor acall retardo ; cuanto tiempo vaha estar abierdo??? acall retardo acall retardo acall retardo acall cierramotorpp ajmp bucle ;----------------------------------------------------------------------------- ; Gira el motor paso a paso la cantidad de veces q diga "veces" ;----------------------------------------------------------------------------- abremotorpp: mov veces,#10h abrir: mov p2,#00000001b acall retardo mov p2,#00000010b acall retardo mov p2,#00000100b acall retardo mov p2,#00001000b acall retardo djnz veces,abrir ret ;----------------------------------------------------------------------------- ; Gira el motor paso a paso la cantidad de veces q diga "veces" ;----------------------------------------------------------------------------- cierramotorpp: mov veces,#10h cerrar: mov p2,#00001000b acall retardo mov p2,#00000100b acall retardo mov p2,#00000010b acall retardo mov p2,#00000001b acall retardo djnz veces,cerrar ret ;----------------------------------------------------------------------------- ; Eliminador de rebotes ;----------------------------------------------------------------------------- REBOTES: mov R4,#0ffh ;eFH buc2: mov r2,#0ffh ;50H buc1: djnz r2,buc1 djnz R4,buc2 ret ;----------------------------------------------------------------------------- ; retardo para gira del motor ;----------------------------------------------------------------------------- retardo: mov r5,#0a0h#0a0h bucle3: mov R6,#0a0h bucle2: mov r7,#022h bucle1: djnz r7,bucle1 djnz r6,bucle2 djnz r5,bucle3 ret end |
Descarga el programa completo para el Micro...
Bueno cualquier comentario a mi pagina estaré gustoso de responder tus preguntas o dudas, puedes enviarme un correo electrónico a [email protected] y si eres de La Paz Bolivia puedes llamarme por teléfono al 72097633 , será un gusto atenderte, te recomiendo también accedas a la pagina principal donde encontraras un listado de programas que apuesto serán de tu agrado, recuerda que puedes publicar anuncios o proyectos con todos tus datos totalmente GRATIS!!! , será para mi un gusto serte de utilidad...