Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

MICROCONTROLLERS

miajk ,smsh - fojk jk fldgi (II)

PIC 16F84(A) uhsfl%dfldkafg%da,rh


fhdf.k is;r= e wdf,dal rgdjla
f.dvk.uq
PIC 16F84(A) uhsfl%dfldkafg%d,
a rh Nd; lr is;r= e wdf,dal
rgdjla f.dvk.d .ekSug w< mm: igyk iy l%uf,aLkh
miq.sh ,smsfhka bm;a lf<uq' tu l%uf,aLkh iy Bg w<j
uhsfl%dfldkafg%da,rh ls%hd lrk wdldrh ms<sn|j ;jrg;a ia;r
lsu fuu ,ssmsfha wruqK f'
STATUS
TRISB
PORTB equ
CounterL
CounterH

;*****Define Registers*****
equ
03h
equ
86h
06h
equ
0Dh
equ
0Eh
;*****Set up the Port*****
bsf
STATUS,5
clrf
TRISB
;PORT B output
bcf
STATUS,5

Start

Forward

reverse

Delay

;****Turn the First LED on****


bsf
PORTB,0
call
Delay
;*****Shift Forward*****
btfsc PORTB,7
goto
reverse
rlf
PORTB,1
call
Delay
goto
Forward
;*****Shift Backward*****
rrf
PORTB,1
call
Delay
btfsc PORTB,0
goto
Forward
goto
reverse
;*****Delay loop*****
decfsz CounterL,1
goto
Delay
decfsz CounterH,1
goto
Delay
return

y,

2005 foienr ui 7 - n

;dlaIK wxYh

ms<n|j b ,smshl ia;r flfr'


bka miqj ;sfnk ;***** Setup the PORT ***** hkak o
igykls' B<g lsug hk ldrhh l=ula o hkak bka lshf'
fujeks igyka fh g l%uf,aLkh lshjd f;are .ekSu myiq
jk neka fuf,i igyka (Comments) fhug yqre u
w;HjYH f'
bsf STATUS, 5 hk Wmfofika lshfjkqfha STATUS
friagrfha miajeks gqj "1" lsu h' tg Bank 1yss we;s
friagr yeisrug yels f' B< Wmfofika Clrf TRISB
lshfjkqfha TRISB friagrfha ish u gq "O" njg m;a
lsuhs' PORTBg wod,j RB0.... RB7 w.% wg m%;sk f,i
ilia lsu fuys wruqKhs' TRIS B friagrh we;af;a
Bank 1j, neka Bg hula ,sug fmr Bank 1 fj; hdug
STATUS friagrfha miajeks gqj 1 f,i ilia lsu wksjdrh
f' tfy;a idudkHfhka mej;sh hq;fa ;a Bank0j, neka TRISB
friagrhg ,sfuka wk;=re j STATUS friagrfha miajeks
gqj nxj njg m;a lr kej; Bank0 fj;g meug bcf
STATUS, 5 hk Wmfoi fhdf.k we;'
f jk g uQ,sl ilia ls is lr wjika neka <g is
l< hq;af;a m<uq n,anh ,auhs' ta i|yd PORTB friagrfha
xj jeks gqj 1 l< hq;= h' tg RBO fyj;a 6 jeks
w.%hg i lr we;s m<uq n,anh ,af' bsf PORTB, 0
Wmfoi u.ska flfrkqfha PORTBys xj jeks gqj 1 lsuhs'
rEm igyk wxl 2 uska f wjia:df PORTB friagrfha
w.hka mj;sk wdldrh laf'
PORTB
friagrh

i;ajeks
gqj

m<uq n,anh
,af

xj jeks
gqj

rEm igyk wxl 2

m<uqjeks n,anh ,afuka miqj ;;amr 1l muK ld,hla


kej;S isg bkamiqj fojk n,anh ,ah hq;= neka Call Delay
hk Wmfoi B<g fh we;' fuys Delay hkq l%uf,aLkfha
u we;s ;j;a Wmfoia f.dkqjls' th Delay Loop f,i k lr
we;' th ilid we;af;a ;;amr 1l muK mudjla ,nd fok
wdldrhg jk w;r wjidkfha return hk Wmfoi fujeks
Wmfoia f.dkqjl wksjdrfhka ;sh hq;a;ls' fuu Wmfoia f.dkqj
;;amr 1l muK mudjla wjYHh iEu g u fhd.; yels h'
l%uf,aLkhla ;=< kej; kej; Nd; l< hq;= fujeks Wmfoia
f.dkq Sub programs fyda functions f,i ;dCIl jHjydrfha
yekaf'
Call Delay hkakg miqj we;af;a ikaikaokh lsuls' ta
ms<sn|j ia;r lsu uolg kj;d mm:h ;=< <g is h
hq;af;a l=ula hs n,uq' f jk g m<uq n,anh oe,a ;;amr
1la .; yudr h' ka fojk n,anh ,ah hq;= h' tfuka u
m<uq n,anh ksu o is h hq;=h' tfia ug k PORTB
friagrfha 1 jeks gqj muKla 1 l< hq;= h' f wjia:dj
rEm igyk wxl 3ka laf'
PORTB
friagrh

msgj
q 17

i;ajeks gqj

1 jeks gqj
rEm igyk wxl 3

fojk n,anh
,af

xj jeks gqj

fojk n,anh o,ajd ;;amr 1la n,d isg kej; ;=kajk n,anh
muKla ,aug PORTB friagrfha 2 jk gqj 1 l< hq;=
h' tu wjia:dj rEm igyk wxl 4ka laf'
0
i;ajeks gqj

2 jeks gqj
rEm igyk wxl 4

f;jk n,anh
,af

uhsfl%dfldkafg%da,rhg btfsc PORTB, 7 u.ska Wmfoia we;'


tu ksid i;ajeks gqj 0 we;s iEu g u tu Wmfoi
u.yer rlf PORTB, 1 hk Wmfoi ls%hd;aul lrhs' rlf hkq
rotate left hkak fl lr fhuls' fuys is jkqfha PORTB
friagrfha we;s w.hka tl ia:dkhla jug mekakSuhs' tk
ihjeks gqf we;s w.h ^1 fyda 0& i;ajeks gqjg;a miajeks
gqf we;s w.h ih jeks gqjg;a i;r jeks gqf we;s w.h
miajeks agqjg;a hkd jYfhka ish u w.hka tl ia:dkhla
jug mekakSuhs' tfukau i;ajeks gqf ;snQ w.h bj;a jk w;r
xj jeks sgqjg 0la tla f' rEm igyk wxl 4 u.ska fuh
;jrg;a meye,s f'
PORTB
friagrh

rEm igyk wxl 4

rlf PORTB, 1
l%hs d;aul ug
fmr

rlf PORTB, 1
l%shd;aul fuka
miqj

rlf PORTB, 1 hk Wmfoi ls%hd;aul jQ miq l,ska ,a ;snQ


n,anh ks B< n,anh ,af' B<g we;s Call Delay
Wmfoi u.ska ;;amr 1l mudjla we;s lr bkamiq goto
Forward hk Wmfoig mefKa' goto Forward hkafkka
lshfjkqfha kej; btfsc PORTB, 7 hk Wmfoi we;s ;ekg
hk f,ihs' tys PORTB friagrfha 7 jeks gqj 1 o keoao
hkak n,hs' th 0 k B<g we;s goto reverse hk Wmfoi
u.ye tfia fkdue;s j PORTB friagrfha i;ajeks gqj 1
;sf k B<g we;s goto reverse Wmfoi ls%hd;aul lrhs'
goto reverse Wmfoi ls%hd;aul jQ g wjidk n,anfha isg
uq,a n,anh olajd ,aug wod, Wmfoia wvx.= revervse
keue;s fldgig wj;SrK f' tys PORTB friagrfha we;s
w.hka tla ia:dkhla ol=Kg mekakSfuka ,a ;snQ wgjeks n,anh
ksjd i;ajeks n,anh ,au isl, yel' ta i|yd rrt PORTB 1
hk Wmfoi fhdf.k we;' fuys rrf hkq rotate righl hkak
fllr lauhs' bkamiqj ;;amr 1 l mudjla ,nd.ekSug
Delay hk Wmfoia f.dkqj kej;;a Nd;d lr we;'
bkamiqj we;s btfsc PORTB, 0 hkafkka PORTB friagrfha
xj jeks gqj 1 ;sfhs n,hs' PORTB friagrfha
xj jeks gqj 1 jkqfha n,an ish,a,u wdmiq ,au islr
yudr jQ ghs' tfia fkdue;sk tu gqj 0 f,ig mj;S' tg
btfsc PORTBO g miqj we;s goto Forwavd hk Wmfoi u.
yer goto reverse hk Wmfoi ls%hd;aul flfr' tg kej;;
rrf PORTB 1 hk Wmfoig meK PORTB ys w.hka tla
ia:dkhla ol=Kg mekakSu islrhs' fufia kej; kej;;a islr
PORTB ys 0 jeks gqj 1 jq g goto Forward hk
Wmfoig mefKa' tk n,an kej; 1 isg 8 olajd ,au
wdrN lsuhs' fuu ls%hdj,sh wkjr;j isf' wjidkfha Tng
knignt Ridev wdf,dal rgdjla l.; yelsf'
fuu ls%hdj,shu ;j;a wdldr .Kkdjlska u islr .; yels
jqj;a l%uf,aLKh jvd;a .=u yd ixlSrK u tajdfha we;s
wvqmdvqjhs' wm bm;a lr we;s l%uf,aLKh b;du;a l=vd tlla
jqj;a h;dla rg ixlSrK njla Wiq,hs' kuq;a Tn fuu ,smsh
iy fmr ,smsh wjfndaOfhka hq;=j fo;=ka jrla lshjQfha k tu
ixlSrK Ndjh u.ye hkq we;s nj wmf.a Yajdihhs'
PIC 16F84(A) uhsfl%dfldkafg%da,rhg w, Wmfoia fyj;a
Assemdy Itrnctio 35 ms<sn| meye,s wjfndaOhlska ,nd
.ekSug tu uhsfl%dfldkafg%da,rfha o;a; m;s%ldj lshjk fuka wms
Wolau b,a,d isuq'
< ls%hdldrlu f,i 7 Segment display Nd;d lr
Conter tlla ksrudKh lsu yruq'

xj jeks gqj

fudrgqj Yaj oHd,hfha oHq;a yd ,s ixfoaY wxYfha

.d chisxy$flda,s; Orum%sh

end
rEm igyk wxl 1

rEm igyk wxl 1 u.ska wod< l%uf,aLkh laf' tys


wdrNfha u ;***** Define Registers ***** f,i ,shd
we;af;a l%uf,aKLkh lshjd f;are .ekSu i|yd fhd we;s
igykla nj uq,ska u we;s ;s;a fldudj (;) gq .i Tng
wjfndaO h hq;= h' ^je ia;r i|yd 4'5 ,smsh lshjkak&
bkamiqj we;s STATUS equ 03h hkak MPALB uDldx.hg
,nd fok Wmfoila fyj;a A Compiler Directive f,i yekaf'
fuys uDldx.hg fok Wmfoi jkqfha STATUS friagrhg
w< msysgq friagrj,g w, msysgq wxlh (Address) 03
njhs' f wdldrhg PORTB yd TRISB friagrj,g w<
msysgq wxl o 06 iy 86 f,i o olajd we;' Counterh iy
CounterH hkq p,Hhka folla jk w;r tajdg w< msysgq
wxl o OD iy OE f,i olajd we;' fuys b,lalj, w.g
"h" wl=r fhdod we;af;a tu ixLHd oyfha mdofha ixLHd fkd j
oy ifha mdofha ixLHd nj laug h' oy ifha mdofha ixLHd

fuf,i i;ajeks gqj olajd tla tla gqj ms<sfj<ska 1


lrf.k hdf wmg m<uq n,anfha isg wgjk n,anh olajd
n,an ms<sfj<ska ,af' wgjeks n,anh ,ajqKdhska miqj tu
rgdj wjika jk w;r wdmiq wf isg tl olajd n,an wdmiq
,au wdrN l< hq;= h' fuu wjia:dj ykd .ekSug k
PORT B friagrfha 7 jeks gqj 1 jk f;la n,d ish
hq;= h' btfsc PORTB, 7 hk Wmfofika lshfjkqfha bit test f
skip if clear hkak h' fuys f hkq we;s friagrfha
jk w;r mCId l< hq;= gqj Wmfofia w.g we;=<;a l< hq;=
h' fuys w< friagrh PORTB jk w;r gqj 7 jeks
gqj f'
xj jeks gqf isg i;ajeks gqj olajd tfla b,lalu j
mig f.k;a i;ajeks gqjg me g reverse fyj;a n,an
wdmiq ,af Wmfoia wvx.= fldgi fj; hdug goto reverse
Wmfoi fhd we;' i;ajeks gqj 1 jQ g muKla fuu Wmfoig
mefKa' wka iEu g u fuu Wmfoi u.yk f,i

f ,sms fm< kej; kq fok ;=re iEu foi;shlg u jrla


m< jkq we;s nj lreKdfjka ie,l=j ueke

You might also like