Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguaje de Programacin
Lenguaje Maquina:
Operacin expresada mediante la codificacin binaria de cadenas de 1's y 0's.
Lenguaje Ensamblador:
Un lenguaje ensamblador puro es un lenguaje es un lenguaje en el que cada
enunciado produce exactamente una instruccin de maquina. En otra palabras
existe una correspondencia uno a uno entre las instrucciones de maquina y los
enunciados del programa en ensamblador.
Lenguaje C:
es un lenguaje estructurado, es decir donde los programas son creados a partir
de estructuras de control bsicas, en base un numero limitado de palabras y
construcciones, lo que le da mas precisin y claridad, evitando ambigedades.
(el lenguaje natural humano carece de precisin y es muy ambiguo).
Ejemplo1: dsPIC30f2010_led.s
/****************************************************************/
// Realizar un programa que enceder algunos pines del puerto E, del controlador
// Utilizando el cristal Interno
/****************************************************************/
.equ __30F2010, 1
.include "p30f2010.inc"
;Conficuarcion de Pines
mov #0x00,w0 ;Port E all
mov w0,TRISE ;como salida Digital
mov #LEDS,w0 ;Initialize LED pin data to off state
mov w0,LATE
buclePrincipal:
nop
bra buclePrincipal ;Retorno al Bucle
.end
Ejemplo1: flashingALLpins.c
/****************************************************************/
// Realizar un programa que haga parpadear a absolutamente todos los pines
// I/O del DSCs cada 2 segundos.
/****************************************************************/
OBS:
Como pueden observar en la imagen no todos los pines del controlador se
activan, esto es debido a una mal direccionamiento del compilador PICC. Para
solucionar el presente incombeniente se procede al desarrollo de unas
funciones de direcionamiento en lenguaje de bajo nivel, es decir un
lenguanje asm yaque estos estan directamente ligado con los registros de
direccionamiento. El compilador PICC tiene una directiva #asm y #endasm
que permiten incluir codigo .asm dentro del .c. Acontinuacion se definiran las
siguientes funciones de direcionamiento de los registros que definen los I/O del
controlador.
FUNCIONES DE DIRECCIONAMIENTO :
#BYTE porta=0X02c2
#BYTE portb=0X02ca
#BYTE portc=0X02d2
#BYTE trisa=0X02c0
#BYTE trisb=0X02c8
#BYTE trisc=0X02d0
void main(void)
{
SETUP_ADC_PORTS(NO_ANALOGS);
w_trisa(0x0000);w_trisb(0x0000);w_trisc(0x0000);
while (TRUE)
{
w_porta(0xffff);
w_portb(0xffff);
w_portc(0xffff);
delay_ms(1000);
w_porta(0x0000);
w_portb(0x0000);
w_portc(0x0000);
delay_ms(1000);
}
}
Ejemplo2: Contador.c
/****************************************************************/
// Desarrollar un porgrama que atraves de dos pulsadores se incremente
// y decremente una cuenta mostarada en el display de siete segmentos
/****************************************************************/
Antes de empesar a programar, se entiende que en el presente ejemplo no
solo involucra activar al pin del controlador como salida digital sino tambien
como entrada digital....