Introducci - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Introducci

Description:

Introducci n a la Programaci n en C sobre uC 9S08 de Freescale Lenguaje C sobre Microcontrolador 9S08 de 8 bits para novatos Programa del Curso (Primer D a ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 27
Provided by: GerardoEn8
Category:

less

Transcript and Presenter's Notes

Title: Introducci


1
Introducción a la Programación en C sobre uC 9S08
de FreescaleLenguaje C sobre Microcontrolador
9S08 de 8 bits para novatos
2
Programa del Curso (Primer Día)
  • Arquitectura 9S08. Modelo de Programación.
    Registros. Mapa de Memoria. Periféricos.
    Registros de Configuración. (45 minutos).
  • Algoritmos y Programas. El lenguaje C. Variables.
    Expresiones. Estructuras de Control.
  • Entorno de Programación Codewarrior. Creación de
    Proyectos. Simulación. (45 minutos).
  • Puertos de Entrada-Salida. Configuración Básica.
    Encendido de un LED. (45 minutos)

3
Esta Clase
  • Algoritmos y Programas. El lenguaje C. Variables.
    Expresiones. Estructuras de Control.

4
Programa Estructurado Algoritmo Estructura
de Datos
  • Algoritmo Procedimiento para realizar una tarea
    compleja, basándose en realizar tareas mas
    sencillas.
  • Algoritmo Secuencial las tareas se realizan una
    por vez.
  • Se puede elaborar cualquier algoritmo secuencial
    si existen posibilidades de
  • Decisión.
  • Ejecución secuencial.
  • Iteración condicional.
  • Asignación e incremento de variables (contadores)

5
Programa Estructurado Algoritmo Estructura
de Datos
  • Estructura de Datos
  • Los algoritmos se diseñan sin tener en cuenta
    como están organizados los datos sobre los que se
    va a operar.
  • Muchas veces una buena organización de los datos
    permite mejorar la eficacia del algoritmo.
  • Otras veces los algoritmos dependen de la
    organización de los datos

6
Ejemplos. Multiplicación LargaALGORITMO
SI al ALGORITMO le asocio una ESTRUCTURA DE
DATOS, puedo saber por ejemplo, cuanto lugar
necesito para almacenar los datos de entrada y la
salida
QUIERO MULTIPLICAR 79 x 53. Solamente conozco
como multiplicar números por una ci0ra, sé sumar,
y además sé que al mutiplicar x 10 se agrega un
cero al 0inal. Como 53 3 5 x 10 Entonces
79 x 53 79 x ( 3 5 x 10) 79
x 53 79 x 3 79 x 5 x 10 79 x 53 (79 x
3) (79 x 5) x 10
2
4
7
9
5
3
X
7
3
2
0
0
0
79 x 3
9
5
3
0
0
0
79 x 5 x 10
8
7
4
1
7
Ejemplos. Busqueda de númerosALGORITMO I
QUIERO BUSCAR UN NÚMERO EN UN CONJUNTO ORDENADO
DE NÚMEROS, UBICADOS EN POSICIONES MARCADAS DESDE
1 HASTA N POR EJEMPLO BUSCO EL 23 EN EL SIGUIENTE
CONJUNTO DE 18 NÚMEROS
8
Ejemplos. Busqueda de númerosALGORITMO II
QUIERO BUSCAR UN NÚMERO EN UN CONJUNTO ORDENADO
DE NÚMEROS, UBICADOS EN POSICIONES MARCADAS DESDE
1 HASTA N IGUAL QUE ANTES PERO AHORA APRO1ECHO LA
ESTRUCTURA DE LOS DATOS. ESTÁN ORDENADOS!
23
lt 23
gt 23
9
Variables del lenguaje C
  • No usaremos tipos de punto flotante
  • Tipos de 1ariable

nombre tamaño rango tipo
char 8 bits -128 a 127 Entero
short 16 bits -32768 a 32767 Entero
int 16 o 32 bits Entero
long 32 bits - 231 a 231 - 1 Entero
float 32 bits NA Punto flotante
double 64 bits NA Punto flotante
10
Variables del lenguaje C
  • Modificadores.

long Puede modificar al int cuando es de 16 bits llevándolo a 32 bits
unsigned Por de0ecto todos los tipos enteros son con signo, en este caso para n bits, el rango se modifica de 0 a 2n - 1
volatile En la programación de UC es muy importante indicar las variables que pueden ser modificadas por el hardware como volatile.
Existen otros modificadores que no veremos como const,static, extern, register, automatic. Existen otros modificadores que no veremos como const,static, extern, register, automatic.
11
Variables del lenguaje C
  • Declaración de variables
  • char x
  • char y -5 (-5 0x0B)
  • char z B (66 0x42)
  • char w 0x03 (3)
  • unsigned char letra2 C (67 0x43)
  • unsigned char AaBb12 0x30 (63)
  • int aaBB12 0x8002 (-32766)
  • int a,b,c,d
  • unsigned int AABB12 0x8002 (32770)
  • unsigned int x1,x2,x3,x4

12
Expresiones y Operaciones
  • Usamos la declaración de variables anterior
  • Operadores Aritméticos (,-,,/,)
  • Expresiones con operadores aritméticos
  • yz yz y-z y/z yz z/y z/y
  • -566 -566 -5-66 -5/66 R 66/(-5) R
  • (61) (-74) (-71) (0) (-5) (-13) (1)
  • Operadores Relacionales (gt,gt,lt,lt,,!)
  • Expresiones con Operadores Relacionales
  • a-1b2c-3d4
  • (agtb) (cgtb) (cltb) (dltcb) (dabc) (a!b)
  • F F V F F V

13
Expresiones y Operaciones
  • Operadores Lógicos (,,!)
  • (AND )
  • (OR)
  • ! (NOT)

X Y XY X Y XY X ! X
F F F F F F F V
F V F F V V V F
V F F V F V
V V V V V V
Expresiones con Operadores Lógicos (agtb)(cltb)
(cgtb)(a!b) !(agtb)(a!b) !c V F
V F
14
Expresiones y Operaciones
  • Operadores a nivel de Bits
  • ( )
  • (AND,OR,XOR,NOT)

X Y X Y X Y X Y X Y X Y X X
0 0 0 0 0 0 0 0 0 0 1
0 1 0 0 1 1 0 1 1 1 0
1 0 0 1 0 1 1 0 1
1 1 1 1 1 1 1 1 0
15
Expresiones y Operaciones
  • Expresiones con Operadores a nivel de Bits
  • y w gt 0xFB 0x03 11111011
  • 00000011
  • 00000011
  • w y gt 0xFB 0x03 11111011
  • 00000011
  • 11111011
  • w y gt 0xFB 0x03 11111011
  • 00000011
  • 11111000

16
Expresiones y Operaciones
  • Expresiones con Operadores a nivel de Bits
  • w gt 0x03 11111011 gt 00000100
  • y gt 0xFB 00000011 gt 11111100
  • MASCARAS
  • el AND () con 1 me copia el bit.
  • el AND () con 0 me borra el bit.
  • el OR () con 1 me pone en 1 el bit.
  • el OR () con 0 me copia el bit.
  • el XOR () con 1 me invierte el bit.
  • el XOR () con 0 me invierte el bit.

17
Estructuras de Control
  • Asignación
  • variable expresión
  • Ejemplo
  • a -101
  • b 10
  • x3 12345
  • x4 54000
  • x1 x4-x3
  • c a/b

18
Estructuras de Control
  • Secuencia
  • sentencia1
  • sentencia2
  • sentencia3

sentencia1
Lo que está entre llaves se llama sentencia
compuesta
sentencia2
sentencia3
  • Ejemplo
  • x1 x4-x3
  • c a/b

19
Estructuras de Control
  • IF
  • if(condicion)
  • Acción si la condición es verdadera
  • else
  • Acción si la condición es falsa

CONDICIÓN?
V
F
Acción si la condición es verdadera
Acción si la condición es falsa
20
Estructuras de Control
  • IF
  • if(condicion)
  • Acción si la condición es verdadera

CONDICIÓN?
V
F
Acción si la condición es verdadera
21
Estructuras de Control
  • Ejemplo
  • if( x lt minimo)
  • minimox
  • xx1
  • Ejemplo
  • if( xgt maximo)
  • maximox
  • halle_maximo1
  • else
  • halle_maximo0

22
Estructuras de Control
  • WHILE
  • while (condicion)
  • acción a realizar mientras la condición sea
    verdadera

CONDICION ?
V
F
Acción a realizar mientras la condición sea
verdadera
23
Estructuras de Control
  • Ejemplo (que pasa acá?)
  • x2
  • y10
  • z0
  • while ( z lt y)
  • zz-x
  • Ejemplo
  • x2
  • y10
  • z0
  • while ( z lt y)
  • zzx

24
Estructuras de Control
  • FOR
  • for( asignacion inicial condición
    actualización)
  • acción a realizar mientras la condición sea
    verdadera
  • Ejemplo
  • int k
  • unsigned suma0
  • for(k0 klt100 kk1)
  • if (k2 ! 1)
  • sumasumak

25
Estructuras de Control
  • FOR

Asignación Inicial
Condicion ?
Actualización
acción a realizar mientras la condición sea
verdadera
26
Hemos Visto
  • Algoritmos y Estructuras de Datos
  • Variables en C
  • Expresiones
  • Operadores aritméticos
  • Operadores Lógicos
  • Operaciones a Nivel de Bit
  • Expresiones
  • Estructuras de Control Asignación, Secuencia,
    If, while,for.
Write a Comment
User Comments (0)
About PowerShow.com