We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 73
SINo z: LST OF PROGRAMS |
i PART Abie 7 eee
‘ASSEMBLY LANGUAGE PROGRAMS USING 8051
Ez | noe MICROCONTROLLER TRAINER KIT
01 | To transfer a block of data from source to destination
[02] To exchange a block of data from source to destination
{03 | To find a average of set of numbers : 5
04 | To find the largest number in an array of 8 bit numbers ef
[05 | Tofind the smallest number in an array of 8 bit numbers
5 _| To arrange the array of 8 bt numbers in ascending order E Meee
(07__| Toarange the array of 6 bit numbers in descending order _ z
[08 | To search for a byte in a given array of numbers, a
| 09 | To add two 16-bit numbers S i
40 | To multiply two 8-bit numbers z A
11 | To subtract two 8-bit numbers :
|__ 12 _| To divide two 8-bit numbers _ E = Z oy
[13 To find square of a given number et
[447 TTofind cube of. given number :
15 _ | To convert packed BCD to unpacked BCD number
416 _ | Tofind factorial of a number
17__ | To add two 16 bit BCD number
48 _ | Tofind square root of a number S
49 —[STo generate BCD counter x |
20 _| Togenerate decade counter +
21 To generate delay using single loop.»
S 22_| To generate delay using two loop +
23 __|To generate numbers from00 to OFh =
24 | Tofind the number of 1's and 0's in a given number Z
25 _ | To reverse and logically OR the reversed number
26 __| Tofind the number of positive and negative numbers
21 _| Tofind even and odd numbers
28 _ | To swap the bit O with bit 4 and bit 2 with bit 3 and so on ofa register
To convert hexadecimal to BCD
30__| Toconvert BCD to hexadecimal number
31_ | Toconvert ASCII to BCD z
32__| Toconvert_BCD to its comesponding ASCII equivalent
33 _| To convert hexadecimal fo decimal number
34 | To convert hexadecimal to ASCII
35 _| To multiply each number in an array by a constant
PART-B
"ASSEMBLY LANGUAGE PROGRAMS USING KEIL
‘GROSS-COMPILER
To compare two 8 bit comparator ~!
To addition of two matrices.
To addition of first ten natural numbers
To find the number of students scored between 41 to 45 from a lst
To convert binary to gray and gray fo Binary number
TTo check whether the given number is palindrome or not
To multiplication of two metrices ae
To determine Even and Odd numbers 4 J
To determine Fibonacci Series of a number_J
To change the content of 30 and 31 using PUSH and POP J
SRS S/RS\B)\8/9' 8)
WW VWVWW VY YY VLCC CCUG UUECCCCCCUCCUC CCE:
By4g
aaah ads 529)
aaa
anne
au
aaa
iaaae
I PART-C
fants ~ EMBEDDED ‘C’ PROGRAMS USING KEIL CROSS-COMPILER ON FLASH BOARD
INTERFACING PROGRAMS
“47__ | Torotate stepper motor in_anticlockwise direction Reem ee
EER otale stepper motor between 010 90 degree ae
49 | To interface logic controler : i = =
| 50] To implement ring counter ae Be a ie
51__| Toimplement johnson counter _ peer aaa mee
[52 | Togenerate sine_wave form on flash board _/ es wales
53__| To generate square wave form on flash board z
54 | To generate Triangular wave form on flash board /
55. | To generate sawtooth wave form on flash board _./ |
56 | Tointerface LCD on flash board JPART-A
ASSEMBLY LANGUAGE PROGRAM
USING
8051 MICROCONTROLLER
TRAINER KITProgram no 01.
Program: To transfer blocks of data from source to destination
MICROCONTROLLER LAB MANUAL
ADDRESS | ~ |OPERANDS |
8000 | [RO #40h
[ees [RI 50h
8004 R2, #0Gh
8006 ~ | A,@RO
8007 ma @RI,A
8008 RO
8009 INC RI |
800A, DINZ R2, UP
800C LCALL 0003
DEPT. OF ECE, BEC BAGALKOT
Page 1MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
44 aa
45 pee |
eee |
OUTPUT:
[ADDRESS [DATA _|
PUR 9 sc[ll << <- emane
31 2
imams P33,
53 Hes 44
34 35
55 66 |
OO
DEPT. OF ECE, BEC BAGALKOT Page 2Program no 02.
MICROCONTROLLER LAB MANUAL
Program: To exchange block of data
[ADDRESS [LABEL | MNEMONICS | OPERANDS —
[3000-=~=~*«~*S: MOV RO, #30h
/8002—~OS == | MOVess RI, #40h
RN Sais ot ae "MOV me
8006 uP MOV
[8007 XCH A, @RI
8008 MOV G@RO, A
8009 INC RO
800A INC RI
8008 DINZ R2, UP
800D CALL 0003
DEPT. OF ECE, BEC BAGALKOT
Page 3MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
ADDRESS | ADDRESS | DATA
30 1 40 Hil a
(Bigs 2-10; 4 ea
32 03 42 33 |
33 04 3 44 el
34 | 05 44 35
35 06 5 66
ADDRESS DATA ADDRESS DATA
30 mn 40 jor
31 2 41 02
32 33 42 03
33 ery B 04
34 35 4 05
35 66 5 06
DEPT. OF ECE, BEC BAGALKOT
Page 4Program no 03.
Program: To find the average of set of numbers
MICROCONTROLLER LAB MANUAL
[ADDRESS [LABEL |MNEMONICS OPERANDS
8000 ms | MOV RO, #40h
| 8002 ee MOV Ri, #05h
8004 7 CLR c |
8005 | ~ | Mov A, #00h |
8007 | UP an DDG! A, @RO
8008 = ane RO
| 8009 | DINZ RI, UP
800B MOV OFO, #05
800E DIV AB
800F LCALL, 0003
DEPT. OF ECE, BEC BAGALKOT
Page 5MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
ADDRESS | DATA.
40 i
Bin csc 22
lekaiesionne 33
43 |
a
cm
OUTPUT:
| ADDRESS DATA
A eres
DEPT. OF ECE, BEC BAGALKOT Page 6MICROCONTROLLER LAB MANUAL
Program no 04.
Program: To find the largest in an array of 8-bit numbers
ADDRESS |LABEL |MNEMONICS | OPERANDS
| 8000 MOV DPTR, #9000
8003 | MOV | RO, #05h |
8005 MoV 40, #00
| 8008 MOVX ‘A, @DPTR
8009 CINE ‘A40,DOWN
800C ages AIMP. | DOWNI
| 8008 DOWN Je [DOwNI
8010 MOV [40,4
8012 DOWNI INC DPIR
8013 DINZ RO, UP
8015 CALL 0003
oo
DEPT. OF ECE, BEC BAGALKOT Page 7MICROCONTROLLER LAB MANUAL
RESULT
INPU'
[ADDRESS | DATA _
(ooo ammeres 10K aaa
fsoor — OF Be
9002 | FF Ss
DOA gig tad OCs
9004 05
OUTPUT:
ADDRESS. DATA
40 [FF
————————
DEPT. OF ECE, BEC BAGALKOT Page 8MICROCONTROLLER LAB MANUAL
Program no 05.
Program: To find the smallest in an array of 8-bit numbers
[ADDRESS [LABEL |MNEMONICS [OPERANDS |
[8000 ~ |MOV DPTR, #9000
3003 | MOV RO, #05h
| 8005 Z MOV 40, #FFh
[sos —~—~« UP MOV: gst Anta
3009 CINE ‘A40,DOWN
800C eal ATJMP DOWNI
800E DOWN INC DOWNI
8010 MoV 4A
8012 DOWNI | INC DPTR
8013 DINZ RO, UP
8015 TCALL 0003
DEPT. OF ECE, BEC BAGALKOT
Page 9RESULT
INPUT:
| ADDRESS
DEPT. OF ECE, BEC BAGALKOT
MICROCONTROLLER LAB MANUAL
Page 10Program no 06.
Program: To arrange array
MICROCONTROLLER LAB MANUAL
of 8-bit numbers in ascending order
[ADDRESS [LABEL |MNEMONICS OPERANDS —
8000 MOV RI, #04h
[3002 BACK | MOV |
/ 8004 MOV
8006 jor MOV
8007 INC aa
8008 MOV OFOH@RO
800A CINE ‘AOFONEXT
800D NEXT Ic | DOWN
800F MOV @RO,A
8010 DEC RO
8011 MOV GRO, OFOH
8013 INC RO
8014 DOWN DINZ R2,UP
8016 DINZ RIBACK |
| 8019 LCALL 0003
DEPT. OF ECE, BEC BAGALKOT
Page 11MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
| ADDRESS DATA
40 0A
a % 2
ee 05
i
[aq OF ie ml
OUTPUT:
[ADDRESS [DATA |
40
(ea ieeeeee are als). 056
R 07
B 0A
ka OF
——_—_—_—_—_—_—__————————
DEPT. OF ECE, BEC BAGALKOT Page 12Program no 07.
MICROCONTROLLER LAB MANUAL
Program: To arrange array of 8-bit numbers in descending order
ADDRESS |LABEL |MNEMONICS | OPERANDS
8000 iS MOV z RI, #04h
8002 BACK MOV R2, #05h |
8004 (= MOV | RO, #40h |
8006 UP MOV ‘A, @RO
8007 INC RO
‘8008 MOV OFOH@RO
800A CINE ‘AOFONEXT
/300D NEXT INC DOWN
800F MOV @RO,A
8010 DEC RO
8011 MOV @RO, OFOH
8013 INC RO
8014 DOWN DINZ RUP
8016 DINZ RIBACK
[sor CALL 0003
DEPT. OF ECE, BEC BAGALKOT Page 13MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
ADDRESS DATA
40 F
41 One
2 05
B too
44 7 \iF
OUTPUT:
ADDRESS DATA
40 F
41 IF
2 09
B 2 05
4 @
DEPT. OF ECE, BEC BAGALKOT
Page 14VU Ub dd ddd deed dddyd.
Se ENED a
Program no 08.
Program: To search a byte of data in a give array
__ MICROCONTROLLER LAB MANUAL
| ADDRESS LABEL [MNEMONICS | OPERANDS
| 8000 MOV R2, #00
8002 MOV RI, 0A
8004 MOV =i RO, #6F
8006 uP CINE @RO#AANEXT
8009 ING R2
800A Iwext [INC RO |
8008 DINZ RI, UP
| 800D LCALL 0003
Page 15
DEPT. OF ECE, BEC BAGALKOTMICROCONTROLLER LAB MANUAL
RESULT
INPUT:
[ADDRESS [DATA _
Lona. 71/08 Sal
70s seer | AR |
{71
ee a3
rage 0B
74 AA al
| 75 0A.
laGqeence oer Ta
7 oD
78 AA
OUTPUT:
ADDRESS DATA
(Re 04
RI 00 2a
RO 178
OOOO
DEPT. OF ECE, BEC BAGALKOT Page 16MICROCONTROLLER LAB MANUAL
Program no 09.
Program: To add two-16 bit numbers
‘ADDRESS [LABEL | MN MON [OPERANDS |
[00 | 0 as
| 8002 | Mov RI, #OFE
BU aap =e [MOV p> Re
8006 MOV R3, #56
/ 8008 | CLR c
/ 8009 MOV A,RO
| 800A | ADDC A,R2
| 8008 MOV RGA
800c MOV A,R3
| s00D ADDC ARI
800E Mov RS, A
| 800F LCALL 0003
____ _
DEPT. OF ECE, BEC BAGALKOT Page 17RESULT
INPUT:
RO
Rig
[RQ
os
OUTPUT:
"ADDRESS
ADDRESS
DATA
RS
52
Ra
94
OF ECE, BEC BAGALKOT
MICROCONTROLLER LAB MANUAL
Page 18MICROCONTROLLER LAB MANUAL.
Program no 10.
Program: To subtract two-16 bit numbers
(ADDRESS [LABEL |MNEMONICS | OPERANDS
| 8000 MOV RO, #44 |
| 8002 | | MOV RI, #33
8004 | MOV R2, #22
/ 8006 MOV R3, #55
8008 CIR G S
8009 7 MOV A,RO
| 800A | SUBB ALR?
800B MOV R4A
800C MOV [ARS
800D : SUBB ARI
[3008 MOV RSA
800F LCALL 0003
———_—_——_—_—_—_—_—
DEPT. OF ECE, BEC BAGALKOT Page 19RESULT
INPUT:
[ADDRES DATASSa a |
;RO- (44
teers mmr t]98 = aaa
[R2 vue
Risers =: )|55 |
OUTPUT:
‘ADDRESS | DATA
hae
[RS
DEPT, OF ECE, BEC BAGALKOT
MICROCONTROLLER LAB MANUAL
Page 20MICROCONTROLLER LAB MANUAL
Program no 11.
Program: To find multiplication of 8-bit numbers
[ADDRESS [LABEL |MNEMONICS OPERANDS —
[8000 | T MON | A, #78 ae
| 8002 zy | OFO, #05 5
8005 ie TAB =
8005 Sages ATA < |LOALL.c- {0003
Seah enn ier | =
—— —_
DEPT. OF ECE, BEC BAGALKOT Page 21——$_. MICRO‘ M
RESULT
OuTPUT:
| ADDRESS DATA
4. Soe ee
Ss
2
DEPT. OF ECE, BEC BAGALKOT Page 2:Program no 12.
sion of 8-bit numbers
Program: To find
"ADDRESS — | MNEMONICS — a
{2000s MO A
8002 as “MOV | OFO, #05 =|
[8005 sl | DIV AB
8006 | =| LCALE 0003
—_—_—_—_—_—_—_—_—__——————__——__—
DEPT. OF ECE, BEC BAGALKOT Page 23MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
[ADDRESS | DATA
a Sass
Be se
~ oa
OUTPUT:
ADDRESS DATA
[A 14
B 04
Page 24
DEPT. OF E'MICROCONTROLLER LAB MANUAL
——
Program no 13.
Program: To find the square of a number
ADDRESS LABEL | MNEMONICS OPERANDS
| 8000 | : MoV es DPTR,#9000
8003 /MOVX ‘A, @DPTR |
8005 MOV FO, A
[8006 MUL AB“
8007 Seni ING DPIR
| 8008 1 : | MOVx | @DPTR, A
8009 MOV A, OFO
800B 5 INC DPTR
800C cae | Movx @DPTR, A
| 800D LCALL 0003
oo
DEPT. OF ECE, BEC BAGALKOT Page 25OLLER LAB MANUAL
RESULT
OUTPUT:
ADDRESS __| D,
9001 01
9002 FE
|
—_—_—
|ALKOT.
DEPT. OF ECE, BEC BAGAL! Page 26a MICROCONTROLLER LAB MANUAL
Program no 14,
Program: To find the cube of a number
ADDRESS =| LABEL | MNEMONICS OPERANDS |
| 8000 | | Mov ~ | DPTR,#9000
8003 | 2 MOVX | A, @DPTR
/ 8005 F | Mov OFO, A
| 8006 | MUL. AB,
8007 ae MOV OFO, A
8009 eee Move e @DPTR,A |
| 800A, Aes MIs AB =
800B = INC DPIR
800C MOVX @DPTR, A
800D MOV A, OFO
800F INC DPTR |
8010 | MOVX @DPTR, A
8011 LCALL. 0003
—_————
DEPT. OF ECE, BEC BAGALKOT Page 27MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
ADDRESS [DATA _
ie D
OUTPUT:
[ADDRESS | DATA
[9001s soem 08;
[9002 Eeesateseses [00)
DEPT. OF ECE, BEC BAGALKOT
Page 28MICROCONTROLLER LAB MANUAL
Program no 15.
Program: To convert packed BCD to unpacked BCD
‘ADDRESS [LABEL | MNEMONICS OPERANDS — |
[8000 | teers =. | MO vasmamemeemers IDPTRIES200 «a5
| BOOS eat rl pee “|MOvx ~—~—«([ A.@DPTR |
8005 ANL °F A, HOF |
| 8007 r | Mov ROA”
8008 = MOVX A ‘@DPTR
8009 z ANL A, #0FO
| 8008 SWAP Lee
| 800e 3 MOV RLA
00D LCALL 0003
ne te eee tment
DEPT. OF ECE, BEC BAGALKOT Page 29MICROCONTROLLER LAB MANUAL
ADDRESS [DATA __
| S200 mteaaanceal aseReeaa eae
OUTPUT:
{ADDRESS | ATA 3
RO 05 ee
RI 04
ooeo—O_OCOC_—
DEPT. OF ECE, BEC BAGALKOT Page 30MICROCONTROLLER LAB MANUAL.
Program no 16.
Program: To find factorial of a given number
LABEL |MNEMONICS | OPERANDS —
| MOVs scenes | RO FOStigee ae
| MoV A, #0Ih
|Up.——~*«| Mov ~| OFO, RO
MUL AB ah
DINZ RO, UP
NEXT LCALL 0003
OO
DEPT. OF ECE, BEC BAGALKOT Page 31MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
DD DATA
05
sa ol
OUTPUT:
ADDRESS DATA
[A 8
DEPT. OF ECE, BEC BAGALKOT Page 32MICROCONTROLLER LAB MANUAL
Program no 17.
Program: To add two 16-bit BCD numbers
[ADDRESS [LABEL | MNEMONICS OPERANDS
8000 MOV | DPTR,#1234
| 8003 MOV RO, #20 |
| 8005 MOV oe ea
| 8007 MOVasanrs A,RO
8008 ‘ADD ‘A,DPL,
| 800A DA jase
800B MOV DPL. A
| 800D MOV
800E ADDC A, DPH,
8010 DA A
801 MOV DPH, A
8013 LCALL (ee
ec ne enna
DEPT. OF ECE, BEC BAGALKOT Page 33MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
RO
PRI 30
OUTPUT:
ADDRESS | DATA
DPH 42.
| DPL [=
—_—_—_—_—_—_————eooooooo
DEPT. OF ECE, BEC BAGALKOT Page 34Program no 18,
Program: To find square root of a given number
MICROCONTROLLER LAB MANUAL
Sown\,
DEPT. OF ECE, BEC BAGALKOT
ADDRESS [LABEL |MNEMONICS | OPERANDS
8000 MOV | RO, #30h
| 8002 MOV A, #00h
/ 8008 [UPeeers (ING A
8005 MOV RIA 3|
8006 MOV OFO, A
8008 MUL AB
8009 CINE ‘A30,DOWN
800C Z MOV ARI
800D MOV
800C LOL =~
8011 DOWN MOV
8012 SIMP
Aor. Tor
: Emo
Se
Page 35RESULT
INPUT:
[ADDRESS | DATA
DEPT. OF ECE, BEC BAGALKOT
MICROCONTROLLER LAB MANUAL
Page 36MICROCONTROLLER LAB MANUAL
Program no 19.
Program: To find the BCD counter
ADDRESS [LABEL |MNEMONICS | OPERANDS |
8000 HERE | MOV | R6, #00
| 8002 = eee LCAL 677D
| 8005 e UP. MOV | RO, #FF
| 8007 | MOV RI, AF
8009 LCALL 6850
800C MOV A,R6
00D ADD A, #01
800F DA A
8010 MOV RG, A
8011 CALL 67D
8014 CINE R6#100,UP
8017 SIMP HERE
———————
DEPT. OF ECE, BEC BAGALKOT Page 37MICROCONTROLLER LAB MANUAL
RESULT
OUTPUT:
00
DEPT. OF ECE, BEC BAGALKOT, Page 38__ MICROCONTROLLER LAB MANUAL.
Program no 20.
Program: To generate decade counter
[ADDRESS [LABEL | MNEMONICS | OPERANDS
| 8000 HERE | MOV ~ | R6, #00 |
| 8002 - FECAL 671D
| 8005 UP MOV S02 ase: ROE
| 8007 MOV [RL AEF
8009 ON 6850
| 800C MOV RO, #EF
8008 LCALL 6850
8011 INC (RG
8012 ONE oe ar)
| 8015 CINE R6F0A,UP
8018 SIMP HERE |
DEPT. OF ECE, BEC BAGALKOT Page 39___ MICROCONTROLLER LAB MANUAL
RESULT
OUTPUT:
eseieast00
Saol
|
F ECE, BEC BAGALKOT Page 40MICROCONTROLLER LAB MANUAL
Program no 21.
Program: To generate delay using single loop
"ADDRESS [LABEL |MNEMONICS | OPERANDS
[8000 S[IMOVASes sansa s| RS HORS ar
/ 8002 [up| NOP g a
8003 } NOP |
8004 = DINZ RS, UP |
8006 LCALL 0003
ee
DEPT. OF ECE, BEC BAGALKOT Page 41.MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
DD | DATA |
RS peel 0n al
OUTPUT:
ADDRES: | DATA
re
PRS 0E
RS 00
[RS coe eee OG
RS 0B
RS 0A
[RS 09
RS 08
RS 7
RS 06
RS 05
RS 04
RS as 103)
RS 02
RS Or
RS 00
———OO————
DEPT. OF ECE, BEC BAGALKOT Page 42MICROCONTROLLER LAB MANUAL
Program no 22.
Program: To generate delay using two loops
ADDRESS |LABEL |MNEMONICS | OPERANDS
| 8000 MOV RS, #0F |
8002 | UP MOV R7, #0F
(8004 BACK DINZ R7, BACK
8006 DINZ R5, UP
800C LCALL 0003
————
DEPT. OF ECE, BEC BAGALKOT Page 43MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
ADDRESS DATA
(i ie
[OE OE
| OD saectsemeers| ind
=
[00
—————————————
DEPT. OF ECE, BEC BAGALKOT Page 44MICROCONTROLLER LAB MANUAL
Program no 23.
Program: To generate numbers from 00 to 0Fh
‘ADDRESS |LABEL | MNEMONICS | OPERANDS
[8000 ‘| HERE MOV R6, #00
8002 “ LCALL 67D
| S005: ses) UP esgamsegee iO Vcore RO SRE ser
| 8007. sae oalreaioen NOR RI. #FF
3009 LCALL 6850
800C ers MOV..—=s«~«é RO, FE
8008 | LCALL 6850
8011 T INC R6
| 8012 LCALL 7D
8015 CINE R6#0F,UP
8018 | SIMP HERE
nn
DEPT. OF ECE, BEC BAGALKOT Page 45MICROCONTROLLER LAB MANUAL
RESULT
OUTPUT:
00
F ECE, BEC BAGALKOT. Page 46Program no 24,
Program: To find the number of 1’s and 0’s in a given number
MICROCONTROLLER LAB MANUAL
ADDRESS [LABEL |MNEMONICS [OPERANDS _ |
8000 MOV R2, #CF
8002 MOV | RO, #00h:
8004 MOV /RI, #00h
/ 8006 MOY R3, #08h .
8008 | MOV A, R2
8009 UP [RIC A
800A JNC NEXT...
800C : INC RL
800D, SJMP NEXT1
"300F [NEXT INC RQ,
8010 NEXTI DIJNZ R3, UP. |
8012 LCALL 0003 |
DEPT. OF ECE, BEC BAGALKOT
Page 47MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
[ADDRESS [DATA _|
RD zs CF
{RO 00
Rigioesce eae 00 |
R3 08
OUTPU
ADDRESS DATA
RO 2
RI 06
DEPT. OF ECE, BEC BAGALKOT
Page 48Program no 25.
Program: To reverse and logically OR the reversed number
MICROCONTROLLER LAB MANUAL
[ADDRESS [LABEL |MNEMONICS OPERANDS |
8000 | Mov 82, #34
8002 MOV / 83, #12h
8004 al MOV ~ malay
8006 RL Pe
8007 RL A
8008 RL A
8009 RL A
800A MOV | 82, A
800C MOV A, 83
800E RL A
800F RL A
8010 RL A
8011 RL A
8012 MOV 83,4
8014 ORL A82
8016 CALL 0003
Page 49
DEPT. OF ECE, BEC BAGALKOTRESULT
INPUT:
[ADDRESS [DATA |
DPHi ates 21 eee
DPL B
OUTPUT:
ADDRESS [DATA |
A 6
DEPT. OF ECE, BEC BAGALKOT
MICROCONTROLLER LAB MANUAL
Page 50MICROCONTROLLER LAB MANUAL
Program no 26.
Program: To find the number of positive and negative numbers
ADDRES LABEL | MNEMONICS OPERANDS
8000 | | MOV- RO, #50
[8002 = [Mov R1, #00h, |
8004 MOV R2, #00h
8006 MOV | R3, #08h
8008 ¢ | MoV A, @RO
8009 ce P REC A |
800A JC NEXT |
[3000s taes INC RI
800D ‘SIMP DOWN
800F NEXT 9 | INC R2
8010 DOWN ; INC RO
8011 nes EDINZ R3, UP
3013 LCALL 0003
er rt nt ne
DEPT. OF ECE, BEC BAGALKOT Page 51MICROCONTROLLER LAB MANUAL
RESULT
INPU
ADDRESS DATA ]
S05 sige pal OUR |
a |
31 81
82
|
| 83
E 84
355 85 aoe
[56 SrAi6
37 | 80
OUTPUT:
ADDRESS
RI 01
R2 07
eee tenance RR
DEPT. OF ECE, BEC BAGALKOT Page 52Program no 27.
Program: To find even and odd numbers.
[ADDRESS [LABEL |MNEMONICS | OPERANDS
3000 ares MOV DPTR.#9000
8003 MOYseere R4, #05 |
8005 no RO, #30
8007 MOV RI, #50
8009 "| UP MOVX ‘A, @DPTR
800A MOV OFO, #02
800D DIV AB
800E | Mov ‘A, OFO
8010 CINE ‘A, #00, DOWN
8013 MOVX A@DPIR |
8014 MOV @RO, A |
8015 INC RO
8016 SIMP NEXT
/ 8018 DOWN MOVX A, @DPTR
8019 MOV eee
801A INC a
801B NEXT INC DPIR
801C DINZ R4, UP
801E Loy ae
ged
DEPT. OF ECE, BEC BAGALKOTMICROCONTROLLER LAB MANUAL
RESULT
INPUT:
ADDRESS DATA
(9000 Beet | ssi
9001
9002
9003 Senaae|
9004 = li
OUTPUT:
ADDRESS DAT.
30 44
/31 2,
30 35
31 33
52 i
—_———
DEPT. OF ECE, BEC BAGALKOT Page 54Program no 28.
MICROCONTROLLER LAB MANUAL
Program: To swap the bit 0 with bit 1 and bit 2 with bit 3 and so on
ofa register
ADDRESS |LABEL |MNEMONICS | OPERANDS
| 8000 rare sl MOVineaaes R6, #55
| 8002 MOV ALR6
| 8003 RL = A ae
8004 ANL AHOAA
8006 PUSH 0E0
8008 MOV ARG |
8009 # RR jA
| 800A ANL AHS
800C MOV R6A
00D POP | 0E0
800F ORL A,R6
8010 LCALL 0008
DEPT. OF ECE, BEC BAGALKOT
Page 55INPUT:
ADDRESS —
[Rosey
| DATA
OUTPUT:
— [DATA
R6 [AA
F ECE, BEC BAGALKOT
MICROCONTROLLER LAB MANUAL
Page 56MICROCONTROLLER LAB MANUAL
Program no 29,
Program: To convert Hexadecimal to BCD
[ADDRESS [LABEL |MNEMONICS | OPERAD
| 8000 ~ al [MOVs R00 eee
8002 RO, 40h |
8004 A, @RO
8005 OFO, #04.
[8008 DIV AB
8009 MoV R2, OFO
800A MOV OF0, 0A
/ 800d DIV AB
800E INC RO
800F MOV @RO, A
8010 MOV A,OFO
8012 SWAP A
/ 8013 ADD A,R2
8015 INC RO
8016 MOV GRO, A
8017 LCALL 0008
‘DEPTOFECE BECBAGALKOT.——~*~*~S*«é STMICROCONTROLLER LAB MANUAL
RESULT
INPUT:
| ADDRESS DATA
| SOnane eel FER aecee|
OUTPUT:
ADDRESS | DATA
02
34
3
—_——
DEPT. OF ECE, BEC BAGALKOT Page 58,MICROCONTROLLER LAB MANUAL
Program no 30.
Program: To convert BCD to Hexadecimal number
ADDRESS [LABEL | MNEMONICS
/ 8000 | Seay Over ogee :
8003 1 MOVX A, @DPTR |
| 8004 MOV RA
8005 ANL A, #0
8007 | SWAP A
/ 8008 | Mov OFO.#0A
800B MUL AB
8000 AN 02, #0F
800F ADD A,R2
8010 INC DPTR
8011 MOVX @DPTR,A
8013 LCALL 0008
enema
DEPT. OF ECE, BEC BAGALKOT _ Page 59MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
'ADDRESS | DATA
[9000ne ae 195
OUTPUT:
[ADDRESS [DATA
[9001
ee ne tenn i ence
DEPT. OF ECE, BEC BAGALKOT Page 60MICROCONTROLLER LAB MANUAL
Program no 31.
Program: To convert ASCII to BCD
ADDRESS [LABEL |MNEMONICS | OPERANDS
[8000 = a (MOV ~=—s~«~«<‘«‘#éP TR BQOD.-S~*”
8002 MOVX A, @DPTR
8003 | MOV [ROA
8004 INC DPTR
8005 MOVX A, @DPTR
8007 MOV RI,A
3008 al MOV ‘ARO
8009 CLR Cc
800A SUBB A, #30.
800C SWAP [A
| 800D. MOV R2,A
800E MOV A,RI
800F CLR c
8010 SUBB ABO
8012 ‘ADD A,R2
| 8013 MOV RA,
8014 LCALL 0003
oo ERR RR A
DEPT. OF ECE, BEC BAGALKOT Page 61MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
OUTPUT:
"ADDRESS | DATA
oOo
DEPT. OF ECE, BEC BAGALKOT Page 62MICROCONTROLLER LAB MANUAL
Program no 32.
Program: To convert BCD te
corresponding ASCII equivalent
ADDRESS LABEL MNEMONICS | OPERAND
8000 MoV DPTR,#8200
8002 MOVX A, @DPTR |
8003 MOV RIA
| 8004 F ANL A, HOF
| 8006 | 2 ADD A, 430
| 8008 ae MOV RA
8009 MOV ARS =
800A. ANL A,AFO
800C SWAP A
800D Sd ADD A130
800F a MOV RIA
8010 LCALL 0003
en tee
DEPT. OF ECE, BEC BAGALKOT Page 63RESULT
INPUT:
ADDRE! DATA
8200 154 -
OUTPUT:
[ADDRESS [DATA |
RO co raea 4)
[RI 35
rrr
DEPT. OF ECE, BEC BAGALKOT Page 64Program no 33.
MICROCONTROLLER LAB MANUAL
Program: To convert Hexadecimal to decimal number
ADDRESS |LABEL |MNEMONICS | OPERANDS
8000 y MOV zs A, HAD
| 8002 MOV ‘ OFO, #0A |
| 8004 DIV AB =
/ 8005 MOV RO, OFO
| 8007 MOV OFO, #0A
| 3009 DIV AB
800A, MOV RI, OFO
200Caas MOV R2,A
800D LCALL 0003
DEPT. OF ECE, BEC BAGALKOT
Page 65MICROCONTROLLER LAB MANUAL
[ADDRESS | DATA
Aa Ad
OUTPUT:
[ADDRESS | (DATA
RO 09
[RI ee erate (06
[Romeo Or
BEC BAGALKOT Page 66
OF EC!MICROCONTROLLER LAB MANUAL
MANUAL
Program no 34.
Program: To convert Hexadecimal to ASCII
[ADDRESS |LABEL | MNEMONICS | OPERANDS)
$000 scp mel Si | MO VAs eee 8 ‘DETR 9000 Rein
| 3003 aeeaear Sea MOVXars coma lAs @DPTIR
8004 RO,A
8005 sama ~ | A#OOHERE
8008 DOWN
| 800A HERE [ac DOWN
| 800c ADD A, B30
800E } ADD A #07
3010 MOV RIA
8011 SIMP DOWNI
8013 DOWN ADD A,#30
8015 MOV RIA
|'8006 DOWNI LCALL 0003
ee
DEPT. OF ECE, BEC BAGALKOT 2 Page 67MICROCONTROLLER LAB MAI
RESULT
INPU1
_ADDRE: DATA a
a |
OUTPUT:
[ADDRESS [DATA __—|
[RI og eee AS co
DEPT. OF ECE, BEC BAGALKOT Page 68Program no 35.
Program: To multiply each number in an array by a constant
LABEL |MNEMONICS | OPERANDS
MICROCONTROLLER LAB MANUAL
“MOV DPTR,#9000
| MOV RA, #05
8005 wes MOV R3, #06
8007 : CALL MULT
800A, eealING DPTR
800B | DINZ R3, UP
00D LCALL 0003
8010 MULT MOVX A, @DPTR
8011 MOV OFO, R4
8013 MUL AB
8014 a MOVX @DPTR, A
8015 RET
DEPT, OF ECE, BEC BAGALKOT
Page 69MICROCONTROLLER LAB MANUAL
RESULT
INPUT:
"ADDRESS
[9000 01
001
[9003 secre) Oates st
=
OUTPUT:
ADDRESS DATA
| 9000 = ce. es 06 aed
9001 joc
9002 2
| 9003 18
9004 1E
DEPT. OF ECE, BEC BAGALKOT
Page 70