Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2010 UNIVERSIDAD
POLITECNICA
FERNANDO ITAS SALESIANA
2010-05-14 PRACTICA AVR#2
SISTEMAS MICROPROCESADOS I
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
TEMA Temporizadores.
OBJETIVO
MARCO TEORICO
Bascom puede manejar los dos tipos principales de pantallas de
cristal líquido:
alfanuméricos y gráficos. Por el momento, vamos a preocuparnos por
el tipo más común alfanuméricos. Este tipo de pantalla LCD puede
mostrar los caracteres, números y caracteres especiales. El tipo más
común de LCD alfanumérico utiliza un Hitachi HD44780 como
controlador de pantalla. Cuando usted no está seguro acerca de qué
tipo de pantalla que están sosteniendo en sus manos, sólo tiene que
mirar a las
denominaciones de chips en la espalda. Si uno de estos dice HD44780
estás a salvo. Bascom tiene una configuración por defecto para la
conexión de la pantalla LCD.
Options / Compiler / LCD
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
Dar el un clic en cualquier cuadro para que este se haga negro, o clic
en un cuadro negra para que se haga blanco. Hacer un símbolo de la
cruz
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
EJERCICIOS
DIAGRAMA DE FLUJO
INICIO
Especificar el puerto
D y C como salida
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
Visualizo en display
END
CODIGO:
$regfile "m16def.dat"
$crystal = 8000000
Do
A = Tcnt0
Porta = Tcnt0
A = Makebcd(a)
Loop
End
SIMULACION
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
R2
10k
U1
9 22
C1 RESET PC0/SCL
23
PC1/SDA
12 24
XTAL1 PC2/TCK
13 25
XTAL2 PC3/TMS
1uF 26
PC4/TDO
40 27
PA0/ADC0 PC5/TDI
X1 39
PA1/ADC1 PC6/TOSC1
28
CRYSTAL 38 29
37
PA2/ADC2 PC7/TOSC2 U2
PA3/ADC3
36 14 7 13
C2 35
PA4/ADC4 PD0/RXD
15 1
A QA
12
PA5/ADC5 PD1/TXD B QB
34 16 2 11
PA6/ADC6 PD2/INT0 C QC
33 17 6 10
PA7/ADC7 PD3/INT1 D QD
1uF 18 4 9
PD4/OC1B BI/RBO QE
1 19 5 15
PB0/T0/XCK PD5/OC1A RBI QF
2 20 3 14
PB1/T1 PD6/ICP1 LT QG
3 21
PB2/AIN0/INT2 PD7/OC2
4 7448
PB3/AIN1/OC0
5
PB4/SS
R1 6
PB5/MOSI
10k 7 32
PB6/MISO AREF
8 30
PB7/SCK AVCC
ATMEGA16
C3
1nF
Q2
Q1 2N3904
2N3904
FIGURA #1
➢ Entradas 0
➢ Salidas display de 7 lcd.
➢ Procesos -configurar puerto D para LCD.
-programar para visualizar en el LCD
DIAGRAMA DE FLUJO
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
INICIO
Lee “HOLA”
END
CODIGO
$regfile "m16def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 =
Portd.7 , E = Portd.0 , Rs = Portd.1
Lcd "HOLA"
End
SIMULACION
LCD2
LM016L
RV1
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
R9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10k
5k
U1
9 22
C1 RESET PC0/SCL
23
PC1/SDA
13 24
XTAL1 PC2/TCK
12 25
XTAL2 PC3/TMS
33p 26
PC4/TDO
X1 40
PA0/ADC0 PC5/TDI
27
39
CRYSTAL 28
C2 38
PA1/ADC1 PC6/TOSC1
29
PA2/ADC2 PC7/TOSC2
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
33p 35 15
PA5/ADC5 PD1/TXD
34 16
PA6/ADC6 PD2/INT0
33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A
2 20
PB1/T1 PD6/ICP
C3 3
PB2/INT2/AIN0 PD7/OC2
21
100p R1 4
PB3/OC0/AIN1
10k 5
PB4/SS
6
PB5/MOSI
7 30
PB6/MISO AVCC
8 32
PB7/SCK AREF
ATMEGA16
➢ Entradas 0
➢ Salidas display de LCD.
➢ Procesos -configurar puerto D para LCD.
-programar para visualizar en el LCD tanto en
la línea superior
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
DIAGRAMA DE FLUJO
INICIO
END
CODIGO
$regfile "m16def.dat"
$crystal = 8000000
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 =
Portd.7 , E = Portd.0 , Rs = Portd.1
Cls
Lcd "INGENIERIA"
Lowerline
Lcd "ELECTRONICA"
End
SIMULACION
LCD2
LM016L
RV1
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
R9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10k
5k
U1
9 22
C1 RESET PC0/SCL
23
PC1/SDA
13 24
XTAL1 PC2/TCK
12 25
XTAL2 PC3/TMS
33p 26
PC4/TDO
X1 40
PA0/ADC0 PC5/TDI
27
39
CRYSTAL 28
C2 38
PA1/ADC1 PC6/TOSC1
29
PA2/ADC2 PC7/TOSC2
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
33p 35 15
PA5/ADC5 PD1/TXD
34 16
PA6/ADC6 PD2/INT0
33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A
2 20
PB1/T1 PD6/ICP
C3 3
PB2/INT2/AIN0 PD7/OC2
21
100p R1 4
PB3/OC0/AIN1
10k 5
PB4/SS
6
PB5/MOSI
7 30
PB6/MISO AVCC
8 32
PB7/SCK AREF
ATMEGA16
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
➢ Entradas 0
➢ Salidas display de LCD.
➢ Procesos -configurar puerto D para LCD.
-programar con la ayuda de comandos como el
FOR para
el desplazamiento del texto
DIAGRAMA DE FLUJO
INICIO
END
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
CODIGO
$regfile "m16def.dat"
$crystal = 8000000
Dim I As Byte
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 =
Portd.7 , E = Portd.0 , Rs = Portd.1
Cls
Do
Lcd "UPS"
For I = 1 To 10
Shiftlcd , Right
Waitms 200
Next
For I = 1 To 10
Shiftlcd , Left
Waitms 200
Next
Loop
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
End
SIMULACION
LCD2
LM016L
RV1
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
R9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10k
5k
U1
9 22
C1 RESET PC0/SCL
23
PC1/SDA
13 24
XTAL1 PC2/TCK
12 25
XTAL2 PC3/TMS
33p 26
PC4/TDO
X1 40
PA0/ADC0 PC5/TDI
27
39
CRYSTAL 28
C2 38
PA1/ADC1 PC6/TOSC1
29
PA2/ADC2 PC7/TOSC2
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
33p 35 15
PA5/ADC5 PD1/TXD
34 16
PA6/ADC6 PD2/INT0
33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A
2 20
PB1/T1 PD6/ICP
C3 3
PB2/INT2/AIN0 PD7/OC2
21
100p R1 4
PB3/OC0/AIN1
10k 5
PB4/SS
6
PB5/MOSI
7 30
PB6/MISO AVCC
8 32
PB7/SCK AREF
ATMEGA16
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
➢ Entradas 0
➢ Salidas display de LCD.
➢ Procesos -configurar puerto D para LCD.
-programar con los diferentes comandos para
ver su función.
DIAGRAMA DE FLUJO
INICIO
Diferentes comandos
Se observa en el LCD
END
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
CODIGO
$regfile "m16def.dat"
$crystal = 8000000
Dim I As Byte
Do
Locate 2 , 1
Lcd "*"
Wait 1
Shiftcursor Right
Lcd "@"
Home Upper
Lcd "REMPLAZO"
Wait 1
Wait 1
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
Cursor On Blink
Wait 1
Display Off
Wait 1
Display On
Loop
End
SIMULACION
LCD2
LM016L
RV1
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
R9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10k
5k
U1
9 22
C1 RESET PC0/SCL
23
PC1/SDA
13 24
XTAL1 PC2/TCK
12 25
XTAL2 PC3/TMS
33p 26
PC4/TDO
X1 40
PA0/ADC0 PC5/TDI
27
39
CRYSTAL 28
C2 38
PA1/ADC1 PC6/TOSC1
29
PA2/ADC2 PC7/TOSC2
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
33p 35 15
PA5/ADC5 PD1/TXD
34 16
PA6/ADC6 PD2/INT0
33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A
2 20
PB1/T1 PD6/ICP
C3 3
PB2/INT2/AIN0 PD7/OC2
21
100p R1 4
PB3/OC0/AIN1
10k 5
PB4/SS
6
PB5/MOSI
7 30
PB6/MISO AVCC
8 32
PB7/SCK AREF
ATMEGA16
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
1.6 Realizar un programa que permite ver los caracteres que puede
generar el LCD.
➢ Entradas 0
➢ Salidas display de LCD.
➢ Procesos -configurar puerto D para LCD.
-programar con los diferentes caracteres del
LCD.
DIAGRAMA DE FLUJO
INICIO
END
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
CODIGO
$regfile "m16def.dat"
$crystal = 8000000
Dim I As Byte
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 =
Portd.7 , E = Portd.0 , Rs = Portd.1
Cls
Do
For I = 1 To 255
Cls
Locate 1 , 1
Lcd Chr(i)
Locate 2 , 1
Waitms 100
Next
Loop
End
SIMULACION
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
LCD2
LM016L
RV1
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
R9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10k
5k
U1
9 22
C1 RESET PC0/SCL
23
PC1/SDA
13 24
XTAL1 PC2/TCK
12 25
XTAL2 PC3/TMS
33p 26
PC4/TDO
X1 40
PA0/ADC0 PC5/TDI
27
39
CRYSTAL 28
C2 38
PA1/ADC1 PC6/TOSC1
29
PA2/ADC2 PC7/TOSC2
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
33p 35 15
PA5/ADC5 PD1/TXD
34 16
PA6/ADC6 PD2/INT0
33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A
2 20
PB1/T1 PD6/ICP
C3 3
PB2/INT2/AIN0 PD7/OC2
21
100p R1 4
PB3/OC0/AIN1
10k 5
PB4/SS
6
PB5/MOSI
7 30
PB6/MISO AVCC
8 32
PB7/SCK AREF
ATMEGA16
➢ Entradas 0
➢ Salidas display de LCD.
➢ Procesos -configurar puerto D para LCD.
-programar en la barra desplegable TOOLS/LCD
DESIGNER.
DIAGRAMA DE FLUJO
INICIO
END
CODIGO
$regfile "m16def.dat"
$crystal = 8000000
$sim
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 =
Portd.7 , E = Portd.0 , Rs = Portd.1
Cursor Off
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
Deflcdchar 1 , 32 , 2 , 20 , 14 , 5 , 8 , 32 , 32
Deflcdchar 3 , 32 , 17 , 10 , 4 , 10 , 17 , 32 , 32
Deflcdchar 4 , 32 , 8 , 11 , 4 , 26 , 2 , 32 , 32
Deflcdchar 5 , 32 , 8 , 5 , 14 , 20 , 2 , 32 , 32
Cls
Do
Portd = 255
Waitms 100
Portd = 0
Waitms 100
Locate 1 , 16
Lcd Chr(star)
Waitms 100
Next Star
Loop
End
SIMULACION
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
LCD2
LM016L
RV1
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
R9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10k
5k
U1
9 22
C1 RESET PC0/SCL
23
PC1/SDA
13 24
XTAL1 PC2/TCK
12 25
XTAL2 PC3/TMS
33p 26
PC4/TDO
X1 40
PA0/ADC0 PC5/TDI
27
39
CRYSTAL 28
C2 38
PA1/ADC1 PC6/TOSC1
29
PA2/ADC2 PC7/TOSC2
37
PA3/ADC3
36 14
PA4/ADC4 PD0/RXD
33p 35 15
PA5/ADC5 PD1/TXD
34 16
PA6/ADC6 PD2/INT0
33 17
PA7/ADC7 PD3/INT1
18
PD4/OC1B
1 19
PB0/XCK/T0 PD5/OC1A
2 20
PB1/T1 PD6/ICP
C3 3
PB2/INT2/AIN0 PD7/OC2
21
100p R1 4
PB3/OC0/AIN1
10k 5
PB4/SS
6
PB5/MOSI
7 30
PB6/MISO AVCC
8 32
PB7/SCK AREF
ATMEGA16
CONCLUSIONES
➢ Podemos notar que en el ATMEGA el contador externo
es un poco mas exacto que en PIC.
➢ Para la programación de LCD algunos comandos se
realiza de una manera mas fácil.
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
RECOMENDACIONES
➢ Debemos configurar en opciones del BASCO el LCD
dependiendo de cual estemos utilizando.
➢ Se debe tener en cuenta que el código numérico que
nos genera el LCD DESIGNER debemos de cambiar el
símbolo (?) por un número del 1 al 7.
BIBLIOGRAFIA
Hoja de prácticas de AVR.
Manual de ATMEGA16
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA
INGENIERI
A
SISTEMAS MICROPROCESADOS I
ELECTRONI
CA