PRACTICAS MICROCONTROLADORES
Enviado por evelin lorences • 21 de Agosto de 2017 • Apuntes • 499 Palabras (2 Páginas) • 133 Visitas
NOMBRE: CONTADOR DE 0 -9
OBJETIVO: utilizar los display que vienen en la tablilla de experimento empezando por la forma más sencilla
char conteo=0, estado=0;
void main() {
portb=0;
TRISB=0b10000000;
while(1){
if(BUTTON(&PORTB,7,1,0)) {estado=1;}
if (estado==1&&BUTTON(&PORTB,7,1,1)){
conteo=conteo+1;
if(conteo<9){conteo=0;}
estado=0;
}
switch(conteo){
case 1:PORTB=0X3F;break;
case 2:PORTB=0x06;break;
case 3:PORTB=0x5B;break;
case 4:PORTB=0x4F;break;
case 5:PORTB=0x66;break;
case 6:PORTB=0x6D;break;
case 7:PORTB=0x7D;break;
case 8:PORTB=0x07;break;
case 9:PORTB=0x7F;break;
case 10: PORTB=0X6F; break;
}
}
}
CONCLUSIONES:
Con esta práctica iniciamos a usas display, haciendo una secuencia que iba del 0 al 9 y al llegar a este último número, regresaba a contar nuevamente desde 0
NOMBRE: contador de 0-9
OBJETIVO: realizar un contador que vaya de 0-9 utilizando otras funciones
const unsigned short DIGITOS[]=
{
0x5F,//CODIGO DE DIGITO 0
0x41,//CODIGO DE DIGITO 1
0x9D,//CODIGO DE DIGITO 2
0XD5,//CODIGO DE DIGITO 3
0XC3,//CODIGO DE DIGITO 4
0XD6,//CODIGO DE DIGITO 5
0XDE,//CODIGO DE DIGITO 6
0X45,//CODIGO DE DIGITO 7
0XDF,//CODIGO DE DIGITO 8
0XD7,//CODIGO DE DIGITO 9
};
void main(void)
{
unsigned short CONTADOR=0;
ANSEL=0;
ANSELH=0;
TRISA.F4=0;
TRISA.F2=0;
TRISA.F6=0;
TRISC.F0=0;
PORTA.F4=1;
PORTA.F2=1;
PORTA.F6=1;
PORTC.F0=1;
TRISD=0;
PORTD=0;
while(1)
{
PORTA.F4=1;
PORTD=DIGITOS[CONTADOR];
PORTC.F6=0;
CONTADOR ++;
delay_ms(1000);
}
}
CONCLUSIONES: esta práctica consta de lo mismo que la anterior, pero, en este caso utilizamos otra manera de hacerlo con distintas funciones
NOMBRE:
OBJETIVO:
short msg1[]={0,0,0,0,0xCB,0X5F,0X1A,0XCF,0,0X0A,0X8F,0XCB,0,0X8F,0X5F,0X1A,0X0A,0,0,0,0,0};
short i, indice, pausa, dato, digit_no=0;
void despliega()
{
for(pausa=0; pausa<= 30; pausa++)
{
for(i=0; i<4; i++)
{
if(digit_no==0)
{
PORTC.F0=1;
PORTA.F4=1;
PORTA.F2=1;
PORTA.F6=1;
portD=msg1[indice+i];
PORTC.F0=0;
digit_no=1;
}
else if (digit_no==1)
{
PORTC.F0=1;
PORTA.F4=1;
PORTA.F2=1;
PORTA.F6=1;
portD=msg1[indice+i];
PORTA.F4=0;
digit_no=2;
}
else if(digit_no==2)
{
PORTC.F0=1;
PORTA.F4=1;
PORTA.F2=1;
PORTA.F6=1;
portD=msg1[indice+i];
PORTA.F2=0;
digit_no=3;
}
else if (digit_no==3)
{
PORTC.F0=1;
PORTA.F4=1;
PORTA.F2=1;
PORTA.F6=1;
portD=msg1[indice+i];
PORTA.F6=0;
digit_no=0;
}
delay_ms(5);
}
}
}
void main(){
ansel=0;
anselh=0;
PORTC.F0=1;
PORTA.F4=1;
PORTA.F2=1;
PORTA.F6=1;
TRISC.F0=0;
TRISA.F4=0;
TRISA.F2=0;
TRISA.F6=0;
PORTD=0;
TRISD=0;
while(1)
{
indice=0;
while(indice<19)
{
despliega();
indice++;
}
indice=18;
while(indice>0)
{
despliega();
indice--;
}
}
}
CONCLUSIONES:
NOMBRE: LCD
OBJETIVO: crear un programa con el cual se utilice LCD
sbit LCD_RS at RC5_bit;
sbit LCD_EN at RD1_bit;
...