![]() |
Añadir leyenda |
sábado, 25 de noviembre de 2017
martes, 10 de enero de 2017
CONTROL ELECTRÓNICO DE MOTORES CON PULSADORES
void main()
{ unsigned short leer;
trisb=0x3f;
trisd=0x00;
pwm_init(1000);
pwm_change_duty(0);
pwm2_change_duty(1);
pwm_start();
pwm2_start();
portb.f7=0;
portb.f6=0;
portd.f0=0;
portd.f1=0;
x7:
leer=portb;
leer=leer & 0x3f;
if(leer==0x01) //activa bajo
goto x1;
if(leer==0x02) //activa medio
goto x2;
if(leer==0x04) //activa alto
goto x3;
if(leer==0x08) //activa stop
goto x4;
if(leer==0x10) //activa horario
goto x5;
if(leer==0x20) //activa antihorario
goto x6;
goto x7;
x1:
pwm_change_duty(51); pwm2_change_duty(51); //bajo
goto x7;
x2:
pwm_change_duty(128); pwm2_change_duty(128); //medio
goto x7;
x3:
pwm_change_duty(255); pwm2_change_duty(255); //alto
goto x7;
x4:
pwm_change_duty(0); pwm2_change_duty(0); //apagado
goto x7;
x5:
portb.f7=0;
portb.f6=1; //horario
portd.f0=0;
portd.f1=1;
goto x7;
x6:
portb.f7=1; //antihorario
portb.f6=0;
portd.f0=1;
portd.f1=0;
goto x7;
}
{ unsigned short leer;
trisb=0x3f;
trisd=0x00;
pwm_init(1000);
pwm_change_duty(0);
pwm2_change_duty(1);
pwm_start();
pwm2_start();
portb.f7=0;
portb.f6=0;
portd.f0=0;
portd.f1=0;
x7:
leer=portb;
leer=leer & 0x3f;
if(leer==0x01) //activa bajo
goto x1;
if(leer==0x02) //activa medio
goto x2;
if(leer==0x04) //activa alto
goto x3;
if(leer==0x08) //activa stop
goto x4;
if(leer==0x10) //activa horario
goto x5;
if(leer==0x20) //activa antihorario
goto x6;
goto x7;
x1:
pwm_change_duty(51); pwm2_change_duty(51); //bajo
goto x7;
x2:
pwm_change_duty(128); pwm2_change_duty(128); //medio
goto x7;
x3:
pwm_change_duty(255); pwm2_change_duty(255); //alto
goto x7;
x4:
pwm_change_duty(0); pwm2_change_duty(0); //apagado
goto x7;
x5:
portb.f7=0;
portb.f6=1; //horario
portd.f0=0;
portd.f1=1;
goto x7;
x6:
portb.f7=1; //antihorario
portb.f6=0;
portd.f0=1;
portd.f1=0;
goto x7;
}
calculadora con arduino
#include <LiquidCrystal.h>
//#include <>
#include <Keypad.h>
int a=0;
int b=0;
int z=0;
int Suma=0;
int va=0;
int Resta=0;
//int di=0;
int multiplicacion=0;
char t;
const byte filas = 4;
const byte columnas = 4;
char k[filas][columnas] ={
{'1','2','3','+'},
{'4','5','6','B'},
{'7','8','9','-'},
{'*','0','x','D'}
};
byte pinfilas[filas] = {7,6,5,4};
byte pincolumnas[columnas] = {3,2,A4,A5};
Keypad keypad = Keypad(makeKeymap(k),pinfilas, pincolumnas, filas, columnas);
LiquidCrystal lcd(13,12,11,10,9,8);//pin8al 4 pin9 al5
void setup()
{
lcd.begin(16,2);
lcd.print(" CALCULADORA ");
delay(10000);
lcd.clear();
lcd.setCursor(5,0);
}
void loop()
{
t = keypad.getKey();
if(t!= NO_KEY)
{
lcd.print(t);
t = t -48;
va++;
switch(va)
{
case 1:
a = t;
break;
case 2:
z = t;
break;
case 3:
b = t;
break;
}
if(t ==+18)
{
Suma = a+b;
lcd.setCursor(3,1);
lcd.print("!!SUMA!!");
lcd.setCursor(9,0);
lcd.print(Suma);
lcd.setCursor(8,0);
lcd.print("=");
va=0;
}
if(t==+20)
{
Resta = a-b;
lcd.setCursor(3,1);
lcd.print("!!RESTA!!");
lcd.setCursor(9,0);
lcd.print(Resta);
lcd.setCursor(8,0);
lcd.print("=");
va=0;
}/*
if(t==+20)
{
di=a/b;
lcd.setCursor(2,1);
lcd.print("DIVICION");
lcd.setCursor(13,1);
lcd.print,(di);
lcd.setCursor(7,0);
lcd.print("=");
va=0;
}*/
if(t==-6)
{
multiplicacion=a*b;
lcd.setCursor(1,1);
lcd.print("MULTIPLICACION");
lcd.setCursor(9,0);
lcd.print(multiplicacion);
lcd.setCursor(8,0);
lcd.print("=");
va=0;
}
if(t==0)
{
lcd.clear();
lcd.setCursor(5,0);
va=0;
}
}
}
//#include <>
#include <Keypad.h>
int a=0;
int b=0;
int z=0;
int Suma=0;
int va=0;
int Resta=0;
//int di=0;
int multiplicacion=0;
char t;
const byte filas = 4;
const byte columnas = 4;
char k[filas][columnas] ={
{'1','2','3','+'},
{'4','5','6','B'},
{'7','8','9','-'},
{'*','0','x','D'}
};
byte pinfilas[filas] = {7,6,5,4};
byte pincolumnas[columnas] = {3,2,A4,A5};
Keypad keypad = Keypad(makeKeymap(k),pinfilas, pincolumnas, filas, columnas);
LiquidCrystal lcd(13,12,11,10,9,8);//pin8al 4 pin9 al5
void setup()
{
lcd.begin(16,2);
lcd.print(" CALCULADORA ");
delay(10000);
lcd.clear();
lcd.setCursor(5,0);
}
void loop()
{
t = keypad.getKey();
if(t!= NO_KEY)
{
lcd.print(t);
t = t -48;
va++;
switch(va)
{
case 1:
a = t;
break;
case 2:
z = t;
break;
case 3:
b = t;
break;
}
if(t ==+18)
{
Suma = a+b;
lcd.setCursor(3,1);
lcd.print("!!SUMA!!");
lcd.setCursor(9,0);
lcd.print(Suma);
lcd.setCursor(8,0);
lcd.print("=");
va=0;
}
if(t==+20)
{
Resta = a-b;
lcd.setCursor(3,1);
lcd.print("!!RESTA!!");
lcd.setCursor(9,0);
lcd.print(Resta);
lcd.setCursor(8,0);
lcd.print("=");
va=0;
}/*
if(t==+20)
{
di=a/b;
lcd.setCursor(2,1);
lcd.print("DIVICION");
lcd.setCursor(13,1);
lcd.print,(di);
lcd.setCursor(7,0);
lcd.print("=");
va=0;
}*/
if(t==-6)
{
multiplicacion=a*b;
lcd.setCursor(1,1);
lcd.print("MULTIPLICACION");
lcd.setCursor(9,0);
lcd.print(multiplicacion);
lcd.setCursor(8,0);
lcd.print("=");
va=0;
}
if(t==0)
{
lcd.clear();
lcd.setCursor(5,0);
va=0;
}
}
}
martes, 3 de enero de 2017
PIANO ELECTRÓNICO CON PIC16F877A
MATERIALES
- pic16f877a
- cables
- pulsadores
- resistencias
- parlante
- potenciómetro
- protoboar
- LCD
PROGRAMACION EN MIKROC
void main()
{ unsigned short leer;
sound_init(&portd,0);
trisb=0x00;
trisc=0xff;
portd=0;
lcd_config(&portb,1,0,2,7,6,5,4);
lcd_cmd(lcd_clear);
lcd_cmd(lcd_cursor_off);
lcd_out(1,6,"NOTAS !");
x8:
leer=portc;
leer=leer & 0xff;
if(leer==0x01)
goto x1;
if(leer==0x02)
goto x2;
if(leer==0x04)
goto x3;
if(leer==0x08)
goto x4;
if(leer==0x10)
goto x5;
if(leer==0x20)
goto x6;
if(leer==0x40)
goto x7;
if(leer==0x80)
goto x9;
goto x8;
x1:
sound_play (261,250);// do
lcd_out(2,6,"DO !");
goto x8;
x2:
sound_play(294,250);// re
lcd_out(2,6,"RE !");
goto x8;
x3:
sound_play(330,250);//mi
lcd_out(2,6,"MI !");
goto x8;
x4:
sound_play(350,250);//fa
lcd_out(2,6,"FA !");
goto x8;
x5:
sound_play(392,250);//sol
lcd_out(2,6,"SOL ");
goto x8;
x6:
sound_play(440,250);//la
lcd_out(2,6,"LA !");
goto x8;
x7:
sound_play(493,250);//si
lcd_out(2,6,"SI !");
goto x8;
x9:
lcd_out(1,6,"ESTALIN");
sound_play (329,800);
sound_play(440,800);
sound_play(415,800);
sound_play(440,800);
sound_play(493,800);
sound_play(523,800);
sound_play(443,800);
sound_play (523,800);
sound_play(293,800);
sound_play(329,800);
sound_play(392,800);
sound_play(329,800);
sound_play(440,800);
sound_play(392,800);
sound_play (329,800);
sound_play(329,800);
sound_play(393,800);
sound_play(523,800);
sound_play(293,800);
sound_play(523,800);
sound_play(440,800);
sound_play (329,800);
sound_play(440,800);
sound_play(415,800);
sound_play(440,800);
sound_play(443,800);
sound_play(523,800);
sound_play(443,800);
sound_play (523,800);
sound_play(293,800);
sound_play(329,800);
sound_play(392,800);
sound_play(329,800);
sound_play(440,800);
sound_play(392,800);
sound_play (329,800);
sound_play(329,800);
sound_play(393,800);
sound_play(593,800);
sound_play(293,800);
sound_play(523,800);
sound_play(440,800);
sound_play(329,800);
sound_play(440,800);
sound_play(415,800);
sound_play(440,800);
sound_play(415,800);
sound_play(440,800);
sound_play(415,800);
sound_play(440,800);
sound_play(443,800);
sound_play(523,800);
sound_play(523,800);
sound_play(440,800);
sound_play (392,800);
sound_play(440,800);
sound_play(392,800);
sound_play(329,800);
goto x8;
}
PROTEUS
![]() |
Suscribirse a:
Entradas (Atom)