Keil software programs

Program 1

 org 00h

ljmp main

org 8100h

main:

mov a,#55

mov a,55h

mov a,r0

mov a,@r0

here:sjmp here


Program 2

org 00h

ljmp main

org 8100h

main:

MOV A,#55H ;load A with value 55H

MOV 40H,A ;copy A to RAM location 40H

MOV 41H,A ;copy A to RAM location 41H

  MOV 42H,A  

xx: SJMP xx


Program 3

org 00h

ljmp main

org 8100h

main:

MOV A,#55H ;load A with value 55H

MOV R0,#40H ;load the pointer. R0=40H

MOV @R0,A ;copy A to RAM R0 points to

INC R0 ;increment pointer. Now R0=41h

MOV @R0,A ;copy A to RAM R0 points to  

xx: SJMP xx


Program 4 - LED Blink 

org 00h

ljmp main

org 8100h

main:

MOV A,#55H ;load A with value 55H

back: MOV P1,A

ACALL DELAY

CPL A

ACALL DELAY

SJMP BACK

DELAY: MOV R0,#0FFH

MOV R1,#0FFH

MOV R2,#0FFH

L1: DJNZ R0,L1

L2: DJNZ R1,L2

L3: DJNZ R2,L3

RET

Program 5- Port data transfer

org 00h
ljmp main
org 8100h
main:
MOV A,#0FFH ;load A with value FFH
MOV P1,A
back: MOV A,P1
MOV P2,A
SJMP BACK

Program 6- LED_ON_OFF using embedded C

#include <reg51.h>
#defind LED P2;

void main(void)
{
P1=00; //clear P1
P2=0; //clear P2
for (;;) //repeat forever
{
P1++; //increment P1
P2++; //increment P2
}

}


Program 7- Time dealy using Timer

MOV TMOD,#01 ;Timer 0, mode 1(16-bit mode)

HERE: MOV TL0,#0F2H ;TL0=F2H, the low byte
MOV TH0,#0FFH ;TH0=FFH, the high byte
CPL P1.5 ;toggle P1.5
            ACALL DELAY
SJMP HERE

DELAY:
SETB TR0 ;start the timer 0
AGAIN: JNB TF0,AGAIN ;monitor timer flag 0
;until it rolls over

CLR TR0 ;stop timer 0
CLR TF0 ;clear timer 0 flag
RET




No comments:

Post a Comment