SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
http://practicas8051.net84.net




       Contador de 0-999 con 3displays de 7
                                Segmentos



                  http://practicas8081.net84.net




             lenguaje c para sistemas embebidos   con el µc AT89s52




Aguayo Adame Gilberto ING. comunicaciones y electronica                           1
http://practicas8051.net84.net


Descripción
El programa incrementara el valor de una variable, la cual se mostrara a través de un par de
displays de 7 segmentos, los cuales se controlaran de manera multiplexada, uno a la vez, a una
velocidad que el ojo no alcance a detectar el cambio y perciba ambos displays encendidos a la vez.
Diagrama Esquemático
Materiales
2 Displays 7 segmentos
7 Resistencias de 220 Ohms
2 Resistencias de 10 kOhms
2 Transistores de pequeña señal
1 Microcontrolador ATmega8
Programador USBasp V3.0 25

Para poder representar los números con el display, es necesario generar la tabla que nos dará el
valor que será necesario para generar el numero deseado.

Por ejemplo, se puede observar que para hacer un cero se busca que enciendan todos los
segmentos menos el g (pin 10 del display el cual va conectado al PB0 del Micro), con esa
información del numero, tendremos el valor que tomara el puerto para mostrar el numero
deseado a través del display.

Para controlar dos displays a la vez, se hará uso de un par de transistores, en este caso
conmutaran entre uno y otro, mientras los displays están conectados al mismo puerto del micro.
Primero se mostrara las decenas mientras se desactiva el display de las unidades y después de una
fracción de tiempo, se activa el de la unidad y se desactiva el de las decenas y el micro manda el
valor de la




Aguayo Adame Gilberto ING. comunicaciones y electronica                                            2
http://practicas8051.net84.net


Introducción
Display 7 segmentos
PB6/ PB5/ PB4/               PB3/      PB2/       PB1/     PB0/     HEX
A        B       C           D         E          F        G
0        1       1           1         1          1        1        0         3F
1        0       1           1         0          0        0        0         06
2        1       1           0         1          1        0        1         5B
3        1       1           1         1          0        0        1         4F
4        0       1           1         0          0        1        1         66
5        1       0           1         1          0        1        1         6D
6        1       0           1         1          1        1        1         7D
7        1       1           1         0          0        0        0         07
8        1       1           1         1          1        1        1         7F
9        1       1           1         1          0        1        1         67


Programa



#include <stdio.h>

#include <reg51.h>

int counter=0;

int dec,uni,cent;//declaracion de variables

void retardo(unsigned int ms);                       //declaracion de funcion de retardo

int display[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67}; //tabla del display catodo
comun del 0 al 9

int showDisplay(int numero);                         //declaracion de la funcion de multiplexeo




int main (void) {           //inicio cuerpo del programa

      while(1){          //ciclo infinito while



      char option;         //declaracion de variable option para utilizar la sentensia switch

         P3=0X00;         // el puerto 3 leera la entrada de selecion segun sea el caso

         option=P3;
Aguayo Adame Gilberto ING. comunicaciones y electronica                                           3
http://practicas8051.net84.net


      switch(option){         //se inicia el switch case

case 0x01:

    do{              //este do {se hara mientras} P2==0 , se oprimira el pusch botoon una sola ves
y se ara el caso 0x01: hasta que se oprima otro boton

      showDisplay(counter); //se llama a la funcion showdisplay con el parametro counter

     counter++;           //el counter se ira sumando pues este caso es para el contador
ascendente

   if(counter>9999)           // y regresara a 0 cuando sea mayor que 999

     counter=0;

                   }while(P3==0);

break;



case 0x02:               //case 0x02

         do{

              showDisplay(counter);

      counter--;         //en este caso el cunter sera descendente

   if(counter<0)          //y regresara a 999 cuando sea menor que 0

     counter=9999;

             }while(P3==0);

         break;



case 0x04:

         do{

              showDisplay(counter); //caso 0x04 solo mostrara el diplay sin hacer conteo



             }while(P3==0);


Aguayo Adame Gilberto ING. comunicaciones y electronica                                          4
http://practicas8051.net84.net


break;

                   }}} //fin del cuerpo del programa



void retardo(unsigned int ms){                  //en el siguiente parte se crean todas las funciones que
declaramos al principio

unsigned char y,t;                        //como en este caso el retardo

while (ms){



    for(y=0;y<140;y++){

    t++;

    }

        t++;

        t++;

        t++;

         ms--;

               }

}

int showDisplay(int numero){                  //funcion del multiplexeo

        uni =numero/10%10;

                   dec =numero/100%10;

                   cent=numero/1000%10;

               P2&=0xFF;

                   P2=0x04;



        P1=display[uni];

                   retardo(10);

Aguayo Adame Gilberto ING. comunicaciones y electronica                                                    5
http://practicas8051.net84.net




 P2&=0xFF;

       P2=0x02;



  P1=display[dec];

       retardo(10);



 P2&=0xFF;

       P2=0x01;



  P1=display[cent];

       retardo(10);

       P2&=0xFF;



       }




Aguayo Adame Gilberto ING. comunicaciones y electronica                           6
http://practicas8051.net84.net


                                                                        (2)




                           U1
                      19                             39
                            XTAL1        P0.0/AD0
                                                     38
                                         P0.1/AD1
                                                     37
                                         P0.2/AD2
                      18                             36
                            XTAL2        P0.3/AD3
                                                     35
                                         P0.4/AD4
                                                     34
                                         P0.5/AD5
                                                     33
                                         P0.6/AD6
                      9                              32
                            RST          P0.7/AD7

                R10                                  21
                                          P2.0/A8
            a                                        22
                                          P2.1/A9
                                                     23
                70                       P2.2/A10
                      29                             24
                            PSEN         P2.3/A11
                R4    30                             25
                            ALE          P2.4/A12
            b         31                             26
                            EA           P2.5/A13
                                                     27                U4
                70                       P2.6/A14
                                                     28   R1
                                         P2.7/A15
            c
                R9    1                              10
                            P1.0         P3.0/RXD         10k
                      2                              11               U3
                70          P1.1         P3.1/TXD                      NOT
                R5    3                              12         R2
                            P1.2         P3.2/INT0
            d         4                              13
                            P1.3         P3.3/INT1
                      5                              14
                70          P1.4           P3.4/T0              10k
                      6                              15               U2
                            P1.5           P3.5/T1                    NOT
                R6    7                              16   R3
                            P1.6          P3.6/WR
            e         8                              17
                            P1.7          P3.7/RD
                70                                        10k
                           AT89C51
                                                                      NOT
            f
                R7
                70


        g
                R8
                70


            a                        a                    a
            b                        b                    b
            c                        c                    c
            d                        d                    d
            e                        e                    e
            f                        f                    f
            g                        g                    g




Aguayo Adame Gilberto ING. comunicaciones y electronica                                                   7
http://practicas8051.net84.net




Aguayo Adame Gilberto ING. comunicaciones y electronica                           8

Mais conteúdo relacionado

Mais procurados (20)

Presentacion arranque a control remoto
Presentacion arranque a control remotoPresentacion arranque a control remoto
Presentacion arranque a control remoto
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 
Diagrama cierre centralizado dmax
Diagrama cierre centralizado dmaxDiagrama cierre centralizado dmax
Diagrama cierre centralizado dmax
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
 
Ejemplos 4to Examen Mci
Ejemplos 4to Examen MciEjemplos 4to Examen Mci
Ejemplos 4to Examen Mci
 
EJERCICIO ADICIONAL 1ER EXAMEN
EJERCICIO ADICIONAL 1ER EXAMENEJERCICIO ADICIONAL 1ER EXAMEN
EJERCICIO ADICIONAL 1ER EXAMEN
 
05.Manejo de interrupciones
05.Manejo de interrupciones05.Manejo de interrupciones
05.Manejo de interrupciones
 
Atari 2600
Atari 2600Atari 2600
Atari 2600
 
Ejemplos pic c
Ejemplos pic cEjemplos pic c
Ejemplos pic c
 
Clase5 controldeflujo
Clase5 controldeflujoClase5 controldeflujo
Clase5 controldeflujo
 
Co vomosa
Co vomosaCo vomosa
Co vomosa
 
4. interrupciones y temporizadores
4. interrupciones y temporizadores4. interrupciones y temporizadores
4. interrupciones y temporizadores
 
TMR0 Y RB0_INT
TMR0 Y RB0_INTTMR0 Y RB0_INT
TMR0 Y RB0_INT
 
Practica 01 compuertas logicas
Practica 01 compuertas logicasPractica 01 compuertas logicas
Practica 01 compuertas logicas
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
 
Examen 4 intensivo micro
Examen 4 intensivo microExamen 4 intensivo micro
Examen 4 intensivo micro
 
UNIDAD IV
UNIDAD IVUNIDAD IV
UNIDAD IV
 
Curso de-mcu-proteus
Curso de-mcu-proteusCurso de-mcu-proteus
Curso de-mcu-proteus
 
Ejercicio 07 adicionales de Interrupciones
Ejercicio 07 adicionales de InterrupcionesEjercicio 07 adicionales de Interrupciones
Ejercicio 07 adicionales de Interrupciones
 
Fernando_Act_15
Fernando_Act_15Fernando_Act_15
Fernando_Act_15
 

Destaque (7)

世界をもっと良くするSns socios-
世界をもっと良くするSns socios-世界をもっと良くするSns socios-
世界をもっと良くするSns socios-
 
ビジネスモデル勉強会 第5回
ビジネスモデル勉強会 第5回ビジネスモデル勉強会 第5回
ビジネスモデル勉強会 第5回
 
Grids
GridsGrids
Grids
 
インフィード広告
インフィード広告インフィード広告
インフィード広告
 
Yahoo! JAPAN 販促EXPO2015 宮坂学講演資料
Yahoo! JAPAN 販促EXPO2015 宮坂学講演資料Yahoo! JAPAN 販促EXPO2015 宮坂学講演資料
Yahoo! JAPAN 販促EXPO2015 宮坂学講演資料
 
Spc2015 29
Spc2015 29Spc2015 29
Spc2015 29
 
SPC2015 02
SPC2015 02SPC2015 02
SPC2015 02
 

Semelhante a Multiplexeo dedisplay

Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
SANTIAGO PABLO ALBERTO
 
Micc mej sept16_2010_solucion
Micc mej sept16_2010_solucionMicc mej sept16_2010_solucion
Micc mej sept16_2010_solucion
Jair BG
 
Mej feb17 2011_solucion
Mej feb17 2011_solucionMej feb17 2011_solucion
Mej feb17 2011_solucion
Jair BG
 
Examen micros t1_06_solucion
Examen micros t1_06_solucionExamen micros t1_06_solucion
Examen micros t1_06_solucion
Jair BG
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
Jair BG
 
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
Gabriel Bravo Rojas
 

Semelhante a Multiplexeo dedisplay (20)

2.5 contador con led
2.5 contador con led2.5 contador con led
2.5 contador con led
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
 
3.3 display 7 segmentos con decoder
3.3 display 7 segmentos con decoder3.3 display 7 segmentos con decoder
3.3 display 7 segmentos con decoder
 
Proyecto1
Proyecto1Proyecto1
Proyecto1
 
2.3 encender 1 led
2.3 encender 1 led2.3 encender 1 led
2.3 encender 1 led
 
Microcontroladores de microchip pic16f877-en-espanol.pdf
Microcontroladores de microchip pic16f877-en-espanol.pdfMicrocontroladores de microchip pic16f877-en-espanol.pdf
Microcontroladores de microchip pic16f877-en-espanol.pdf
 
Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877Descripcion detallada del pic 16 f877
Descripcion detallada del pic 16 f877
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
 
Micc mej sept16_2010_solucion
Micc mej sept16_2010_solucionMicc mej sept16_2010_solucion
Micc mej sept16_2010_solucion
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Mej feb17 2011_solucion
Mej feb17 2011_solucionMej feb17 2011_solucion
Mej feb17 2011_solucion
 
Examen micros t1_06_solucion
Examen micros t1_06_solucionExamen micros t1_06_solucion
Examen micros t1_06_solucion
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
 
3.2 display 7 segmentos v4
3.2 display 7 segmentos v43.2 display 7 segmentos v4
3.2 display 7 segmentos v4
 
Biomecanica
BiomecanicaBiomecanica
Biomecanica
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del banco
 
Leccion3 y4
Leccion3 y4Leccion3 y4
Leccion3 y4
 
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 

Último (20)

Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 

Multiplexeo dedisplay

  • 1. http://practicas8051.net84.net Contador de 0-999 con 3displays de 7 Segmentos http://practicas8081.net84.net lenguaje c para sistemas embebidos con el µc AT89s52 Aguayo Adame Gilberto ING. comunicaciones y electronica 1
  • 2. http://practicas8051.net84.net Descripción El programa incrementara el valor de una variable, la cual se mostrara a través de un par de displays de 7 segmentos, los cuales se controlaran de manera multiplexada, uno a la vez, a una velocidad que el ojo no alcance a detectar el cambio y perciba ambos displays encendidos a la vez. Diagrama Esquemático Materiales 2 Displays 7 segmentos 7 Resistencias de 220 Ohms 2 Resistencias de 10 kOhms 2 Transistores de pequeña señal 1 Microcontrolador ATmega8 Programador USBasp V3.0 25 Para poder representar los números con el display, es necesario generar la tabla que nos dará el valor que será necesario para generar el numero deseado. Por ejemplo, se puede observar que para hacer un cero se busca que enciendan todos los segmentos menos el g (pin 10 del display el cual va conectado al PB0 del Micro), con esa información del numero, tendremos el valor que tomara el puerto para mostrar el numero deseado a través del display. Para controlar dos displays a la vez, se hará uso de un par de transistores, en este caso conmutaran entre uno y otro, mientras los displays están conectados al mismo puerto del micro. Primero se mostrara las decenas mientras se desactiva el display de las unidades y después de una fracción de tiempo, se activa el de la unidad y se desactiva el de las decenas y el micro manda el valor de la Aguayo Adame Gilberto ING. comunicaciones y electronica 2
  • 3. http://practicas8051.net84.net Introducción Display 7 segmentos PB6/ PB5/ PB4/ PB3/ PB2/ PB1/ PB0/ HEX A B C D E F G 0 1 1 1 1 1 1 0 3F 1 0 1 1 0 0 0 0 06 2 1 1 0 1 1 0 1 5B 3 1 1 1 1 0 0 1 4F 4 0 1 1 0 0 1 1 66 5 1 0 1 1 0 1 1 6D 6 1 0 1 1 1 1 1 7D 7 1 1 1 0 0 0 0 07 8 1 1 1 1 1 1 1 7F 9 1 1 1 1 0 1 1 67 Programa #include <stdio.h> #include <reg51.h> int counter=0; int dec,uni,cent;//declaracion de variables void retardo(unsigned int ms); //declaracion de funcion de retardo int display[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67}; //tabla del display catodo comun del 0 al 9 int showDisplay(int numero); //declaracion de la funcion de multiplexeo int main (void) { //inicio cuerpo del programa while(1){ //ciclo infinito while char option; //declaracion de variable option para utilizar la sentensia switch P3=0X00; // el puerto 3 leera la entrada de selecion segun sea el caso option=P3; Aguayo Adame Gilberto ING. comunicaciones y electronica 3
  • 4. http://practicas8051.net84.net switch(option){ //se inicia el switch case case 0x01: do{ //este do {se hara mientras} P2==0 , se oprimira el pusch botoon una sola ves y se ara el caso 0x01: hasta que se oprima otro boton showDisplay(counter); //se llama a la funcion showdisplay con el parametro counter counter++; //el counter se ira sumando pues este caso es para el contador ascendente if(counter>9999) // y regresara a 0 cuando sea mayor que 999 counter=0; }while(P3==0); break; case 0x02: //case 0x02 do{ showDisplay(counter); counter--; //en este caso el cunter sera descendente if(counter<0) //y regresara a 999 cuando sea menor que 0 counter=9999; }while(P3==0); break; case 0x04: do{ showDisplay(counter); //caso 0x04 solo mostrara el diplay sin hacer conteo }while(P3==0); Aguayo Adame Gilberto ING. comunicaciones y electronica 4
  • 5. http://practicas8051.net84.net break; }}} //fin del cuerpo del programa void retardo(unsigned int ms){ //en el siguiente parte se crean todas las funciones que declaramos al principio unsigned char y,t; //como en este caso el retardo while (ms){ for(y=0;y<140;y++){ t++; } t++; t++; t++; ms--; } } int showDisplay(int numero){ //funcion del multiplexeo uni =numero/10%10; dec =numero/100%10; cent=numero/1000%10; P2&=0xFF; P2=0x04; P1=display[uni]; retardo(10); Aguayo Adame Gilberto ING. comunicaciones y electronica 5
  • 6. http://practicas8051.net84.net P2&=0xFF; P2=0x02; P1=display[dec]; retardo(10); P2&=0xFF; P2=0x01; P1=display[cent]; retardo(10); P2&=0xFF; } Aguayo Adame Gilberto ING. comunicaciones y electronica 6
  • 7. http://practicas8051.net84.net (2) U1 19 39 XTAL1 P0.0/AD0 38 P0.1/AD1 37 P0.2/AD2 18 36 XTAL2 P0.3/AD3 35 P0.4/AD4 34 P0.5/AD5 33 P0.6/AD6 9 32 RST P0.7/AD7 R10 21 P2.0/A8 a 22 P2.1/A9 23 70 P2.2/A10 29 24 PSEN P2.3/A11 R4 30 25 ALE P2.4/A12 b 31 26 EA P2.5/A13 27 U4 70 P2.6/A14 28 R1 P2.7/A15 c R9 1 10 P1.0 P3.0/RXD 10k 2 11 U3 70 P1.1 P3.1/TXD NOT R5 3 12 R2 P1.2 P3.2/INT0 d 4 13 P1.3 P3.3/INT1 5 14 70 P1.4 P3.4/T0 10k 6 15 U2 P1.5 P3.5/T1 NOT R6 7 16 R3 P1.6 P3.6/WR e 8 17 P1.7 P3.7/RD 70 10k AT89C51 NOT f R7 70 g R8 70 a a a b b b c c c d d d e e e f f f g g g Aguayo Adame Gilberto ING. comunicaciones y electronica 7
  • 8. http://practicas8051.net84.net Aguayo Adame Gilberto ING. comunicaciones y electronica 8