El documento describe un laboratorio sobre el uso de microcontroladores para contar. Se explica cómo configurar un ATMEGA128 para hacerlo funcionar como un contador de 0 a 9 usando un display de 7 segmentos y un decodificador. Luego se proponen ejercicios para expandir el contador hasta 0-99 y 0-9999 usando múltiples displays y decodificadores. Finalmente, se pide diseñar e implementar un contador de 0 a 99999999.
1. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 2 Hs PUERTOS COMO GPIO
3.3. Display 7 segmentos con Decoder
Objetivos
1. Configurar el ATMEGA128 para hacerlo funcionar como un contador.
3.3.1. Esquemático
Realice el esquemático de la Figura 3.1 en el Proteus.
PE0/RXD0/PDI 2
PE1/TXD0/PDO 3
PE2/XCK0/AIN0 4
PE3/OC3A/AIN1 5
PE4/OC3B/INT4 6
PE5/OC3C/INT5 7
PE6/T3/INT6 8
PE7/ICP3/INT7 9
PB0/SS10
PB1/SCK11
PB2/MOSI12
PB3/MISO13
PB4/OC014
PB5/OC1A15
PB6/OC1B16
PB7/OC2/OC1C17
PG3/TOSC2 18
PG4/TOSC1 19
RESET20
XTAL223
XTAL124
PD0/SCL/INT0 25
PD1/SDA/INT1 26
PD2/RXD1/INT2 27
PD3/TXD1/INT3 28
PD4/ICP1 29
PD5/XCK1 30
PD6/T1 31
PD7/T2 32
PG0/WR 33
PG1/RD 34
PC0/A835
PC1/A936
PC2/A1037
PC3/A1138
PC4/A1239
PC5/A1340
PC6/A1441
PC7/A1542
PG2/ALE 43
PA7/AD744
PA6/AD645
PA5/AD546
PA4/AD447
PA3/AD348
PA2/AD249
PA1/AD150
PA0/AD051
PF7/ADC7/TDI 54
PF6/ADC6/TDO 55
PF5/ADC5/TMS 56
PF4/ADC4/TCK 57
PF3/ADC3 58
PF2/ADC2 59
PF1/ADC1 60
PF0/ADC0 61
AREF62
AVCC64 PEN 1
U1
ATMEGA128
R9
10k
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U4
74LS47
R1
330
Figura 3.1: Contador 0-9 (Referencia de funcionamiento https://youtu.be/kOXzBimjM_c)
Especificaciones El contador debe ser ascendente, con una frecuencia de 1Hz. El reset
del microcontrolador conllevará a que el contador se reinicie. Se debe tener conocimiento
del funcionamiento del decoder 74LS47, como consecuencia de ello se debe saber el tipo
de display que opera con este decoder (investigar).
3.3.2. Procedimiento
AVR Studio
1. Configure la F_CPU a 8MHz.
2. Configure el PORTE como salida.
3. Realice el código en C, el contador trabaje a 1Hz.
Pedro Ramírez <pedroramirez22@gmail.com> 1
2. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 2 Hs PUERTOS COMO GPIO
Proteus
1. En el Edit Component del ATMEGA128, seleccione el CKSEL Fuses: (0100)
Int. RC 8MHz.
2. En el Edit Component del ATMEGA128, seleccione el Program File el ar-
chivo .hex generado dentro de la carpeta Debug en la ruta del proyecto del
AVR Studio en cuestión.
3. Simule el esquemático y compruebe que el contador opera correctamente a la
frecuencia deseada. deseada.
3.3.3. Ejercicios propuestos
1. Realizar la codificación en C para que un contador ascendente 0-99.
PE0/RXD0/PDI 2
PE1/TXD0/PDO 3
PE2/XCK0/AIN0 4
PE3/OC3A/AIN1 5
PE4/OC3B/INT4 6
PE5/OC3C/INT5 7
PE6/T3/INT6 8
PE7/ICP3/INT7 9
PB0/SS10
PB1/SCK11
PB2/MOSI12
PB3/MISO13
PB4/OC014
PB5/OC1A15
PB6/OC1B16
PB7/OC2/OC1C17
PG3/TOSC2 18
PG4/TOSC1 19
RESET20
XTAL223
XTAL124
PD0/SCL/INT0 25
PD1/SDA/INT1 26
PD2/RXD1/INT2 27
PD3/TXD1/INT3 28
PD4/ICP1 29
PD5/XCK1 30
PD6/T1 31
PD7/T2 32
PG0/WR 33
PG1/RD 34
PC0/A835
PC1/A936
PC2/A1037
PC3/A1138
PC4/A1239
PC5/A1340
PC6/A1441
PC7/A1542
PG2/ALE 43
PA7/AD744
PA6/AD645
PA5/AD546
PA4/AD447
PA3/AD348
PA2/AD249
PA1/AD150
PA0/AD051
PF7/ADC7/TDI 54
PF6/ADC6/TDO 55
PF5/ADC5/TMS 56
PF4/ADC4/TCK 57
PF3/ADC3 58
PF2/ADC2 59
PF1/ADC1 60
PF0/ADC0 61
AREF62
AVCC64 PEN 1
U1
ATMEGA128
R9
10k
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U4
74LS47
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U2
74LS47
R1
330
Figura 3.2: Contador 0-99 (Referencia de funcionamiento https://youtu.be/CJ8Vk_AFhg0)
Consideraciones:
a) El puerto E debe ser configurado como salida.
b) Note que el Nibble superior del puerto E corresponde al display de las
unidades.
c) Note que el Nibble inferior del puerto E corresponde al display de las
decenas.
d) Con el reset del microcontrolador se puede reiniciar el contador.
Pedro Ramírez <pedroramirez22@gmail.com> 2
3. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M07 MICROCONTROLADORES II
Laboratorio: D-19
Duración: 2 Hs PUERTOS COMO GPIO
2. Realizar la codificación en C para que un contador ascendente 0-9999.
PE0/RXD0/PDI 2
PE1/TXD0/PDO 3
PE2/XCK0/AIN0 4
PE3/OC3A/AIN1 5
PE4/OC3B/INT4 6
PE5/OC3C/INT5 7
PE6/T3/INT6 8
PE7/ICP3/INT7 9
PB0/SS10
PB1/SCK11
PB2/MOSI12
PB3/MISO13
PB4/OC014
PB5/OC1A15
PB6/OC1B16
PB7/OC2/OC1C17
PG3/TOSC2 18
PG4/TOSC1 19
RESET20
XTAL223
XTAL124
PD0/SCL/INT0 25
PD1/SDA/INT1 26
PD2/RXD1/INT2 27
PD3/TXD1/INT3 28
PD4/ICP1 29
PD5/XCK1 30
PD6/T1 31
PD7/T2 32
PG0/WR 33
PG1/RD 34
PC0/A835
PC1/A936
PC2/A1037
PC3/A1138
PC4/A1239
PC5/A1340
PC6/A1441
PC7/A1542
PG2/ALE 43
PA7/AD744
PA6/AD645
PA5/AD546
PA4/AD447
PA3/AD348
PA2/AD249
PA1/AD150
PA0/AD051
PF7/ADC7/TDI 54
PF6/ADC6/TDO 55
PF5/ADC5/TMS 56
PF4/ADC4/TCK 57
PF3/ADC3 58
PF2/ADC2 59
PF1/ADC1 60
PF0/ADC0 61
AREF62
AVCC64 PEN 1
U1
ATMEGA128
R9
10k
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U4
74LS47
A2 Y0 4
B3 Y1 5
Y2 6
E1 Y3 7
U2:A
74HC139
1 2
U3:A
74HC04
3 4
U3:B
74HC04
5 6
U3:C
74HC04
13 12
U3:D
74HC04
Figura 3.3: Contador 0-9999 (Referencia de funcionamiento https://youtu.be/M76hHK8fRxc )
Consideraciones:
a) El puerto E y puerto F debe ser configurado como salida.
b) Investigar el funcionamiento del decoder 74139.
c) Investigar el funcionamiento del display de 4 cifras.
d) Investigar el concepto de multiplexación de display.
e) Que son los componentes 7404 y para que es necesario en el circuito?.
f ) Con el reset del microcontrolador se puede reiniciar el contador.
3. Realice el esquemático en Proteus para realizar un contador 0-99999999. Realice la
codificación y simularlo.
3.3.4. Conclusión
Pedro Ramírez <pedroramirez22@gmail.com> 3