jueves, 4 de agosto de 2022

CONTADOR DE 0-1000 con PIC16F628A incluye simulacion y codigo fuentes

CONTADOR DE EVENTOS CON MICROCONTROLADOR PIC

Este es un contador de pulsos realizado con el fin de visualizar la cantidad de pulsaciones que se van dando en el tiempo.

Este fue uno de mis primeros trabajos incluye la simulacion en proteus el diseño de un circuito impreso en eagle y el codigo fuente asi como los binarios para grabar en el microcontrolador.





CODIGO FUENTE

El codigo fuente esta realizado en mikroc de 2011 asi que si quieres modificarlo es posible que tengas que hacer algunos cambios.
aca esta el codigo fuente:

#include <built_in.h>
const char display[16]={   
                              0b11000000,
                              0b11111001,
                              0b00100010,
                              0b00110000,
                              0b00011001,
                              0b00010100,
                              0b00000100,
                              0b11110001,
                              0b00000000,
                              0b00010000,
                              0b00000001,
                              0b00001100,
                              0b11000110,
                              0b00101000,
                              0b00000110,
                              0b00000111};
   unsigned adl=50, ads;
//*****************************************************************************
void saca(char *dtxt){
unsigned short j;
   for(j=0;j<50;j++){
   portb=0xff;
   porta.b0=0;
   porta.b1=0;
   porta.b2=0;
   porta.b3=1;
   portb=display[dtxt[1]&0x0f];
   delay_us(100);


   portb=0xff;
   porta.b0=0;
   porta.b1=0;
   porta.b2=1;
   porta.b3=0;
   portb=display[dtxt[2]&0x0f];
   delay_us(100);

   portb=0xff;
   porta.b0=0;
   porta.b1=1;
   porta.b2=0;
   porta.b3=0;
   portb=display[dtxt[3]&0x0f];
   delay_us(100);

   portb=0xff;
   porta.b0=1;
   porta.b1=0;
   porta.b2=0;
   porta.b3=0;
   portb=display[dtxt[4]&0x0f];
   delay_us(100);
   }

}
//***********************************************************
   void main(){
unsigned tmr1=0;
char txt[6];
unsigned short j;

   CMCON=7;
   portb=0xff;
   porta=0;
   trisb=0b01000000;
   trisa=0b11110000;
   wordtostr(tmr1,txt);
while(1){
    while(portb.b6==1){for(j=0;j<4;j++){saca(txt);}}
    tmr1++; wordtostr(tmr1,txt);
    while(portb.b6==0){for(j=0;j<4;j++){saca(txt);}}
     }



       }


Codigos HEX* Binario para grabar o simular

:02000000FC28DA

:1000060083120313F801F9011030FC00710DF80D8D

:10001600F90D7408F8027508031C750FF902031828

:100026001B287408F80775080318750FF9070310DD

:0A003600F00DF10DFC0B0928080085

:0E0040008312031321088A00200882000800A2

:10004E0083120313F201323072020318AF28FF300D

:10005E00860005108510051185152B0A84000F30BA

:10006E000005F0000030F1003830F00701300318C1

:10007E00013EF1077008A0007108A10020208A112E

:10008E000A1286002130FD00FD0B4B28FF30860042

:10009E00051085100515851102302B0784000F30D1

:1000AE000005F0000030F1003830F0070130031881

:1000BE00013EF1077008A0007108A10020208A11EE

:1000CE000A1286002130FD00FD0B6B28FF308600E2

:1000DE00051085140511851103302B0784000F3090

:1000EE000005F0000030F1003830F0070130031841

:1000FE00013EF1077008A0007108A10020208A11AE

:10010E000A1286002130FD00FD0B8B28FF30860081

:10011E00051485100511851104302B0784000F304E

:10012E000005F0000030F1003830F0070130031800

:10013E00013EF1077008A0007108A10020208A116D

:10014E000A1286002130FD00FD0BAB28F20A2A2888

:02015E00080097

:1001600020208A110A128000840AA00A0319A10A19

:08017000F003031DB028080094

:1001780083120313AE0105302E020318CA282E0875

:100188002D07840020308000AE0ABF282E082D07D6

:1001980084008001AE032E082D07AF000A30F4005A

:1001A800F5012B08F0002C08F10003207808F00076

:1001B8007908F1003030F0072F08840070088000BB

:1001C8000A30F400F5012B08F0002C08F100032098

:1001D8007008AB007108AC0000307106031DF628EA

:1001E80000307006031DF928FB28AE03CF2808004D

:1001F80083120313A901AA0107309F00FF3086006C

:100208008501403083168600F03085008312290866

:10021800AB002A08AC002230AD00BC20061F1F2905

:10022800A8010430280203181E292230AB00272019

:10023800A80A15291229A90A0319AA0A2908AB002C

:100248002A08AC002230AD00BC20061B3629A801C4

:1002580004302802031835292230AB002720A80AC9

:080268002C292929122937294C

:10027000C034F93422343034193414340434F134B1

:100280000034103401340C34C634283406340734B6

:02400E00500060

:00000001FF

Archivos fuente para descargar desde MEGA

https://mega.nz/file/ZRQDzYLQ#G_kjxdHbnxJjN2WoVPylXLoyPola7mZH91vuQqmrSbA


No hay comentarios:

Publicar un comentario