pic

pic

sábado, 12 de marzo de 2011

MI PRIMER MENSAJE

MI PRIMER MENSAJE EN UNA LCD

EL FAMOSO HOLA MUNDO

void main(void)
{
TRISB=0;
TRISC=0;


Lcd8_Config(&PORTC,&PORTB,0,2,1,7,6,5,4,3,2,1,0);  // ESTA PARTE ES LA CONFIGURACION DEL LCD


Lcd8_Out(1,1,"HOLA MUNDO");
while(1)  //CICLO INFINITO
{
Lcd8_Cmd(LCD_SHIFT_LEFT);
Delay_ms(300);
}
}


Codigo para lcd de 16*2

Este es un programa sencillo de como mandar un mesaje a un lcd de 16*2
claro con maneras diferentes de mandar un mensaje chequenlo y me comentan


conexion


char uno[]="HOLA MI AMOR";
char dos[]="HOY PASO ALGO";
char tres[]="Y NO LO IMAGINAS";
char cuatro[]="Y K CREES K FUE";

void main(void)
{
TRISB=0;
TRISC=0;
Lcd8_Config(&PORTC,&PORTB,0,2,1,7,6,5,4,3,2,1,0);
Lcd8_cmd(LCD_CLEAR);
lcd8_out(1,1,uno);
lcd8_out(2,1,dos);
delay_ms(1200);
Lcd8_cmd(LCD_CLEAR);
lcd8_out(1,1,tres);
lcd8_out(2,1,cuatro);
delay_ms(1200);
Lcd8_cmd(LCD_CLEAR);
lcd8_out(1,1,"SOÑE CON UN ANGEL");
lcd8_out(2,1,"Y ERAS TU");

}

simulacion:





las simulaciones son el software proteus
el pic utlizado es el 16f877a

jueves, 10 de marzo de 2011

CODIGO DE NUMEROS PRIMOS PARA EL 8086

AQUI LES DEJO EL CODIGO PARA NUMEROS PRIMOS DEL 8086
ME COSTO PERO VALIO LA PENA PASARLO ME EXCENTO DE UN EXAMEN SUERTE


org 100h

;aquie
mov bp,55 ;Este es el numero a comparar


push bp[300]
mov ax,1
mov cx,1
cmp bp,2
jng primo         ; si bp es mayor a 2 el numero es primo
jg comparacion     ; si no es mayor sigue el procedimiento


comparacion:
  mov ax,cx
  mul ax
  cmp ax,bp
  jg decremento  ;en caso de k sea mayor
  je no_primo    ;no es primo 
  jl incremento  ;menor
    
 decremento:
 dec cx
 jmp  vamos_a_modulo


 incremento:
 inc cx
 jmp comparacion
                   

vamos_a_modulo:
                   
  pop bp[300]    ; retorna valor a bp
  mov ax,cx ;recupero valor de cx para ponerlo en ax
  mov bx,bp ;salvo valor guardado de numero
  xchg bp,ax ;intercambio valores para hacer division
 
    ciclo:
      cmp cx,2
      jnl entra ;si es mayor
      jl  primo ;si es menor
     
        
         entra:
           div cx
           cmp dx,0 ;nos da el modulo de la operacion
           je no_primo ;tiene paridad
           jg seguir  ;sigo para continuar con el decremento
          
        
         seguir:
           dec cx
           mov ax,bx
           mov dx,0
           jmp ciclo 
        
        

no_primo:

mov al,'n'
mov ah,0eh
int 10h
mov al,'o'
mov ah,0eh
int 10h 
mov al,' '
mov ah,0eh
int 10h
mov al,'p'
mov ah,0eh
int 10h
mov al,'r'
mov ah,0eh
int 10h
mov al,'i'
mov ah,0eh
int 10h
mov al,'m'
mov ah,0eh
int 10h
mov al,'o'
mov ah,0eh
int 10h
          
           
jmp final

primo:
mov al,'p'
mov ah,0eh
int 10h
mov al,'r'
mov ah,0eh
int 10h
mov al,'i'
mov ah,0eh
int 10h
mov al,'m'
mov ah,0eh
int 10h
mov al,'o'
mov ah,0eh
int 10h

final:
mov al,' '
mov ah,0eh
int 10h
mov al,' '
mov ah,0eh
int 10h 
mov al,'H'
mov ah,0eh
int 10h
mov al,'e'
mov ah,0eh
int 10h
mov al,'c'
mov ah,0eh
int 10h
mov al,'h'
mov ah,0eh
int 10h
mov al,'o'
mov ah,0eh
int 10h
mov al,' '
mov ah,0eh
int 10h 
mov al,'x'
mov ah,0eh
int 10h
mov al,' '
mov ah,0eh
int 10h 
mov al,'H'
mov ah,0eh
int 10h 
mov al,'u'
mov ah,0eh
int 10h 
mov al,'g'
mov ah,0eh
int 10h 
mov al,'o'
mov ah,0eh
int 10h
ret