You are on page 1of 31

Materia: Instrumentacin Virtual

BITACORA DE EJERCICIOS

Alumno: Jos ngel Gonzlez Barbosa

Matricula: 1051351

Torren Coahuila, 02/Diciembre/2013

EJERCICIOS REALIZADOS CON:

1) Cuadrtica Reales

2) cuadrtica completa
Panel frontal

Diagrama de bloques

3) Cuadrtica con subvi's

4) Simular el llenado de un tanque, utilizando estructuras repetitivas

5) Modificar el programa anterior, para que se muestren dos tanques de manera


que uno se llena mientras el otro se vaca.

6) Hacer una lista de los cuadrados de los primeros N nmeros naturales.

7) Simular el funcionamiento de un display de 7 segmentos, encendido apagado.

8) Disear un decodificador de 7 segmentos con un control numrico.

9) Realizar un programa que multiplique los primeros N nmeros naturales


donde n es el nmero de iteracin. Obtener una lista de nmeros positivos y
otra lista de nmeros negativos.

10) Realizar un programa para indicar si un ao ingresado por el usuario es


bisiesto. Utilizar la estructura "formula node".
Panel frontal

Diagrama de bloques

11) Realizar un programa que simule una seal senoidal utilizando una estructura
repetitiva.
Panel frontal

Diagrama de bloques

12) Generar una lista de N nmeros aleatorios entre 80 y 100.


Panel Frontal

Diagrama de bloques

13) Modificar el programa anterior para ir promediando los ltimos 5 datos


aleatorios.
Panel frontal

Diagrama de bloques

14) Realizar un instrumento virtual para solucionar ecuaciones de dos incgnitas


con nmeros complejos. Utilizar MATLAB Script NODE.
Panel frontal

Diagrama de bloques

15) Solucin del examen


Panel frontal

Diagrama de bloques

EJERCICIOS REALIZADOS CON:

16) Realizar un programa en un microcontrolador para encender y apagar un


puerto.
Cdigo en MikroC
//*Primer ejemplo en lenguaje C;
//Alumno: Jos ngel Gonzlez Barbosa
//Descripcin: Es un programa para probar las salidas digitales del puerto*/
//*___________AREA PARA DECLARAR CONSTANTES Y VARIABLES GLOBALES______ /
//

//

//

//_______________________________________________________________________*
/

void main() {
/*___________AREA PARA DECLARAR CONSTANTES Y VARIABLES LOCALES______
/

GGFG

_______________________________________________________________________*/
ADCON1=0X0F; /// 0000 1111 DESHABILIT ENTRADAS ANALOGICAS
TRISB=0;// Configura el puerto como salidas

while(1){
PORTB =0XFE;

//pone en valor alto todos los pines del puerto B;

delay_ms(1000);

//Hace un retardo de un segundo.

PORTB=0;

//Pone un valor bajo en todos los pines del puerto B

delay_MS(1000); //Hace un retardo de un segundo.

}
}

17) Realizar un contador del 0 al 15 en un puerto de salida.


Cdigo en MikroC
Nombre: Jos ngel Gonzlez Barbosa
Practica con entradas y salidas digitales: generar controladores con el pic*/

#define tiempo 500

void main() {
short k;// declarando variables locales
ADCON1 = 0x0f; //deshabilita las entradas analgicas
TRISB = 0; // Todo el puerto B es salida
TRISA = 0X0F; // todo el puerto A es entrada
while(1){

for ( k =0; k <= 15; k++){


PORTB = K;
delay_ms(tiempo);
}
}

18) Modificar el programa anterior para que dependiendo de una entrada, la


cuenta sea ascendente o descendente.
Cdigo en MikroC
Nombre: Jos ngel Gonzlez Barbosa
Practicar con salidas y entradas digitales. Generar contadores con el PIC */

# define tiempo 500


void main() {
short k; // declaracion de variables locales

ADCON1 = 0x0F; // Deshabilita las entradas analogicas


TRISB = 0;

// Todo el puerto B es salida digital

TRISA = 0xFF; // Todo el puerto A es entrada

while(1) {
if (PORTA.B0 == 1) //si el bit0 del puerto A es uno?
{
for (k = 0; k <= 15; k++){
PORTB = K;
delay_ms(tiempo); // retardo de tiempo
}

else
{
for (k = 15; k >= 0; k--) {
PORTB = k;
delay_ms(tiempo); //retardo de tiempo
}
}
}

19) Modificar el programa anterior para que en el instante en que se cambie el


estado de la entrada tambin se cambie la opcin del contador.
Cdigo en MikroC
Nombre: Jos ngel Gonzlez Barbosa
Practica con entradas y salidas digitales: Generar controladores con el PIC*/
#define tiempo 500
void main() {
short k;// declarando variables locales
ADCON1 = 0x0f; //deshabilita las entradas analgicas
TRISB = 0; // Todo el puerto B es salida
TRISA = 0X0F; // Todo el puerto A es entrada
while(1){
if (PORTA.B0 == 1)
{
K++;
PORTB = K;
delay_ms(tiempo);
}
else{
K--;
PORTB = K;
delay_ms(tiempo);
}
}
}

20) Realizar un programa para el microcontrolador para establecer un juego de


luces en un puerto de salida que responda al estado de un puerto digital.
Cdigo en MikroC
/*Nombre: Jos ngel Gonzlez Barbosa
Practica: Realizar un programa que por medio de una determinada combinacin
en un puerto determinado en orto este cambiando su estado cada cierto
tiempo*/

#define tiempo 300


void main() {
ADCON1 = 0X0F; //Definir entradas analgicas desactivadas
TRISB = 0XFF; //Declarar puerto b como entradas
TRISD = 0;

//Declarar puerto d como salidas

while(1){
PORTD = PORTB;
delay_ms(tiempo);
PORTD = ~PORTB;
delay_ms(tiempo);
}

21) Realizar un programa para el microcontrolador que sirva para probar el


funcionamiento de un convertidor ADC interno del pic.
Cdigo en MikroC
Nombre: Jos ngel Gonzlez Barbosa
Practica con entradas y salidas digitales: generar controladores con el pic*/
int an1; //declaracion de variable de tipo entrada
void main() {

ADC0N1 = 0X0E; //Declarando una entrada analgica


TRISA = 0XFF; // Declarando puerto a como entrada
TRISD = 0;

// Declarando puerto d como salida

TRISC = 0;

// Declarando puerto c como salida

ADC_init();

// inicializando el mdulo analgico

while(1){
an1 = ADC_Get_Sample(0); //Obtiene el valor de ADC y lo guarda en an1
PORTD = an1;
PORTC = an1 >> 8;
Delay_ms(100);
}

// mostrar an1 en puerto d


// corrimiento de lugares para mostrar ltimos 2 en c
//leer 10 veces por segundo

22) Realizar un programa para el microcontrolador que muestre en displays de


siete segmentos el voltaje presente en un canal analgico.
Cdigo en MikroC
Nombre: Jos ngel Gonzlez Barbosa
Prctica: realizar un medidor de voltaje*/
void main() {
int display[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
int dd = 0,du = 0; //declarando memoria para display 1 y display 2
int adc;

//declarando memoria para adc

int porc;
ADCON1 = 0X0E;
TRISA = 0X01;
TRISD = 0;

//declarando la RA0 como entrada analgica


//declarando RA0 como entrada el resto como salidas

//declarando puerto D como salidas

ADC_init();
PORTA.RA1 = 0;
PORTA.RA2 = 0;
PORTA.RA3 = 0;
porc = 0;
ADC_init;

while(1){
porc =ADC_Get_sample(0);
dd = porc/10;

du = porc-(dd*10);
PORTA.RA1 = 1;
PORTA.RA2 = 0;
PORTD = display[dd];
delay_ms(10);
PORTA.RA1 = 0;
PORTA.RA2 = 1;
PORTD = display[du];
delay_ms(10);
adc=ADC_Get_sample(0);
}

23) Realizar comunicacin entre el microcontrolador y la computadora y probar la


manipulacin de salidas digitales.
Cdigo en MikroC
//escribiendo en una salida digital
if (buffer[0] == 'J')
{
PORTB = 0xFF;
}
if (buffer[0] == 'j')
{
PORTB = 0;
}

//Leer una entrada digital


if(buffer[0] == 'a')
{
if(PORTA.RA1 == 1)
{
buffer[0] = '1';
}
else
{
buffer[0] = '0';
}
}

Ejecuciones del programa

24) Realizar comunicacin entre el microcontrolador y la computadora y probar la


adquisicin de datos digitales.
Cdigo en MikroC
//Leer una entrada digital
if(buffer[0] == 'a')
{
if(PORTA.RA1 == 1)
{
buffer[0] = '1';
}
else
{
buffer[0] = '0';
}
}

Ejecuciones del programa

25) Realizar nuevamente comunicacin entre el microcontrolador y la computadora y


probar la adquisicin de datos analgicos.
Cdigo en MikroC
//Leer una entrada analgica
if (buffer[0] == 'm')
{
an = ADC_Read(0); //Leer el canal cero
IntToStr(an, an_txt); //Convierte de nmero a str
strcpy(buffer, an_txt); // buffer = an_txt
dataReceivedSize = 7; //7 bytes de regreso

Ejecuciones del programa

You might also like