Vous êtes sur la page 1sur 242

TRUONG DAI HOC SU PHAM KY THUAT TP.

HCM
KHOA DIEN TU
BO MON VIEN THONG



Bien soan: Nguyen nh Phu




TP.HCM 2007


LI NOI AU

. + y ' +.+ :~ ~ +~ -~: ~ . + y :~+ ` :: . ~ .~ .~ . -. +-+
+ \ ' +. y- . ~ /`' +~y ++ ~ /`3' .~ /`3' +~ /`3
:~ : ~. :- ~+ +-+ .- ~+ ~ y + ++ + ~ ~ . + y .~ ~ ~ . -.
+-+ :-+ ~ +. + .- + .+ .~ :~ -. -+ :+.~+ - ++ + - :- ~+ . + +
~. :+ :+~ . ~ . + y .~ ~ . - . +-+ ~ :+~ ++ ++ ~
~. + ~ +~ :~ : + ~ - + :++ :~ + .~ . + y ' :+ ++ + - ~+ :- ~+
. ~ . + y . -. +- + ~++ ++, :+ + ++-. ++ +~+ ++ - ~ .y- : ~ y- . ~ . :++
:- ~ ~+ ++ ~: ++- .
+ :~ - . +~ y -- :+- . . - . +-+ + . ~ +~ + \+ + -+ . + ~ : ++-.
:+ ~ :+-: : - . +-+ + ++-
~ - . + +~ ~ +++ +++ ' :+-: - ~ ++ .+ .+ . - . +-+ + /`3
:+ ~ y-. ~ . :++ :- + +++ +~ y :~ ~ +~ ~ ~ y-. ~ . - . +-+ :+ :++ :- .~
+++ ~ + +~ + :+ y- . ~ ., ~ :+- : - .~ .- : ~ +++ :++ .~ ~ :~ :+-: - +~ y ++~
. + ++ + :-: ~+ :+- : - : +- :++ :+ y- . ~ . :++ :-
+++ :+-. .- . -. +-+ +. y- . ~ + '`77/ ~+ + -+ . + ++-.
+ +++ +~ y :+- . ~ . :., ~ + :+ + :- + :+
+++ :+-. .- ++ ++ ~ :++ + .~ :+- . ~ ~+ ~ :++ + .~
~ +++ :++ . . ++~ . ++ + ~ .-+ .
~+ /\ ++- . . - . +-+ +++ + /. .~ + /\3/ .+ ~ :++ +~+ ~++
+++ + ~ :++ :~ y :-+ .~ +~+ \/ .+ ~ . - . +-+ + -+ .+ +~ +
:-+ +++ :+ ~+ + + +~+ +-+ :~ ~ + + :++ :~ y
/+ ~ + ~ :~+ :- + ++- .~ ~ :~+ -++ .- + ~ : : ++- + .~ :~ ~
:++ +~ y
\ + ~ y ++ + +~ y .- :+- ~ + +._+9y~+ + +~+ :+~++ ~
+



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
MUC LUC
LOI NOI AU
CHUONG z. THIET KE CAC UNG DUNG DUNG VI IEU KHIEN
|. 8A| 1H|E1 KE 50
' / ./
3 / ./
/ 3
- / / 3 /
\/ -
. 3 3
||. 8A| 1H|E1 KE 50 2 '
' / ./ '
3 / ./ '
/ / / / '
- ./ \/ \ / '`
/ \\
CHUONG z. VI IEU KHIEN PIC zoFBA 7
|. 10NC QUAN VE V| |EU KH|EN P|C -
||. M01 50 AC 1NH CUA V| |EU KH|EN P|C -
|||. V| |EU KH|EN P|C 6F877A --
' 3 / . '`77/ --
o. C|c | th|e u --
b. 5c dc khc| -
c. 5c dc chon vo chu c no ng coc cho n -

o. Co u truc bc nhc chucng tr|nh
b. Co u truc bc nhc du ||eu
c. F||e thonh gh| ket quo tcng quot '
d. Co c thonh gh| cc chu c nong do c b|et -
e. Pho n trong bc nhc chucng tr|nh
f. Co c thonh gh| d|o ch| g|on t|e p, thonh gh| |NDF vo F5k
\ ./ 3 / -
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
o. 1honh gh| EEADk vo EEADkH
b. 1honh gh| EEC0N vo EEC0N2
c. cc du ||e u tu bc nhc EEPk0M
d. Ch| du ||e u vo c bc nhc EEPk0M
e. cc du ||e u tu bc nhc chucng tr|nh F|osh `
f. Ch| du ||e u vo c bc nhc chucng tr|nh F|osh 3
g. 8o c ve chcng gh| nhom 7'
h. Hcot dcng trcng |uc bo c ve chc ng gh| 7'
- / // / ) 7'
o. P0k1A vo thonh gh| 1k|5A 7
b. P0k18 vo thonh gh| 1k|58 7-
c. P0k1C vo thonh gh| 1k|5C 7
d. P0k1D vo thonh gh| 1k|5D 7`
e. P0k1E vo thonh gh| 1k|5E 73
, \ `'
o. Ngot cu o 1|mer0 `
b. 1|mer0 vc| nguc n xung dem tu ben ngco| `
c. 8c ch|o trucc `
, \' `-
o. Hcot dcng cu o 1|mer c che dc d|nh thc| `
b. Hcot dcng cu o 1|mer c che dc Ccunter `
c. Hcot dcng cu o 1|mer c che dc Ccunter dcng bc `
d. Hcot dcng cu o 1|mer c che dc Ccunter bo t dcng bc `
e. cc vo gh| 1|mer trcng che dc dem khcng dc ng bc `
f. 8c doc dc ng cu o 1|mer `
g. keset 1|mer su du ng ngc ro CCP 1r|gger `
h. keset co p thonh gh| 1MkH, 1MkL cu o 1|mer `7
7 , \ `7
o. 8c ch|o trucc vo pcstsco|er cu o 1|mer2 ``
b. Ngc ro cu o 1Mk2 `3
` 3 /3 / `3
o. Ngc ro cu o 1Mk2 3
b. Co c yeu cou nhon du ||e u ADC 3
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
c. Lu o chcn xung c|cck chc ADC 3
d. |nh cou h|nh chc co c ngc voc tucng tu cu o ADC 3-
e. Chuye n dc| ADC 3-
f. Co c thonh gh| |uu ket quo cu o ADC 3
g. Hcot dcng chuye n dc | ADC trcng che dc 5|eep 3
h. Anh hucng cu o reset 3
3 / 3
o. Hcot dcng sc so nh 3`
b. |e n o p sc sonh 33
c. 1hc| g|on do p ung 33
d. Ngc ro bc sc sonh 33
e. Ngot cu o bc sc sonh '
f. Hcot dcng cu o bc sc so nh c che dc 5|eep '
g. Anh hucng cu o reset '
h. Ke t nc| coc ngc vo c tucng tu ''
' / / / / '
'' / / 3 '
o. Co c |co| moch doc dcng '
b. Doc dcng tho ch onh/tu Cerom|c '
c. 8c doc dc ng kC '7
' \/ '7
o. keset
MCLR
''
b. keset kh| mc| co p d|en P0k '''
c. 1|mer reset kh| mc| co p d|e n (PWk1[ '''
d. 8c doc dc ng 5tort-up (051[ '''
e. keset 8rcwn-cut (80k[ '''
f. 1r|nh tu thc | g|on '''
g. 1honh gh| trong tho |/thonh gh| ccng suot ''
' / 3 3/ ''
o. Ngot ngco | |N1 ''-
b. Ngot 1Mk0 ''-
c. Ngot P0k18 thoy dc| ''-
d. Luu du ||eu kh| xo y ro ngot ''-
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
'- / 3 / N/3 \ N ''
' / 3 / 3 ''
o. onh thuc cpu khc| che dc ngu ''
b. onh thuc cpu du ng co c ngot ''
' \/ 3 ''7
'7 \ / 3 / / . / 3 \/ ''`
'` \/ / / 3 ''`
'3 / / / \/ 3 +.: -~ ~ +) ''`
/ / / 3 ) ''`
' 3 3/ 3/ \/ ./ '`77/ ''3
o. Mo ch no p P|C truc t|e p tu ccng C0M '
b. Mo ch no p P|C g|on t|e p tu cc ng C0M quo |c mox232 ''
c. Mo ch no p P|C quo ccng LP1 '
CHUONG . CHUONG TRNH BIEN D|CH VA NAP PICzoFBA '
|. CHU0NC 1kNH 8|E N D[CH '
' 3 , \/ '
2. 3 , '`
||. CHU0NC 1kNH NA P CH0 P|C ''
' 3 / N` ''
3 / '
|||. NC0N NCU LAP 1kNH A5M CU A MPLA8 '
' / / 3 3 \/ '
o. [nhon} '
b. Lenh vo coc thom sc '
c. Quy uc c k| h|eu trcng MPLA8 '
/ / '`
|V. NC0N NCU LAP 1kNH C CU A CC5 C '-`
' 3 '-`
3 3 / '-`
/ / ./ 3 , / 3, \/3 '-3
o. Kho| bo c b|en, hong, mo ng '-3
b. Co ch su du ng b|e n '-3
- / / '-3
| , / '
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
o. #A5M vo #ENDA5M ''
b. #|NCLUDE ''
c. #8|1, #81E, #L0CA1E vo #D|F|NE ''
d. #DEV|CE ''
e. #0kC '
f. #U5E '
g. Mct sc ch| th| t|en xu |y khoc '
/ /\ / , / , / '
o. Co c hom xu |y sc '
b. Co c hom xu |y b|t vo co c phe p tcon '
c. Co c hom xu |y b|t vo co c phe p tcon '
7 / / ./ / /\ 3 '
o. Co c hom xu |y ADC '
b. 5E1UP_ADC_pcrt (vo|ue[ '
c. 5E1UP_ADC_chonne| (chonne|[ '
d. keod_ADC (mcde[ '
e. Co c hom |0 trcng C '7
` / / 3/ ./ / /\ / / 3 3/ '3
o. Kho| bo c ngot '3
b. Co c hom th|et |op hcot dcng ngo t '
c. Co c hom g|oc t|e p vc| mo y t|nh quo ccng C0M '
V. CA C CHU0NC 1kNH V DU ''
' 3 ` / ''
3 ' \ / 3 / /3 / '-
3 ` / 3 '
- 3 \ 3333 7 / '7
3 \/ / , '7
1o| ||eu thom khoc.



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M





Chucng
1H|E1 KE CAC UNC DUNC DUNC V|
|EU KH|EN

8A| 1H|E1 KE 50
/ ./
3/ ./
/ 3
/ / 3 /
\/
. 3 3

8A| 1H|E1 KE 50 2
/ ./
3/ ./
/ / / /
./ \/ \ /
/ \ \
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
2 . + y

LIE T KE CA C HNH

H|nh -. sc dc khc| cuo he thcng.
H|nh -2. 5c dc nguyen |y.
H|nh -3. 5c dc khc| cuo he thcng.
H|nh -4. 5c dc d|eu kh|en chon cu o |C.
H|nh -5o. 5c dc ket nc| v| d|eu kh|en vc | |C chct.
H|nh -5b. 5c dc ket nc| coc ducng t|n h|eu d|eu kh|en vc | sccket 8 chon.
H|nh -5c. 5c dc ket nc| v| d|eu kh|en 2 vc | LCD vo bon ph|m mo tron.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 3


B
B
A
A

I
I
T
T
H
H
I
I
E
E

T
T
K
K
E
E

S
S
O
O

1
1
:
:

D
D
O
O
D
D
O
O

N
N
G
G

I
I
E
E

N
N
G
G
I
I

C
C
A
A
O
O

I
I
E
E

M
M

V
V
A
A

G
G
I
I

T
T
H
H
A
A

P
P

I
I
E
E

M
M

.
.


A
A

T
T
V
V
A
A

N
N

E
E



Trong he thong cung cap ien th viec thay oi tai dien ra lien tuc va co 2 khoang thi
gian trong mot ngay o la thi gian cao iem va thi gian thap iem.
Thi gian cao iem vao khoang 18 gi en 20 gi va cao iem nhat la 17 gi khi o tat
ca moi ngi s dung rat nhieu thiet b ien trong sinh hoat gia nh dong ien at en nh
iem trong ngay va lam giam ien ap va neu cong suat cung cap khong u se sinh ra hien tng
qua tai lam h hong thiet b cung cap, mat ien va gay thiet hai.
Thi gian thap iem vao khoang 2 gi sang khi moi ngi a yen giac ngu va tat ca cac
thiet b sinh hoat a tat dong ien ha thap nhat trong ngay va ien ap co tang tr lai.
Cac ky s va cong nhan trong cac nha may, tram phan phoi, tram cung cap can phai khao
sat va nam bat c s bien ong o e kiem soat chung, tranh s qua tai gay thiet hai cho
thiet b ien.
Mot so cac tram ien phai yeu cau nhan vien trc tram tien hanh o dong ien tai cac
bien ap vao thi iem gi cao iem va gi thap iem e thong ke, e kiem soat.
Viec o dong c tien hanh vao ban em va tren nhng tru ien cao nhng ni xa th
rat kho khan va nguy hiem en tnh mang nhan vien.

G
G
I
I
A
A

I
I
Q
Q
U
U
Y
Y
E
E

T
T
V
V
A
A

N
N

E
E



Vi may o dong t ong lu lai gia tr o trong mot thang, 2 thang hoac nhieu hn se giup
cho nhan vien co the i lay ket qua o vao ban ngay an toan hn va neu ket qua o chnh xac va
may o co the giao tiep vi may tnh th d lieu co c hoan toan chnh xac, neu co them
chng trnh ve bieu o hay thong ke se giup anh gia s bien thien cua tai va anh gia cong
suat cung cap cua bien ap hay ng day co u cong suat hay khong va khac phuc nhanh.
' / 3
S o khoi cua may o do ngi nghien cu thiet ke nh hnh 1:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
4 . + y

H|nh -. sc dc khc| cuo he thcng.

/ / 3 /
o. Khc| b|en dcng d|en:
Vi mot dong ien cung cap rat ln e co the o c chung ta phai s dung bien dong
e chuyen oi dong ien cao thanh dong ien thap hn nhieu lan tuy thuoc vao he so
cua bien dong.
Viec la chon bien dong e thc hien tuy thuoc vao dong ien ang o nam trong
khoang nao va ap ng cua mach ien t ADC co the la bao nhieu.
b. Khc| xu |y t|n h|eu:
Tn hieu cua cuon th cap thng mac noi tiep vi mot ien tr e chuyen oi dong
ien thanh ien ap va neu bang vi ien ap chuyen oi cua ADC th khong x ly na
va neu cha bang th phai x ly cho bang cach s dung them mach khuech ai hoac
mach han che bien o.
c. Khc| chuyen dc| ADC:
Tn hieu o dang tng t phai c chuyen thanh tn hieu so e co the hien th va lu
tr giao tiep vi may tnh . Bo chuyen oi ADC s dung cang nhieu bit cang tot.
d. Khc| h|en th| vo bon ph|m:
Khoi nay hien th cac thong tin o c e kiem tra ung hay sai.
Ban phm dung e ra lenh nham xem lai ket qua o.
e. Khc| nhc :
Khoi nay dung e lu lai cac gia tr a o c trong vong mot thang hoac nhieu
thang tuy thuoc vao bo nh ang s dung co dung lng ln hay nho.
f. Khc| thc| g|on thuc:
Viec o dong ien thc hien vao ung 2 khoang thi gian 19 gi va 2 gi trong tat ca
cac lan o. Khoi nay tao ra thi gian thc hoat ong nh mot ong ho thc va van hoat
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 5
ung khi nguon cung cap khong con. Khoi ieu khien se lay thi gian t he thong nay
e tien hanh viec o ung theo thi gian a qui nh.
g. Khc| d|eu kh|en:
Khoi nay la thanh phan chnh trong he thong se ieu khien khoi ADC thc hien qua
trnh chuyen oi tn hieu tng t thanh tn hieu so lu tr d lieu vao bo nh hien
th ket qua ra man hnh va giao tiep vi may tnh.
\/
Sau khi a thiet ke s o khoi ta tien hanh chon linh kien va thiet ke s o nguyen ly.
Khoi ieu khien c chon la vi ieu khien 89S52 co 32 ng ieu khien IO va dung
lng bo nh la 8 kbyte, co giao tiep noi tiep vi may tnh.
Khoi ADC c chon la ADC 12 bit 7109. Vi 12 bit nen cap chuyen oi co 4096 cap
ieu nay phu hp vi s thay oi kha ln cua dong ien can o.
Khoi hien th c chon la LCD v hien th c nhieu thong tin. Trong he thong nay chon
LCD co 16 k t va 2 hang.
Khoi bo nh: ket qua o nam trong pham vi 4095A nen so bit can s dung e bieu dien ket
qua o nay la 16 bit 2 byte, mot ngay o 2 lan va s dung 4 o nh byte e lu tr . Mot thang
31 ngay se s dung 124 o nh byte e lu vi so lng bo nh nh vay s dung loai bo nh noi
tiep ho 24C08 co dung lng 1kbyte = 1024 o nh byte.
Khoi ban phm ch dung e xem lai ket qua o nen ta ch can dung 2 phm e oc lan lc
tng ket qua o a lu trong bo nh.
Khoi thi gian thc s dung IC Dallas DS12C887. Chung ta phai s dung ong ho thi gian
thc e v chung hoat ong chnh xac va van hoat ong khi mat ien, viec o dong vi yeu cau
phai theo ung gi a qui nh va e giam bt s phc tap cua chng trnh nen giai phap s
dung ong ho thc la tot nhat.
Khoi nguon cung cap gom co nguon +5V va 5V.
T s o khoi va cac linh kien a chon ta phai nam ro hoat ong cua tng linh kien va
cach ket noi sau o ta tien hanh thiet ke s o nguyen ly cho he thong.
S o mach cua he thong nh hnh 2.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
6 . + y


H|nh -2. 5c dc nguyen |y.
- . 3 3
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 7
Sau khi a thiet ke xong ta tien hanh viet lu o va chng trnh ieu khien cho may o.
Lu o:


























Da vao lu o ieu khien ta tien hanh viet chng trnh cho he thong o.

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh dong dong gio cao diem thap diem
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
pmode bit p2.0 ;dinh nghia phim mode
phim bit p2.1 ;dinh nghia phim
pcon equ 87h

giay equ r2
phut equ r3
gio equ r4
ngay equ r5
thang equ r6

kqbytel equ 11h
kqbyteh equ 12h

bienmode equ 10h

;cac vung nho se su dung de luu thong tin
; 30h -> 3fh de luu thong tin cho LCD hang thu 1
; 40h -> 4fh de luu thong tin cho LCD hang thu 2

;bang phan chia bo nho 24C08 de luu tru ket qua do
;tu ngay 1 den ngay 9
; 010H -> 011h luu ket qua do gio thap diem ngay 1
; 012H -> 013h luu ket qua do gio thap cao ngay 1

S

S

8eg|n
end
K|em tro g|c coc
d|em, thop d|em
Khc| to c LCD. 1ruyen du ||eu.
1|en honh dc dcng.
Luu ket quo dc voc bc nhc.
cc thcng sc thc| g|on thuc: thong ngoy g|c
1|nh tcon d|o ch| |uu du ||eu dc voc bc nhc
K|em tro truyen du
||eu vc| moy t|nh
1|en honh truyen du ||e u ve
moy t|nh.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
8 . + y
; 020H -> 021h luu ket qua do gio thap diem ngay 2
; 022H -> 023h luu ket qua do gio thap cao ngay 2

; 030H -> 031h luu ket qua do gio thap diem ngay 3
; 032H -> 033h luu ket qua do gio thap cao ngay 3

; 040H -> 041h luu ket qua do gio thap diem ngay 4
; 042H -> 043h luu ket qua do gio thap cao ngay 4

; 050H -> 051h luu ket qua do gio thap diem ngay 5
; 052H -> 053h luu ket qua do gio thap cao ngay 5

; 060H -> 061h luu ket qua do gio thap diem ngay 6
; 062H -> 063h luu ket qua do gio thap cao ngay 6

; 070H -> 071h luu ket qua do gio thap diem ngay 7
; 072H -> 073h luu ket qua do gio thap cao ngay 7

; 080H -> 081h luu ket qua do gio thap diem ngay 8
; 082H -> 083h luu ket qua do gio thap cao ngay 8

; 090H -> 091h luu ket qua do gio thap diem ngay 9
; 092H -> 093h luu ket qua do gio thap cao ngay 9

; 100H -> 101h luu ket qua do gio thap diem ngay 10
; 102H -> 103h luu ket qua do gio thap cao ngay 10

;tu ngay 11 den ngay 20

; 110H -> 111h luu ket qua do gio thap diem ngay 11
; 112H -> 113h luu ket qua do gio thap cao ngay 11

; 120H -> 121h luu ket qua do gio thap diem ngay 12
; 122H -> 123h luu ket qua do gio thap cao ngay 12

; 130H -> 131h luu ket qua do gio thap diem ngay 13
; 132H -> 133h luu ket qua do gio thap cao ngay 13

; 140H -> 141h luu ket qua do gio thap diem ngay 14
; 142H -> 143h luu ket qua do gio thap cao ngay 14

; 150H -> 151h luu ket qua do gio thap diem ngay 15
; 152H -> 153h luu ket qua do gio thap cao ngay 15

; 160H -> 161h luu ket qua do gio thap diem ngay 16
; 162H -> 163h luu ket qua do gio thap cao ngay 16

; 170H -> 171h luu ket qua do gio thap diem ngay 17
; 172H -> 173h luu ket qua do gio thap cao ngay 17

; 180H -> 181h luu ket qua do gio thap diem ngay 18
; 182H -> 183h luu ket qua do gio thap cao ngay 18

; 190H -> 191h luu ket qua do gio thap diem ngay 19
; 192H -> 193h luu ket qua do gio thap cao ngay 19

; 200H -> 201h luu ket qua do gio thap diem ngay 20
; 202H -> 203h luu ket qua do gio thap cao ngay 20


;tu ngay 21 den ngay 30

; 210H -> 211h luu ket qua do gio thap diem ngay 21
; 212H -> 213h luu ket qua do gio thap cao ngay 21

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 9
; 220H -> 221h luu ket qua do gio thap diem ngay 22
; 222H -> 223h luu ket qua do gio thap cao ngay 22

; 230H -> 231h luu ket qua do gio thap diem ngay 23
; 232H -> 233h luu ket qua do gio thap cao ngay 23

; 240H -> 241h luu ket qua do gio thap diem ngay 24
; 242H -> 243h luu ket qua do gio thap cao ngay 24

; 250H -> 251h luu ket qua do gio thap diem ngay 25
; 252H -> 253h luu ket qua do gio thap cao ngay 25

; 260H -> 261h luu ket qua do gio thap diem ngay 26
; 262H -> 263h luu ket qua do gio thap cao ngay 26

; 270H -> 271h luu ket qua do gio thap diem ngay 27
; 272H -> 273h luu ket qua do gio thap cao ngay 27

; 280H -> 281h luu ket qua do gio thap diem ngay 28
; 282H -> 283h luu ket qua do gio thap cao ngay 28

; 290H -> 291h luu ket qua do gio thap diem ngay 29
; 292H -> 293h luu ket qua do gio thap cao ngay 29

; 300H -> 301h luu ket qua do gio thap diem ngay 30
; 302H -> 303h luu ket qua do gio thap cao ngay 30

; 310H -> 311h luu ket qua do gio thap diem ngay 31
; 312H -> 313h luu ket qua do gio thap cao ngay 31

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
org 0000h
sjmp mmain
org 0023h
ljmp ngatnhan
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtrinh chinh
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mmain: mov sp,#70h
mov ie,#10010000b ;cho phep ngat truyen du lieu
mov bienmode,#0 ;do va cho phep hien thi ket qua do

lcall khoitao_trxd ;goi chtr con khoi tao truyen du lieu giua 2 vdk
lcall khoitao_lcd ;goi chtr khoi tao LCD
lcall copydata1 ;copy du lieu hien thi 1

main3: lcall docdongho ;goi chtr con doc thoi gian
lcall giaima ;goi chtr con giai ma thong so thoi gian d hien thi
lcall hienthichung ;goi chtr con hien thi thong tin ra LCD

main: cjne gio,#2h,main1 ;kiem tra gio thap diem
cjne phut,#0h,main1 ;kiem tra gio thap diem
cjne giay,#0h,main1 ;kiem tra gio thap diem
ljmp dogio_thapdiem ;nhay den do dong gio thap diem


main1: cjne gio,#19h,main2 ;kiem tra gio cao diem
cjne phut,#00h,main2 ;kiem tra gio cao diem
cjne giay,#00h,main2 ;kiem tra gio cao diem
ljmp dogio_caodiem ;nhay den do dong gio cao diem

main2: jb pmode,main3 ;kiem tra phim mode
jnb pmode,$ ;cho buon phim
mov bienmode,#1 ;do binh thuong nhung hien thi ket qua do trong bo nho
ljmp main3 ;nhay ve lai tu dau
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
10 . + y

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

dogio_thapdiem:
mov a,ngay ;ket qua do vao a
anl a,#0f0h ;giu nguyen hang chuc ngay
swap a ;chuyen xuong 4 bit thap
mov dph,a ;chuyen sang cho dph

mov a,ngay ;ket qua do vao a
anl a,#0fh ;giu nguyen hang don vi ngay
swap a ;chuyen len 4 bit cao
mov dpl,a ;chuyen sang cho dpl

lcall docadc7109 ;goi chtr con doc du lieu so tu ADC 7109
lcall luuketquado
lcall hex_to_bcd
lcall giaima_kqdo ;goi giai ma ket qua do
ljmp main3

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
dogio_caodiem: mov a,ngay ;ket qua do vao a
anl a,#0f0h ;giu nguyen hang chuc ngay
swap a ;chuyen xuong 4 bit thap
mov dph,a ;chuyen sang cho dph

mov a,ngay ;ket qua do vao a
anl a,#0fh ;giu nguyen hang don vi ngay
swap a ;chuyen len 4 bit cao
add a,#8 ;
mov dpl,a ;chuyen sang cho dpl

lcall docadc7109 ;goi chtr con doc du lieu so tu ADC 7109
lcall luuketquado
lcall hex_to_bcd
lcall giaima_kqdo ;goi giai ma ket qua do

ljmp main3

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con doc gio phut giay
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
docdongho: mov r0,#0
movx a,@r0 ;doc giay
mov giay,a

mov r0,#2
movx a,@r0 ;doc phut
mov phut,a

mov r0,#4
movx a,@r0 ;doc gio
mov gio,a

mov r0,#7
movx a,@r0 ;doc ngay cua thang
mov ngay,a

mov r0,#8
movx a,@r0 ;doc thang
mov thang,a
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con giai ma thoi gian doc
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 11
giaima: mov a,gio
anl a,#0f0h
swap a
add a,#30h
mov 30h,a ;o nho luu tru ma hien thi hang chuc gio

mov a,gio
anl a,#0fh
add a,#30h
mov 31h,a ;o nho luu tru ma hien thi hang don vi gio

mov a,phut
anl a,#0f0h
swap a
add a,#30h
mov 33h,a ;o nho luu tru ma hien thi hang chuc phut

mov a,phut
anl a,#0fh
add a,#30h
mov 34h,a ;o nho luu tru ma hien thi hang don vi phut

mov a,giay
anl a,#0f0h
swap a
add a,#30h
mov 36h,a ;o nho luu tru ma hien thi hang chuc giay

mov a,giay
anl a,#0fh
add a,#30h
mov 37h,a ;o nho luu tru ma hien thi hang don vi giay

ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con chuyen ket qua do duoc: kqbytel, kqbyteh sang so BCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hex_to_bcd:
mov a,kqbyteh
mov b,#10
div ab
mov 18h,b ;luu hang don vi

mov b,#10
div ab
mov 19h,a ;luu hang chuc

mov a,b
swap a
orl 18h,a ;cat hang chuc vao o nho

mov r1,kqbytel
cjne r1,#0,hex1
ret

hex1: mov a,18h
add a,#56h
da a
mov 18h,a
mov a,19h
addc a,#2
da a
mov 19h,a
djnz r1,hex1
ret
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
12 . + y
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con giai ma ket qua do duoc: kqbytel, kqbyteh
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
giaima_kqdo: mov a,19h ;byte cao
anl a,#0f0h
swap a
add a,#30h
mov 48h,a

mov a,19h
anl a,#0fh
add a,#30h
mov 49h,a

mov a,18h ;byte thap
anl a,#0f0h
swap a
add a,#30h
mov 4ah,a

mov a,18h
anl a,#0fh
add a,#30h
mov 4bh,a
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con hien thi thong tin ra LCD MAC DINH KHI KHOI DONG
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
COPYDATA1: mov dptr,#fldata1 ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

fldata1: DB ' '
fldata2: DB 'DONG: '

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;lay du lieu tu bo nho chuong trinh vao bo nho ram
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
copydata: mov r0,#30h
mov r1,#0

copydatax: mov a,r1
movc a,@a + dptr ;lay data
mov @r0,a ;cat data
inc r1
inc r0
cjne r1,#33,copydatax
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;Chuong trinh con hien thi noi dung tren LCD cua2 vung nho
;30H->3Fh hang 1; 40H-> 4Fh hang 2;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthichung: MOV A,#080h ;set DDRAM
LCALL KTAO
mov r1,#16
MOV R0,#30H

fline: lcall Write
djnz r1,fline
mov a,#0c0h ;set DDRAM
LCALL KTAO

mov r1,#16
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 13
MOV R0,#40H
sline: lcall Write
djnz r1,sline
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con goi data hien thi ra LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
write: MOV byteout,@R0
Lcall data_byte
inc r0
reT
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con khoi tao LCD

;chuong trinh dieu khien LCD 16X2 tren kit vi dieu khien LOAI NHO
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
E BIT P3.5
rw BIT P3.6
rs BIT P3.7
byteout equ p2

khoitao_lcd: mov 0a2h,#0
LCALL khtaolcd ;khoi tao lcd
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con khoi tao LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
khtaolcd: setb e ;Enable
clr rs ;RS low
clr rw ;RW low

MOV a,#38h ;tu dieu khien LCD
LCALL KTAO
LCALL ddelay41 ;delay 4.1 mSec

MOV A,#38h ;function set
LCALL KTAO
LCALL ddelay100 ;delay

MOV A,#38h ;function
LCALL KTAO

MOV A,#0ch ;tu dieu khien display on
LCALL KTAO
MOV A,#01h ;tu dieu khien Clear display
LCALL KTAO

MOV A,#06h ;tu dieu khien entry mode set
LCALL KTAO

MOV A,#80h ;thiet lap dia chi LCD (set DD RAM)
LCALL KTAO
RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con khoi tao LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
KTAO: mov byteout,a
lcall command_byte
RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;Feed command/data to the LCD module
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
command_byte:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
14 . + y
clr rs ;RS low for a command byte
ljmp bdelay

data_byte: setb rs ;RS high for a data byte
bdelay: clr rw ;R/W low for a write mode
clr e
nop

setb e ;Enable pulse
nop
nop

mov byteout,#0ffh ;configure port1 to input mode

setb rw ;set RW to read
clr rs ;set RS to command
clr e ;generate enable pulse

nop
nop
setb e
lcall ddelay100
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con delay 4.1 ms
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ddelay41: mov 7eh,#90h
del412: mov 7fh,#200
djnz 7fh,$
djnz 7eh,del412
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con delay 255 microgiay
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ddelay100: mov 7fh,#00
djnz 7fh,$
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chon va doc du lieu tu 7109 thu 1
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
docadc7109: clr p3.3 ;cho phep doc
mov kqbytel,p0 ;doc byte low

mov a,#00h ;doc byte cao
mov c,p2.4
rrc a
mov c,p2.5
rrc a
mov c,p2.6
rrc a
mov c,p2.7
rrc a
mov kqbyteH,p0
ret



;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con khoi tao truyen du lieu giua 2 vdk A va B
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
khoitao_trxd: mov th1,#0fah
mov tl1,#0fah
anl tmod,#0fh
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 15
orl tmod,#20h
setb tr1
mov scon,#50h
setb ti
orl pcon,#80h
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con luu ket qua do
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
luuketquado: lcall ghibyte
inc dptr
lcall ghibyte
ret

ghibyte: ret

docbyte: ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con truyen ket qua do ve may tinh:
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ngatnhan: jnb ri,$
clr ri
mov a,sbuf
cjne a,#35h,ngatend
sjmp ngatx

ngatend: reti


;goi ngay 1 den ngay 9

ngatx: mov dptr,#010h ;dia chi bat dau

ngat2: mov 15h,#4 ;so luong byte cua 1 ngay
mov a,15h
lcall sendbyte


ngat1: lcall docbyte
lcall sendbyte
inc dptr
djnz 1h,ngat1

mov a,dpl ;chuyen dia chi byte thap vao A
anl a,#0 ;xoa 4 bit thap
swap a
inc a
swap a ;tra lai sau khi tang

mov dpl,a ;chuyen sang ngay tiep theo
cjne a,#0ah,ngat2

;goi ngay 10 den ngay 19

mov dptr,#100h ;dia chi bat dau

ngata2: mov 15h,#4 ;so luong byte cua 1 ngay
mov a,15h
lcall sendbyte


ngata1: lcall docbyte
lcall sendbyte
inc dptr
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
16 . + y
djnz 1h,ngata1

mov a,dpl ;chuyen dia chi byte thap vao A
anl a,#0 ;xoa 4 bit thap
swap a
inc a
swap a ;tra lai sau khi tang

mov dpl,a ;chuyen sang ngay tiep theo
cjne a,#0ah,ngata2

;goi ngay 20 den ngay 29

mov dptr,#200h ;dia chi bat dau

ngatb2: mov 15h,#4 ;so luong byte cua 1 ngay
mov a,15h
lcall sendbyte


ngatb1: lcall docbyte
lcall sendbyte
inc dptr
djnz 1h,ngatb1

mov a,dpl ;chuyen dia chi byte thap vao A
anl a,#0 ;xoa 4 bit thap
swap a
inc a
swap a ;tra lai sau khi tang

mov dpl,a ;chuyen sang ngay tiep theo
cjne a,#0ah,ngatb2
;goi ngay 30 den ngay 31

mov dptr,#300h ;dia chi bat dau

ngatc2: mov 15h,#4 ;so luong byte cua 1 ngay
mov a,15h
lcall sendbyte


ngatc1: lcall docbyte
lcall sendbyte
inc dptr
djnz 1h,ngata1

mov a,dpl ;chuyen dia chi byte thap vao A
anl a,#0 ;xoa 4 bit thap
swap a
inc a
swap a ;tra lai sau khi tang

mov dpl,a ;chuyen sang ngay tiep theo
cjne a,#02h,ngatc2

;goi byte 00 de bao ket thuc
mov a,#0
lcall sendbyte
reti


sendbyte: jnb ti,$
clr ti
mov sbuf,a
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 17
ret




end



B
B
A
A

I
I
T
T
H
H
I
I
E
E

T
T
K
K
E
E

S
S
O
O

2
2
:
:

T
T
H
H
I
I
E
E

T
T
K
K
E
E

H
H
E
E

T
T
H
H
O
O

N
N
G
G
K
K
I
I
E
E

M
M
T
T
R
R
A
A
I
I
C
C
S
S
O
O

.
.


A
A

T
T
V
V
A
A

N
N

E
E


Thiet ke mot he thong kiem tra IC so e biet IC o con hoat ong c hay khong, hoac
co the nhan dang ra c loai IC so neu b mat so.
G
G
I
I
A
A

I
I
Q
Q
U
U
Y
Y
E
E

T
T
V
V
A
A

N
N

E
E


' / / / /
Mot trong nhng ac tnh ien quan trong nhat cua IC so la ch co 2 mc logic 0 va 1. Mc
logic 0 tng ng vi ien ap 0 volt va mc logic 1 tng ng vi ien ap 5 volt ly tng. Vi 2
trang thai lam viec nen ta co the thc hien viec kiem tra tng oi de dang hn so vi IC tng
t.
Cac IC so c chia ra lam nhieu loai nh sau:
- Cac cong logic nh: and, or, not, nand, nor, ex-or, ex-nor, cong 3 trang thai.
- Cac flip flop: flip JK, flip flop T, Flip flop D.
- Cac IC em BCD, em nh phan, em len em xuong.
- Cac thanh ghi dch: dch noi tiep, dch song song sang noi tiep.
- Cac IC giai ma: m ng sang n ng, giai ma led 7 oan.
- Cac IC a hp, cac IC nh.
e kiem tra mot IC so xem chung co con tot hay hong va hong thanh phan nao trong mot
IC v mot IC co the chc nhieu thanh phan nh IC cong NOT th co ti 6 cong NOT.
oi vi tng IC chung ta phai xac nh cac thanh phan co trong mot IC va tien hanh kiem
tra tng thanh phan. e kiem tra tng thanh phan chung ta phai biet bang trang thai hoat ong
cua chung v du nh:
o. K|em tro coc ccng |cg|c:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
18 . + y
Cong NOT th ta cho trang thai ngo vao mc logic 0 va kiem tra trang thai logic cua ngo
ra bang 1 va tien hanh ao trang thai ngo vao la 1 va kiem tra trang thai ngo ra la 0 th cong
nay con tot. Con neu khong ung trang thai th cong nay a b hong.
Tien hanh kiem tra cac cong logic con lai theo cach thc tng ng.
Cong AND co 2 ngo vao A, B va mot ngo ra Y th ta tien hanh kiem tra theo bang trang
thai cua cong AND nh sau:
Cac bc thc hien Ngo vao A Ngo vao B Ngo ra Y
1 0 0 0
2 0 1 0
3 1 0 0
4 1 1 1
Neu ket qua kiem tra ung nh bang trang thai tren th cong AND nay con tot va tien hanh
kiem tra cac cong con lai.
Neu ket qua khong ung th cong a hong.
b. K|em tro coc |C dem:
oi vi IC em v du nh IC7490 th o la IC em BCD co 2 bo em oc lap : em 2 va
em 5 th ta phai tien hanh kiem tra nh sau:
Kiem tra trang thai CLEAR cua IC.
Kiem tra bo em 2.
Kiem tra bo em 5.
c. K|em tro coc thonh gh| d|ch:
oi vi thanh ghi dch nh 74LS164 th ta phai tien hanh kiem tra IC theo chc nang dch
chuyen d lieu bang cach tao ra d lieu va tao xung clock e dch chuyen d lieu. Trnh t kiem
tra nh sau:
Kiem tra trang thai clear cua IC.
Kiem tra trang thai dch chuyen d lieu mc 1.
Kiem tra trang thai dch chuyen mc 0.
d. K|em tro coc |C g|o| mo:
oi vi IC giai ma th ta cung tien hanh tng t:
Kiem tra trang thai test neu co cua IC.
Kiem tra trang thai giai ma cua tng trang thai ngo vao.
Noi chung chung ta phai tm hieu hoat ong cua tng IC va kiem tra IC con tot hay a
hong theo chc nang hoat ong cua chung.
./ \/ \ /
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 19
Phan nay se trnh bay cach thiet ke mach ien e kiem tra IC so ay chnh la van e cot
loi cua yeu cau thiet ke. Trc khi tien hanh thiet ke chung ta phai at ra cac yeu cau cua
mach:
Mach kiem tra IC khong c lam hong IC trong qua trnh kiem tra.
Mach phai kiem tra c nhieu loai IC tren cung mot e cai chung.
Phai am bao kiem tra chnh xac.
e tien hanh thc hien viec thiet ke mach kiem tra cac IC tren cung mot e cai chung
chung ta phai tm hieu ac tnh ien vao ra cua tng chan IC.
Cac IC so c tch hp theo chc nang va so lng chan IC tuy thuoc vao tng IC nh
chung c phan ra lam nhieu loai nh sau:
IC so 14 chan.
IC so 16 chan.
IC so 18 chan.
IC so 20 chan.
IC so 24 chan.
IC so 28 chan.
Mot trong cac van e kho khan nhat la cac IC vi cac ngo vao ra la tuy y: oi vi IC nay
th 1 so chan la ngo vao nh oi vi IC khac th lai la ngo ra. Nen mach ien kiem tra phai
c thiet ke ay u vi nhieu chc nang: mot chan tn hieu cua e cai co the la ngo xuat tn
hieu, la ngo nhan tn hieu, la mass, la nguon cung cap 5volt.
Cac ngo tn hieu phai mc logic 0 khi gan IC vao kiem tra va luc lay IC ra khoi mach e
am bao khong lam hong IC.
T cac yeu cau thiet ke tren ta tien hanh xay dng s o khoi cua mach nh sau:

H|nh -3. 5c dc khc| cuo he thcng.
Mach ieu khien thc hien qua trnh kiem tra s dung vi ieu khien.
Khoi chuyen mach e cung cap tn hieu cho IC so s dung transistor.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
20 . + y
Khoi hien th cho biet ket qua kiem tra, v co the co nhieu thong tin nen ngi thiet ke s
dung LCD e hien th ket qua kiem tra.
Khoi nhan lenh s dung ban phm e nhap vao cac thong tin can thiet cho viec kiem tra v
du nh can kiem tra IC so cong nand 74LS00 th hay nhap vao cac thong tin e he thong biet IC
ang kiem tra la cong NAND. V co nhieu IC nen phai xay dng mot bang ma qui nh hay mot
danh sach la chon.
Khoi nguon cung cap ch can tao ra nguon 5 volt e cung cap nang lc cho toan mach
hoat ong.
T s o khoi ta tien hanh thiet ke s o nguyen ly cho he thong.
Mach ieu khien s dung 89S52 hoac 89S8252 co bo nh noi 8kbyte e lu tr chng
trnh. Vi ieu khien co 4 port xuat nhap 8 bit tong cong 32 ng, trong khi o moi mot ngo tn
hieu co the ket noi vi mass, noi Vcc, hoac lam ng tn hieu. Khi o s o cho mot ng tn
hieu phai s dung 3 tn hieu ieu khien gom:
- Mot ng ieu khien transistor pnp e ong nguon 5V cho mach.
- Mot ng ieu khien transistor npn e ong mass 0V cho mach.
- Mot ng ieu khien nhan tn hieu hoac xuat tn hieu logic.
S o mach cua mot chan tn hieu nh hnh 2.


H|nh -4. 5c dc d|eu kh|en chon cu o |C.
T s o mach cua mot ng tn hieu th ta co the tnh c:
Neu ket noi e kiem tra IC so 14 chan th so ng tn hieu can thiet la 42 ng.
Neu ket noi e kiem tra IC so 16 chan th so ng tn hieu can thiet la 48 ng.
Neu ket noi e kiem tra IC so 18 chan th so ng tn hieu can thiet la 54 ng.
Neu ket noi e kiem tra IC so 20 chan th so ng tn hieu can thiet la 60 ng.
e n gian th ta gii han lai yeu cau va ch kiem tra IC so cho 2 loai 14 chan en 16
chan va so ng tn hieu can thiet toi a la 48 ng. e them cac ng tn hieu ieu khien ta
co the thc hien bang nhieu cach va trong e tai nay ta chon cach m rong la s dung IC chot
74573. Viec ket noi nay se lam mat het 12 ng ieu khien nhng ta co them c 32 ngo ra.
So lng ng ieu khien con lai cua vi ieu khien la 20 ng ta se s dung 16 ng
e lam cac ng ieu khien IO, nh vay con lai 4 ng khong u e ket noi vi ban phm va
LCD nen ngi nghien cu s dung them 1 vi ieu khien th 2 co chc nang ket noi vi LCD va
ban phm va ket noi vi vi ieu khien th nhat qua truyen d lieu noi tiep.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 21
Vi ieu khien th 2 co nhiem vu nhan tn hieu ieu khien t ban phm va ra lenh cho vi
ieu khien th nhat tien hanh kiem tra va sau khi kiem tra xong th phai gi lai ket qua kiem tra
cho vi ieu khien th 2 e hien th tra ng thai kiem tra tren man hnh.
S o nguyen ly mach nh hnh 3a, 3b, 3c.
Trnh t thc hien kiem tra IC do ngi nghien cu e ra nh sau:
Bc 1: gan IC vao socket cho ung chieu qui nh.
Bc 2: tien hanh nhap ma cua IC v du nh kiem tra IC 7400 ta tien hanh nhap cac so
7400 roi nhan phm test.
Bc 3: vi ieu khien 2 se truyen yeu cau thong tin en vi ieu khien 1 va ch nhan tn
hieu tra li.
Bc 5: vi ieu khien 1 tien hanh kiem tra va gi ket qua kiem tra tr lai vi ieu khien 2.
Bc 6: vi ieu khien 2 nhan thong tin ket qua tra li va hien th tren LCD.
Bc 7: qua trnh kiem tra ket thuc.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
22 . + y


H|nh -5o. 5c dc ket nc| v| d|eu kh|en vc | |C chct.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 23


H|nh -5b. 5c dc ket nc| coc ducng t|n h|eu d|eu kh|en vc | sccket 8 chon .

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
24 . + y

H|nh -5c. 5c dc ket nc| v| d|eu kh|en 2 vc | LCD vo bon ph|m mo tron.

/ \ \
Sau khi a thiet ke xong cac he thong ieu khien va he thong m rong ta tien hanh viet
cac chng trnh cho cac he thong.
Vi trnh t thc hien tren ta tien hanh viet lu o cho 2 he thong vi ieu khien 1 va 2.
Lu o va chng trnh cho vi ieu khien 1:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 25


Lu o va chng trnh cho vi ieu khien 2:

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
26 . + y



Da vao lu o ieu khien ta tien hanh viet chng trnh cho tng he thong.

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh test IC so
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh viet cho vi dieu khien he thong 2:
enter equ 0ah ;dinh nghia ma phim enter
ptang equ 0bh ;dinh nghia ma phim tang
pgiam equ 0ch ;dinh nghia ma phim giam
pclear equ 0dh ;dinh nghia ma phim xoa

pkey equ p0 ;ket noi voi ma tran phim nhan
;ma bat tay goi di la AAH, ma bat tay nhan ve la BBh
;ma bat tay goi di la C0H la bao IC tot
;ma qui dinh goi di la d0H la bao IC xau
;ma qui dinh goi di la CFH la bao he thong 1 chua xay dung phan kiem tra IC
pcon equ 87h
;cac vung nho se su dung de luu thong tin

; 20h,21h,22h de luu ma cua IC = 740xxx
; 23h luu ma so cao de truyen di

; 30h -> 3fh de luu thong tin cho LCD hang thu 1
; 40h -> 4fh de luu thong tin cho LCD hang thu 2
org 0000h

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 27
mov sp,#50h

mov 22h,#00h ;mac nhien la khi khoi dong
mov 21h,#00h ;mac nhien la khi khoi dong
mov 20h,#074h ;mac nhien la khi khoi dong la 74

lcall khoitao_trxd ;goi chtr con khoi tao truyen du lieu giua 2 vdk
lcall khoitao_lcd ;goi chtr khoi tao LCD
lcall hienthi_lcd ;goi chtr con hien thi thong tin ra LCD

main1a: lcall quetphim ;goi chtr con quet phim
cjne a,#0ffh,main3 ;co phim nhan thi nhay
sjmp main1a ;neu khong co phim nhan thi tiep tuc
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

main3: lcall hienthi_lcd_key ;goi chtr con hien thi nhan ma so IC

main1: lcall quetphim ;goi chtr con quet phim
cjne a,#0ffh,main3a ;co phim nhan thi nhay
sjmp main1 ;neu khong co phim nhan thi tiep tuc

main3a: cjne a,#10,main4 ;kiem tra phim so
main4: jnc main5 ;cac phim chuc nagn con lai
ljmp xuly_phimso ;nhay den chtr xu ly phim so

main5: cjne a,#enter,main2 ;kiem tra phim enter
lcall hienthi_test
ljmp xuly_enter ;nhay den chtr xu ly phim enter

main2: cjne a,#pclear,main3 ;kiem tra phim clear
ljmp xuly_clear ;nhay den chtr xu ly phim clear

ljmp main1 ;nhay den chtr xu ly

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;xu ly cac phim so luu tru vao 2 o nho 21h (byte H) va 22h (byte L)
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xuly_phimso: push acc ;cat tam noi dung A

mov a,22h
swap a ;
mov 22h,a ;ket qua tu ZVH thanh VZH

clr a ;
mov r0,#22h
xchd a,@r0 ;ket qua (A) = YZH
mov 21h,a ;ket qua (A) = YZH vao o nho 21h

pop acc ;lay lai A
orl 22h,a ;ket qua (22H)=VW: bon 4 thap moi vua vao

xuly_pso1: lcall giaima ;goi chtr con giai ma
lcall hienthichung
ljmp main1 ;tro ve chtr chinh

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con giai ma
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
giaima: mov a,21h
anl a,#0fh
add a,#30h
mov 4dh,a

mov a,22h
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
28 . + y
anl a,#0f0h
swap a
add a,#30h
mov 4eh,a

mov a,22h
anl a,#0fh
add a,#30h
mov 4fh,a
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;xu ly phim clear bang cach xoa 2 o nho 21h (byte H) va 22h (byte L) ve 00
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xuly_clear: mov 21h,#00h ;xoa cac thong tin ve 00
mov 22h,#00h
ljmp xuly_pso1

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;xu ly phim enter bang cach goi noi dung 2 o nho 21h (byte H) va
;22h (byte L) sang vdk 1
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xuly_enter: mov a,21h ;chuyen byte
mov dptr,#1000h ;nap dia chi 1000h
movc a,@a+dptr ;
cjne a,#0ffh,xuly_en1

lcall hienthi_tbao1 ;hien thi thong bao chua cai dat IC
ljmp main1a ;nhay ve chuong trinh chinh

xuly_en1: lcall truyenma ;goi chtr truyen ma kiem tra ic di
ljmp main1a ;tro ve sau khi xu ly xong

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con khoi tao truyen du lieu giua 2 vdk A va B
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
khoitao_trxd: mov th1,#0fah
mov tl1,#0fah
anl tmod,#0fh
orl tmod,#20h
setb tr1
mov scon,#50h
setb ti
orl pcon,#80h
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi chtr truyen ma kiem tra ic di: goi ma bat tay la AAH, ma nhan ve la BB
; goi ma IC, cho nhan tin hieu tra loi- hien thi ket qua va thoat
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
truyenma: jnb ti,$ ;kiem tra co truyen
clr ti
mov sbuf,#0aah ;goi ma bat tay di

mov 7eh,#0 ;kiem tra co truyen co delay de
truyenma3: mov 7fh,#0 ;thoat khi he thong khong bat tay
truyenma2: jb ri,truyenma1
djnz 7fh,truyenma2
djnz 7eh,truyenma3
lcall hienthi_tbao2 ;goi thong bao chua bat tay ht 1
ret

truyenma1: clr ri
mov a,sbuf ;nhan byte bat tay
cjne a,#0bbh,truyenma4
sjmp truyenma5
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 29

truyenma4: lcall hienthi_tbao3 ;goi thg bao bat tay khong dung
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi ma test cua IC den ht 1
truyenma5: lcall hienthi_tbao4 ;goi thong bao bat tay tot

jnb ti,$
clr ti
mov a,21h
mov sbuf,a ;truyen byte ma cao

jnb ti,$
clr ti
mov a,22h ;truyen byte ma thap
mov sbuf,a
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;cho nhan ket qua
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mov 7dh,#0 ;kiem tra co truyen co delay de
truyenmaa: mov 7eh,#0 ;kiem tra co truyen co delay de
truyenma6: mov 7fh,#0 ;thoat khi he thong khong bat tay
truyenma7: jb ri,truyenma8
djnz 7fh,truyenma7
djnz 7eh,truyenma6
djnz 7dh,truyenmaa

lcall hienthi_tbao5 ;goi thong bao khong co ket qua hoi am
ret


;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;cho nhan ket qua
;ma bat tay goi di la C0H la bao IC tot
;ma bat tay goi di la d0H la bao IC xau
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

truyenma8: clr ri
mov a,sbuf
cjne a,#0c0h,truyenma9
lcall hienthi_tbao6 ;goi thong bao IC tot
ret

truyenma9: cjne a,#0d0h,truyenma10
lcall hienthi_tbao7 ;goi thong bao IC hong
ret

truyenma10: cjne a,#0cfh,truyenma11
truyenma11: lcall hienthi_tbao1 ;hien thi thong bao chua cai dat IC ben ht1
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con kiem tra phim nhan: p0 ket noi voi ma tran 16 phim
;10 phim so co ma tu 00 den 09 va sau phim chuc nang co ma tu 0ah den 0fh:
;co phim nhan thi ma dung voi qui dinh - neu khong co thi A = FFH
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
quetphim:
keypres: mov r3,#10 ;nhap so dem 10 lan
keypres1: lcall KEY ;Neu co phim an thi co c=1
jc pn1 ;kiem tra tiep neu c = 1
ret ;Neu khong co phim nhan thi co c=0

pn1: djnz r3,keypres1 ;Quay ve lap lai chong nay
push acc ;Cat noi dung ma phim trong A

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
30 . + y
keypres2: mov r3,#50 ;Nhap so dem 10 lan cho nha phim
keypres3: lcall key ;Co phim nhan hay khong
jc keypres2 ;Co thi kiem tra lai
djnz r3,keypres3 ;Khong thi lap lai 50 lan va dam bao
pop acc ;Khoi phuc lai gia tri cho A
ret ;ket thuc mot chuong trinh con
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;Chuong trinh con quet phim
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
key: mov r7,#0feh ;bat dau voi cot so 0(feh)
mov r6,#4 ;Su dung r6 lam bo dem
mov r5,#00

key1: mov pkey,r7 ;xuat ma quet ra cot
mov a,pkey ;Doc lai port1 de xu ly tiep theo
anl a,#0f0h ;xoa 4 bit thap la hang
cjne a,#0f0h,key2 ;co nhan fim thi nhay

mov a,r7
rl a ;xoay de chuyen den cot ke tiep
mov r7,a

mov a,r5 ;chuyen ma fim sang cot ke
add a,#4
mov r5,a

djnz r6,key1 ;Neu nhu sau moi lan 1 cot ma khong

clr c ;clr c neu nhu khong co phim duoc an
mov a,#0ffh ;thoat voi ma trong a = FFh
ret

key2: swap a
key4: rrc a ;xoay sang phai tim bit 0
jnc key3 ;nhay neu (c)=0
inc r5 ;tang ma fim len cot ke
sjmp key4 ;tiep tuc cho den khi duoc (C)=0

key3: mov a,r5
setb c
ret


;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi chtr con hien thi nhap ma so IC
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_lcd_key: mov dptr,#tbaoA1_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi chtr con hien thi dang test so IC
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_test: mov dptr,#tbaob1_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con hien thi thong tin ra LCD MAC DINH KHI KHOI DONG
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_lcd: mov dptr,#tbao01_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 31

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;hien thi thong bao chua cai dat IC
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_tbao1: mov dptr,#tbao11_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;hien thi thong bao khong bat tay he thong 1
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_tbao2: mov dptr,#tbao21_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi thg bao bat tay khong dung
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_tbao3: mov dptr,#tbao31_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret


;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi thong bao bat tay tot
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_tbao4: mov dptr,#tbao41_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi thong bao khong co ket qua hoi am
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_tbao5: mov dptr,#tbao51_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi thong bao IC tot
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_tbao6: mov dptr,#tbao61_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;goi thong bao IC hong
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthi_tbao7: mov dptr,#tbao71_DATA ;nap dia chi bat dau
lcall copydata ;goi ch tr con copy 32 byte
lcall hienthichung
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;lay du lieu tu bo nho chuong trinh vao bo nho ram
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

copydata: mov r0,#30h
mov r1,#0

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
32 . + y
copydata1: mov a,r1
movc a,@a + dptr ;lay data
mov @r0,a ;cat data
inc r1
inc r0
cjne r1,#33,copydata1
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;Chuong trinh con hien thi noi dung tren LCD cua2 vung nho
;30H->3Fh hang 1; 40H-> 4Fh hang 2;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hienthichung: MOV A,#080h ;set DDRAM
LCALL KTAO
mov r1,#16
MOV R0,#30H

fline: lcall Write
djnz r1,fline

mov a,#0c0h ;set DDRAM
LCALL KTAO

mov r1,#16
MOV R0,#40H

sline: lcall Write
djnz r1,sline

ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con goi data hien thi ra LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
write: MOV byteout,@R0
Lcall data_byte
inc r0
ret


;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con khoi tao LCD

;chuong trinh dieu khien LCD 16X2 tren kit vi dieu khien LOAI NHO
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
E BIT P3.5
rw BIT P3.6
rs BIT P3.7
byteout equ p2


khoitao_lcd: mov 0a2h,#0
LCALL khtaolcd ;khoi tao lcd
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chtr con khoi tao LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
khtaolcd: setb e ;Enable
clr rs ;RS low
clr rw ;RW low

MOV a,#38h ;tu dieu khien LCD
LCALL KTAO
LCALL ddelay41 ;delay 4.1 mSec

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 33
MOV A,#38h ;function set
LCALL KTAO
LCALL ddelay100 ;delay

MOV A,#38h ;function
LCALL KTAO

MOV A,#0ch ;tu dieu khien display on
LCALL KTAO
MOV A,#01h ;tu dieu khien Clear display
LCALL KTAO

MOV A,#06h ;tu dieu khien entry mode set
LCALL KTAO

MOV A,#80h ;thiet lap dia chi LCD (set DD RAM)
LCALL KTAO
RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con khoi tao LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
KTAO: mov byteout,a
lcall command_byte
RET

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;Feed command/data to the LCD module
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
command_byte:
clr rs ;RS low for a command byte
ljmp bdelay

data_byte: setb rs ;RS high for a data byte
bdelay: clr rw ;R/W low for a write mode
clr e
nop

setb e ;Enable pulse
nop
nop

mov byteout,#0ffh ;configure port1 to input mode

setb rw ;set RW to read
clr rs ;set RS to command
clr e ;generate enable pulse

nop
nop
setb e
lcall ddelay100
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con delay 4.1 ms
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ddelay41: mov 7eh,#90h
del412: mov 7fh,#200
djnz 7fh,$
djnz 7eh,del412
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;chuong trinh con delay 255 microgiay
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
34 . + y
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ddelay100: mov 7fh,#00
djnz 7fh,$
ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
; Data bytes
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
FLINE_DATA: DB 'NGUYEN DINH PHU ';,099h
SLINE_DATA: DB 'DAI HOC SPKT HCM';,099h

tbaoa1_DATA: DB 'HAY NHAP MA 3 SO';,099h
tbaoa2_DATA: DB 'CUOI 74XXX';,099h

tbaob1_DATA: DB 'TESTING IC - YOU';,099h
tbaob2_DATA: DB 'GIVE ME CIGARETT';,099h

tbao01_DATA: DB 'BO TEST IC 74XXX';,099h
tbao02_DATA: DB 'DESIGN BY MR PHU';,099h


tbao11_DATA: DB 'IC NAY CHUA CAI ';,099h
tbao12_DATA: DB 'TRONG HE THONG ';,099h

tbao21_DATA: DB 'HE THONG 2 KHONG';,099h
tbao22_DATA: DB 'BAT TAY HETHONG1';,099h

tbao31_DATA: DB 'MA BAT TAY TRA ';,099h
tbao32_DATA: DB 'KHONG DUNG -*** ';,099h

tbao41_DATA: DB 'HE THONG BAT TAY';,099h
tbao42_DATA: DB 'TOT - TIEP TUC ';,099h

tbao51_DATA: DB 'KHONG CO KET QUA';,099h
tbao52_DATA: DB 'TRA LOI -HT2 LOI';,099h

tbao61_DATA: DB 'IC NAY CON TOT ';,099h
tbao62_DATA: DB 'GOODBYE GOODLUCK';,099h

tbao71_DATA: DB 'IC NAY DA HONG ';,099h
tbao72_DATA: DB 'MONEY-MONEY -BAD';,099h

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;vung nho luu tru 2 so hang tram va hang ngan cua IC so
;khi them IC vao thi vung nho nay phai cap nhat
;hien tai chi xu ly cac IC so ho 7400 den 74199
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
org 1000h
db 00h,01h


end

8A| 1AP:
Bai So 1: Hay oc datasheet cua bo nh ho 27Cxx va thiet ke mach nap chng trnh cho bo
loai 27C64 va sau o m rong thiet ke cho ca ho t 27C16 en ho 27C512.
Bai So 2: Hay oc datasheet cua bo nh ho 27Cxx va thiet ke mach nap chng trnh cho bo
loai 27C64 va sau o m rong thiet ke cho ca ho t 27C16 en ho 27C512.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
. + y 35
Bai So 3: Hay oc datasheet cua vi ieu khien 89C51 va thiet ke mach nap chng trnh cho vi
ieu khien.
Bai So 4: Hay oc datasheet cua vi ieu khien 89S51 va thiet ke mach nap chng trnh cho vi
ieu khien dang noi tiep.



return




































Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ ' + - : - ~ + + . + . + . - . + - + .y- + ++ +.
36 . + y



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M

Chucng 2
V| |EU KH|EN P|C 6F877A

10NC QUAN VE V| |EU KH|EN P|C
M01 50 AC 1NH CUA V| |EU KH|EN P|C
V| |EU KH|EN P|C 6F877A
3 / . '`77/
C|c | th|e u
5c dc khc|
5c dc chon vo chu c no ng coc cho n

Co u truc bc nhc chucng tr|nh
Co u truc bc nhc du ||eu
F||e thonh gh| ket quo tcng quot
Co c thonh gh| cc chu c nong do c b|et
Pho n trong bc nhc chucng tr|nh
Co c thonh gh| d|o ch| g|on t|e p, thonh gh| |NDF vo F5k
\ ./ 3 /
1honh gh| EEADk vo EEADkH
1honh gh| EEC0N vo EEC0N2
cc du ||e u tu bc nhc EEPk0M
Ch| du ||e u vo c bc nhc EEPk0M
cc du ||e u tu bc nhc chucng tr|nh F|osh
Ch| du ||e u vo c bc nhc chucng tr|nh F|osh
8o c ve chcng gh| nhom
Hcot dcng trcng |uc bo c ve chc ng gh|
/ // / )
P0k1A vo thonh gh| 1k|5A
P0k18 vo thonh gh| 1k|58
P0k1C vo thonh gh| 1k|5C
P0k1D vo thonh gh| 1k|5D
P0k1E vo thonh gh| 1k|5E
, \
Ngot cu o 1|mer0
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
36 . + y
1|mer0 vc| nguc n xung dem tu ben ngco|
8c ch|o trucc
, \'
Hcot dcng cu o 1|mer c che dc d|nh thc|
Hcot dcng cu o 1|mer c che dc Ccunter
Hcot dcng cu o 1|mer c che dc Ccunter dcng bc
Hcot dcng cu o 1|mer c che dc Ccunter bot dcng bc
cc vo gh| 1|mer trcng che dc dem khcng dc ng bc
8c doc dc ng cu o 1|mer
keset 1|mer su du ng ngc ro CCP 1r|gger
keset co p thonh gh| 1MkH, 1MkL cu o 1|mer
, \
8c ch|o trucc vo pcstsco|er cu o 1|mer2
Ngc ro cu o 1Mk2
3 /3 /
Ngc ro cu o 1Mk2
Co c yeu cou nhon du ||e u ADC
Lu o chcn xung c|cck chc ADC
|nh cou h|nh chc co c ngc voc tucng tu cu o ADC
Chuye n dc| ADC
Co c thonh gh| |uu ket quo cu o ADC
Hcot dcng chuye n dc | ADC trcng che dc 5|eep
Anh hucng cuo reset
/
Hcot dcng sc so nh
|e n o p sc sonh
1hc| g|on do p ung
Ngc ro bc sc sonh
Ngot cu o bc sc sonh
Hcot dcng cu o bc sc so nh c che dc 5|eep
Anh hucng cuo reset
Ke t nc| coc ngc vo c tucng tu
/ / / /
/ / 3
Co c |co| moch doc dcng
Doc dcng tho ch onh/tu Cerom|c
8c doc dc ng kC
\/
keset MCLR
keset kh| mc| co p d|en POR
1|mer reset kh| mc| co p d|en (PWk1[
8c doc dc ng 5tort-up (051[
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
37 . + y
keset 8rcwn-cut (80k[
1r|nh tu thc | g|on
1honh gh| trong tho |/thonh gh| ccng suot
/ 3 3/
Ngot ngco | |N1
Ngot 1Mk0
Ngot P0k18 thoy dc|
Luu du ||eu kh| xo y ro ngot
/ 3 / N/3 \ N
/ 3 / 3
onh thuc cpu khc| che dc ngu
onh thuc cpu du ng co c ngot
\/ 3
\ / 3 / / . / 3 \/
\/ / / 3
/ / / \/ 3 +. : -~ ~ +)
/ / / 3 )
3 3/ 3/ \/ ./ '`77/
Mo ch no p P|C tru c t|e p tu ccng C0M
Mo ch no p P|C g|on t|e p tu cc ng C0M quo |c mox232
Mo ch no p P|C quo ccng LP1
8ong vo h|nh:
8o ng 2-. Coc v| d|e u kh|e n hc P|C6F87X.
8o ng 2-2. 1cm to t do c d|em P|C6F877A
8o ng 2-3. Lu o chc n bonk thonh gh|.
8o ng 2-4. 1cm to t coc thonh gh| do c b|e t.
8o ng 2-5. 1cm to t coc thonh gh| do c b|e t.
8o ng 2-6. 1cm to t coc thonh gh| do c b|e t.
8o ng 2-7. Coc b|t |u o chc n he sc ch|o trucc.
8o ng 2-8. Coc thonh gh| su du ng chc bc nhc EEPk0M.
8o ng 2-. Coc chuc nong cu o P0k1A.
8o ng 2-0. 1cm tot co c thonh gh| ||e n ke t vc| P0k1A.
8o ng 2-. Co c chuc no ng cu o P0k18.
8o ng 2-2. Coc thonh gh| ke t nc| vc | P0k18.
8o ng 2-3. Coc thonh gh| ke t nc| vc | P0k18.
8o ng 2-4. Coc chuc no ng cu o P0k1C.
8o ng 2-5. Coc thonh gh| ke t nc| vc | P0k1D.
8o ng 2-6. Coc chuc no ng cu o P0k1D.
8o ng 2-7. Co c thonh gh| ke t nc| vc | P0k1E.
8o ng 2-8. Coc chuc no ng cu o P0k1E.
8o ng 2-. Coc b|t |u o chc n t| |e bc ch|o truc c.
8o ng 2-20. Lu o chc n tu chc bc doc dcng.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
38 . + y
8o ng 2-2. Coc thonh gh| cu o 1|mer.
8o ng 2-22. Coc thonh gh| cu o 1|mer2.
8o ng 2-23. Coc b|t |u o chcn xung chuyen dc| ADC.
8o ng 2-24. Coc b|t d|e u kh|e n ADC.
8o ng 2-25. Coc b|t |u o chcn xung chuyen dc| ADC.
8o ng 2-26. Coc thonh gh| du ng chc chuye n dc | ADC.
8o ng 2-27. Coc thonh gh| du ng chc bc sc so nh.
8o ng 2-28. Coc thonh gh| du ng chc bc toc d|e n o p chuo n.
8o ng 2-2. Chcn coc tho ch onh vo tu .
8o ng 2-30. Chcn coc tho ch onh vo tu .
8o ng 2-3. Chc n coc tho ch onh vo tu .
8o ng 2-32. C|o tr| cu o co c thonh gh| kh| b| reset.
8o ng 2-33. C|o tr| cu o co c thonh gh| kh| b| reset (t|e p tuc[.
8o ng 2-34. Coc thonh gh| cu o WD1.
8o ng 2-35. Coc to| nguyen cu o mo ch gc rc|.
H|nh 2-. 5c dc cho n hc P|C6F87XA.
H|nh 2-2. 5c dc khc| P|C6F87XA.
H|nh 2-3. 5c dc cho n
H|nh 2-4. 5c dc bc nhc chucng tr|nh vo ngon xe p.
H|nh 2-5. 5c dc F||e thonh gh|.
H|nh 2-6. Coc truc ng hc p no p g|o tr| chc PC.
H|nh 2-7. |o ch| truc t|e p/g|on t|e p.
H|nh 2-8. Ch| du ||eu khc| voc bc nhc chucng tr|nh f|osh.
H|nh 2-. 5c dc mo ch cho n kA3:kA0.
H|nh 2-0. 5c dc moch cho n kA4/10CK|.
H|nh 2-. 5c dc moch chon kA5.
H|nh 2-2. 5c dc moch coc chon k83:k80.
H|nh 2-3. 5c dc moch coc chon k87:k84.
H|nh 2-4. 5c dc moch coc chon kC7:k85 vo kC2:k80.
H|nh 2-5. 5c dc moch coc chon kC4:k83.
H|nh 2-6. 5c dc moch coc chon P0k1D.
H|nh 2-7. 5c dc moch coc chon P0k1E.
H|nh 2-8. 5c dc khc| cu o t|mer0 vo bc ch|o trucc vc| WD1.
H|nh 2-. C|on dc thc | g|on xung dem cu o Ccunter.
H|nh 2-20. 5c dc khc| cu o 1|mer.
H|nh 2-2. 5c dc khc| cu o 1|mer2.
H|nh 2-22. 5c dc khc| cu o 1|mer2.
H|nh 2-23. 5c dc mo ch cu o ngc vo c ADC.
H|nh 2-24. Chu ky chuyen dc | ADC.
H|nh 2-25. Co p thonh gh| ket quo h|e u ch|nh pho | vo tro|.
H|nh 2-26. Coc k|e u hcot dc ng cu o bc sc sonh.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
39 . + y
H|nh 2-27. Co c k|eu hco t dc ng cu o bc sc sonh.
H|nh 2-28. 5c dc mo ch cu o bc sc so nh.
H|nh 2-2. 5c dc mo ch ngc vo c tucng tu.
H|nh 2-30. 5c dc khc| moch toc d|en o p chuo n chc bc sc so nh.
H|nh 2-3. Doc dcng du ng thoch onh/tu ccng huc ng co u h|nh X1, LP hco c H5.
H|nh 2-32. Ngc voc nho n xung tu ben ngco| cou h|nh X1, LP hcoc H5.
H|nh 2-33. 8c doc dcng kC.
H|nh 2-34. 5c dc mo ch reset trcng ch|p.
H|nh 2-34. Mo ch reset.
H|nh 2-35. 1r|nh tu thc| g|on kh| reset P0k cc nc | MCLR .
H|nh 2-36. 1r|nh tu thc| g|on kh| reset P0k khc ng nc | MCLR .
H|nh 2-37. 1r|nh tu thc | g|on kh| reset P0k khcng nc | MCLR .
H|nh 2-38. 5c dc |cg|c cu o coc ngot.
H|nh 2-3. 5c dc khc| cu o WD1.
H|nh 2-40. o nh thuc cpu bong coch du ng ngot.
H|nh 2-4. Coc ducng g|oc t|e p vc| mo ch no p nc | t|e p.
H|nh 2-42. 5c dc nguyen |y moch no p truc t|e p tu cc ng C0M.
H|nh 2-43. Coc ducng g|oc t|e p vc| moch no p nc| t|e p quo |C chuye n dc|.
H|nh 2-44. 5c dc nguyen |y moch no p nc| t|e p tu cc ng C0M quo |C chuyen dc |.
H|nh 2-45. 5c dc nguyen |y moch no p du ng ccng LP1.




Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
40 . + y

|. 10NC QUAN VE V| |EU KH|E N P|C
PIC la mot ho vi ieu khien RISC c san xua t b i cong ty Microchip Technology. The he
PIC au tien la PIC1650 c pha t trien bi Microelectronics Division thuo c General Instrument.
PIC la vie t ta t cua "Programmable Intelligent Computer" la mo t san pham cua hang General
Instruments a t cho dong san pham au tien la PIC1650. Ta i thi iem o PIC1650 c dung e
giao tiep v i cac thiet b ngoai vi cho ma y chu 16 bit CP1600, v vay, ngi ta cung go i PIC v i ca i
ten "Peripheral Interface Controller" bo ieu khie n giao tie p ngoa i vi.
CP1600 la mot CPU manh nhng la i yeu ve ca c hoat ong xua t nhap v vay PIC 8-bit c
pha t trien vao khoang nam 1975 e ho tr cho hoat ong xua t nhap cu a CP1600.
PIC ROM e cha ma, ma c du khai niem RISC cha c s dung th i bay gi, nhng PIC
th c s la mo t vi ie u khien v i kien tru c RISC, chay mot le nh v i mot chu ky ma y gom 4 chu ky
cu a bo dao ong.
Nam 1985 General Instruments ban cong nghe cac vi ien t cua ho, va chu s hu m i huy
bo hau he t cac d an - lu c o a qua lo i th i. Tuy nhie n PIC c bo sung EEPROM e tao thanh 1
bo ieu khie n vao ra lap trnh.
Nga y nay ra t nhieu dong PIC c xua t xng v i hang loa t ca c module ngoa i vi tch hp
san (nh USART, PWM, ADC...), v i bo nh chng trnh t 512 Word en 32K Word.
||. M01 50 AC 1NH CUA V| |EU KH|EN P|C
Hie n nay co kha nhieu dong PIC va co rat nhieu khac bie t ve phan c ng, nhng chung ta co
the iem qua mot va i net nh sau:
La CPU 8/16 bit, xay dng theo kien truc Harvard co s a o i.
Co bo nh Flash va ROM co the tuy chon t 256 byte en 256 Kbyte .
Co ca c cong xuat nhap (I/O ports).
Co timer 8/16 bit.
Co ca c chuan giao tie p no i tiep o ng bo /khong ong bo USART.
Co ca c bo chuyen o i ADC 10/12 bit.
Co ca c bo so sanh ien ap (Voltage Comparators).
Co ca c kho i Capture/Compare/PWM.
Co ho tr giao tiep LCD.
Co MSSP Peripheral dung cho ca c giao tiep IC, SPI, va IS.
Co bo nh no i EEPROM - co the ghi/xoa len t i 1 trie u lan.
Co kho i ie u khien ong c, o c encoder.
Co ho tr giao tiep USB.
Co ho tr ie u khien Ethernet.
Co ho tr giao tiep CAN.
a c iem th c thi to c o cao CPU RISC cu a ho vi ieu khien PIC16F87XA la :
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
41 . + y
Ch gom 35 lenh n.
Tat ca ca c lenh la 1 chu k ngoa i tr chng trnh con la 2 chu k.
To c o hoat ong:
* DC- 20MHz ngo vao xung clock.
* DC- 200ns chu k lenh.
Dung l ng cu a bo nh chng trnh Flash la 8K14words.
Dung l ng cu a bo nh d lieu RAM la 3688bytes.
Dung l ng cu a bo nh d lieu EEPROM la 2568 bytes.
a. Cac ac tnh ngoa i vi
Timer0: la bo nh th i timer/counter 8 bit co bo chia tr c.
Timer1: la bo nh th i timer/counter 16 bit co bo chia trc, co the em khi CPU
ang trong che o ngu v i nguon xung t tu thach anh hoa c nguon xung be n ngoa i.
Timer2: bo nh th i timer/counter 8 bit v i thanh ghi 8-bit, chia trc va postscaler.
Hai khoi Capture, Compare, PWM.
Capture co o rong 16-bit, o pha n gia i 12.5ns
Compare co o rong 16-bit, o phan gia i 200ns
o phan gia i ln nha t cua PWM la 10-bit.
b. Cac ac tnh ve tng t
Co 8 kenh chuyen oi tn hieu tng t tha nh tn hieu so ADC 10-bit.
Co reset BOR (Brown- Out Reset).
Kho i so sanh ie n ap tng t :
Hai bo so sa nh tng t.
Kho i tao ien ap chuan V
REF
tch hp ben trong co the la p trnh.
a hp ngo va o lap trnh t ngo vao cu a CPU vi ien ap chuan be n trong.
Ca c ngo ra cu a bo so sa nh co the truy xuat t ben ngoa i.
c. Cac ac tnh ac bie t cua vi ie u khien:
Bo nh chng trnh Enhanced Flash cho phep xo a va ghi 100000 lan.
Bo nh d lie u EEPROM cho phep xoa va ghi 1000000 lan.
Bo nh EEPROM co the lu gi d lie u hn 40 nam va co the t lap trnh la i di s
ieu khien cu a phan mem.
Mach lap trnh no i tiep ICSP thong qua 2 chan (In-Circuit Serial Programming).
Nguon s dung la nguo n n 5V cap cho mach lap trnh no i tiep.
Co Watchdog Timer (WDT) v i bo dao ong RC tch hp san tren Chip.
Co the lap trnh ma bao ma t.
Co the hoa t ong che o Sleep e tie t kiem na ng lng.
Co the la chon bo dao ong.
Co ma ch ien g ro i ICD (In-Circuit Debug) thong qua 2 cha n.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
42 . + y
d. Co ng nghe CMOS:
Cong nghe CMOS co ca c a c tnh: cong suat thap, cong nghe bo nh Flash/EEPROM to c o
cao. ien ap hoat ong t 2V en 5,5V va tieu to n nang lng tha p. Phu hp v i nhiet o lam vie c
trong cong nghiep va trong thng ma i.
Bang 2-1 trnh ba y tom ta t cau truc cu a 4 loa i PIC16F87X.

8ong 2-. Coc v| d|eu kh|e n hc P|C6F87X.
Hnh 2-1 trnh bay s o cha n cu a cac loai PIC16F87XA.



H|nh 2-. 5c dc cho n hc P|C6F87XA.
|||. V| |EU KH|EN P|C 6F877A
' 3 / . '`77/
o. C|c | th|e u:
PIC16F877A co 40/44 cha n v i cau truc nh sau:
Co 5 port xua t/ nhap.
Co 8 kenh chuyen o i A/D.
c bo sung cac port t song song.
Co bo nh gap no i so v i PIC16F873A/PIC16F874A.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
43 . + y
Ba ng 2-2 se tom tat a c iem PIC16F877A:
a c iem PIC16F877A
Tan so hoa t ong DC- 20MHz
Reset (va Delay) POR, BOR (PWRT, OST)
Bo nh chng trnh Flash (14-bit word) 8K
Bo nh d lie u (byte) 368
Bo nh d lie u EEPROM (byte) 256
Ca c nguon nga t 15
Ca c port xua t nhap Ca c port A, B, C, D, E
Timer 3
Ca c module capture/compare/PWM 2
Giao tiep noi tiep MSSP, USART
Giao tiep song song PSP
Module A/D 10bit 8 kenh ngo vao
Bo so sa nh tng t 2
Tap lenh 35 le nh

So cha n
40 chan PDIP
44 chan PLCC
44 chan TQFP
44 chan QFN
8o ng 2-2. 1cm to t doc d|em P|C6F877A
b. 5c dc khc|:
Hnh 2-2 trnh bay s o khoi cua PIC16F877A, s o kho i cu a PIC gom ca c kho i:
Kho i ALU Arithmetic Logic Unit.
Kho i bo nh ch a chng trnh Flash Program Memory.
Kho i bo nh cha d lieu EEPROM Data EPROM.
Kho i bo nh file thanh ghi RAM RAM file Register.
Kho i gia i ma lenh va ie u khien Instruction Decode Control.
Kho i thanh ghi a c bie t.
Kho i ngoa i vi timer.
Kho i giao tiep no i tiep.
Kho i chuye n o i tn hieu tng t sang so ADC.
Kho i ca c port xuat nha p.
c. 5c dc chon vo chu c no ng coc cho n:
S o chan cua PIC gom nhieu loai nhng ay khao sa t loai PIC 40 chan nh hnh 2-3.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
44 . + y

H|nh 2-2. 5c dc khc| P|C6F87XA.
Chc na ng cua ca c cha n nh sau:
Chan OSC1/CLKI (13): la ngo vao ket no i v i dao ong tha ch anh hoa c ngo va o nha n xung
clock ben ngoa i.
OSC1: ngo va o dao ong thach anh hoa c ngo vao nguon xung ben ngoai. Ngo vao
co mach Schmitt Trigger neu s dung dao ong RC.
CLKI: ngo va o nguo n xung ben ngoai.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
45 . + y
Chan OSC2/CLKO (14): ngo ra dao ong tha ch anh hoa c ngo ra cap xung clock.
OSC2: ngo ra dao ong thach anh. Ket no i en tha ch anh hoa c bo cong hng.
CLKO: che o RC, ngo ra cu a OSC2, bang tan so cu a OSC1 va chnh la to c o
cu a chu k lenh.


H|nh 2-3. 5c dc cho n
Chan MCLR/V
PP
(1): co 2 chc na ng:
MCLR: la ngo vao reset tch cc m c thap.
V
PP
: khi lap trnh cho PIC th ong vai tro la ngo va o nhan ien ap lap trnh.
Chan RA0/AN0 (2): co 2 ch c na ng:
RA0: xuat/ nha p so .
AN0: ngo va o tng t cu a ke nh th 0.
Chan RA1/AN1(3):
RA0: xuat/nha p so .
AN1: ngo va o tng t cu a ke nh th 1.
Chan RA2/AN2/VREF-/CVREF (4):
RA2: xuat/nha p so .
AN2: ngo va o tng t cu a ke nh th 2.
VREF-: ngo vao ien ap chua n (tha p) cu a bo A/D
CVREF: ie n a p tham chieu VREF ngo ra bo so sanh
Chan RA3/AN3/VREF+ (5):
RA3: xuat/nha p so .
AN3: ngo va o tng t kenh th 3.
VREF+: ngo vao ien a p chuan (cao) cu a bo A/D.
Chan RA4/TOCKI/C1OUT (6):
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
46 . + y
RA4: xuat/nha p so m khi c cau tao la ngo ra.
TOCKI: ngo vao xung clock ben ngoa i cho Timer 0.
C1OUT: ngo ra bo so sanh 1.
Chan RA5/AN4/ SS /C2OUT (7):
RA5: xuat/nha p so .
AN4: ngo va o tng t kenh th 4.
SS : ngo va o chon l a SPI phu.
C2OUT: ngo ra bo so sanh 2.
Chan RB0/INT (33):
RB0: xua t/nha p so.
INT: ngo vao nha n tn hieu nga t ngoa i.
Chan RB1 (34): xua t/nhap so.
Chan RB2 (35): xua t/nhap so.
Chan RB3/PGC:
RB3: xua t/nha p so.
Chan cho phe p lap trnh ien a p thap ICSP.
Chan RB4 (37), RB5 (38): xua t/nhap so.
Chan RB6/PGC (39):
RB6: xua t/nha p so.
PGC: mach g roi va xung clock la p trnh ICSP.
Chan RB7/PGD (40):
RB7: xua t/nha p so.
PGD: ma ch g roi va d lieu lap trnh ICSP.
Chan RC0/T1OCO/T1CKI (15):
RC0: xua t/nha p so.
T1OCO: ngo vao bo dao ong Timer1.
T1CKI: ngo vao xung clock ben ngoai Timer1.
Chan RC1/T1OSI/CCP2 (16):
RC1: xua t/nha p so.
T1OSI: ngo vao bo dao ong Timer1.
CCP2: ngo vao Capture2, ngo ra compare2, ngo ra PWM2.
Chan RC2/CCP1 (17):
RC2: xuat/nha p so
CCP1: ngo vao Capture1, ngo ra compare1, ngo ra PWM1
Chan RC3/SCK/SCL (18):
RC3: xua t/nha p so.
SCK: ngo vao xung clock no i tie p ong bo /ngo ra cu a che o SPI.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
47 . + y
SCL: ngo vao xung clock no i tiep ong bo/ngo ra cu a che o I
2
C.
Chan RC4/SDI/SDA (23):
RC4: xua t/nha p so.
SDI: d lieu va o SPI.
SDA: xua t/nhap d lieu I
2
C.
Chan RC5/SDO (24):
RC5: xua t/nha p so.
SDO: d lie u ra SPI.
Chan RC6/TX/CK (25):
RC6: xua t/nha p so.
TX: truyen ba t o ng bo USART.
CK: xung ong bo USART.
Chan RC7/RX/DT (26):
RC7: xua t/nha p so.
RX: nhan ba t ong USART.
DT: d lie u ong bo USART.
Chan RD0/PSP0 (19):
RD0: xua t/nhap so.
PSP0: d lieu port t song song.
Chan RD1/PSP1 (20):
RD1: xua t/nhap so.
PSP1: d lieu port t song song.
Ca c chan RD2/PSP2 (21), RD3/PSP3 (22), RD4/PSP4 (27), RD5/PSP5 (28), RD6/PSP6 (29),
RD7/PSP7 (30) tng t chan 19, 20.
Chan RE0/ RD/AN5 (8):
RE0: xua t/nhap so.
RD: ieu khien o c port t song song.
AN5: ngo va o tng t 5.
Chan RE1/WR /AN6 (9):
RE1: xua t/nhap so.
WR: ieu khien ghi port t song song.
AN6: ngo va o tng t kenh th 6.
Chan RE2/ CS /AN7 (10):
RE2: xua t/nhap so.
CS : Chip cho n la ieu khien port t song song.
AN7: ngo va o tng t kenh th 7.
Chan VDD (11,32) va VSS (12, 31): la ca c chan nguon cu a PIC.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
48 . + y

Co 3 kho i bo nh trong PIC16F877A. Bo nh chng trnh va bo nh d lieu c mo ta chi
tie t trong pha n nay. Kho i bo nh d lieu EEPROM c mo ta chi tiet phan sau.
o. Co u truc bc nhc chucng tr|nh:
PIC16F877A co bo em chng trnh 13 bit co the quan ly bo nh chng trnh co dung lng
la 8Kword14bit (1KWord = 14bit).
Khi PIC b reset th thanh ghi PC co gia tr la 0000h hay con vector ngat co a ch 0004H.


H|nh 2-4. 5c dc bc nhc chucng tr|nh vo ngo n xe p.
b. Co u truc bc nhc du ||eu:
Bo nh d lie u c phan chia thanh nhieu Bank va nhng thanh ghi chc nang a c biet. Hai
bit RP
1
RP
0
bit trang tha i th 6 va th 5 c dung e chon bank nh bang 2-3.
Moi bank co the m rong len en a ch 7Fh (tng ng v i 128byte). Ca c o nh co a
ch thap cua moi bank c da nh cho cac thanh ghi ch c nang ac biet. Tren ca c thanh ghi ch c
nang ac bie t la ca c thanh ghi a dung xem nh bo nh RAM. Ta t ca cac bank thanh ghi eu
ch a nhng thanh ghi a c bie t.
RP1:RP0 Bank
00 0
01 1
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
49 . + y
10 2
11 3
8o ng 2-3. Lu o chc n bonk thonh gh|.
c. F||e thonh gh| ket quo tcng quot:
File thanh ghi co the c truy xua t tr c tie p hoa c gian tiep thong qua File thanh ghi a c bie t.

H|nh 2-5. 5c dc F||e thonh gh|.
Quy c: (1) Ca c o nh to mau xam la cha thie t ke neu o c se co gia tr la 0.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
50 . + y
Quy c: (2) Ca c dau (*) khong phai la thanh ghi va t ly.
Chu y: (1) Nhng thanh ghi nay khong co trong PIC 16F876A.
Chu y: (2) Nhng thanh ghi nay c ba o ve.
Bang lie t ke nhng thanh ghi nam trong bank th 0 c trnh ba y trong bang 2-4.


8o ng 2-4. 1cm to t co c thonh gh| do c b|e t.
Quy c: = khong xa c nh, u = khong thay oi, q= gia tr tuy thuo c vao ieu kien,- =cha
s dung neu oc se co gia tr 0, r = d tr .
Chu y: (1) Byte cao cu a thanh ghi PC khong the truy xuat tr c tie p. PCLATH ch a ca c bit
PC<12:8>, no i dung cu a thanh ghi nay se chuyen cho byte cao cu a thanh ghi PC.
Chu y: (2) Ca c bit PSPIE va PSPIF c d tr cho PIC 16F873A/876A.
Chu y: (3) Ca c thanh ghi co the a ch hoa t ba t ky bank nao.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
51 . + y
Chu y: (4) PORTD, PORTE, TRISD va TRISE khong co trong PIC 16F873A/876A neu o c
se co gia tr 0.
Chu y: (5) Bit th 4 cu a thanh ghi EEADRH ch c du ng cho PIC 16F876A/877A.
Bang lie t ke nhng thanh ghi na m trong bank th 1 c trnh ba y trong bang 2-5.


8o ng 2-5. 1cm to t co c thonh gh| do c b|e t.
Bang lie t ke nhng thanh ghi na m trong bank th 2 c trnh ba y trong bang 2-6.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
52 . + y

8o ng 2-6. 1cm to t co c thonh gh| do c b|e t.
d. Co c thonh gh| cc chu c nong doc b|et:
Nhng thanh ghi chc nang a c bie t la nhng thanh ghi c s du ng bi CPU va nhng kho i
ngoa i vi e ieu khien hoa t ong theo yeu ca u cu a CPU. Nh ng thanh ghi nay xem nh RAM tnh.
Thanh ghi tra ng thai STATUS
TGTT cha trang tha i cua kho i ALU, trang tha i Reset va ca c bit chon bank bo nh d lieu.

Chc na ng cua ca c bit trong thanh ghi tra ng thai:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
53 . + y
Bit 7 IRP: bit la chon thanh ghi (dung a ch gian tiep).
1 = bank 2, 3 (100h-1FFh)
0 = bank 0, 1 (00h- FFh)
Bit 6-5 RP1:RP0: ca c bit la chon thanh ghi (dung a ch tr c tiep)
11 = bank 3 (180h-1FFh)
10 = bank 2 (100h- 17Fh)
01 = bank 1 (80h- FFh)
00 = bank 0 (00h- 7Fh)
Moi bank la 128 byte.
Bit 4 TO: Time-out bit (Bit th i gian ch)
1 = sau khi m nguon, lenh CLRWDT hoac SLEEP
0 = th i gian ch cu a WDT c th c hien
Bit 3 PD: Power-down bit (bit ta t nguon)
1= sau khi m nguon hoa c bang lenh CLRWDT
0= th c thi lenh SLEEP
Bit 2 Z: Zero bit (bit 0)
1 = khi ket qua bang 0.
0 = khi ket qua khac 0.
Bit 1 DC: Digit carry/ borrow bit (cac lenh ADDWF, ADDLW, SUBLW, SUBWF)
(bit tran / mn)
1 = khi cong 4 bit tha p b tra n.
0 = khi cong 4 bit tha p khong b tra n.
Bit 0 C: Carry/ borrowbit (ca c lenh ADDWF, ADDLW, SUBLW, SUBWF)
1 = khi ket qua phep toan co tran.
0 = khi ket qua phep toan khong b tran.
Chu y: Neu phe p toan tr th trang thai cu a c DC va C th ng c lai va cu the nh sau: neu
phep tr ln hn 0 th c C bang 1, neu ke t qua tr nho hn 0 th c C bang 0.
Quy c: R = bit co the o c, W = bit co the ghi, U = bit cha s dung o c la 0,
Quy c: -n= gia tr tuy thuo c POR, 1= bit b SET, 0= bit b xoa, = bit khong xa c nh.
Thanh ghi OPTION_REG
La thanh ghi co the oc/ghi, thanh ghi nay co nhng bit ie u khien khac nhau e thie t lap bo
chia tr c cho Timer0/WDT, nga t INT ben ngoa i, Timer0 va treo PORTB.

Bit 7 RBPU : PORTB Pull-up Enable bit (bit cho phep treo PORTB)
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
54 . + y
1 = kho ng cho phep treo PORTB.
0 = cho phep treo PORTB.
Bit 6 INTEDG: Interrupt Edge Select bit ( bit la cho n canh ngat)
1 = cho phep chan nga t RB0/INT tch cc canh len.
0 = cho phep chan nga t RB0/INT tch cc canh xuong.
Bit 5 T0CS: TMR0 Clock Source Select bit (bit l a chon nguon xung clock TMR0)
1 = cho phep nha n xung ngo vao chan RA4/T0CKI.
0 = cho phep nha n xung no i ben trong.
Bit 4 T0SE: TMR0 Source Edge Select bit (bit la chon kieu ta c ong cho TMR0)
1 = cho phep xung vao chan RA4/T0CKI tch c c canh len.
0 = cho phep xung vao chan RA4/T0CKI tch c c canh xuong.
Bit 3 PSA: Prescaler Assignment bit (bit gan bo chia)
1 = bo chia c gan cho WDT.
0 = bo chia c gan cho Timer0.
Bit 2-0 PS2:PS0: Prescaler Rate Select bits (bit la chon he so chia tr c)
Gia tr bit T le TMR0 T le WDT
000
001
010
011
100
101
110
111
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
1:1
1:2
1:4
1:8
1:16
1:32
1:64
1:128
8o ng 2-7. Coc b|t |u o chc n he sc ch|o trucc.
Chu y: Khi s dung lap trnh ien ap thap ICSP (LVP) va treo PORTB c cho phep th pha i
xoa bit 3 trong thanh ghi TRISB e khong cho phep treo chan RB3 va am bao cho hoa t ong
rieng cua PIC.
Thanh ghi INTCON
La thanh ghi co the o c va ghi, cha nhng bit c va bit cho phe p cac nga t khac nhau nh
nga t khi TMR0 tran, ngat khi co thay o i PORTB va nga t ngoai chan RB0/INT.

Bit 7 GIE: bit cho phep nga t toan cuc
1= cho phep tat ca ca c nguon nga t.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
55 . + y
0= khong cho phep tat ca ca c nguon nga t.
Bit 6 PEIE: bit cho phe p ngat ngoa i vi
1= cho phep ngat.
0= khong cho phep nga t.
Bit 5 TMR0IE: bit cho phep ngat TMR0
1= cho phep ngat.
0= khong cho phep nga t.
Bit 4 INTE: bit cho phep ngat ngoa i chan RB0/INT
1= cho phep ngat.
0= khong cho phep nga t.
Bit 3 RBIE: bit cho phep ngat thay o i PORTB
1= cho phep ngat khi PORTB thay o i
0= khong cho phep nga t khi PORTB thay o i
Bit 2 TMR0IF: c tran TMR0
1= thanh ghi TMR0 tran (xo a bang pha n mem).
0= thanh ghi TMR0 khong tra n hay cha tran.
Bit 1 INTF: c bao nga t ngoa i RB0/INT.
1= nga t ngoai chan RB0/INT a xay ra (xo a bang pha n mem)
0= nga t ngoai chan RB0/INT khong xa y ra
Bit 0 RBIF: c bao khi PORTB co thay o i
1= co t nhat ca c chan RB7:RB4 thay o i trang thai; ieu kien khong tng
thch se tie p tu c lam bit nay ba ng 1. Khi o c PORTB se cham dt ieu kien
khong tng thch va cho phep xo a c bao nay bang phan mem.
0= ca c chan RB7:RB4 khong co s thay o i trang tha i.
Thanh ghi PIE1
La thanh ghi ch a ca c bit cho phep nga t oc lap cho cac nga t ngoai vi.

Bit 7 PSPIE: bit cho phep nga t o c/ghi port nhanh song song
1= cho phep ngat PSP o c/ghi
0= khong cho phep nga t PSP o c/ghi
Bit 6 ADIE: bit cho phep nga t bo chuye n o i A/D
1= cho phep ngat.
0= khong cho phep nga t.
Bit 5 RCIE: bit cho phep ngat nha n d lieu USART
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
56 . + y
1= cho phep ngat.
0= khong cho phep nga t.
Bit 4 TXIE: bit cho phep ngat pha t d lieu USART
1= cho phep ngat.
0= khong cho phep nga t.
Bit 3 SSPIE: bit cho phep nga t port no i tiep o ng bo
1= cho phep ngat SSP.
0= khong cho phep nga t SSP.
Bit 2 CCP1IE: bit cho phep nga t CCP1
1= cho phep ngat CCP1.
0= khong cho phep nga t CCP1.
Bit 1 TMR2IE: bit cho phep ngat tng thch ng TMR2 v i PR2
1= cho phep ngat tng thch TMR2 v i PR2.
0= khong cho phep nga t tng thch TMR2 v i PR2.
Bit 0 TNR1IE: bit cho phep nga t tran TMR1
1= cho phep nga t TMR1 tran.
0= khong cho phep nga t TMR1 tran.
Thanh ghi PIR1
La thanh ghi ch a ca c bit c cho cac nga t ngoai.
Chu y: nh ng bit c nga t c Set khi ieu kien nga t xay ra ba t chap tra ng tha i cu a bit cho
phep hoa c bit cho phep nga t toan cuc GIE (INTCON<7>). Phan mem cu a ngi du ng pha i am
bao nhng bit nga t tng ng phai b xoa tr c khi cho phep nga t.

Bit 7 PSPIF: c bao nga t port nhanh song song o c/ghi
1= hoa t o ng o c hoa c ghi c th c thi.
0= hoa t o ng o c hoa c ghi kho ng xay ra.
Bit 6 ADIF: c ba o nga t bo chuyen o i A/D
1= chuyen o i A/D a c hoan thanh.
0= chuyen o i A/D cha c hoan thanh.
Bit 5 RCIF: c bao nga t nha n USART
1= USART nhan xong.
0= USART nhan cha xong.
Bit 4 TXIF: c bao nga t truyen USART
1= truyen em cu a USART co n trong.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
57 . + y
0= truyen em cu a USART a y.
Bit 3 SSPIF: c bao nga t port noi tiep o ng bo (SSP)
1= ieu kien nga t SSP a xay ra va pha i xo a bang phan mem trc khi quay
tr ve t chng trnh con phuc vu ngat (Interrupt Service Routine). ieu
kien e bit tra ng thai nay le n 1 la :
o SPI- truyen/nha n a c th c thi.
o I
2
C Slave: truyen/nhan a c thc thi.
o I
2
C Master:
Truyen/nhan a c th c thi.
ie u kien Start kh i ong a c hoan thanh b i kho i SSP.
ie u kien Stop khi ong a c hoan thanh bi kho i SSP.
ie u kien Restart kh i ong a c hoa n tha nh b i kho i SSP.
ie u kien ba t tay a c hoan thanh b i kho i SSP.
ie u kien Start a xay ra khi khoi SSP ang trang tha i roi (multi-
master system: he thong nhieu chu ).
ie u kien Stop a xay ra khi kho i SSP ang trang thai ro i.
0= khong co ie u kien nga t SSP na o xa y ra.
Bit 2 CCP1IF: c bao ngat CCP1
Che o Capture:
1= thanh ghi ba t nhp TMR1 co xay ra (xoa bang phan mem).
0= thanh ghi ba t nhp TMR1 kho ng xay ra.
Che o so sanh:
1= thch ng so sa nh thanh ghi TMR1 co xay ra.
0= thch ng so sa nh thanh ghi TMR1 khong xay ra.
Bit 1 TMR2IF: c bao nga t tng thch TMR2 v i PR2
1= TMR2 tng thch v i PR2 (xo a bang phan mem).
0= TMR2 khong tng thch v i PR2.
Bit 0 TMR1IF: c bao nga t tran TMR1
1= thanh ghi TMR1 a tran.
0= thanh ghi TMR1 khong tra n.
1= bit c set
Thanh ghi PIE2
La thanh ghi ch a ca c bit cho phep ngat ngoai vi CCP2, nga t xung ot ng truyen SSP,
nga t hoa t o ng ghi cu a EEPROM va ngat cu a bo so sa nh.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
58 . + y

Bit 7 Cha dung: oc la 0
Bit 6 CMIE: bit cho phep nga t bo so sanh
1= cho phep ngat.
0= khong cho phep nga t.
Bit 5 Cha dung: oc la 0
Bit 4 EEIE: bit cho phep ngat hoa t ong ghi cu a EEPROM
1= cho phep ngat.
0= khong cho phep nga t.
Bit 3 BCLIE: bit cho phep ngat s xung o t ng dan
1= cho phep ngat.
0= khong cho phep nga t.
Bit 2-1 Cha dung: oc la 0
Bit 0 CCP2IE: bit cho phep nga t CCP2
1= cho phep ngat.
0= khong cho phep nga t.
Chu y: bit PEIE (INTCON<6>) pha i c set e cho phep bat k s nga t ngoa i nao.
Thanh ghi PIR2
La thanh ghi ch a ca c bit c bao nga t CCP2, ngat xung o t ng dan SSP, nga t hoat ong
ghi cu a EEPROM va nga t bo so sanh.

Bit 7 Cha dung: oc la 0.
Bit 6 CMIF: c bao nga t bo so sa nh
1= ngo vao bo so sanh a thay o i (xoa bang phan mem).
0= ngo vao bo so sanh kho ng thay o i.
Bit 5 Cha dung: oc la 0.
Bit 4 EEIF: c bao nga t hoa t ong ghi cu a EEPROM
1= hoa t o ng ghi c hoan thanh (xoa ba ng phan mem).
0= hoa t o ng ghi cha hoan thanh hoa c cha kh i ong.
Bit 3 BCLIF: c bao nga t xung o t ng da n
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
59 . + y
1= xung o t ng dan a xay ra trong SSP khi c thie t la p cau hnh
che o I
2
C chu.
0= ng dan khong xa y ra xung o t.
Bit 2-1 Cha dung: oc la 0
Bit 0 CCP2IF: bit c nga t CCP2
Che o Capture:
1= thanh ghi ba t nhp TMR1 xay ra (xoa bang phan mem).
0= thanh ghi ba t nhp TMR1 cha xay ra.
Che o so sanh:
1= tng thch so sa nh thanh ghi TMR1 xa y ra (xo a bang phan mem).
0= tng thch so sa nh thanh ghi TMR1 cha xa y ra.
Che o PWM:
Khong c s dung
Chu y : c bao nga t c Set khi ngat xa y ra v i ieu kien bit cho phep tng ng hoa c toan
bo bit c phep, GIE (INTCON<7>). Ng i du ng phai am bao s phu hp cu a nhng bit nga t
c xo a sm hn e cho phe p ngat.
Thanh ghi PCON
Thanh ghi PCON (Power Control) ch a ca c c e cho phep phan biet s kha c nhau cua ca c
trang tha i reset: khi m ien Power-on Reset (POR), Brown-out Reset (BOR), Watchdog Reset
(WDT) va MCLR Reset.

Bit 7-2 Cha dung: oc la 0
Bit 1 POR : bit trang tha i Power-on Reset
1= reset khi m ien khong xay ra.
0= reset khi m ien a xa y ra (pha i Set ba ng phan mem sau khi Power-on
Reset xay ra).
Bit 0 BOR : bit trang tha i Brown-out Reset
1= Brown-out Reset khong xay ra
0= Brown-out Reset xa y ra (phai Set ba ng phan mem sau khi Brown-out
Reset xay ra).
Thanh ghi PC va PCLATH
Thanh ghi bo em chng trnh (PC) co o rong 13 bit, 8 bit thap nam thanh ghi PCL, ca c
bit nay co the o c va ghi. Ca c bit cao co n lai (8:12) th khong the o c nhng co the ghi gian tiep
thong qua thanh ghi PCLATH. Khi bat ky Reset na o xay ra th ca c bit cao cu a thanh ghi PC se b
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
60 . + y
xoa. Hnh 2-6 trnh bay ca c tnh huong thanh ghi PC c nap gia tr. Cac v du se minh hoa ca ch
th c PC c nap gia tr thong qua lenh CALL hoac le nh GOTO.
Tnh toa n GOTO
Tnh toan GOTO c thc hien bang cach cong gia tr lenh (offset) v i bo em chng trnh
PC (bang lenh ADDWF PCL). Khi thc hien o c bang du ng phng phap tnh toan GOTO, nen
quan tam en gi i han cu a bang neu v tr bang v t qua gi i han bo nh PCL (mo i khoi bo nh
gom 256 byte).


H|nh 2-6. Coc truc ng hc p no p g|o tr| chc PC.
Ngan xep
PIC16F877A co 8 ngan xep, o ro ng la 13 bit, bo nh nga n xe p khong lay t bo nh chng
trnh hay d lieu, con tro ngan xe p kho ng the o c hoa c ghi.
a ch cu a thanh ghi PC c ca t vao nga n xep khi th c hien lenh CALL hoa c nga t xay ra.
D lieu trong ngan xep c lay ra khi th c hien ca c lenh RETURE, RETLW hoa c RETFIE. Thanh
ghi PCLATH kho ng b anh hng bi viec cat va lay.
Nga n xep hoa t ong nh la mo t vong kn. ieu o co ngha sau khi ngan xep c ca t vao 8
la n, th lan th 9 se ghi chong len gia tr a c lu t la n ca t va o au tien. Lan ca t th 10 se ghi
chong len gia tr a c lu lan ca t th 2.
Chu y: Khong co bit trang tha i e ba o ngan xep b tra n hoac cha tran. Khong co ca c lenh
goi la lenh cat (PUSH) hoa c la y (POP). Nhng le nh lien quan en nga n xep la lenh CALL,
RETURN, RETLW va RETFIE hoac ngat.
e. Pho n trong bc nhc chucng tr|nh:
PIC16F877A co bo nh chng trnh la 8K word. Nhng lenh CALL va GOTO ch cung cap
a ch 11bit e cho phep chng trnh con nam trong pham vi 2K word trang bo nh.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
61 . + y
Khi thc hien lenh CALL hoa c GOTO th 2 bit cao cua a ch c lay t thanh ghi PCLATH
(4:3). Khi th c hie n lenh CALL hoac GOTO, ng i dung pha i am bao ra ng bit l a chon trang a
c lap trnh e xa c nh ung a ch trang bo nh chng trnh. Neu th c hie n lenh tr ve th
toan bo 13 bit c lay t ngan xe p trao cho PC. V the ca c bit cu a thanh ghi PCLATH(4:3) khong
can khi th c hien le nh tr ve .
Chu y: cac tha nh phan cua thanh ghi PCLATH khong b thay o i sau khi th c hien lenh
RETURN hoac RETFIL. Ngi s dung pha i nap lai no i dung cho thanh ghi PCLATH khi go i
chng trnh con tiep theo hoa c cho lenh GOTO.
V du 2-1 minh hoa cho lenh go i chng trnh con nam trong trang 1 cua bo nh chng trnh.
V du nay gia s ra ng thanh ghi PCLATH c ca t va c khoi phu c bi chng trnh con phuc vu
nga t.

f. Co c thonh gh| d|o ch| g|on t|e p, thonh gh| |NDF vo F5k:
Thanh ghi INDF khong pha i la thanh ghi va t l. a ch hoa thanh ghi INDF se tao ra a ch
gian tiep. a ch gian tie p th co the thc hien c bang ca ch dung thanh ghi INDF. Ba t k lenh
nao s du ng thanh ghi INDF eu truy xuat thanh ghi ch nh bi thanh ghi l a chon file (File Select
Register FSR). Khi o c gian tiep chnh thanh ghi INDF nay se o c la 00h. Khi ghi gian tiep vao
thanh ghi INDF, ke t qua se khong c g (mac du ca c bit cua thanh ghi trang thai co the b anh
hng). Mot chng trnh n e xoa RAM v tr 20h-2Fh s dung a ch gian tiep c trnh bay
trong v du 2-2:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
62 . + y

H|nh 2-7. |o ch| truc t|e p/g|on t|e p.
V du 2-2:

MOWLW 0x20 ;a 20h vao thanh ghi W
MOVWF FSR ;a no i dung cua W va o FSR
NEXT CLRF INDF ;xo a INDF
INCF FSR,F ;tang FSR
BTFSSFSR,4 ;kiem tra bit 4 trong FSR
GOTO NEXT ;nhay en NEXT
CONTINUE
: ;tiep tuc

\ ./ 3 /
D lieu EEPROM va bo nh chng trnh Flash co the o c va ghi trong suo t qua trnh hoa t
ong bnh thng. Bo nh nay khong c thiet lap tr c tiep trong khong gian file thanh ghi. Chung
c nh a ch gian tiep thong qua cac thanh ghi a c bie t. Co 6 thanh ghi FSR c s dung e
oc va ghi bo nh na y:
EECON1
EECON2
EEDATA
EEDATH
EEADR
EEADRH
Khi giao tiep v i kho i bo nh d lieu, thanh ghi EEDATA ch a 8bit d lieu cho vie c o c/ghi
va thanh ghi EEADR ch a a ch o nh cua EEPROM ang c truy xua t. Neu PIC co bo nh
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
63 . + y
EEPROM la 128 byte th a ch nam trong khoang t 80H e n FFH, neu PIC co bo nh EEPROM
la 256 byte th a ch nam trong khoang t 00H en FFH.
Khi giao tie p vi khoi bo nh chng trnh th hai thanh ghi EEDATA va EEDATH ke t hp
la i v i nhau thanh thanh ghi 16 bit e lu tr d lieu 14 bit cho le nh o c/ghi va hai thanh ghi
EEADR va EEADRH ke t hp lai v i nhau thanh thanh ghi 16 bit e lu tr a ch 13 bit cua o nh
ang truy xuat. V i PIC co dung lng bo nh chng trnh la 4Kword th a ch nam trong khoang
t 0000H en 0FFFH, v i PIC co dung l ng bo nh chng trnh la 8Kword th a ch nam trong
khoa ng t 0000H e n 1FFFH. Neu truy xuat o nh co a ch ln hn th se b cuon nam trong vu ng
nh th c.
Bo nh d lieu EEPROM cho phep o c va ghi 1byte. Bo nh chng trnh Flash cho phep
oc 1 word va ghi khoi 4 word. Hoa t ong ghi cua bo nh chng trnh se t ong th c hien xo a
trc khi ghi va o kho i 4 word. Mot byte ghi vao bo nh d lieu EEPROM se t ong xoa o nh ro i
mi ghi d lie u m i xoa tr c khi ghi.
Khi chip co ma bao ve th CPU co the o c va ghi d lieu bo nh EEPROM. Tuy thuoc vao
cach thiet lap ca c bit bao ve chong ghi, PIC co the cho hoa c khong cho ghi d lieu vao mo t va i
khoi bo nh chng trnh; tuy nhien cho phep o c bo nh chng trnh. Khi PIC co ma bao ve, th
ng i dung kho ng con c phep truy xua t bo nh d lieu hoa c bo nh chng trnh.
o. 1honh gh| EEADk vo EEADkH:
Cap thanh ghi EEADRH:EEADR co the nh a ch to i a 256 byte cu a bo nh d lieu
EEPROM hoa c toi a 8k word cu a bo nh chng trnh EEPROM.
Khi truy xua t bo nh d lieu th ch du ng thanh ghi EEADR e lu byte a ch thap.
Khi truy xua t bo nh chng trnh th dung thanh ghi EEADR e lu byte a ch thap va
thanh ghi EEADRH lu a ch byte cao.
b. 1honh gh| EEC0N vo EEC0N2:
EECON1 la thanh ghi ieu khien e truy xuat bo nh. Bit ieu khien EEPGD dung e xa c
nh truy xuat bo nh chng trnh hoac bo nh d lieu. Khi reset hoa c khi xoa bit EEPGD se cho
phep truy xuat bo nh d lieu. Khi bit EEPGD bang 1 th truy xua t bo nh chng trnh.


Bit 7 EEPGD: bit l a chon bo nh d lieu/chng trnh EEPROM
1= truy xuat bo nh chng trnh
0= truy xuat bo nh d lieu
oc 0 sau khi POR, bit na y khong thay o i trong khi hoat ong ghi ang die n ra.
Bit 6-4 Cha s dung: o c la 0
Bit 3 WRERR: bit c loi EEPROM
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
64 . + y
1= vie c ghi th c hie n xong sm.
0= vie c ghi a c hoan thanh.
Bit 2 WREN: bit cho phe p ghi EEPROM
1= cho phep ghi.
0= khong cho ghi.
Bit 1 WR: bit ieu khie n ghi
1= Ba t au chu ky ghi. Bit WR c xo a bang phan cng sau mo i lan ghi xong.
0= qua trnh ghi vao EEPROM a hoan thanh.
Bit 0 RD: bit ieu khien o c
1= bat au chu ky oc EEPROM. Bit RD c xoa ba ng phan cng. Bit RD ch co
the c Set trong phan mem.
0= khong kh i ong chu ky oc EEPROM.
Ca c bit ie u khien, RD va WR kh i ong o c va ghi hoa c xoa theo th t. Ca c bit na y kho ng
the xoa ma ch set bang pha n mem. Ca c bit na y c xoa ba ng phan cng ngay sau khi cac hoa t
ong o c ghi thc hien xong.
Khi set bit WREN se cho phep ghi hoa c xo a. Khi m nguon bit WREN b xo a. Bit WREN
c set khi hoat ong ghi hoac xoa b nga t b i MCLR hoa c WDT Time-out Reset trong qua trnh
hoa t ong bnh th ng. Khi ri va o tnh huong nay th ng i dung co the kiem tra bit WRERR va
co the ghi la i. D lieu va a ch trong ca c thanh ghi EEDATA va EEADR khong b thay oi.
Bit c ngat EEIF trong thanh ghi PIR2 c set khi qua trnh ghi hoan tat va pha i xo a c nga t
nay bang phan mem.
Thanh ghi EECON2 khong la thanh ghi va t l. Khi oc EECON2 se co gia tr la 0. EECON2
c s dung rieng cho hoat o ng ghi d lieu va o EEPROM.
c. cc du ||e u tu bc nhc EEPk0M:
e o c d lie u cu a 1 o nh th ng i s du ng pha i ghi a ch va o thanh ghi EEADR, xo a bit
ieu khien EEPGD (EECON1<7>) va sau o Set bit ieu khien RD (EECON1<1>). D lieu se xua t
hien trong thanh ghi EEDATA chu k ke. EEDATA se lu tr gia tr na y cho en khi xua t hien
la n o c ke hoac b thay oi b i ngi s du ng.
Ca c b c e o c bo nh d lieu EEPROM:
o Ghi a ch vao EEADR a ch khong c ln hn dung lng bo nh.
o Xoa bit EEPGD ch hng va o bo nh d lieu EEPROM
o Set bit RD e bat au hoa t ong oc.
o oc d lieu t thanh ghi EEPROM.
V du 2-3: oc d lieu EEPROM
BSF STATUS, RP1 ;
BCF STATUS, RP0 ; bank 2

MOVF DATA_EE_ADDR, W ; data memory
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
65 . + y
MOVWF EEADR ; address to read
BSF STATUS, RP0 ; bank 3
BCF EECON1, EEPGD ; point to data
; memory
BSF EECON1, RD ; EE read
BCF STATUS,RP0 ; bank 2
MOVF EEDATA, W ; w=EEDATA
d. Ch| du ||e u vo c bc nhc EEPk0M:
e ghi d lieu vao EEPROM th ngi s dung phai ghi a ch vao thanh ghi EEADR va d
lieu vao thanh ghi EEDATA. Sau o phai thc hien ghi theo trnh t ch nh e ba t au ghi cho
moi byte.
Qua trnh ghi se khong c kh i ong neu th t ghi kho ng c th c hien chnh xa c (ghi
55h vao EECON2, ghi AAh vao EECON2, sau o set bit WR) cho mo i byte. Pha i cam tat ca ca c
yeu cau ngat khi thc hien qua trnh ghi nay.
Ngoai ra, bit WREN trong thanh ghi EECON2 pha i c Set e cho phep ghi. C che nay
ngan chan cac hoa t o ng ghi ngau nhien vao EEPROM lien quan en sai so t ma bao ve. Ng i s
dung nen gi bit WREN trang tha i Clear, ngoa i tr khi ca p nhap d lieu va o bo nh d lieu
EEPROM. Bit WREN khong xo a c bang phan cng.
Sau khi trnh t ghi a c khi o ng th neu ta xo a bit WREN se khong anh hng en chu
k ghi nay. Bit WR se b chan khong cho len 1 tr khi bit WREN c Set.
Khi hoan tat chu k ghi, bit WR c xoa b i pha n c ng va bit c bao nga t hoan thanh xong
qua trnh ghi EEIF c Set. Ng i du ng co the cho phe p s nga t hoa c kiem tra bit nay e bie t qua
trnh ghi ke t thu c. Bit EEIF phai c xo a bang pha n mem.
Ca c b c e ghi vao bo nh d lieu EEPROM:
B c 1: Neu b c th 10 khong hoan tha nh th kiem tra bit WR e xem co con trong tien
trnh ghi hay kho ng.
B c 2: Ghi a ch vao EEADR va a ch khong l n hn dung lng bo nh.
B c 3: Ghi d lieu 8bit vao thanh ghi EEDATA.
B c 4: Xoa bit EEPGD e chon bo nh d lieu EEPROM.
B c 5: Set bit WREN e cho phep hoat ong ghi.
B c 6: Cam ta t ca ngat (neu a cho phep nga t trc o).
B c 7: Th c hien tuan t 5 lenh ac bie t:
Ghi 55H vao thanh ghi EECON2 c chia thanh 2 b c: b c th nha t vao
thanh ghi W, b c th 2 va o thanh ghi EECON2.
Ghi AAH vao thanh ghi EECON2 c chia tha nh 2 b c: bc th nha t vao
thanh ghi W, b c th 2 va o thanh ghi EECON2.
Set bit WR.
B c 8: Cho phe p ngat tr lai ne u co s dung nga t.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
66 . + y
B c 9: Xoa bit WREN e khong cho phep hoat ong ghi.
B c 10: Khi hoan thanh chu k ghi, bit WR c xo a va bit c bao ngat EEIF c set. (EEIF
pha i c xo a). Neu b c 1 khong hoan tat th pha n mem se kiem tra EEIF e set, hoac WR
e xo a, e xa c nh chu ky ghi.



e. cc du ||e u tu bc nhc chucng tr|nh F|osh:
e oc d lie u cua bo nh d lieu th pha i nap a ch 2 byte vao hai thanh ghi EEADR va
EEADRH, set bit ieu khien (EECON1<7>) va sau o set bit ieu khie n RD (EECON1<0>). Moi
la n set bit ieu khien o c th bo ieu khien bo nh chng trnh Flash se dung hai chu k lenh tiep
theo e o c d lie u. ieu na y lam cho hai lenh sau BSF EECON1, RD b bo qua.
D lie u se co hie u lc trong hai thanh ghi EEDATA va EEDATH chu k ke tiep, v vay co
the o c 2 byte ngay sau lenh tiep theo. Hai thanh ghi EEDATA va EEDATH se lu d lie u cho en
khi th c hie n lan o c tiep theo hoa c do ghi b i ng i s du ng.

V du 2-4: oc bo nh chng trnh Flash
BSF STATUS, RP1 ;
BCF STATUS, RP0 ; bank 2
MOVLW MS_PROG_EE_ADDR ;
MOVWF EEADRH ; MS byte of Program Address to read
MOVLW LS_PROG_EE_ADDR ;
MOVWF EEADR ; LS byte of Program Address to read
BSF STATUS, RP0 ; bank 3
BSF EECON1, EEPGD ; point to PROGRAM memory
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
67 . + y
BSF EECON1, RD ; EE Read
;
NOP
NOP ; Any instruction here are ignored as program
; Memory is read in second cycle after BSF EECON1, RD
;
BCF STATUS, RP0 ; bank 2
MOVF EEDATA, W ; W= LS byte of program EEDATA
MOVWF DATAL ;
MOVW EEDATH, W ; W= MS byte of program EEDATA
MOWF DATAH ;
f. Ch| du ||e u vo c bc nhc chucng tr|nh F|osh:
Bo nh chng trnh Flash ch cho phep ghi ne u o nh khong co bao ve chong ghi, khi c
xa c nh cac bit WRT1:WRT0 cu a t nh ca u hnh cua thiet b. Bo nh chng trnh Flash pha i
c ghi moi la n 1 khoi gom co 4 word. Mo t kho i gom 4 word co a ch lien tu c va du ng a ch
thap nha t lam a ch cho ca kho i, ca c bit EEADR<1:0> = 00. Cung lu c o, tat ca ca c kho i ghi vao
bo nh chng trnh c th c hien nh ca c hoa t o ng ghi va xoa.
e ghi d lie u vao bo nh chng trnh th tr c tien ta pha i na p d lieu vao ca c thanh ghi
em nh hnh. ieu nay c th c hien hoan tat ch khi a ch vao hai thanh ghi EEADR va
EEADRH trc va sau o mi ghi d lieu vao EEDATA va EEDATH. Sau khi a ch va d lieu
c thie t lap th trnh t ghi c th c hien theo th t nh sau:
o Set bit ieu khien EEPGD ( EECON1<7>).
o Ghi 55H, sau o AAH vao thanh ghi EECON2.
o Set bit ieu khien WR (EECON1<1>).
Tat ca bon thanh ghi em PHAI c ghi ung d lieu. Neu ch 1, 2 hoa c 3 word va gi
nguyen cac word con la i trong bo nh th ta phai thc hien o c no i dung ca c o nh muon gi
nguyen d lieu ra va lu vao trong hai thanh ghi EEDATA va EEDATH. Tiep theo ta i d lieu vao
cac thanh ghi em va th c hien giong nh ghi ay u 4 word.
e chuyen d lie u t ca c thanh ghi em vao bo nh chng trnh th thanh ghi EEADR va
EEADRH tro e n v tr cuo i cung trong kho i 4 word (EEADR<1:0> = 11). Sau o phai thc hien
cac b c sau mot cach tuan t :
o Set bit ieu khien EEPGD ( EECON1<7>).
o Ghi 55h, sau o AAh vao EECON2.
o Set bit ieu khien WR (EECON1<1>).
Ng i s dung pha i thc hien theo ung cac trnh t e khi ong qua trnh ghi cho mo i word
trong kho i bo nh chng trnh, ghi tng word theo tuan t (00,01,10,11). Khi ghi word cuo i cung
(EEADR<1:0> = 11) th kho i d lie u 4 word se t ong b xo a va no i dung cu a thanh ghi em a
c ghi vao bo nh chng trnh.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
68 . + y
Sau khi th c hien lenh BSF EECON1, WR th bo x l can hai chu k e thiet la p hoa t
ong xo a/ghi. Ng i s dung phai a t hai lenh NOP sau khi bit WR c set. Khi d lie u ang ghi
vao cac thanh ghi em th qua trnh ghi 3 word au tien cu a kho i th c thi ngay lap t c. Bo x l se
tam ngng ca c hoa t ong ben trong khoang 4ms, ch xay ra trong chu k xoa. ay khong pha i la
che o SLEEP cu ng nh xung ong ho va thiet b ngoai vi van tiep tu c hoat o ng. Sau chu k ghi,
bo x l se ho i phu c la i hoa t ong ngay lenh th 3 nam sau lenh ghi EECON1. Neu trnh t th c
hien cho bat k o nh kha c th hoa t o ng se b huy.

H|nh 2-8. Ch| du ||eu khc| voc bc nhc chucng tr|nh f|osh.
V du 2-5 se trnh bay trnh t ghi d lieu 4 word vao bo nh. a ch ba t au c na p vao
cap thanh ghi EEADRH:EEADR, 4 word d lieu c nap du ng kieu truy xua t a ch gian tiep.


Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
69 . + y

g. 8o c ve chcng gh| nhom:
Co nhng tr ng hp vi ieu khien khong cho ghi d lieu vao bo nh EEPROM hoa c bo nh
chng trnh Flash. e bao ve viec chong ghi nham th co nhieu k thua t kha c nhau c thiet ke.
Khi m nguon th bit WREN b xoa. Do o bo nh thi khi m ien sau khoang 72ms se ngan chan
ghi d lieu vao EEPROM.
Trnh t kh i o ng ghi va bit WREN cung ho tr e bao ve ghi ngau nhien trong suo t khoang
th i gian nguon ie n b su t ap do qua ta i bat thng, nguon xung tap nhieu hoa c s co phan mem.
h. Hcot dcng trcng |uc bo c ve chc ng gh|:
Khi bo nh d lieu EEPROM co ma bao ve th vi ie u khie n co the o c va ghi vao EEPROM
mot ca ch bnh thng. Tuy nhien ta t ca cac truy xua t t ben ngoai vao bo nh EEPROM th khong
c cho phe p.
Khi bo nh chng trnh EEPROM co ma bao ve , vi ieu khien co the oc va ghi vao bo nh
chng trnh mo t ca ch bnh th ng cung nh th c hien ca c lenh. Tuy nhie n ta t ca ca c truy xua t t
ben ngoa i va o bo nh EEPROM th kho ng c cho phep.


8o ng 2-8. Coc thonh gh| su du ng chc bc nhc EEPk0M.

- / // / )
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
70 . + y
o. P0k1A vo thonh gh| 1k|5A:
PORTA la port hai chieu ch co 6 bit, thanh ghi nh hng d lieu tng ng la TRISA. Khi
bit TRISA bang 1 th PORTA la port nhap va khi bit TRISA bang 0 th PORTA la port xua t d lieu.
oc thanh ghi PORTA la oc trang tha i ca c cha n, nhng ng c la i khi ghi th d lieu se vao
mach chot port. Ta t ca hoa t ong ghi gom 3 giai oan: o c hieu chnh ghi. Do o ghi d lieu
vao 1 Port c hieu ngam la oc d lieu t port ro i hieu chnh va sau cung la ghi d lieu vao
mach cho t d lieu.
Chan RA4 c a hp v i ngo vao xung clock cu a module Timer0 co ten la RA4/T0CKI
co cau hnh Schmitt trigger va c c mang e h. Tat ca cac chan co n la i cu a PORTA chuan TTL
khi no la ngo vao va khi xua t d lieu th theo chuan CMOS.
Nhng chan kha c cua PORTA c a hp v i ca c ngo vao tng t va ngo vao tng t
V
REF
cho ca c bo chuyen o i A/D va ca c bo so sanh. Hoa t ong cua mo i chan c la chon bang
cach xoa/lap ca c bit ieu khien cho phu h p trong thanh ghi ADCON1 va /hoa c thanh ghi CMCON.
Thanh ghi TRISA ie u khien hng ca c chan cu a Port ngay ca khi chung c s du ng nh la
ngo va o tng t. Ngi s dung pha i am bao rang ca c bit thanh ghi TRISA c duy tr m c
1 khi s dung chu ng la ngo vao tng t.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
71 . + y
H|nh 2-. 5c dc mo ch cho n kA3:kA0.

H|nh 2-0. 5c dc moch cho n kA4/10CK|.

H|nh 2-. 5c dc moch chon kA5.

1EN 8|1# K|EU EM CHU C NA NC
RA0/AN0 Bit 0 TTL I/O
RA1/AN1 Bit 1 TTL I/O
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
72 . + y
RA2/AN2/V
REF-
/CV
REF
Bit 2 TTL I/O hoac V
REF-
hoa c VC
REF
RA3/AN3/V
REF+
Bit 3 TTL I/O hoac V
REF+
RA4/TOCKI/C1OUT Bit 4 TTL I/O hoac ngo vao xung clock
cho Timer0 hoa c ngo ra bo
so sanh
RA5/AN4/ SS /C2OUT
Bit 5 TTL I/O hoac ngo vao tng t
8o ng 2-. Coc chuc nong cu o P0k1A.

8o ng 2-0. 1cm tot co c thonh gh| ||e n ke t vc| P0k1A.
b. P0k18 vo thonh gh| 1k|58:
PORTB la port hai chieu 8 bit. Thanh ghi nh hng la TRISB. Khi bit TRISB = 1 th
PORTB la port nhap, khi TRISB = 0 th PORTB la port xuat.
Ba cha n cu a PORTB c a h p v i ma ch ie n g ro i ben trong va chc na ng lap trnh ien
ap thap: RB3/PGM, RB6/PGC va RB7/PGD.
Moi chan cu a PORTB co ien tr ke o len. Bit ieu khien RBPU (OPTION_REG<7>) = 0 th
co the m ta t ca ca c ien tr keo len. Khi PORTB c thiet lap la ca c ngo ra th se t ong ta t
ch c nang ien tr ke o len cung tng t khi CPU b reset lu c m i cap ien.
Bon cha n cu a PORTB RB4:RB7 co cau tru c nga t thay o i. Ch co nhng chan c thiet lap
cau hnh la ngo vao th mi co chc nang nga t. Ca c cha n ngo va o (RB7:RB4) c so sanh v i
gia tr cu a c cho t trong lan o c tr c cua PORTB. Ca c ngo ra kho ng trung nhau cu a ca c chan
RB4:RB7 c OR lai v i nhau e tao nga t PORTB v i bit c bao nga t RBIF (INTCON<0>).
Nga t nay co the kch hoa t vi ieu khien tr la i trang thai hoa t ong khi no ang che o
SLEEP. Trong chng trnh phu c vu nga t th ng i dung co the xo a nga t bang cac cach sau:
o Ba t ky lenh o c hay ghi PORTB se ket thuc ieu kien khong thch ng.
o Xoa bit c RBIF.
ie u kien khong tng thch se tiep tuc lam c bao nga t RBIF bang 1. Khi o c PORTB se
cham d t ieu kien kho ng tng thch va cho phep xo a bit c bao ngat RBIF.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
73 . + y

H|nh 2-2. 5c dc moch coc cho n k83:k80.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
74 . + y
H|nh 2-3. 5c dc moch coc cho n k87:k84.
Cau truc ngat thay o i du ng e thoat kho i che o ngh khi co nhan phm va ca c hoa t ong ma
PORTB ch c dung cho cau truc thay o i ngat.
Cau truc nga t khong tng thch ke t hp v i 4 chan co cau hnh ien tr keo le n bang phan
mem de dang cho phep giao tiep vi ban phm.

Ten Bit# Kie u em Chc na ng
RB0/INT Bit 0 TTL/ST I/O hoac ngo vao nga t. Co lap trnh ien tr keo len.
RB1 Bit 1 TTL I/O. Co lap trnh ie n tr keo le n.
RB2 Bit 2 TTL I/O. Co lap trnh ie n tr keo le n.
RB3/PGM Bit 3 TTL I/O hoac lap trnh che o LVP.
Co lap trnh ien tr keo len.
RB4 Bit 4 TTL I/O (nga t khi co thay o i). Co la p trnh ien tr keo len.
RB5 Bit 5 TTL I/O (nga t khi co thay o i). Co la p trnh ien tr keo len.
RB6/PGC Bit 5 TTL/ST I/O (nga t khi co thay o i) hoa c chan mach g roi.
Co lap trnh ien tr keo len. Xung lap trnh no i tiep.
RB7/PGD Bit 5 TTL/ST I/O (nga t khi co thay o i) hoa c chan mach g roi.
Co lap trnh ien tr keo len. D lieu lap trnh no i tiep.
8o ng 2-. Co c chuc no ng cu o P0k18.

8o ng 2-2. Coc thonh gh| ke t nc| vc | P0k18.
c. P0k1C vo thonh gh| 1k|5C:
PORTC la port hai chieu 8 bit. Thanh ghi nh hng la TRISC. Khi bit TRISC =1 th PORTC
la port nhap, khi bit TRISC= 0 th PORTC la port xua t.
PORC la c a hp vi va i ch c na ng ngoa i vi. Cac chan cua PORTC co ma ch em
Schmitt Trigger ngo vao.
Khi kho i I
2
C c cho phe p th ca c cha n PORTC<4:3> co the c nh cau hnh ca c m c
I
2
C hoa c mc SMBUS bang cach s dung bit CKE (SSPSTAT<6>).
Khi cho phe p cac chc na ng ngoa i VI, nen chu y e n ca c bit TRIS cho moi cha n cua PORTC.
Mot va i thie t b ngoai vi ghi neon len bit TRIS e lam mo t chan nh la 1 ngo ra, trong khi o ca c
thie t b ngoai vi kha c ghi neon len bit TRISB e lam mo t chan nh la 1 ngo va o. Khi ghi e bit
TRIS th khong anh h ng en ca c thie t b a cho phep, cac lenh oc hieu chnh ghi (BSF,
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
75 . + y
BCF, XORWF) v i TRISC la ch en pha i tranh dung. Ng i s dung tham chieu t i phan thie t b
ngoa i vi tng ng e thie t lap cho ung bit TRIS.

H|nh 2-4. 5c dc moch coc cho n kC7:k85 vo kC2:k80.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
76 . + y
H|nh 2-5. 5c dc moch coc cho n kC4:k83.


8o ng 2-3. Coc thonh gh| ke t nc| vc | P0k18.
TEN BIT# KIEU
EM
CHC NA NG
RC0/T1OSO/T1CKI Bit 0 ST I/O hoac ngo ra bo dao ong
Timer1/ngo vao xung cu a Timer1.
RC1/T1OSI/CCP2 Bit 1 ST I/O hoa c ngo vao bo dao ong
Timer1/ngo vao Capture, ngo ra
compare2/ngo ra PWM.
RC2/CCP1 Bit 2 ST I/O hoa c ngo va o Capture1/ngo ra
Compare1/ngo ra PWM.
RC3/SCK/SCL Bit 3 ST RC3 cung co the la xung clock no i
tiep o ng bo cho che o SPI va I
2
C.
RC4/SDI/SDA Bit 4 ST RC4 cung co the la d lie u SPI hoa c
d lieu xuat/nhap (che o I
2
C).
RC5/SDO Bit 5 ST I/O hoa c ngo ra d lie u port no i tiep
ong bo.
RC6/TX/CK Bit 6 ST I/O hoa c truyen ba t ong bo USART
hoa c xung o ng bo.
RC7/RX/DT Bit 7 ST I/O hoa c nhan bat ong bo USART
hoa c d lieu ong bo.
8o ng 2-4. Coc chuc no ng cu o P0k1C.
d. P0k1D vo thonh gh| 1k|5D:
PORTD la port 8 bit v i ngo vao co mach Schmitt Trigger. Moi chan co the c cau hnh
oc lap la ngo vao hoa c ngo ra.
PORTD co the nh cau hnh nh port cu a vi x ly 8 bit bang cach thie t lap bit ieu khien
PSPMODE (TRISE<4>). Trong mode nay th ca c bo em ngo vao dang TTL.
Chu y : PORTD va TRISD kho ng c xa y dng cho chip PIC 28 chan.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
77 . + y

H|nh 2-6. 5c dc moch coc cho n P0k1D.

8o ng 2-5. Coc thonh gh| ke t nc| vc | P0k1D.
TEN BIT# KIEU EM CHC NA NG
RD0/PSP0 Bit 0 ST/TTL Port I/O hoa c bit 0 cu a port t song song
RD1/PSP1 Bit 1 ST/TTL Port I/O hoa c bit 1 cu a port t song song
RD2/PSP2 Bit 2 ST/TTL Port I/O hoa c bit 2 cu a port t song song
RD3/PSP3 Bit 3 ST/TTL Port I/O hoa c bit 3 cu a port t song song
RD4/PSP4 Bit 4 ST/TTL Port I/O hoa c bit 4 cu a port t song song
RD5/PSP5 Bit 5 ST/TTL Port I/O hoa c bit 5 cu a port t song song
RD6/PSP6 Bit 6 ST/TTL Port I/O hoa c bit 6 cu a port t song song
RD7/PSP7 Bit 7 ST/TTL Port I/O hoa c bit 7 cu a port t song song
8o ng 2-6. Coc chuc no ng cu o P0k1D.
e. P0k1E vo thonh gh| 1k|5E:
PORTE co 3 chan: RE0/ RD/AN5, RE1/WR /AN6 va RE2/ CS /AN7 co cau hnh o c lap e
thie t lap ngo vao hoa c ngo ra. Nhng chan nay co ma ch ie n Schmitt Trigger ngo vao.
PORTE tr thanh cac ngo vao ieu khien xua t/nhap cu a vi x l khi bit PSPMODE
(TRISE<4>) bang 1. Trong che o nay ng i s dung pha i cha c chan rang ca c bit TRISE<0:2> pha i
bang 11 va chac cha n rang ca c chan o c thiet lap la cac ngo vao so. Cung am bao rang
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
78 . + y
ADCON1 c ca u hnh nh nh ng ngo xua t/nhap so. Trong che o na y, bo em ngo vao dang
TTL.
Ca c chan PORTE cu ng c a h p v i ca c ngo vao tng t. Khi c chon la ngo vao
tng t th khi o c ca c cha n nay se co gia tr la 0.
TRISE ieu khie n nh h ng cac cha n RE, ngay ca khi chung c dung nh nhng ngo vao
tng t . Ng i du ng phai cha c chan ca c cha n c nh cau hnh la nhng ngo va o khi dung
chung la nhng ngo vao tng t.

8o ng 2-7. Co c thonh gh| ke t nc| vc | P0k1E.

H|nh 2-7. 5c dc moch coc chon P0k1E.
TEN BIT# KIEU EM CHC NA NG
RE0/ RD/AN5
Bit 0 ST/TTL I/O hoac ngo vao ieu khien o c trong
che o port t song song hoa c ngo vao
tng t: RD
1= bnh thng
0= ieu khien oc.
RE1/WR /AN6
Bit 1 ST/TTL I/O hoac ngo vao ieu khie n ghi trong
che o port t song song hoa c ngo vao
tng t: WR
1= bnh thng.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
79 . + y
0= ieu khien ghi.
RE2/ CS /AN7
Bit 2 ST/TTL I/O hoac ngo vao ieu khien chon la
chip trong che o port t song song hoa c
ngo tng t : CS
1= VK khong c chon.
0= VK c chon.
8o ng 2-8. Coc chuc no ng cu o P0k1E.

Trang tha i port t song song/ca c bit ieu khien:
Bit 7 IBF: bit bao trang tha i bo em ngo va o ay (Input Buffer Full Status bit):
1= mo t word a nhan va ang ch CPU oc.
0= khong co word nao c nhan.
Bit 6 OBF: bit bao trang tha i bo em ngo ra ay (Output Buffer Full Status bit):
1= bo em ngo ra va n con gi word a ghi tr c o.
0= bo em ngo ra a c o c.
Bit 5 IBOV: bit pha t hie n tra n bo em ngo vao (Input Buffer Overflow Detect bit):
1= qua trnh ghi xay khi word ngo vao trc o cha c oc.
0= khong xay ra tran.
Bit 4 PSPMODE: Bit chon l a che o port t song song
1= PORTD c nh che o la port t song song.
0= PORTD c nh che o la port xua t nha p.
Bit 3 Cha dung: oc la 0
Ca c bit PORTE la cac bit d lie u tr c tie p:
Bit 2 Bit 2: bit ieu khie n h ng cho chan RE2/ CS /AN7
1= ngo vao.
0= ngo ra.
Bit 1 Bit 1: bit ieu khie n h ng cho chan RE1/WR/AN6
1= ngo vao.
0= ngo ra.
Bit 0 Bit 0: bit ieu khie n h ng cho chan RE0/ RD/AN5
1= ngo vao.
0= ngo ra.
, \
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
80 . + y
Bo timer/counter cu a module Timer co nhng ac iem sau:
o La timer/counter 8 bit.
o Co the o c va ghi.
o Co bo chia tr c 8 bit co the lap trnh bang phan mem.
o Cho phe p la chon nguon xung clock ben trong hoa c be n ngoa i.
o Pha t sinh nga t khi b tran t FFH en 00H.
o Cho phe p la chon ta c o ng canh cho xung clock ben ngoa i.
S o kho i cua timer0 va bo chia tr c v i WDT nh hnh 2-18:

H|nh 2-8. 5c dc khc| cu o t|mer0 vo bc ch|o trucc vc| WD1.
Che o nh th i c chon b i viec xo a bit TOCS (OPTION_REG<5>). Trong che o nh
th i Timer th Timer0 se tang gia tr sau mo i chu k lenh (khong co bo chia). Neu thanh ghi TMR0
b ghi gia tr m i th qua trnh tang se b cam trong 2 chu k theo sau. Ng i s dung co the lam tron
gia tr na y bang ca ch ghi gia tr co ieu chnh vao thanh ghi TMR0.
Neu bit TOCS (OPTION_REG<5>) bang 1 th chon che o em Counter. Trong che o em
Counter th Timer0 se tang gia tr em moi khi co xung ta c ong canh len hoa c canh xuo ng chan
RA4/TOCKI. Ca nh tac ong cua xung c chon la bi bit T0SE (OPTION_REG<4>): T0SE = 0
th chon canh len, ngc lai th cho n canh xuong.
Bo chia tr c khong the o c/ghi va co moi quan he v i Timer0 va Watchdog Timer.
o. Ngot cu o 1|mer0:
Nga t TMR0 c kch hoat khi thanh ghi TMR0 tra n t 00h e n FFh. Khi tran xay ra se lam
bit TMR0IF (INTCON<2>) len m c 1. Nga t co the che (cam) bang cach xo a bit TMR0IE
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
81 . + y
(INTCON<5>). Bit TMR0IF pha i c xo a bang phan mem b i chng trnh con phu c vu nga t cu a
Timer0 trc khi cho phep nga t tr la i. Nga t TMR0 khong the kch vi x l thoa t kho i che o
SLEEP v bo nh th i se ngng khi vi x ly che o SLEEP.
b. 1|mer0 vc| nguc n xung dem tu ben ngco|:
Khi khong s dung bo chia tr c th ngo vao xung clock ben ngoa i giong nh ngo ra bo chia
trc. S ong bo ho a cua TOCKI v i ca c xung clock ben trong c thc hien bang ca ch la y mau
ngo ra bo chia nhng chu k Q2 va Q4 cua xung clock ben trong. Do o, no ra t can thie t cho
T0CKI trang tha i m c cao t nha t 2 T
OSC
va trang thai mc thap t nha t 2 T
OSC
.
c. 8c ch|o trucc:
Ch co mot bo chia co ta c dung ma no co quan he v i Timer0 va WDT. Khi ga n bo chia tr c
cho Timer0 th se khong co bo chia cho Watchdog Timer va ng c la i. Bo chia tr c th khong the
oc hoa c ghi. Cac bit PSA va PS2:PS0 (OPTION_REG<3:0>) xac nh gan cu a bo chia va t le
chia.
Khi c ga n cho Timer0 th ta t ca ca c le nh ghi cho thanh ghi TMR0 (v du CLRF 1,
MOVWF 1, BSF 1, ) se xoa bo chia tr c.
Khi c ga n cho WDT th lenh CLRWDT se xoa bo chia trc cung v i Watchdog Timer.
Bo chia tr c cung khong the o c hoa c ghi.

Bit 7 RBPU
Bit 6 INTEDG
Bit 5 T0CS: bit l a cho n nguon xung cho TMR0 (TMR0 Clock Source Select bit)
1= xung a en chan T0CKI.
0= xung clock ben trong.
Bit 4 T0SE: bit l a cho n canh tch c c T0SE (TMR0 Source Edge Select bit)
1= tch c c canh xuong chan T0CKI.
0= tch c c canh len chan T0CKI.
Bit 3 PSA: bit gan bo chia tr c
1= gan bo chia cho WDT.
0= gan bo chia Timer0.
Bit 2-0 PS2:PS0: ca c bit l a chon t le bo chia tr c

Bit la chon T le TMR0 T le WDT
000 1:2 1:1
001 1:4 1:2
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
82 . + y
010 1:8 1:4
011 1:16 1:8
100 1:32 1:16
101 1:64 1:32
110 1:128 1:64
111 1:256 1:128
8o ng 2-. Coc b|t |u o chc n t| |e bc ch|o truc c.
, \'
Timer1 la nh th i/em 16 bit gom 2 thanh ghi 8 bit (TMR1H va TMR1L) co the o c va
ghi. Hai thanh ghi nay tang t 0000h en FFFFh va quay tr la i 0000h. Nga t cu a Timer1 neu c
cho phep se pha t sinh nga t khi tran va ngat c chot vao bit c ngat TMR1IF (PIR1<0>). Nga t
nay co the cho phep/cam khi bit TMRIE (PIE1<1>) co gia tr 1/0 tng ng.
Timer1 co the hoa t ong 1 trong 2 che o c l a chon bi bit TMR1CS (T1CON<1>):
Bo nh th i timer.
Bo em counter.
Trong che o nh th i timer, Timer1 tang gia tr mo i chu k lenh. Trong che o em th bo
em tang gia tr mo i khi co ca nh cua xung clock ngo vao t be n ngoa i.
Timer1 co bit ie u khien cho phep/cam em TMR1ON bang 1 th cho, bang 0 th cam.
Timer1 cu ng co ngo va o reset. Ngo vao reset co the c tao ra bi ca 2 kho i CCP.

Bit 7-6 Cha s dung neu o c se co gia tr 0.
Bit 5-4 T1CKPS1:T1CKPS1: ca c bit l a chon bo chia
11=1:8 gia tr chia.
10=1:4 gia tr chia.
01=1:2 gia tr chia.
00=1:1 gia tr chia.
Bit 3 T10SCEN: bit ieu khie n cho phep bo dao ong Timer1
1= bo dao ong c phe p.
0= Tat bo dao o ng.
Bit 2 T1SYNC: bit ieu khien ong bo ngo vao xung clock ben ngoa i cu a timer1
Khi TMR1CS = 1
1= khong the ong bo ngo va o clock t ben ngoai.
0= ong bo ngo vao clock t ben ngoa i.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
83 . + y
Khi TMR1CS = 0
Bit nay b bo qua. Timer1 du ng xung clock be n trong khi TMR1CS = 0.
Bit 1 TMR1CS: bit la chon nguon xung clock cua timer1
1= chon nguo n xung clock t ben ngoa i cha n RC0/T1OSO/T1CKI (canh le n).
0= Chon nguon xung clock ben trong (F
OSC
/4).
Bit 0 TMR1ON: bit ieu khie n Timer1
1= Cho phe p Timer1 em.
0= Timer1 ngng em.
o. Hcot dcng cu o 1|mer c che dc d|nh thc|:
Neu bit TMR1CS (T1CON<1>) bang 0 th Timer1 se lam vie c che o nh th i va tan so
xung ong ho a e n bo em bang F
OSC
/4. Bit ieu khie n ong bo SYNC T1 (T1CON<2>) kho ng b
anh hng do xung clock ben trong luon ong bo.
b. Hcot dcng cu o 1|mer c che dc Ccunter:
Timer1 co the hoa t ong che o ong bo hoa c ba t ong bo tuy thuo c vao bit TMR1CS.
Timer1 tang len 1 khi co canh len cu a xung be n ngoa i. Sau khi Timer1 c phep ba t au
hoa t ong che o Counter th Counter phai nhan 1 xung canh xuong tr c khi co xung em c
minh hoa hnh 2-19.

H|nh 2-. C|on dc thc | g|on xung dem cuo Ccunter.
c. Hcot dcng cu o 1|mer c che dc Ccunter dcng bc :
Khi bit TMR1CS bang 1 th Timer1 hoa t o ng che o Counter va se tang gia tr ne u:
Co xung canh len a en ngo vao chan RC1/T1OSI/CCP2 va bit T1OSCEN bang 1.
Co xung canh len a en ngo vao chan RC0/T1OSO/T1CKI va bit T1OSCEN bang 0.
Neu bit SYNC T1 b xo a th ngo va o xung clock t ben ngoai c o ng bo vi xung clock ben
trong. S ong bo c thc hien sau tang chia tr c. Tang chia tr c la bo em ba t o ng bo .
cau hnh nay, trong suot che o SLEEP, Timer1 se khong tang gia tr em khi co xung t
ben ngoa i xua t hien do ma ch ong bo ng ng hoat ong. Tuy nhien bo chia van tiep tu c tang.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
84 . + y

H|nh 2-20. 5c dc khc| cu o 1|mer.
d. Hcot dcng cu o 1|mer c che dc Ccunter bo t dcng bc :
Neu bit SYNC T1 (T1CON<2>) ba ng 1 th xung ngo vao t ben ngoa i khong c o ng bo . Bo
em tiep tu c tang bat ong bo v i xung ben trong. Bo em se tiep tu c em khi trong che o
SLEEP va co the pha t sinh ngat tran e kh i ong la i bo x l. Tuy nhien, ca c phong nga a c bie t
trong pha n mem th ca n pha i o c/ghi bo nh th i.
che o bo em khong ong bo th Timer1 khong the dung bo tao thi gian chuan e ba t
kp hoa c cac hoat ong so sanh.
e. cc vo gh| 1|mer trcng che dc dem khcng dc ng bc:
oc ca c thanh ghi TMR1H hoac TMR1L trong khi timer ang hoat ong em xung bat ong
bo ben ngoai th gia tr o c co hieu l c.
Khi ghi th ng i dung nen ng ng timer la i ro i m i ghi gia tr mong muon vao ca c thanh ghi.
Noi dung ghi vao timer co the th c hien khi timer ang em nhng co the ta o ra mo t gia tr em
khong d oan c ca c thanh ghi cu a timer.
f. 8c doc dc ng cu o 1|mer:
Mach dao o ng thach anh c thiet ke va tch hp ben trong gia ca c chan T1OSI (ngo vao)
va T1OSO (ngo ra co khuech a i). Bo dao ong c phep hoat ong bang ca ch lam bit ieu khien
T1OSCEN (T1CON<3>) len m c 1. Bo dao ong la dao ong cong sua t thap, toc o 200 kHz. Bo
dao ong van tiep tu c cha y khi trong che o SLEEP. Bo dao ong d nh chu yeu du ng v i
thach anh 32 kHz. Bang 2-20 trnh bay ca ch l a chon tu cho bo dao ong Timer1.

8o ng 2-20. Lu o chc n tu chc bc doc dcng.
g. keset 1|mer su du ng ngc ro CCP 1r|gger:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
85 . + y
Neu kho i CCP1 va CCP2 c nh cau hnh che o so sanh e tao ra xung kch s kien
a c bie t (CCP1M3:CCP1M0 = 1011), tn hieu nay se reset Timer1.
Chu y : xung kch s kien ac bie t t kho i CCP1 va CCP2 se khong lam bit c nga t
TMR1IF (PIR1<0>) bang 1.
Timer1 pha i nh cau hnh che o nh th i hoa c bo em ong bo e tao tien ch cho cau
tru c nay. Neu Timer1 ang hoa t ong che o em ba t ong bo th hoat ong Reset khong the
th c hien c.
h. keset co p thonh gh| 1MkH, 1MkL cu o 1|mer:
Hai thanh ghi TMR1H va TMR1L khong the ve 00h khi reset luc ca p nguon POR (Power On
Reset) hoa c ba t k reset nao kha c, ngoai tr xung kch s kie n ac biet cu a CCP1 va CCP2.
Thanh ghi T1CON c reset ve 00h khi he thong b reset luc cap nguon POR hoa c khi
Brown-out Reset, reset nay se tat timer va he so chia tr c co gia tr 1:1. ta t ca ca c reset kha c
con lai th thanh ghi kho ng b a nh hng.
Ca c thanh ghi cu a Timer1 nh bang 2-21:

8o ng 2-2. Coc thonh gh| cu o 1|mer.
7 , \
Timer2 la timer 8 bit co bo chia trc va co postscaler. Timer2 co the c s du ng nh bo
ta o xung co PWM cho che o hoat ong PWM cu a khoi CCP. Thanh ghi TMR2 co the oc va ghi
va co the xoa khi b reset.
Ngo vao xung clock (F
OSC
/4) co tu y chon he so chia tr c la: 1:1, 1:4 hoa c 1:16 c
l a chon bang ca c bit ieu khie n T2CKPS1:T2CKPS0 (T2CON<1:0>).
Timer2 co 1 thanh ghi chu ky 8 bit PR2. Timer2 ta ng gia tr t 00h cho en khi bang PR2 va
sau o reset ve 00h chu k ke tiep. PR2 la thanh ghi co the oc va ghi. Khi he thong b reset th
thanh ghi PR c kh i tao gia tr FFH.
Ngo ra cua TMR2 i qua postscaler 4 bit e tao ra yeu cau nga t TMR2 c chot trong bit c
TMR2IF (PIR1<1>). Co the ta t Timer2 bang cach xoa bit ie u khien TMR2ON (T2CON<2>), e
giam cong suat tieu thu .
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
86 . + y

H|nh 2-2. 5c dc khc| cu o 1|mer2.
Thanh ghi ieu khien timer2:

Bit 7 Cha s dung neu o c se co gia tr 0.
Bit 6-3 TOUTPS3:TOUTPS0: cac bit l a chon ngo ra Postscaler cu a Timer2
0000=1:1 postscaler.
0001=1:2 postscaler.
0010=1:3 postscaler.
.
.
1111=1:16 postscaler.
Bit 2 TMR2ON: Bit ieu khie n cho phe p/cam Timer2
1= cho phep timer2 em.
0= Timer2 ngng em.
Bit 1-0 T2CKPS1:T2CKPS0: bit la chon he so chia tr c cho nguon xung clock cua timer2
00= he so chia la 1.
01= he so chia la 4.
1x= he so chia la 6.
o. 8c ch|o trucc vo pcstsco|er cu o 1|mer2:
Bo em chia tr c va bo em postscaler se b xo a khi xa y ra mot trong cac s kien sau:
Th c hie n ghi d lie u vao thanh ghi TMR2.
Ghi va o thanh ghi T2CON.
Ba t k s Reset na o cu a linh kie n.
TMR2 khong b xoa khi ghi d lieu va o thanh ghi T2CON.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
87 . + y
b. Ngc ro cu o 1Mk2:
Ngo ra cu a TMR2 c noi t i kho i SSP khoi na y co the tuy chon e tao ra xung nhp.

8o ng 2-22. Coc thonh gh| cu o 1|mer2.
` 3 /3 /
Kho i chuyen o i ADC 8 kenh va mo i kenh ADC la 10 bit v i chip 40 chan. Kho i ADC co ca c
ngo vao ie n a p chuan thap va cao va cac chan nay co the ba ng phan mem e tao to hp V
DD
, V
SS
,
RA2 hoa c RA3.
Bo chuye n oi ADC co cau tru c o c lap e co the hoat ong trong khi vi ieu khien ang
che o SLEEP, xung cung cap cho ADC c lay t dao ong RC ben trong cu a khoi ADC.
Kho i ADC co 4 thanh ghi:
ADRESH (A/D Result High Register)
ADRESL (A/D Result Low Register)
ADCON0 (A/D Control Register 0)
ADCON1 (A/D Control Register 1)
Thanh ghi ADCON0 co chc nang ieu khien hoa t ong cu a kho i ADC c trnh ba y hnh
2-22. Thanh ghi ADCON1 thiet la p chc na ng cho cac chan cua port la ca c ngo vao nhan tng t
hoa c chan xua t nhap IO.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
88 . + y

H|nh 2-22. 5c dc khc| cu o 1|mer2.
Thanh ghi ADCON0

Bit 7 ADCS0:ADCS: ca c bit l a chon xung chuyen oi AD

8o ng 2-23. Coc b|t |u o chcn xung chuyen dc| ADC.
Bit 5-3 CHS2:CHS0: cac bit l a chon kenh tng t
000 = kenh 0 (AN0)
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
89 . + y
001 = kenh 1 (AN1)
010 = kenh 2 (AN2)
011 = kenh 3 (AN3)
100 = kenh 4 (AN4)
101 = kenh 5 (AN5)
110 = kenh 6 (AN6)
111 = kenh 7 (AN7)
Bit 2 GO/ DONE : bit bao trang tha i chuyen o i ADC
Khi ADON = 1:
1= chuyen o i ADC ang dien ra (bang 1 khi ba t au qua trnh chuyen oi va se b
xoa ve 0 khi qua trnh chuyen o i ke t thu c).
0= chuyen o i ADC khong die n ra.
Bit 1 Cha dung neu o c la 0
Bit 0 ADON: bit m nguon cho ADC hoat ong:
1= khoi chuyen o i ADC c m nguon.
0= khoi chuyen o i ADC b ta t nguon e giam cong sua t tieu thu.
Thanh ghi ADCON1

Bit 7 ADFM: bit la cho n nh dang ke t qua ADC:
1= canh le pha i, 6 bit MSB cu a ADRESH co gia tr la 0.
0= canh le trai, 6 bit LSB cu a ADRESL co gia tr la 0.
Bit 6 ADCS2: bit l a chon xung clock cho chuyen oi ADC:
Bit 5-4: cha du ng ne u o c se co gia tr la 0
Bit 3-0: PCFG3:PCFG0: bit ieu khien ADC
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
90 . + y

8o ng 2-24. Coc b|t d|e u kh|e n ADC.
Ca c thanh ghi ADRESH:ADRESL cha ke t qua 10 bit cu a chuyen o i. Khi chuyen o i ADC
c hoan tha nh, ke t qua c nap vao cap thanh ghi ket qua , bit GO/ DONE b xo a va bit c bao
nga t ADC la ADIF len 1. S o kho i cu a khoi ADC c trnh bay trong hnh 2-22.
Sau khi khoi ADC a c nh cau hnh theo yeu cau, th pha i thc hien chon kenh tr c khi
ba t au qua trnh chuyen o i. Ca c kenh ngo vao tng t pha i co cac bit TRIS tng ng c chon
nh nh ng ngo vao.
B c 1: e th c hien chuyen o i ADC th pha i th c hien cac b c sau:
B c 2: Thie t la p cau hnh ADC:
nh cau hnh cho cac chan tng t/ien ap chuan va xua t/nhap so (ADCON1).
Chon l a kenh ngo vao ADC (ADCON0).
Chon l a xung clock cho chuyen o i ADC (ADCON0).
M ien cho ADC (ADCON0)
B c 3: Thie t la p cau hnh nga t ADC (neu c ye u cau):
Xoa bit ASDIF.
Set bit ADIF.
Set bit PEIE.
Set bit GIE
B c 3: Ch he t th i gian theo ye u ca u:
B c 4: Ba t a u chuye n o i: set bit GO/ DONE
B c 5: Ch chuyen o i ADC hoan thanh bang cach:
Kiem tra lien tu c bit GO/
DONE
ve 0 hay cha (neu khong dung ngat).
Ch nga t ADC xay ra.
B c 6: oc cap thanh ghi ke t qua (ADRESH:ADRSL), xo a bit ADIF neu c yeu ca u
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
91 . + y
B c 7: Th c hien chuyen o i ke tiep. Thi gian chuyen o i cho 1 bit la TAD.

o. Ngc ro cu o 1Mk2:
Ngo ra cu a TMR2 c noi t i kho i SSP khoi na y co the tuy chon e tao ra xung nhp.

b. Co c yeu cou nhon du ||e u ADC:
oi vi cac bo chuyen o i A/D e am ba o chuyen oi chnh xa c theo thong so ch nh th
cac tu gi ien ap nap pha i na p ay u ng bang m c ie n ap cu a kenh ngo vao. S o ngo vao
tng t c trnh bay trong hnh 2-23. Tr kha ng nguon (R
S
) va tr khang cu a chuyen ma ch lay
mau ben trong (R
SS
) anh h ng tr c tiep en th i gian nap cua tu C
HOLD
. Tr kha ng cu a chuyen
mach la y mau thay o i theo ien ap cua vi mach nh hnh 2-23. Tr khang to i a cho nguon tn
hieu tng t c e ngh la 2,5. Khi tr khang giam th thi gian thu nha n co the giam. Sau khi
kenh ngo vao c cho n th thu nhan d lieu mi c th c hien trc khi thc hien chuyen o i.
e tnh toa n th i gian thu nhan nho nha t th ta co the s dung phng trnh 2-1. Gia s loi cu a
phng trnh nay la LSB vi ADC 10 bit co 1024 b c.
Phng trnh 2-1: thi gian nhan
T
ACQ
= Amplifier Settling Timer + Hold Capacitor Charging Timer + Temperature Coefficient
= T
AMP
+ T
C
+ T
COFF


T
C
= C
HOLD
(R
IC
+ R
SS
+ R
S
) In(1/2047)
= -120pF(1k + 7k + 10k) In(0,0004885)
= 16,47s
T
ACQ
= 2s + 16,47s + [(50
o
C -25
o
C)(0,05s/
o
C)
= 19,72s

H|nh 2-23. 5c dc mo ch cu o ngc vo c ADC.
c. Lu o chcn xung c|cck chc ADC:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
92 . + y
Th i gian chuyen oi ADC cho mo i bit c xa c nh la T
AD
. Chuyen o i ADC se dung to i
thieu lng th i gian 12 T
AD
e chuyen o i cho 10 bit. Nguon xung ong ho cho ADC c l a
chon ba ng phan mem. Bay kha nang l a chon cho T
AD
la :
2 T
OSC

4 T
OSC

8 T
OSC

16 T
OSC

32 T
OSC

64 T
OSC

Bo dao ong RC ben trong module ADC.
e chuye n o i ADC la chnh xa c th xung o ng ho pha i c chon thi gian nho nha t T
AD
=
1,6s. Ba ng 2-25 trnh bay th i gian TAD c tnh toan t ca c ta n so hoa t ong cu a vi ieu khien
PIC va l a chon nguon xung clock.

8o ng 2-25. Coc b|t |u o chcn xung chuyen dc| ADC.
d. |nh cou h|nh chc co c ngc voc tucng tu cu o ADC:
Hai thanh ghi ADCON1 va TRIS ieu khien hoa t ong ca c cha n port ADC. Ca c chan cu a port
dung lam ca c ngo vao tng t th ca c bit TRIS tng ng phai m c 1(ngo vao). Neu bit TRIS
bang 0 (ngo ra) th se chuye n thanh ngo ra so . Hoa t o ng chuyen o i ADC oc la p vi trang tha i
cu a ca c bit CHS0:CHS2 va cac bit TRIS.
e. Chuye n dc| ADC:
Xoa bit GO/ DONE trong th i gian chuye n o i se huy bo qua trnh ang chuyen o i. Cap
thanh ghi lu ket qua chuyen o i ADRESH:ADRESL se khong c cap nhap chuye n oi va tiep
tu c cha ca c gia tr a chuye n o i cu a lan tr c. Sau khi huy chuyen o i ADC th qua trnh chuyen
oi tiep theo cu a kenh a chon c ba t a u mot cach t o ng. Lam bit GO/ DONE len 1 e ba t
au qua trnh chuyen o i.
Trong hnh 2-24 trnh bay ca c chu ky chuyen o i t khi bit GO len 1 cho en lu c ba t au
chuyen o i va cho en lu c ke t thu c.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
93 . + y

H|nh 2-24. Chu ky chuyen dc | ADC.
f. Co c thonh gh| |uu ket quo cu o ADC:
Cap thanh ghi 16 bit ADRESH:ADRESL dung e lu ke t qua chuyen oi 10 bit cu a ADC sau
khi chuyen o i xong. Do ke t qua ch co 10 bit nhng lu trong cap thanh ghi 16 bit ne n co ca c kieu
nh dang sau tuy thuoc vao tra ng tha i bit ADFM (ADC Format). Hnh 2-25 trnh bay 2 kieu nh
dang cu a cap thanh ghi ket qua:

H|nh 2-25. Co p thonh gh| ket quo h|e u ch|nh pho | vo tro|.
g. Hcot dcng chuye n dc | ADC trcng che dc 5|eep:
Kho i ADC co the hoat o ng trong che o Sleep va nguon xung clock c thiet la p cho RC
(ADCS1:ADCS0 = 11). Khi chon nguon xung clock RC th kho i ADC ch them mo t chu ky lenh
trc khi qua trnh chuyen o i bat au. Viec ch them mo t chu ky lenh cho phep th c hie n lenh
SLEEP e vi ieu khie n PIC vao che o nham loa i tr ta t ca nhieu chuyen ma ch so. Khi chuyen
oi ke t thu c th bit GO/ DONE b xoa va ke t qua lu vao thanh ghi ADRES. Neu ngat ADC c
cho phe p, vi ieu khie n PIC se thoat khoi che o SLEEP va hoa t ong bnh thng tr lai. Neu
nga t ADC khong c cho phe p, khoi ADC se ta t sau o, ma c du bit ADON van duy tr mc 1.
h. Anh huc ng cu o reset:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
94 . + y
Reset PIC se buoc cac thanh ghi trang thai reset. Khi reset se lam kho i ADC ta t va huy bo
luon qua trnh ADC ang chuye n o i. Tat ca ca c chan ngo vao ADC c nh cau hnh nh nhng
ngo vao tng t.
Gia tr trong hai thanh ghi ADRESH:ADRESL la kho ng c hieu chnh khi reset luc cap
ien. Hai thanh ghi ADRESH:ADRESL ch a d lieu khong xac nh sau khi reset luc cap ien.
Ca c thanh ghi s dung cho khoi ADC:

8o ng 2-26. Coc thonh gh| dung chc chuye n dc | ADC.
3 /
Kho i so sanh ch a hai bo so sanh tng t. Ngo va o bo so sanh a h p v i cac chan I/O t
RA0 e n RA3 va cac ngo ra a hp v i ca c chan t chan RA4 va RA5. ie n ap chuan tren IC cung
co the la mo t ngo vao cu a bo so sa nh.
Thanh ghi CMCON ie u khien bo a h p ngo vao va ngo ra cua bo so sanh. S o kho i ca c
mo hnh kha c nhau cu a bo so sanh c trnh bay trong hnh 2-26.
Thanh ghi CMCON

Bit 7 COUT: bit ngo ra bo so sanh 2
Khi C2INV= 0:
1= C2 V
IN+
> C2 V
IN-

0= C2 V
IN+
< C2 V
IN-

Khi CINV= 1:
1= C2 V
IN+
< C2 V
IN-

0= C2 V
IN+
> C2 V
IN-
Bit 6 C1OUT: ngo ra bo so sanh 1
Khi C1INV= 0:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
95 . + y
1= C V
IN+
> C1 V
IN-

0= C1 V
IN+
< C1 V
IN-

Khi CINV= 1:
1= C1 V
IN+
< C1 V
IN-

0= C1 V
IN+
> C1 V
IN-

Bit 5 C2INV: bit ao ngo ra bo so sa nh 2
1= ngo ra C2 c a o
0= ngo ra C2 khong c ao
Bit 4 C1INV: bit ao ngo ra bo so sa nh 1
1= ngo ra C1 c a o
0= ngo ra C1 khong c ao
Bit 3 CIS: bit chuyen o i ngo vao bo so sanh
Khi CM2:CM0 = 110:
1= C1 V
IN-
ket no i v i RA3/AN3
C2 V
IN-
ket no i v i RA2/AN2
0= C1 V
IN-
ket no i v i RA0/AN0
C2 V
IN-
ket no i v i RA1/AN1
Bit 2-0 CM2:CM0: cac bit cho n kieu so sanh



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
96 . + y


H|nh 2-26. Coc k|e u hcot dc ng cu o bc sc sonh.
Co 8 kieu hoa t o ng cua bo so sanh. Thanh ghi CMCON c s dung e l a cho n ca c kieu
nay. Thanh ghi TRISA ieu khien d lieu tr c tiep ca c chan cu a bo so sanh moi kieu.
o. Hcot dcng sc so nh:
Bo so sa nh n trnh bay trong hnh 2-27 cung vi moi quan he gia cac mc ngo vao tng
t va ngo ra so.
Khi ngo vao V
IN+
nho hn ngo vao V
IN-
th ngo ra so cua bo so sanh m c thap (0).
Khi ngo vao V
IN+
ln hn ngo vao V
IN-
th ngo ra so cu a bo so sanh m c cao (1).
Hnh 2-27 trnh bay mach so sa nh, da ng so ng cu a cac tn hieu vao so sanh va tn hieu ra: ngo
ra so co the b le ch nhanh hay cham la do ien a p offset va th i gian ap ng.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
97 . + y
H|nh 2-27. Co c k|eu hco t dc ng cu o bc sc sonh.
b. |e n o p sc sonh:
Tn hie u chuan ben ngoa i hoa c ben trong co the c s du ng tuy thuoc va o kieu hoa t ong
cu a bo so sanh. Tn hie u tng t V
IN-
c so sanh v i tn hieu V
IN+
va ngo ra so c ieu chnh
sao cho phu hp.
Tn hieu chuan ben ngoai:
Khi s dung ien a p chuan ben ngoa i th bo so sanh co the c nh hnh e co ca c hoa t
ong so sanh v i nguon ien ap chuan giong nhau hoa c khac nhau. Tuy nhien nhng ng dung ta ch
so ng theo ngng th can ien ap chua n gio ng nhau. Tn hieu chuan nam trong gii han t V
SS
en
V
DD
va co the ca p en cac chan ngo vao cu a bo so sanh.
Tn hieu chuan ben trong:
Bo so sanh cung cho phep la cho n nguon ien ap chuan ben trong cho bo so sanh. Tn hieu
chuan ben trong c s dung khi cac bo so sa nh hoa t ong kieu CM<2:0> = 110 nh hnh 2-24
tren. kie u nay th ien ap chuan be n trong c a en cha n V
IN+
cu a cac bo so sanh.
c. 1hc| g|on do p ung:
Th i gian a p ng la thi gian nho nhat sau khi l a chon mo t ie n ap chuan m i hoac nguon
ngo vao, tr c khi ngo ra bo so sanh mc hp le. Neu ien ap chuan ben trong b thay o i, th i
gian tr hoan ln nhat cua ien ap chua n be n trong phai c xem xe t khi s dung ca c ngo ra cu a
bo so sa nh. Tra bang thong so ac tnh e bie t th i gian ap ng.
d. Ngc ro bc sc sonh:
Ngo ra bo so sanh c o c thong qua thanh ghi ch o c CMCON. Cac ngo ra cu a bo so sanh
cung co the la ca c ngo ra tr c tie p ca c cha n xua t/nhap RA4 va RA5. Khi c cho phep, bo a
hp cac cha n RA4 va RA5 se chuye n mach va ngo ra cu a mo i chan se kho ng ong bo v i ngo ra
cu a bo so sanh. Hnh 2-28 trnh bay s o mach cua bo so sanh.
Ca c bit TRISA van con ch c nang cho phep/cam o i v i cac chan RA4 va RA5.
Cc tnh ngo ra cu a bo so sa nh co the c chuyen o i s dung 2bit C2IHV va C1INV
(CMCON<4:5>)
Chu y: khi oc thanh ghi port, ta t ca ca c chan c dung la ngo va o tng t se o c la 0.
Ca c ngo vao c nh cau hnh nh ngo vao so se chuyen o i thanh ngo vao tng t tuy vao yeu
cau k thuat ngo vao Schmitt Trigger.
Ca c m c ien ap tng t tren ba t ky cha n nao c nh ngha nh ngo vao so co the tr
thanh bo em e tang them dong.
RA4 la chan IO dang c c thu e h. Khi c dung lam ngo ra th pha i co ien tr keo len.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
98 . + y

H|nh 2-28. 5c dc mo ch cu o bc sc so nh.
e. Ngot cu o bc sc sonh:
C nga t bo so sanh len m c 1 ba t ky lu c na o co s thay o i gia tr ngo ra bo so sanh. Phan
mem duy tr kiem tra trang tha i ca c bit ngo ra bang ca ch o c ca c bit CMCON<7:6>, e xa c nh
chuyen oi th c a xa y ra hay cha. Bit CMIF (thanh ghi PIR) la c ba o nga t bo so sa nh. Bit CMIF
pha i c reset bang cach xo a no. Do cung co the ghi m c 1 va o thanh ghi nay, khi o nga t mo
phong c bat au.
Bit CMIE (thanh ghi PIE) va PEIE ( thanh ghi INTCON) pha i c set m c 1 e cho phep
nga t. Them va o o , bit GIE cung pha i c set m c 1. Neu bat k mo t trong nhng bit nay b xo a
th nga t se khong c cho phep, ma c du bit CMIF van con m c 1 neu ieu kien nga t xay ra.
Trong chng trnh phu c vu nga t, ng i s dung co the xo a s ngat theo nhng cach sau:
Th c hie n bat ky lenh o c/ghi CMCON se ket thuc ieu kien khong thch ng.
Xoa bit c CMIF.
f. Hcot dcng cu o bc sc so nh c che dc 5|eep:
Khi bo so sanh hoa t ong va vi ie u khien trong che o Sleep, bo so sanh van duy tr hoa t
ong va se ba o nga t neu c cho phep. Nga t do bo so sanh tao ra se lam vi ieu khien thoa t kho i
che o Sleep. e giam tieu ton na ng l ng trong che o Sleep th nen ta t bo so sanh
(CM<2:0>=111) tr c khi th c hien Sleep. Neu vi ieu khie n thoa t khoi che o Sleep th noi dung
cu a thanh ghi CMCON kho ng b anh hng.
g. Anh huc ng cu o reset:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
99 . + y
Khi Reset PIC se anh hng en trang tha i reset cu a thanh ghi CMCON lam cho kho i so sanh
trong che o ta t, CM<2:0> = 111.
h. Ke t nc| coc ngc vo c tucng tu:
Mach ie n n gian cho ngo va o tng t c trnh bay trong hnh 2-29. Do ca c cha n tng
t ke t no i en ca c ngo ra so nen chung co 2 diode pha n c c ngc oi vi V
DD
va V
SS
. Do o , ngo
vao tng t pha i nam trong gii ha n ien ap t V
DD
en V
SS
.
Neu ien ap ngo vao le ch kho i gii han tren khoang 0,6V theo chieu tang hoa c giam th mot
trong ca c diode se phan c c thua n va xay ra hie n tng ghi ap. Tr khang nguon ln nha t nen dung
la 10k cho nguon tng t. Ba t k thanh phan nao ben ngoa i ket no i en chan ngo vao tng t
nh la tu hoa c diode Zener se co mot dong ro co gia tr nho .

H|nh 2-2. 5c dc mo ch ngc vo c tucng tu.
Ca c thanh ghi ket hp cu a kho i so sanh nh bang sau:

8o ng 2-27. Coc thonh gh| du ng chc bc sc so nh.
Bo tao ien ap chuan cua mach so sanh la mo t ma ng ien tr bac thang 16 cap nham tao ra
ien ap chuan co nh khi bo so sanh lam viec kie u 110. Thanh ghi la p trnh ieu khien ch c
nang cu a bo tao ie n a p chua n la CVRCON.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
100 . + y
Hnh 2-30 la s o ba c thang ien tr c phan oan e tao ra hai day gia tr cu a CV
REF
va
ch c nang giam cong sua t e gia m cong suat tieu tan khi nguon ie n ap chuan khong s du ng.
ie n a p cung cap cho mach tao ien a p chuan lay t nguo n V
DD
.
Ngo ra cu a bo ta o ien ap chuan co the no i vi chan RA2/AN2/Vref-/CV
REF
. Cha n nay co
the du ng nh chan ngo ra cu a bo chuyen oi DAC n gian nhng ch c na ng chnh cua vie c a
ien ap chua n ra chan o la nham kiem tra xem nguon ien ap chuan co chnh xac hay khong.

Bit 7 CVREN: bit cho phe p ma ch tao ien ap chuan cho bo so sanh
1= cho phep ma ch hoa t ong.
0= khong cho phep ma ch hoa t ong.
Bit 6 CVROE: bit cho phe p ngo ra bo so sanh V
REF

1= m c ien ap VCREF c a en chan RA2/AN2/Vref-/CV
REF
.
0= m c ien ap VCREF kho ng c a en chan RA2/AN2/Vref-/CV
REF
.
Bit 5 CVRR: bit l a chon day ien ap V
REF
cu a bo so sanh 2
1= t 0 en 0.75 CV
RSRC
vi o phan giai cu a b c la CV
RSRC
/24.
0= t 0.25 e n 0.75 CV
RSRC
v i o phan gia i cu a bc la CV
RSRC
/32.
Bit 4 Cha dung ne u oc se co gia tr 0
1= ngo ra C1 c a o
0= ngo ra C1 khong c ao
Bit 3-0 CVR3:CVR0: cac bit l a chon gia tr VREF cua bo so sanh t 0 en 15
Khi CVRR=1:
CV
REF
=(VR<3:0>/24)*CV
RSRC
.
Khi CVRR=0:
CV
REF
=1/4 * CV
RSRC
+(VR<3:0>/32)*CV
RSRC
.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
101 . + y

H|nh 2-30. 5c dc khc | moch toc d|en o p chuo n chc bc sc so nh.
Ca c thanh ghi ket hp cu a kho i so sanh nh bang sau:

8ong 2-28. Coc thonh gh| du ng chc bc toc d|e n o p chuo n.
' / / / /
PIC16F87XA co mo t so ac iem lam tang o tin cay, giam gia thanh e n m c to i thieu
thong qua viec loa i bo ca c bo phan ben ngoa i, cung ca p ca c che o hoat ong tiet kiem nang lng
va cung cap ma bao ve . o la:
S la chon bo dao ong (OSC).
Reset:
Power-on Reset (POR).
Power-up Timer (PWRT).
Bo dao ong Start-up Timer (OSC).
Brown-out Reset (BOR).
Ca c nga t.
Watchdog Timer (WDT).
Sleep.
Ma ba o ve.
Nha n dang ID.
Lap trnh tuan t trong ma ch.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
102 . + y
Lap trnh tuan t trong ma ch ien ap tha p.
Bo g ro i.
PIC16F87XA co WDT co the dng thong qua ca c bit nh ca u hnh. WDT co bo dao ong
RC hoat ong rieng e tang o tin cay.
Co hai bo nh th i cung ca p th i gian tr hoan can thiet khi cap ien. Mot la OST (Oscillator
Start-up Timer) co chc nang gi IC tra ng tha i Reset cho en khi bo dao ong tha ch anh hoa t
ong on nh. Hai la PWRT (Power-up timer) cung ca p thi gian tr hoan co nh khoa ng 72ms ch
khi mi cap ien. No c thiet ke e gi thie t b trang thai Reset ch nguon cung ca p on nh.
Vi hai bo nh th i, hau he t ca c ng dung khong can ma ch Reset ngoa i.
Che o Sleep c thiet ke e tieu thu dong thap khi che o power-down. Ng i s dung
co the kh i ong vi ieu khien khoi che o Sleep thong qua Reset ngoai, WDT hoa c thong qua
nga t.
Mot va i bo dao o ng tuy chon cung c thiet ke e cho phep mo t so bo phan hoa t ong phu
hp v i ng dung. Bo dao o ng tuy chon RC tie t kiem chi ph trong khi bo dao ong thach anh LP
tie t kiem nang l ng. Mo t tap hp ca c bit nh cau hnh c s dung cho nhng chon l a kha c.
Co c b|t d|nh cou h|nh:
Ca c bit nh ca u hnh co the lap trnh c (khi oc co gia tr 0) hoa c khong lap trnh c
(khi o c co gia tr 1) e la cho n ca c cau hnh khac nhau cho vi ieu khie n. Gia tr xoa hoa c
khong lap trnh c cu a thanh ghi nh cau hnh (Configuration Word register) la 3FFFh. Nhng
bit nay nam trong bo nh chng trnh tai a ch 2007h. ac bie t chu y la a ch nay nam ngoa i
gi i han cu a bo nh chng trnh.
Thanh ghi Configuration Word

Bit 13 CP: bit ma bao ve bo nh chng trnh Flash
1= ma ba o ve tat.
0= ta t ca bo nh chng trnh co ma ba o ve.
Bit 12 cha s dung: o c la 1
Bit 11 DEBUG: bit thiet lap che o g roi
1= mach g roi khong c cho phep, RB6 va RB7 la ca c chan IO.
0= mach g roi c phe p, cha n RB6 va RB7 danh cho vie c g roi.
Bit 10-9 WRT1-WRT0: cac bit cho phep ghi bo nh chng trnh Flash
11= tat ba o ve ghi; co the ghi d lieu vao bo nh chng trnh bang ca ch ieu khien
thanh ghi EECON.
10= cac o nh co a ch t 0000h en 00FFh bao ve chong ghi, t 0100h en 1FFFh
cho phep ghi ba ng ca ch ieu khien thanh ghi EECON.
01= cac o nh co a ch t 0000h en 07FFh bao ve chong ghi, t 0800h en 1FFFh
cho phep bang ca ch ieu khien thanh ghi EECON.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
103 . + y
00= cac o nh co a ch t 0000h en 0FFFh bao ve chong ghi, t 1000h en 1FFFh
cho phep ghi ba ng ca ch ieu khien thanh ghi EECON.

Bit 8 CPD: bit ma bao ve bo nh d lieu EEPROM
1= ta t ma bao ve bo nh d lieu EEPROM.
0= bo nh d lie u EEPROM co ma bao ve chong ghi.
Bit 7 LVP: bit cho phep mach lap trnh tuan t ien ap tha p.
1= chan RB3/PGM co ch c nang PGM cho phep lap trnh ien ap thap.
0= chan RB3 la IO so , cha n HV MCLR dung e lap trnh.
Bit 6 BOREN: bit cho phe p Reset Brown-out
1= cho phep BOR
0= khong cho phep BOR
Bit 5-4 Khong c ho tr: oc la 1
Bit 3 PWRTEN : bit cho phe p Timer hoa t ong khi reset lu c m ien:
1= khong cho phep PWRT.
0= cho phep PWRT.
Bit 2 WDTEN: bit cho phep WDT
1= cho phep WDT
0= khong cho phep WDT
Bit 1-0 F
OSC
1:F
OSC
0: ca c bit la chon bo dao ong
11= bo dao o ng RC
10= bo dao o ng HS
01= bo dao o ng XT
00= bo dao o ng LP
'' / / 3
o. Co c |co| moch doc dcng:
PIC16F877A co the hoa t ong 4 kieu dao ong kha c nhau. Ng i du ng co the lap trnh cho
hai bit nh ca u hnh e chon 1 trong 4 che o :
LP: Low-power Crystal (tha ch anh nang lng thap)
XT: Crystal/Resonator (tha ch anh/cong hng)
HS: High-speed Crystal/Resonator (tha ch anh/ cong hng to c o cao)
RC: Resistor/Capacitor (ien tr /tu)
b. Doc dcng tho ch onh/tu Cerom|c:
Trong ca c kieu dao ong XT, LP hoa c HS, thach anh hoa c tu Ceramic c noi en ca c chan
OSC1/CLKI va OSC2/CLKO e tao dao ong nh hnh 2-31. Thie t ke bo dao ong PIC16F877A
yeu cau s dung kie u cat thach anh song song. S dung tha ch anh kie u ca t no i tie p co the khac v i
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
104 . + y
ta n so yeu cau cu a nha san xua t. Khi hoat o ng kieu XT, LP hoa c HS th PIC co the s dung
nguon xung clock t be n ngoa i a e n chan OSC1/CLKI nh hnh 2-32.

H|nh 2-3. Doc dcng du ng thoch onh/tu ccng huc ng co u h|nh X1, LP hco c H5.
Chu y: (1) Xem bang 2-22 e co ca c gia tr cu a tu C1 va C2.
Chu y: (2) ie n tr no i tiep R
S
co the c ye u cau oi v i tha ch anh.

H|nh 2-32. Ngc voc nho n xung tu ben ngco| cou h|nh X1, LP hcoc H5.
Bang 2-29 lie t ke tu C1 va C2:

8o ng 2-2. Chcn coc tho ch onh vo tu .
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
105 . + y
c. 8c doc dc ng kC:
Trong nhng ng dung oi ho i ve toc o, cho n bo dao ong RC e tiet kiem chi ph. Tan so
cu a bo dao o ng RC la ham cua ien ap nguo n cung cap, gia tr cua ien tr (R
EXT
) va tu (C
EXT
) va
nhie t o hoa t ong. Ben canh o, tan so cu a bo dao o ng se thay oi t gia tr nay en gia tr kha c
lien quan en ca c bien tham so cu a tien trnh. Hn na, s khac nhau ve gia tr ien dung gia ca c
kieu ong goi se anh hng en ta n so dao ong, a c bie t v i gia tr tu C
EXT
thap. Hnh 2-33 trnh
bay to hp RC noi v i PIC 16F87XA

H|nh 2-33. 8c doc dcng kC.
' \/
PIC16F877A co 6 loa i Reset khac nhau:
Power-on Reset (POR).
Reset MCLR trong luc hoat ong bnh thng.
Reset MCLR trong che o Sleep.
Reset WDT trong che o Sleep.
Kh i ong WDT (trong che o hoa t ong bnh th ng).
Brown-out Reset (BOR).
Co mot va i thanh ghi kho ng b anh h ng vi bat k hoa t o ng reset na o. Trang tha i cu a
chung la khong xac nh khi POR va khong thay o i ca c kieu reset con la i. Ha u he t cac thanh ghi
kha c con lai eu Reset o i v i reset POR, reset MCLR va reset WDT, reset MCLR trong che o
Sleep va reset BOR. Cac thanh ghi khong anh hng WDT e anh th c CPU kho i che o ngu vao
trang tha i hoa t ong bnh thng tr la i. Ca c bit TO va PD c set hoa c xoa tuy thuoc vao tnh
huong Reset kha c nhau. Ba ng 2-22 die n ta ca c trang thai reset cua ta t ca cac thanh ghi.
S o kho i n gian cu a mach reset tre n chip nh hnh 2-34.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
106 . + y

H|nh 2-34. 5c dc mo ch reset trcng ch|p.
8o ng 2-30. Chcn coc tho ch onh vo tu .

8o ng 2-3. Chc n coc thoch onh vo tu .
Chu y : (1) khi thoat kho i che o ngu tuy thuo c vao nga t xa y ra va bit GIE b set len 1, no i
dung thanh ghi PC c na p vector a ch nga t la 0004h.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
107 . + y
Gia tr cua ca c thanh ghi khi b reset:

8o ng 2-32. C|o tr| cu o co c thonh gh| kh| b| reset.
Chu y : (1) Mot hoac nhieu bit trong INTCON, PIR1 va/hoac PIR2 se b anh hng.
Chu y : (2) khi thoat kho i che o ngu tuy thuo c vao nga t xa y ra va bit GIE b set len 1, no i
dung thanh ghi PC c na p vector a ch nga t la 0004h.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
108 . + y
Chu y : (3) Xem ba ng 2-31 e co cac gia tr reset v i ieu kien ch nh.


8o ng 2-33. C|o tr| cu o co c thonh gh| kh| b| reset (t|e p tuc[.
o. keset MCLR:
PIC16F877A co bo lo c nhieu cho ngo vao cu a cha n reset MCLR . Bo lo c nhieu se ta ch va
huy ca c xung nho.
Nen chu y rang reset WDT kho ng ieu khien chan MCLR xuong mc thap.

H|nh 2-34. Mo ch reset.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
109 . + y
Chu y: (1) Gia tr c e ngh cho ien tr la R1< 40k e am bao rang ien ap ri tren
ien tr kho ng vt qua ca c thong so ch nh.
Chu y: (2) Gia tr yeu cau cho ien tr la R2 > 1k e han che dong ien chay vao chan
MCLR t tu C ben ngoa i, trong tr ng hp cha n MCLR/V
PP
su t ap lien quan en phong tnh ien.
b. keset kh| mc| co p d|en POR:
Mot xung reset khi mi ca p ien c tao ra tre n chip khi pha t hien nguon V
DD
tang gia tr
nam trong khoang t 1,2V en 1,7V. e tao thuan li cho reset POR, ta noi chan MCLR en V
DD

thong qua mach RC nh a trnh bay tre n.
Khi chip bat au lam vie c bnh thng vi cac thong so lam viec nh ie n ap, tan so, nhie t
o, phai ung e am bao cho hoa t o ng cu a mach. Neu nhng ieu kien nay kho ng ung th
chip b gi tra ng tha i Reset cho en khi u ng. Reset Brown-out co the c dung e lam ung
cac ie u kien kh i ong.
c. 1|mer reset kh| mc| co p d|e n (PWk1[:
PWRT ta o ra th i gian 72ms ch m nguon t POR. PWRT hoat ong d a vao bo dao ong
RC be n trong. Chip c gi trang tha i Reset trong suot khoang th i gian PWRT hoa t ong. Th i
gian tr hoan cua PWRT cho phep nguon V
DD
tang en gia tr co the chap nhan c. Mot bit nh
cau hnh se cho phep hoa c khong cho phep PWRT.
Th i gian tr hoan m nguon se thay o i o i v i ca c chip kha c nhau lien quan en V
DD
,
nhie t o va ca c bien x ly.
d. 8c doc dc ng 5tort-up (051[:
Bo dao ong OST cho phe p tre 1024s chu k dao ong (t ngo vao OSC1) sau khi delay
PWRT a ke t thuc (neu PWRT c phe p). Th i gian tre nay giup cho dao o ng tha ch anh ma ch
cong hng c bat au hoa t ong va on nh.
Bo dao ong OST ch dung ca c kieu reset XT, LP va HS va ch du ng cho rest POR hoa c
anh thc CPU kho i che o ngu .
e. keset 8rcwn-cut (80k[:
Bit nh cau hnh BODEN co the cho phe p hoac khong cho phep ma ch reset BOR. Ne u ien
ap V
DD
giam xuong di m c V
BOR
(khoang 4V) trong khoa ng th i gian da i hn T
BOR
(khoang
100s) th xa y ra reset Brown-out se reset chip. Neu V
DD
giam xuong d i mc V
BOR
trong khoang
th i gian ngan hn T
BO
th reset khong the xay ra.
Khi Brown-out xa y ra, chip se duy tr tra ng thai Brown-out Reset cho en khi ien ap V
DD

ta ng l n hn V
BOR
. Sau o Power-up Timer gi chip trang tha i Reset trong th i gian T
PWRT

(72ms). Neu V
DD
giam xuong di mc V
BOR
trong th i gian T
PWRT
th tie n trnh Brown-out Reset
se khi ong tr la i khi V
DD
tang len ln hn ien ap V
BOR
v i reset Power-up Timer. Power-up
Timer luon c phep khi ma ch ien Brown-out Reset c phep ba t chap trang tha i cu a bit nh
cau hnh PWRT.
f. 1r|nh tu thc | g|on:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
110 . + y
Khi m nguo n, trnh t th i gian ch la nh sau: thi gian tr hoan PWRT bat au khi reset
POR xay ra. Sau o, OST ba t au em 1024 chu ky dao ong khi PWRT ke t thu c. Khi OST ke t
thu c th chip m i thoat kho i trang thai Reset.
Neu cha n MCLR c gi mc thap trong th i gian u dai th th i gian ngh se ke t thu c.
Sau o, khi chan MCLR m c cao th chip bat au th c hien ngay lap t c. ieu na y hu dung hn
cho cac chc na ng kiem tra hoa c e o ng bo nhieu PIC16F877A hoa t o ng song song.
g. 1honh gh| trong tho |/thonh gh| ccng suot:
Thanh ghi cong suat/ trang tha i PCON co 2 bit phu thuo c vao chip.
Bit th 0 la bit trang thai Brown-out Reset BOR co gia tr khong xac nh khi reset POR. Sau
o ngi dung phai set bit nay len 1 va kiem tra cac trang thai Reset xa y ra sau o e xem bit co b
xoa, e xac nh rang reset BOR a xay ra.
Khi Brown-out Reset khong c cho phep th trang tha i cua bit BOR la khong xac nh.
Bit th 1 la bit trang tha i POR cu a reset POR. No b xo a khi reset POR va khong anh h ng
cu a ca c kieu reset kha c. Ngi s dung pha i set bit nay sau khi reset POR.
Trnh t thi gian khi cap ien nh hnh 2-35 v i ngo vao MCLR noi vi V
DD
qua ma ch RC:

H|nh 2-35. 1r|nh tu thc| g|on kh| reset P0k cc nc | MCLR .
Trnh t thi gian khi cap ien nh hnh 2-36 v i ngo vao MCLR khong noi v i V
DD
:

H|nh 2-36. 1r|nh tu thc| g|on kh| reset P0k khc ng nc | MCLR.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
111 . + y
Trnh t thi gian khi nguo n tang cham nh hnh 2-37 v i ngo vao MCLR noi v i V
DD
qua
mach RC:

H|nh 2-37. 1r|nh tu thc | g|on kh| reset P0k khcng nc | MCLR.
' / 3 3/
PIC16F87XA co 15 nguon nga t. Thanh ghi ieu khien nga t (INTCON) ghi nhan nhng yeu
cau nga t o c lap ca c bit c va cha ca c bit cho phep ngat rieng va nga t toan cu c.
Chu y: Ca c c bao nga t c set len 1 ba t chap trang thai cu a nga t tng ng cho hay khong
cho phep hoa c bit nga t toa n cuc GIE.
Bit cho phep ngat toa n cu c GIE (INTCON<7>) neu bang 1 th cho phep ta t ca ca c nguon nga t
va neu bang 0 th khong cho phep tat ca ca c ngat. Khi bit GIE c phep va ne u bit c nga t va bit
cho phe p nga t oc lap len 1 th nga t se xa y ra ngay lap t c. Ca c nguon nga t o c la p co the cho
phep hoac cam b i ca c bit cho phep ngat rieng tng ng. Cac bit ngat rieng c set ba t chap
trang tha i bit GIE. Bit GIE b xo a khi reset.
Lenh RETFIE la lenh ke t thu c chng trnh con phuc vu ngat tr ve chng trnh chnh, va
set bit GIE e cho phe p ngat tr la i.
Nga t chan RB0/INT, nga t khi co thay o i PORTB va ngat c tran cua TMR0 c ch a
trong thanh ghi INTCON.
Ca c c nga t ngoai vi c ch a trong thanh ghi a c bie t PIR1 va PIR2. Ca c bit cho phe p nga t
tng ng ch a trong ca c thanh ghi a c biet PIE1 va PIE2, bit cho phep nga t ngoa i vi cha trong
thanh ghi a c bie t INTCON.
Khi mo t nga t c ap ng th bit GIE b xo a e khong cho phep ba t k hoa t ong ngat nao
xay ra n a, a ch tr ve c ca t vao trong ngan xep va PC c nap a ch 0004h. Trong moi
chng trnh con phu c vu nga t, nguon nga t co the c xa c nh bang cach kiem tra ca c bit c bao
nga t. Bit c nga t pha i xo a trong phan mem tr c khi cho phep ngat tr la i e tra nh goi la i ngat a
th c hien.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
112 . + y

H|nh 2-38. 5c dc |cg|c cu o coc ngot.
o. Ngot ngco | |N1:
Nga t ngoai tre n cha n RB0/INT kch bang ca nh len ne u bit INTEDG (OPTION_REG<6>)
bang 1 va kch bang canh xuong neu bit INTEDG ba ng 0. Khi co ca nh tch c c xua t hie n tre n chan
RB0/INT th bit c INTF (INTCON<1>) b set len m c 1. Ngat RB0/INT nay co the cam bang ca ch
xoa bit cho phep INTE (INTCON<4>). Bit c bao nga t INTF pha i c xo a trong phan mem tr c
khi cho phep nga t tr la i. Nga t chan INT co the a nh th c vi x ly kho i che o Sleep neu bit
INTE a c set trc khi i vao che o Sleep. Trang thai cua bit cho phep nga t toan cu c GIE
quye t nh bo vi x l co phan nhanh hay kho ng e cho vector nga t sau khi b anh th c.
b. Ngot 1Mk0:
Khi gia tr trong thanh ghi TMR0 tra n t FFh sang 00h se set bit c TMR0IF (INTCON<2>).
Nga t nay co the cho phe p/cam bang cach set/clear bit cho phe p TMR0IE (INTCON<5>).
c. Ngot P0k18 thoy dc|:
Khi co thay o i ca c bit PORTB<4:7> se lam bit c RBIF (INTCON<0>) len 1. Ngat co the
cho phep/cam bang ca ch set/clear bit cho phep RBIE (INTCON<5>).
d. Luu du ||eu kh| xo y ro ngot:
Khi th c hien ngat th ch co gia tr tr ve cu a thanh ghi PC c lu va o bo nh nga n xep.
Thng th ng i s dung muon lu cac thanh ghi quan trong khi xay ra nga t nh thanh ghi W va
thanh ghi trang tha i. ieu nay ch c thc hien trong phan mem.
Do 16 byte cao nam tren mo i bank co trong PIC16F877A cha tam thi ca c thanh ghi
W_TEMP, STATUS_TEMP va PCLATH_TEMP, nen phai a t v tr nay. V tr 16 byte nay
khong nam trong bank va v vay de dang lu tr va phu c hoi.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
113 . + y
'- / 3 / N/3 \ N
WDT la bo cha y t do d a vao bo dao ong RC cua chip ma khong yeu cau ba t c thanh
phan nao ben ngoa i. Bo dao ong RC nay c ta ch t bo dao ong RC cu a chan OSC1/CLKI.
ie u nay co ngha la WDT se chay du cho xung clock tren ca c chan OSC1/CLKI va OSC2/CLKO
cu a PIC b dng la i, v du khi th c thi le nh Sleep.
Khi hoa t ong viec bnh thng, sau khi he t mo t khoang th i gian WDT se reset cpu. Neu
cpu ang che o Sleep, th sau khi he t th i gian cu a WDT se anh th c cpu e tr la i hoa t ong
bnh thng. Bit TO trong thanh ghi tra ng thai se b xo a khi WDT em u thi gian.
WDT co the b cam th ng xuyen bang ca ch xo a bit nh cau hnh WDTE.
Chu y: (1) Cac lenh CLRWDT va SLEEP xoa WDT va postscaler ne u c gan cho WDT va
ngan chan WDT he t th i gian e kho i xay ra ieu kien reset cpu.
Chu y : (2) Khi lenh CLRWDT c th c hien va bo chia tr c c gan cho WDT, bo em
chia tr c se b xoa nhng gia tr gan cho bo chia tr c van khong oi.


H|nh 2-3. 5c dc khc| cu o WD1.
Tom tat ca c thanh ghi cu a WDT

8o ng 2-34. Coc thonh gh| cu o WD1.
' / 3 / 3
Che o Power-down c nhap vao bi viec th c thi lenh Sleep. Ne u c cho phep bo nh
th i WDT se b xoa nhng va n chay, bit PD (Status<3>) b xoa, bit TO (Status<4>) b set le n m c
1 va bo ieu khien dao ong b tat i. Nhng port IO van duy tr trang tha i a xa c nh tr c khi
th c hien le nh Sleep ( m c cao, thap hoa c tr kha ng cao).
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
114 . + y
e do ng tieu to n trong che o nay la thap nhat th pha i at ta t ca ca c chan IO ta i ien ap
V
DD
hoa c V
SS
e bao am khong co ma ch ien nao ben ngoa i lay dong t ca c cha n IO, tat nguon
cung cap cho kho i ADC va khong cho phep ca c nguon xung clock be n ngoai. Keo ta t ca ca c chan
IO ma chung co ngo vao tr khang cao m c cao hoa c tha p e tranh nhng dong chuyen ma ch
gay ra b i ngo vao tha no i. Ngo va o cha n T0CKI cung ne n a t V
DD
hoa c V
SS
e cho dong tieu
ton la thap nhat.
Chan MCLR phai mc logic cao (V
IHMC
).
o. onh thuc cpu khc| che dc ngu:
PIC co the anh thc cpu kho i che o Sleep thong qua mo t trong nhng trng hp sau:
Ngo vao Reset ben ngoa i tren chan MCLR
S dung WDT (neu WDT c cho phe p)
Nga t t chan INT, nga t PORT thay o i hoa c nga t ngoa i vi.
Reset ngoa i MCLR se lam cho cpu b reset bat au th c hien chng trnh t au. Nhng
trng hp con la i se anh thc cpu tiep tu c th c hien chng trnh. Ca c bit TO va PD trong thanh
ghi trang thai co the c dung e xa c nh nguyen nha n Reset cua thiet b. Bit PD c set khi
mi cap nguon, se b xoa khi vao che o Sleep. Bit TO b xoa neu th i gian cu a WDT xay ra va
anh thc cpu kho i che o ngu .
Nhng ngat ngoai vi theo sau co the anh th c cpu kho i che o ngu :
oc hoac ghi PSP ch co PIC 16F874/877.
Nga t cu a TMR1. TMR1 phai lam vie c nh bo em ba t o ng bo.
Nga t kie u Capture CCP.
Bo kch s kie n ac bie t (TMR1 trong kieu bat ong bo du ng xung clock ben ngoai).
Nga t pha t hie n bit SSP (khi ong/dng).
Truyen hoa c nhan SSP che o t (SPI/I
2
C).
Truyen d lie u bat ong bo USART Tx hoa c Rx.
Chuyen o i ADC (khi nguon xung clock cu a ADC la RC).
Hoa n tha nh hoa t ong ghi d lieu vao bo nh EEPROM.
Bo so sa nh thay o i trang tha i ngo ra.
Ca c thie t b ngoa i vi khac khong the tao ra nga t khi cpu trong che o ngu , khong co nguon
xung clock. Khi le nh SLEEP ang c th c thi, th lenh ke tiep (PC+1) c oan ve. oi v i PIC
e a nh th c thong qua mo t s kien nga t th bit cho phep nga t tng ng phai c set le n m c 1.
anh th c bat chap trang tha i cua bit cho phep ngat toan cuc GIE.
Neu bit GIE b xoa (khong cho phep) th cpu tiep tu c th c thi lenh sau lenh Sleep.
Neu bit GIE c set (cho phe p) th cpu thc thi lenh ng sau lenh Sleep va sau o re nhanh
nhay en a ch ngat (0004h).
b. onh thuc cpu du ng co c ngot:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
115 . + y
Khi bit ngat toa n cuc la khong c cho phep (bit GIE b xo a) va ba t k nguo n ngat nao co bit
cho phep nga t va bit c nga t len 1 th mo t trong nhng s kien sau se xay ra:
Neu nga t xay ra tr c le nh SLEEP th lenh SLEEP se hoan tha nh nh la lenh NOP.
V vay, WDT va postscaler WDT se khong b xoa, bit TOse khong c set len 1
va bit PD se khong b xo a.
Neu ngat xay ra trong luc va sau khi th c hien lenh Sleep, ngay lap tc cpu se b
anh th c kho i che o ngu. Lenh SLEEP se c thc hien xong tr c khi anh th c
cpu. V va y, WDT va postscaler WDT se b xo a, bit TO se c set va bit PD se b
xoa.
Tham ch ne u bit c a c kiem tra tr c khi thc hien lenh SLEEP, co kha nang ca c bit c
c set tr c khi lenh Sleep hoan thanh. e xa c nh lenh Sleep co th c hien hay khong pha i
kiem tra bit PD. Neu bit PD c set th le nh SLEEP c th c hie n nh lenh NOP.
e cha c chan WDT b xo a, lenh CLRWDT nen th c hien trc khi lenh th c hien SLEEP.

H|nh 2-40. o nh thuc cpu bong coch du ng ngot.
Chu y: (1) S dung bo dao ong XT, HS hoa c LP.
Chu y: (2) TOST = 1024 TOSC.
Chu y: (3) Neu bit GIE = 1. Trong trng hp nay sau khi anh th c th cpu nhay en th c
hien chng trnh con phuc vu nga t. Neu bit GIE = 0 th th c hien tiep le nh trong chng trnh.
Chu y: (4) CLKO khong co ta c dung trong cac kie u dao ong tren nhng c trnh bay e
tham khao.
' \/ 3
Khi bit g ro i nam t thie t lap cau hnh c lap trnh m c 0 th ch c nang cu a mach g ro i
c phe p. Ch c nang nay cho phep ch c na ng g ro i khi s dung v i chng trnh MPLAB ICD.
Khi vi ieu khien co ch c nang nay c phep th mot ta i nguye n se tr nen mat tac du ng. Bang
sau lie t ke ca c cau truc b bo khi lam viec che o g ro i.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
116 . + y

8o ng 2-35. Coc to| nguyen cu o mo ch gc rc|.
e s du ng ch c na ng g ro i cu a vi ie u khien th phai thie t ke giao tiep lap trnh noi tiep
vi ca c cha n MCLR/V
PP
, V
DD
, GND, RB7 va RB6. Ke t no i nay se giao tiep v i mach g ro i c
xay dng Microchip.
'7 \ / 3 / / . / 3 \/
Neu bit ma bao ve khong c lap trnh th bo nh chng trnh tren chip co the o c ra cho
muc ch kiem tra.
'` \/ / / 3
Bon v tr bo nh co a ch t 2000h en 2003h c thie t ke e ch a ma nhan dang, ni ma
ng i s dung co the lu tr tong kiem tra (checksum) hoa c nhng con so nha n dang mat ma kha c.
Nhng ma nay la co the khong can thie t truy xua t khi cpu hoa t ong bnh thng nhng co the o c
va ghi trong qua trnh lap trnh/kiem tra. Ch s dung 4 bit thap LSB cua cac o nh nh v ID.
'3 / / / \/ 3 +. : - ~ ~+)
Vi ie u khien PIC16F87XA co the lap trnh tua n t khi chung nam trong mach ng dung.
Mach giao tie p ra t n gian gom 5 ng day: mot cho ng xung clock, mo t cho ng d
lieu, mo t ng nguo n, mo t ng mass va mo t ng cap ien ap lap trnh. ieu nay cho phep
kha ch hang san xua t nhng bo ma ch s du ng cpu cha c lap trnh va sau o lap trnh cho vi ieu
khie n tr c khi giao hang.
Khi s du ng lap trnh noi tie p ICSP th mach nap pha i ca p nguon t 4,5V en 5,5V neu can
th c hie n xo a bo nh. ien ap nay dung e lap trnh la i ma bao ve, ca trang tha i m en trang tha i
ta t. Trong ta t ca cac trng h p khac con la i cu a ICSP th mach nap s dung nguon ien ap bnh
th ng thie t b co the c lap trnh ien ap lam vie c bnh thng.
/ / / 3 )
Bit LVP nam t nh cau hnh cho phep lap trnh ien ap thap ICSP. Kieu lap trnh nay cho
phep vi ie u khien lap trnh qua ICSP s dung ien ap nguo n V
DD
nam gi i ha n ie n ap la m vie c.
Trong kieu lap trnh nay, chan RB3/PGM c dung cho ch c na ng lap trnh va khong the lam ca c
chan I/O. Trong qua trnh lap trnh nguon V
DD
c cap en chan MCLR . e i vao che o lap
trnh th nguon V
DD
c cap cho chan RB3/PGM lam cho bit LVP c set len mc a. Bit LVP
mac nh la 1 t nha ma y che tao.
Chu y: (1) Che o lap trnh ie n a p cao luon co hieu l c ba t cha p trang tha i cu a bit LVP bang
cach cap ie n ap V
IHH
ti chan MCLR.
Chu y: (2) Khi kieu lap trnh ie n ap thap th chan RB3 kho ng c s dung la I/O.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
117 . + y
Chu y: (3) Khi s dung lap trnh ien ap thap ICSP va ch c na ng ke o PORTB la c phep,
bit th 3 trong thanh ghi TRISB phai c xo a e khong cho phep ke o chan RB3 va am bao hoa t
phu hp cho chip.
Chu y: (4) Chan RB3 khong c tha no i neu LVP c phep. Thie t b lap trnh ben ngoa i
mac nhien pha i at CPU tra ng tha i hoat ong bnh thng. Khi ieu khien RB3 len m c 1 th
ieu khien CPU chuyen sang che o lap trnh.
Neu che o lap trnh ien ap thap khong c s du ng, bit LVP co the c lap trnh ve 0
va chan RB3/PGM tr tha nh chan IO. Tuy nhien bit LVP ch co the c chuyen sang lap trnh khi
ien ap V
IHH
xua t hien tre n cha n MCLR. Bit LVP ch co the thay o i khi s dung ien ap cao
chan MCLR .
' 3 3/ 3/ \/ ./ '`77/
PIC16F877A cho phep nap chng trnh dang no i tiep qua cong LPT va cong COM.
o. Mo ch no p P|C tru c t|e p tu ccng C0M:
Khi na p no i tiep qua cong COM cho VK PIC16F877A th can du ng 4 ng ie u khien:
Cha n MCLK la ng reset e na p chng trnh cho PIC.
Cha n RB7/PGD.
Cha n RP6/RGC.
Cha n RB3/PGM.
S o trnh ba y ca c ng tn hieu ie u khien nap:

H|nh 2-4. Co c ducng g|oc t|ep vc| mo ch no p nc | t|e p.
S o nguye n l cu a ma ch na p tr c tiep qua cong COM:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
118 . + y

H|nh 2-42. 5c dc nguyen |y moch no p truc t|e p tu cc ng C0M.
b. Mo ch no p P|C g|on t|e p tu cc ng C0M quo |c mox232:
Nap chng trnh cho PIC16F877A thong qua IC MAX232 (hoa c RS232) th can co dao ong
xung clock va ke t no i cac ng TX va RX cua RS-232 v i ca c ng TX va RX vi ieu khien
PIC16F877A:
Chan RX: chan nhan d lie u t may tnh.
Chan TX: chan truyen d lieu ve ma y tnh.
S o trnh ba y ca c ng tn hieu nap cho PIC16F877A qua RS-232:

H|nh 2-43. Coc ducng g|oc t|e p vc| moch no p nc| t|e p quo |C chuye n dc|.
S o nguye n l cu a ma ch na p qua RS-232:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
119 . + y

H|nh 2-44. 5c dc nguyen |y moch no p nc| t|e p tu cc ng C0M quo |C chuyen dc |.
c. Mo ch no p P|C quo cc ng LP1:

H|nh 2-45. 5c dc nguyen |y moch no p du ng ccng LP1.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ . -. + - + .y- + ++ +.
120 . + y

return


Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M

Chucng 3
CHU0NC 1kNH 8|EN D[CH VA NAP CH0
V| |EU KH|EN P|C6F877A

CHU0NC 1kNH 8|E N D[CH
3 , \/
3 ,
CHU0NC 1kNH NA P CH0 P|C
3 / N`
3 /
NC0N NCU LAP 1kNH A5M CU A MPLA8
/ / 3 3 \/
[nhon}
Lenh vo coc thom sc
Quy uc c k| h|eu trcng MPLA8
/ /
Lenh: ADDLW
Lenh: ADDWF
Lenh: ANDLW
Lenh: ANDWF
Lenh: BCF
Lenh: BSF
Lenh: BTFSS
Lenh: BTFSC
Lenh: CALL
Lenh: CLRF
Lenh: CLRW
Lenh: CLRWDT
Lenh: COMF
Lenh: DECF
Lenh: DECFSZ
Lenh: GOTO
Lenh: INCF
Lenh: INCFSZ
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
124 . + y
Lenh: IORLW
Lenh: IORWF
Lenh: MOVLW
Lenh: MOVF
Lenh: MOVWF
Lenh: RETFIE
Lenh: RETLW
Lenh: RLF
Lenh: RETURN
Lenh: RRL
Lenh: SLEEP
Lenh: SUBLW
Lenh: SUBWF
Lenh: SWAPF
Lenh: XORLW
Lenh: XORWF
NC0N NCU LAP 1kNH C CU A CC5 C
3
3 3 /
/ / ./ 3 , / 3, \/3
Kho| bo c b|en, hong, mo ng
Co ch su du ng b|e n
/ /
| , /
#A5M vo #ENDA5M
#|NCLUDE
#8|1, #81E, #L0CA1E vo #D|F|NE
#DEV|CE
#0kC
#U5E
Mct sc ch| th| t|e n xu |y khoc
/ /\ / , / , /
Co c hom xu |y sc
Co c hom xu |y b|t vo co c phe p tcon
Co c hom xu |y b|t vo co c phe p tcon
/ / ./ / /\ 3
Co c hom xu |y ADC
5E1UP_ADC_pcrt (vo|ue[
5E1UP_ADC_chonne| (chonne|[
keod_ADC (mcde[
Co c hom |0 trcng C
/ / 3/ ./ / /\ / / 3 3/
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
125 . + y
Kho| bo c ngot
Co c hom th|et |o p hcot dcng ngo t
Co c hom g|oc t|e p vc| mo y t|nh quo ccng C0M
CA C CHU0NC 1kNH V DU
3 ` /
3 ' \ / 3 / /3 /
3 ` / 3
3 \ 3333 7 /
3 \/ / ,


H|nh vo bo ng
H|nh 3-. Cu o sc khc | dcng.
H|nh 3-2. Cu o sc |om v|e c cu o MPLA8.
H|nh 3-3. Mo n h|nh khc | dc ng cu o CC5 C.
H|nh 3-4. Luu f||e.
H|nh 3-5. 1oc Prcject mc|.
H|nh 3-6. Cu o sc |om v|e c cu o CC5C.
H|nh 3-7. 1hcng boc sou kh| b|en d|ch.
H|nh 3-8. Cu o sc cu o W|NP|C800.
H|nh 3-. Cu o sc Hordwore 5ett|ng.
H|nh 3-0. Mo n h|nh cu o |C-Prc.
H|nh 3-. Cu o sc Hordwore 5ett|ng.
H|nh 3-2. Cu o sc 5ett|ng.
H|nh 3-3. Cu o sc |u o chcn.
H|nh 3-4. Cu o sc |u o chcn.
H|nh 3-5. Co | dot Dr|ver.
H|nh 3-6. Chc n P|C con no p.
H|nh 3-7. |nh do ng chung chc mc t sc |enh cuo P|C 6F877A.
8o ng 3-. K| h|eu coc thonh gh| trcng MPLA8.
8o ng 3-2. 1cm to t to p |enh.
8o ng 3-3. 1o p |e nh ngcn ngu C.
8o ng 3-4. Ket quo dcc ADC.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
126 . + y

|. CHU0NC 1kNH 8|E N D[CH:
Hie n nay co ra t nhieu chng trnh bien dch cho PIC vie t tren nhieu ngon ng kha c nhau nh
ASM, BASIC, C, hai pha n mem MPLAB cu a hang Microchip va pha n mem CCS C. Ngoa i ra con
co ca c pha n mem bien dch kha c nh: Mikro BASIC, Mikro C, HI-TECH,
' 3 , \/
Chng trnh bien dch MPLAB IDE cu a hang Microchip cho mien ph ta i website
http://www.microchip.com.
Pha n mem MPLAB IDE tng thch v i he ieu hanh:
Windows 98 SE
Windows ME
Windows NT 4.0 SP6a Workstations (NOT Servers)
Windows 2000 SP2
Windows XP Home and Professional
Sau khi ca i at xong th click vao bieu t ng th ma n hnh se xua t hien bie u tng:

H|nh 3-. Cu o sc khc | dc ng.
Sau o co man hnh soan thao nh sau:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
127 . + y


H|nh 3-2. Cu o sc |om v|e c cu o MPLA8.
Khi muon bien dch t file .ASM sang file .HEX va o menu Project ro i chon Build all hoa c
QuickBuild e bie n dch.
Neu chng trnh vie t b lo i th ta i ca so Output se xua t hien mot thong bao la bien dch tha t
ba i (BUILD FAILED) va so loi cu a chng trnh vi v tr cu a tng lo i nam trong chng trnh.
Khi du ng MPASM, ca c so co the c bie n dch mo t trong ca c he thong so c ban. Ma c nh
cho file nguon co the c thiet lap ba ng ch dan Radix:
Radix dec
Ben trong file nguo n, gia tr ma co the nhap va o ca c c so khac nhau s dung cau tru c sau:
D123 .123 ; thap phan
H1AF 0x1F ; thap lu c phan
O777 ; ba t phan
B 00111001 ; nh pha n
0B00111001 ; nh pha n
A C ; 7-bit ASCII
dt This is a string ; day ASCII
Cau tru c mo t chng trnh ASM trong MPLAB nh sau:
Title ten go i cu a chng trnh
Include <p16f877a.inc>; Ten PIC can viet chng trnh
_CONFIG CP_OFF & ; khai bao cho PIC
;-------- Khai bao bie n---------------------
temp EQU 0x20 ; at bien co ten temp co a ch la o nh 0x20
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
128 . + y
;------------------------------------------------
ORG 0x0000 ;vector reset
GOTO START
;----------------Chng trnh ngat---------
ORG 0x0004 ;vector interrupt
; .ma nga t ay.
RETFIE ; thoat kho i chng trnh nga t
;-----------------Ke t thu c chng trnh nga t-----
;==========Chng trnh chnh=========
Start
ma chng trnh chnh ay

END ;ke t thu c chng trnh chnh
;=================================
Cong cu MPLAB SIM trong MPLAB IDE (co ng cu mo phong cho chng trnh):
Chon Debugger Select Tool e chon cong cu, sau o cho n MPLAB SIM. ay la co ng cu
mo phong dung e gia lap tn hieu ien cu a cac chan va trang thai ca c thanh ghi cua con chip c
dung. Co hai loai: ong bo va khong o ng bo .
ong bo : tn hie u c gia lap ong bo v i nhng vong lenh cu a chip.
Khong ong bo : tn hieu c ap a t bi ng i dung trong th i gian thc (real time) khi
MPLAB SIM ang chay.
3 ,
Chng trnh bien dch CCS C c cung cap ta i a ch:
http://www.ccsinfo.com/download.shtml.
V la trnh bien dch co thu ph nen phien ban demo co mo t so han che so vi phien ban co
thu ph.
CCS la trnh bien dch lap trnh ngon ng C cho Vi ieu khien PIC cu a hang Microchip.
Chng trnh la s tch hp cu a 3 trnh bie n dich rieng biet cho 3 dong PIC kha c nhau o la :
PCB cho dong PIC 12bit opcodes
PCM cho dong PIC 14bit opcodes
PCH cho dong PIC 16 va 18bit
Tat ca 3 trnh bien dch nay uc tch h p la i va o trong mo t chng trnh bao gom ca trnh
soa n tha o va bien dch la CCS.
Gio ng nh nhieu trnh bien dch C kha c cho PIC, CCS giup cho ngi s du ng nam ba t nhanh
c vi ieu khien PIC va s du ng PIC trong ca c d an. Ca c chng trnh ieu khien se c th c
hien nhanh cho ng va at hieu qua cao thong qua vie c s dung ngo n ng lap trnh cap cao ngon
ng C.
Khi kh i o ng chng trnh CCS th ca so chng hnh nh hnh di:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
129 . + y

H|nh 3-3. Mo n h|nh khc | dc ng cuo CC5 C.
Hng da n tao mo t Project m i trong CCS:
e tao mot Project trong CCS co nhieu ca ch, co the dung Project Wizard, Manual Create,
hay la tao mo t Files m i va them vao o ca c khai bao ban au can thie t. Vao Project chon PIC
Wizard sau khi chon mo t ca so hie n ra yeu cau nhap ten file can tao nh hnh sau:

H|nh 3-4. Luu f||e.
Chon Save mo t ca so m i hien ra nh hnh sau:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
130 . + y

H|nh 3-5. 1oc Prcject mc|.
Sau o nhap OK la a tao c mo t Project m i va co c a so lam vie c m i nh hnh sau:


H|nh 3-6. Cu o sc |om v|e c cu o CC5C.
Nh vay, chung ta a tao c mot Project mi va tien hanh vie t chng trnh cho PIC.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
131 . + y
Khi muon bien dch t file *.c sang file *.Hex th va o Compile cho n Compile hoa c bam F9
th CCS se tien hanh bien dch file *.c sang file *.Hex e nap cho PIC. Khi bien dch th trnh bien
dch se xuat hien ca so nh hnh sau la chng trnh bien dch thanh cong (chng trnh khong co
lo i ve cau tru c lenh).

H|nh 3-7. 1hcng boc sou kh| b|en d|ch.
Neu chng trnh vie t co lo i th khi bien dch se bao lo i ta i v tr con tro trong chng trnh.
||. CHU0NC 1kNH NA P CH0 P|C:
Hie n nay co ra t nhieu phan mem na p khac nhau cho PIC nh phan mem nap Winpic800 va
IC-Pro e gi i thieu v hai phan mem nay c s dung nhieu va c cong ong s dung PIC
anh gia to t.
' 3 / N`
Hng dan cai at Winpic800: chay file WinPic800_V3_59.exe e ca i a t Winpic800, sau o
chon next e tien hanh ca i a t.
Khi ca i a t xong th tren ma n hnh desktop xua t hien bie u tng Winpic800, click vao bieu
tng Winpic800 e chay chng trnh nap, c a so cu a Winpic800 nh hnh sau:

H|nh 3-8. Cu o sc cu o W|NP|C800.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
132 . + y
Sau o va o Settings chon Hardware e tien hanh cai a t phan cng cho chng trnh nap,
man hnh hardware settings xuat hien nh sau:

H|nh 3-. Cu o sc Hordwore 5ett|ng.
Chon hardware la JMD Programmer, chon Apply Edits e chap nhan.
Sau o chon ho PIC va ten PIC muon nap chng trnh. V du nh muon nap cho
PIC16F877A th chon ho 16F ten PIC la 16F877A.
Hng da n nap chng trnh cho PIC16F877A bang Winpic800:
Chon File Open hoac cho n e chon file *.Hex can nap. Sau o chon Device
Program All (Ctrl+P) hoa c chon e na p chng trnh.
3 /
Hng da n ca i at IC-Pro: gia i nen file IC-pro vao th mu c bat k nh IC-Pro sau o chay file
ICProg.exe bo qua ta t ca cac loi e m chng trnh ra. Sau o cho n Settings >> Clear Settings nh
hnh sau:

H|nh 3-0. Mo n h|nh cu o |C-Prc.
Sau khi nhan Yes lien tu c, mo t man hnh Hardware settings se hien ra nh sau:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
133 . + y

H|nh 3-. Cu o sc Hordwore 5ett|ng.
Do chung ta chon dung bo nap PG1A la mo t bo nap c pha t trien cu a JDM, cho ne n phan
Programmer chung ta se chon JDM Programmer. Pha n cong, chung ta se chon COM1, COM2 hoa c
COM3 tuy theo may tnh. Phan Interface, ca c ba n cho n Windows API va phan Communication
khong anh da u g ca, sau o chon OK. Khi s dung Windows API, kho ng can quan tam en phan
I/O Delay.
Man hnh ban au sau khi khi ong la i IC-Prog hien ra nh hnh d i. Chung ta se chon
Settings Options e tiep tu c ca i a t cho IC-Prog.

H|nh 3-2. Cu o sc 5ett|ng.
Man hnh Options se hien ra. Ch quan tam t i phan Misc, con ca c phan kha c khong can quan
tam. C e ma c nh nh chng trnh ban au a co.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
134 . + y

H|nh 3-3. Cu o sc |u o chcn.
Chon Enable Vcc control for JDM, sau o m i chon tiep Enable NT/2000/XP Driver. Khi
chon Enable Driver xong, ngay la p tc se co mo t man hnh Confirm hien len nh trong hnh ben
di nhan Yes e ca i at.
Lu y rang, driver a na m san trong th mu c ICProg. Do va y, ICProg se t ong nhan ra va
khi ong la i ICProg.

H|nh 3-4. Cu o sc |u o chcn.
Mot man hnh Confirm kha c se hie n ra e ye u cau xac nhan viec ca i a t driver cho Windows
NT/2000/XP,cho n Yes.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
135 . + y

H|nh 3-5. Co | dot Dr|ver.
Nh vay cong viec ca i at a hoa n ta t.
Hng dan nap cho PIC16F877A bang ma ch nap PG1A:
Kh i ong chng trnh nap IC-Pro sau o chon ten PIC can nap nh hnh sau:

H|nh 3-6. Chc n P|C con no p.
V du nh chon PIC16F877A, sau o vao File -> chon Open file hoa c chon e chon file
.HEX can na p. Sau o cho n Command ->Program All (F5) hoac chon e na p chng trnh cho
PIC16F877A.
|||. NC0N NCU LAP 1kNH A5M CU A MPLA8:
' / / 3 3 \/
[nhan] LE NH tham so 1, tham so 2
Mot dong nh tren go i la mot dong lenh. Chng trnh MPLAB c chia lam 4 co t ro rang:
Cot th nhat e vie t nhan.
Cot th hai e vie t ten lenh muon th c hien.
Cot th 3 la tham so th nha t cua lenh.
Cot th t la tham so th hai cu a lenh.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
136 . + y
Gi a tham so th nhat va tham so th 2 luon cach nhau mo t dau phay (,). Ca c cot c ca ch
nhau ba ng t nha t mo t ky t TAB (khoang trang rong) hay mo t k t tra ng.
o. [nhon}:
[nhan] la mo t chuoi ky t e anh da u mo t iem nao o trong chng trnh, thay v phai ghi
a ch bo nh th chung ta thay a ch o bang mo t ca i [nha n]. [nha n] nay thng c go i la i
bang le nh GOTO hoac CALL.
Moi cau lenh, co the co hoac kho ng co [nhan]. Tuy nhien, ne n vie t sao cho so [nhan] la t
nha t e tranh s lam lan va roi mat khi lap trnh.
[nhan] c vie t trong co t th nhat cu a dong le nh. [nhan] khong c bat a u bang ca c ky
t ac bie t nh: *,&, khoa ng trang, ca c con so (0,1,2) Gia ca c ky t cu a nhan cung khong c
co ca c ky t a c bie t *,^,
o da i cua mo t [nhan] khong gi i ha n, tuy nhien, chu ng ta pha i viet sao cho [nhan] luon
nam trong cot th nha t cua dong lenh, o da i nhan va pha i e de quan sa t, u thong tin gi nh va
thuan tien khi lap trnh.
Chung ta hoan toan co the ky hieu ca c [nhan] la NHAN_1, NHAN_2 nhng no i dung thong
tin cua nhan khong u e the hien cong vie c se c thc hie n, nh va y se ra t kho nh khi lap
trnh, nhat la khi chng trnh viet da i va co e n ha ng chu c hang tram nhan trong chng trnh.
V du:
Nha n ung:
Good_bye
Exit
KHOIDONG
Lap_1
Nha n sai:
1Exit
Good^bye
Khoi dong
b. Lenh vo coc thom sc :
LENH la ten cu a ca c le nh g i nh c lie t ke theo bang be n d i. LE NH c vie t vao co t
th hai, mo i dong lenh phai co ten LENH, neu khong co th se khong bie t dong lenh o lam vie c
g. LE NH the hien cong vie c pha i lam cu a dong lenh.
Tuy theo LE NH ma co the co tham so 1 va tham so 2, hoac ch co tham so 1, hoa c khong co
tham so na o he t. Trong mo t do ng lenh, phai viet u tham so cu a LENH o.
c. Quy uc c k| h|eu trcng MPLA8:
Ba ng 3-1: K hieu quy c ca u tru c lenh
K hieu Chc na ng
f a ch cua file thanh ghi t 000 en 07F
w Thanh ghi W - Working register (accumulator)
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
137 . + y
b La a ch nam trong file thanh ghi 8 bit
k Hang so hoac nha n
x Khong quan tam la 0 hay 1
d L c chon ni nhan d lieu
d =0 lu ket qua vao thanh ghi W
d =1 lu ket qua vao trong thanh ghi f
Mac nh d = 1
PC Bo em chng trnh
TO Bit Time-out
PD Bit Power-down
8o ng 3-. K| h|eu coc thonh gh| trcng MPLA8.

H|nh 3-7. Khucn khc chung chc mct sc |e nh cu o P|C 6F877A.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
138 . + y
Ba ng 3-2: Tap le nh cua PIC16F877A:


8o ng 3-2. 1cm to t to p |e nh.
Chu y (1): khi thanh ghi IO b thay o i (v du nh lenh MOVF PORT, 1) th gia tr du ng trong
lenh la gia tr xua t hien ngo ra. V du thanh ghi cho t d lieu la 1 e nh cau hnh la ngo ra va
c ieu khie n xuong m c tha p b i thie t b ben ngoai th d lie u o c vao la mc.
Chu y (2): ne u lenh na y c thc hien cho thanh ghi TMR0 th bo chia tr c se b xoa neu
gan cho kho i Timer0.
Chu y (3): neu thanh ghi PC b thay oi th can 2 chu ky , chu ky th 2 th c hien le nh NOP.
/ /
a. Lenh: ADDLW Cong ha ng so k vao W
Cu phap: ADDLW k
Tac to : 0 k 255
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
139 . + y
Th c thi: (W) + k (W)
C anh hng: C,DC,Z
Chc na ng: cong no i dung thanh ghi W v i hang so k 8 bit va ket qua lu vao W.
Chu ky th c hie n: 1.

b. Lenh: ADDWF Cong W v i f
Cu phap: ADDWF f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (W) + (f) (dest)
C anh hng: C,DC,Z
Chc nang: cong noi dung thanh ghi W v i thanh ghi f. Neu d= 0 th lu ket qua vao
thanh ghi W, con d=1 th lu vao thanh ghi f.
Chu ky th c hie n: 1.

c. Lenh: ANDLW Anal hang so v i W
Cu phap: ADDLW k
Tac to : 0 k 255
Th c thi: (W) AND (k)(W)
C anh hng: Z
Chc nang: no i dung thanh ghi W c AND vi hang so k 8 bit, ke t qua lu vao
thanh ghi W
Chu ky th c hie n: 1.

d. Lenh: ANDWF Anal W vi F
Cu phap: ANDWF f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (W) AND (f) (dest)
C anh hng: Z
Chc nang: AND thanh ghi W v i thanh ghi f. Neu d = 0 th ke t qua lu vao thanh
ghi W, neu d=1 th ket qua lu vao thanh ghi f.
Chu ky th c hie n: 1.

e. Lenh: BCF xoa bit trong thanh ghi F
Cu phap: BCF f,d
Tac to : 0 f 127, 0 b <7
Th c thi: 0 (f<b>)
C anh hng: khong
Chc na ng: bit b trong thanh ghi f b xoa
Chu ky th c hie n: 1.

f. Lenh: BSF set bit trong thanh ghi F
Cu phap: BSF f,d
Tac to : 0 f 127, 0 b <7
Th c thi: 1 (f<b>)
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
140 . + y
C anh hng: khong
Chc na ng: bit b trong thanh ghi f c set len 1.
Chu ky th c hie n: 1.

g. Lenh: BTFSS kiem tra 1 bit trong thanh ghi F va nhay ne u bang 1
Cu phap: BTFSS f,d
Tac to : 0 f 127, 0 b <7
Th c thi: nhay neu f<b>=1
C anh hng: khong
Chc nang: ne u bit b trong thanh ghi f bang 1 th lenh ke b bo qua va thay bang lenh
NOP.
Chu ky th c hie n: 1(2).

h. Lenh: BTFSC kiem tra 1 bit trong thanh ghi F va nha y neu bang 0
Cu phap: BTFSC f,d
Tac to : 0 f 127, 0 b <7
Th c thi: nhay neu f<b>=0
C anh hng: khong
Chc nang: neu bit b trong thanh ghi f=0 th lenh ke b bo qua va thay ba ng lenh
NOP.
Chu ky th c hie n: 1(2).

i. Lenh: CALL go i chng trnh con
Cu phap: CALL k
Tac to : 0 k 2047
Th c thi: (PC) + 1 TOS; kPC<10:0>; (PCLATH<4:3>)(PC<12:11>)
C anh hng: khong
Chc nang: goi chng trnh con. 13 bit a ch tr ve (PC+1) c ca t vao ngan xep.
Tiep Theo 11bit a ch <10:0> c ta i vao PC. Hai bit cao cu a PC c nap t
PCLATH<4:3>.
Chu ky th c hie n: 2.

j. Lenh: CLRF xoa thanh ghi f
Cu phap: CLRF f
Tac to : 0 f 127
Th c thi: 00h (f); 1 Z
Trang tha i anh hng: Z
Chc na ng: Xoa thanh ghi f va bit Z c set.
Chu ky th c hie n: 1.

k. Lenh: CLRW xoa thanh ghi W
Cu phap: CLRW
Tac to : khong
Th c thi: 00h (W), 1 Z
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
141 . + y
C anh hng: Z
Chc na ng: xoa thanh ghi W va bit Z len 1.
Chu ky th c hie n: 1.

l. Lenh: CLRWDT xoa WDT
Cu phap: CLRWDT
Tac to : khong
Th c thi: 00 WDT; 0 Bo em chia trc cu a WDT; 1 TO; 1 PD
C anh hng: TO , PD
Chc nang: lenh CLRWDT se xoa bo nh th i WDT va xoa luon bo em chia tr c
cu a WDT. Ca c bit PD, TO c set len 1.
Chu ky th c hie n: 1.

m. Lenh: COMF bu thanh ghi f
Cu phap: COMF f,d
Tac to : 0 f 127, d [0,1]
Th c thi: ( f ) (dest)
C anh hng: Z
Chc nang: bu 1 no i dung thanh ghi f. Neu d=0 th ket qua lu vao thanh ghi W. Neu
d=1 th ke t qua lu vao thanh ghi f.
Chu ky th c hie n: 1.

n. Lenh: DECF giam no i dung thanh ghi f
Cu phap: DECF f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (f) 1 (dest)
C anh hng: Z
Chc na ng: giam noi dung thanh ghi f i 1. Ne u d= 0 th ke t qua lu va o thanh ghi W.
Neu d= 1 th ke t qua lu vao thanh ghi f.
Chu ky th c hie n: 1.

o. Lenh: DECFSZ giam no i dung thanh ghi f va nhay neu bang 0
Cu phap: DECFSZ f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (f) 1 (dest); Nhay neu ke t qua = 0
C anh hng: khong
Chc nang: no i dung thanh ghi f giam i 1. Neu d = 0 th ke t qua lu vao thanh ghi f.
Neu d = 1 th ke t qua lu vao thanh ghi W. Neu ke t qua bang 0 th bo qua lenh ke va
thay bang le nh NOP (do ma on ve trong lu c lenh ang th c hien).
Chu ky th c hie n: 1(2).

p. Lenh: GOTO lenh re nhanh khong ieu kie n
Cu phap: GOTO k
Tac to : 0 k 2047
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
142 . + y
Th c thi: k PC<10:0>; PCLATH<4:3> PC<12:11>
C anh hng: khong
Chc nang: GOTO la le nh nhay khong ieu kien. Gia tr cua 11bit <10:0> c ta i
vao PC. Ca c bit cao cu a PC c tai t PCLATH<4:3>.
Chu ky th c hie n: 2.

q. Lenh: INCF le nh tang no i dung thanh ghi f
Cu phap: INCF f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (f) + 1 (dest)
C anh hng: Z
Chc nang: no i dung cu a thanh ghi f tang le n 1. Neu d = 0 th ke t qua lu va o thanh
ghi W. Neu d = 1 th ke t qua lu tr lai vao thanh ghi f.
Chu ky th c hie n: 1.

r. Lenh: INCFSZ lenh ta ng no i dung thanh ghi f va nhay neu bang 0
Cu phap: INCFSZ f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (f) + 1 (dest)
C anh hng: khong.
Chc nang: no i dung cua thanh ghi f tang. Neu d= 0 th ke t qua lu va o thanh ghi W.
Neu d= 1th ke t qua lu vao thanh ghi f. Neu ke t qua la bang 0 th bo qua lenh ke va
c thay ba ng lenh NOP.
Chu ky th c hie n: 1(2).
V du: HERE INCFSZ CNT,1
GOTO LOOP
CONTI

Tr ng hp 1: Trc khi thc hien lenh th PC=a ch HERE, CNT = 0FF.
Sau khi th c hien lenh th PC=a ch CONTI, CNT = 000. Bo qua lenh GOTO
Tr ng hp 2: Trc khi thc hien lenh th PC=a ch HERE, CNT = 000.
Sau khi th c hien lenh th PC=a ch HERE+1, CNT = 001. Lenh GOTO c th c hien.

s. Lenh: IORLW lenh OR hang so vi W
Cu phap: IORLW k
Tac to : 0 k 255
Th c thi: (W) OR k W
C anh hng: Z
Chc nang: OR ha ng so k 8 bit v i W. Neu d= 0 th ket qua c lu vao thanh ghi
W. Neu d= 1 th ket qua lu vao thanh ghi f.
Chu ky th c hie n: 1.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
143 . + y
t. Lenh: IORWF le nh OR W v i f
Cu phap: IORWF f,d
Tac to : 0 f 127
Th c thi: (W) OR k (dest)
C anh hng: Z
Chc nang: no i dung thanh ghi W c OR vi no i dung thanh ghi W. Neu d= 0 th
ket qua lu vao thanh ghi W. Neu d= 1 th ket qua lu vao thanh ghi f.
Chu ky th c hie n: 1.
V du: IORWF RESULT,0
Trc khi th c hien lenh th W=091 va RESULT =013.
Sau khi th c hien lenh th W=093 va RESULT =013 va Z=0.

u. Lenh: MOVLW lenh copy d lieu
Cu phap: MOVLW k
Tac to : 0 k 255
Th c thi: k W
C anh hng: khong.
Chc na ng: d lieu 8 bit k nap va o thanh ghi W.
Chu ky th c hie n: 1.

V du1: MOVLW 05A
Sau khi th c hien lenh th W=05A
V du2: MOVLW MYREG
Trc khi th c hien lenh th W=001.
K hie u MYREG la d lieu cu a o nh la 037.
Sau khi th c hien lenh th W=037.
V du3: MOVLW HIGH(LU_TABLE)
Trc khi th c hien lenh th W=001.
LU_TABLE la nhan cu a o nh co a ch la 09375.
Sau khi th c hien lenh th W=093.

v. Lenh: MOVF lenh copy d lieu
Cu phap: MOVF f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (f) W
C anh hng: Z.
Chc nang: no i dung thanh ghi f c copy sang ni en tuy thuo c vao gia tr cu a
d. Neu d = 0 th ni en la thanh ghi W. Neu d=1 th ni en chnh la thanh ghi
f. Trng hp d=1 ra t tien l i e kiem tra thanh ghi file v trang tha i cu a c Z b
anh hng.
Chu ky th c hie n: 1.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
144 . + y

V du1: MOVF FSR,0
Trc khi th c hien lenh th: W=001, FSR=0C2.
Sau khi th c hien lenh th W=0C2 va c Z=0.
V du2: MOVLW FSR,1
Tr ng hp 1: Trc khi thc hien lenh th FSR=0C2.
Sau khi th c hien lenh th FSR=0C2 va Z =0.
Tr ng hp 2: Trc khi thc hien lenh th FSR=000.
Sau khi th c hien lenh th FSR=000 va Z =1.

w. Lenh: MOVWF lenh copy d lie u
Cu phap: MOVWF f
Tac to : 0 f 127, d [0,1]
Th c thi: (W) f
Trang tha i anh hng: khong.
Chc na ng: no i dung thanh ghi W c copy sang thanh ghi f.
Chu ky th c hie n: 1.

V du1: MOVWF OPTION_REG
Trc khi th c hien lenh th: OPTION_REG=0FF, W=04F.
Sau khi th c hien lenh th OPTION_REG=04F, W=04F.
V du2: MOVLW INDF
Trc khi th c hien lenh th W=017, FSR=0C2 va no i dung cu a a ch (FSR)=000.
Sau khi th c hien lenh th W=017, FSR=0C2 va no i dung cu a a ch (FSR)=017.

x. Lenh: RETFIE lenh tr ve t chng trnh con phu c vu nga t.
Cu phap: RETFIE
Tac to : khong co.
Th c thi: TOS PC, 1 GIE.
C anh hng: khong.
Chc nang: tr ve t chng trnh phuc vu nga t. 13 bit a ch nh nga n xep (TOS)
c nap cho thanh ghi PC. Bit cho phe p nga t toan cu c t ong c set le n mc 1
e cho phe p ngat.
Chu ky th c hie n: 2.

y. Lenh: RETLW lenh tr ve t chng trnh con phu c vu ngat.
Cu phap: RETLW k
Tac to : 0 k 255
Th c thi: k W, TOS PC.
Trang tha i anh hng: khong.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
145 . + y
Chc nang: thanh ghi W c nap gia tr 8 bit k. 13 bit a ch nh ngan xe p (a
ch tr ve) c nap cho thanh ghi PC.
Chu ky th c hie n: 2.

z. Lenh: RLF lenh xoay tra i qua c C
Cu phap: RLF f,d
Tac to : 0 f 127, d [0,1]
Th c thi:

Trang tha i anh hng: C
Chc nang: no i dung cua thanh ghi f c xoay sang tra i mo t bit qua c C. Neu d= 0
th ket qua c lu vao thanh ghi W. Ne u d= 1 th ke t qua lu vao thanh ghi f.
Chu ky th c hie n: 1.

V du1: RLF REG1,0
Trc khi th c hien lenh th: REG1=1110 0110 va C =0.
Sau khi th c hien lenh th REG1=1110 0110, W=1100 1100 va C =1.
V du2: RLF INDF,1
Tr ng hp 1: Tr c khi thc hie n le nh th: FSR=0C2, noi dung cua a ch (FSR) = 0011
1010 va C = 1.
Sau khi th c hien lenh th: FSR=0C2, no i dung cu a a ch (FSR) = 0111 0101 va C = 0.
Tr ng hp 2: Tr c khi thc hie n le nh th: FSR=0C2, noi dung cua a ch (FSR) = 1011
1001 va C = 0
Sau khi th c hien lenh th: FSR=0C2, no i dung cu a a ch (FSR) = 0111 0010 va C = 1.

aa. Lenh: RRL lenh xoay pha i qua c C
Cu phap: RRF f,d
Tac to : 0 f 127, d [0,1]
Th c thi:

Trang tha i anh hng: C
Chc nang: no i dung cua thanh ghi f c xoay sang pha i mo t bit qua c C. Neu d= 0
th ket qua c lu vao thanh ghi W. Ne u d= 1 th ke t qua lu vao thanh ghi f.
Chu ky th c hie n: 1.

V du1: RRF REG1,0
Trc khi th c hien lenh th: REG1=1110 0110, W= va C =0.
Sau khi th c hien lenh th REG1=1110 0110, W=0111 0011 va C =0.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
146 . + y
V du2: RRF INDF,1
Tr ng hp 1: Tr c khi thc hie n le nh th: FSR=0C2, noi dung cua a ch (FSR) = 0011
1010 va C = 1.
Sau khi th c hien lenh th: FSR=0C2, no i dung cu a a ch (FSR) = 1001 1101 va C = 0.
Tr ng hp 2: Tr c khi thc hie n le nh th: FSR=0C2, noi dung cua a ch (FSR) = 0011
1001 va C = 0
Sau khi th c hien lenh th: FSR=0C2, no i dung cu a a ch (FSR) = 0011 1100 va C = 1.

bb. Lenh: RETURN lenh ke t thu c chng trnh con
Cu phap: RETURN
Tac to : khong
Th c thi: TOS PC
Trang tha i anh hng: khong
Chc nang: le nh tr ve t chng trnh con. No i dung nh ngan xep tra cho PC.
Lenh nay th c hien trong 2 chu k le nh.
Chu ky th c hie n: 2.

cc. Lenh: SLEEP lenh ngu
Cu phap: SLEEP
Tac to : khong
Th c thi: 00h WDT; 0 bo em chia tr c cua WDT; 1 TO ; 0 PD
C anh hng: TO , PD
Chc nang: bit trang tha i giam nguon PD (Power Down Status bit) b xo a. Bit trang
thai tam ngh TO (Time-Out) c set. Bo nh th i WDT va bo chia tr c b xo a.
Vi x l b c vao che o ngu (SLEEP) va bo dao ong ngng hoa t ong.
Chu ky th c hie n: 1.

dd. Lenh: SUBLW lenh tr ha ng so cho thanh ghi W
Cu phap: SUBLW k
Tac to : 0 k 255
Th c thi: k (W) (W)
C anh hng: C, DC, Z
Chc nang: hang so k 8 bit tr cho no i dung thanh ghi W va ke t qua c lu vao
thanh ghi W.
Chu ky th c hie n: 1.

V du1: SUBLW 0x02
Tr ng hp 1: Trc khi thc hien lenh th: W=001, c C = va Z = .
Sau khi th c hien lenh th: W=001, c C = 1 (ke t qua dng) va Z = 0.
Tr ng hp 2: Trc khi thc hien lenh th: W=002, c C = va Z = .
Sau khi th c hien lenh th: W=000, c C = 1 (ke t qua bang 0) va Z = 1.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
147 . + y
Tr ng hp 3: Trc khi thc hien lenh th: W=003, c C = va Z = .
Sau khi th c hien lenh th: W=0FF, c C = 1 (ke t qua am) va Z = 0.
V du2: SUBLW MYREG
Trc khi th c hien lenh th: W=010, k hieu MYREG la noi dung o nh co gia tr 037.
Sau khi th c hien lenh th: W=027, c C = 1 (ke t qua dng) va Z = 0.

ee. Lenh: SUBWF lenh tr thanh ghi f cho thanh ghi W
Cu phap: SUBLW f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (f) (W) (dest)
C anh hng: C, DC, Z
Chc na ng: no i dung thanh ghi f tr cho no i dung thanh ghi W. Neu d= 0 th ke t qua
lu vao thanh ghi W. Neu d= 1 th ke t qua lu va o thanh ghi f.
Chu ky th c hie n: 1.
V du1: SUBWF REG1,1
Tr ng hp 1: Trc khi thc hien lenh th: REG1=003, W = 002, c C = va Z = .
Sau khi th c hien lenh th: REG1=001, W=002, c C = 1 (ke t qua dng) va Z = 0.
Tr ng hp 2: Trc khi thc hien lenh th: REG1=002, W = 002, c C = va Z = .
Sau khi th c hien lenh th: REG1=000, W=002, c C = 1 (ke t qua zero) va Z = 1.
Tr ng hp 3: Trc khi thc hien lenh th: REG1=001, W = 002, c C = va Z = .
Sau khi th c hien lenh th: REG1=0FF, W=002, c C = 1 (ke t qua am) va Z = 0.

ff. Lenh: SWAPF lenh hoa n chuye n 4 bit cua thanh ghi f
Cu phap: SWAPF f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (f<3:0>) (dest<7:4>); (f<7:4>) (dest<3:0>)
C anh hng: khong
Chc na ng: 4 bit cao va 4 bit thap cu a thanh ghi f c oi v i nhau. Ne u d= 0 th ke t
qua lu va o thanh ghi W. Neu d= 1 th ket qua lu vao thanh ghi f.
Chu ky th c hie n: 1.
V du1: SWAPF REG1,0
Trc khi th c hien lenh th: REG1=0A5.
Sau khi th c hien lenh th: REG1=0A5, W=05A.
V du2: MOVLW FSR,1
Trc khi th c hien lenh th FSR=0C2, no i dung cu a a ch (FSR) = 020.
Sau khi th c hien lenh th FSR=0C2 va no i dung cua a ch (FSR) = 002.

gg. Lenh: XORLW lenh XOR ha ng so v i W
Cu phap: XORLW k
Tac to : 0 k 255
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
148 . + y
Th c thi: (W) XOR k (W)
C anh hng: Z
Chc nang: no i dung thanh ghi W c XOR v i hang so k 8 bit va ke t qua lu vao
thanh ghi W.
Chu ky th c hie n: 1.
V du: XORLW 0AF
Trc khi th c hien lenh th: W=0B5.
Sau khi th c hien lenh th: W=01A, Z=0.

hh. Lenh: XORWF le nh XOR W v i f
Cu phap: XORLW f,d
Tac to : 0 f 127, d [0,1]
Th c thi: (W) XOR (f) (dest)
C anh hng: Z
Chc na ng: no i dung thanh ghi W c XOR v i noi dung thanh ghi f. Neu d= 0 th
ket qua c lu vao thanh ghi W. Neu d= 1 th ke t qua lu vao thanh ghi f.

|V. NC0N NCU LAP 1kNH C CU A CC5 C:
' 3
CCS C la trnh bie n dch dung ngon ng C cho vi ieu khien PIC ay la ngon ng cap cao
giup viet chng trnh de dang hn ngon ng Assembly.
Ma le nh c to i u khi bien dch.
CCS cha nhie u ham phu c vu cho moi mu c ch va co nhieu ca ch lap trnh cho mot van e
dan en khac nhau ve to c o th c thi ma va bo nh chng trnh, s toi u cu a chng trnh la do
ng i lap trnh quyet nh.
3 3 /
e viet mo t chng trnh C m i chay CCS vao New tao mo t Project m i.
Tre n thanh toolbar: Chon Microchip 12 bit e vie t chng trnh cho PIC 12 bit. Microchip
14 bit e vie t chng trnh cho PIC 14 bit. Microchip PIC18 e vie t chng trnh cho PIC18.
Chon Compiler e bien dch chng trnh.
Cau tru c mo t chng trnh C viet trong CCS:
#include <16F877A.h> // khai bao PIC s dung cua chng trnh
#device RS232 // Khai bao thie t b can s du ng
#use delay(clock=20000000) // khai ba o ham delay
. . . .
Int16 a,b; // khai ba o bien
. . . .
Void xu_ly_ADC ( ) //chng trnh con
{ . . .
. . .
}
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
149 . + y
#INT_TIMER1 // khai ba o nga t
Void xu_ly_ngat_timer ( ) //chng trnh x l ngat
{ . . .
. . .
}
Main ( ) // chng trnh chnh
{ . . .
. . .
}
/ / ./ 3 , / 3, \/3
o. Kho| bo c b|en, hong, mo ng:
Ca c loa i bie n sau c ho tr :
int1 : so 1 bit = true hay false (0 hay1)
int8 : so nguyen 1 byte (8 bit)
int16 : so nguyen 16 bit
int32 : so nguyen 32 bit
char : ky t 8 bit
float : so thc 32 bit
short : ma c nh nh kieu int1
byte : ma c nh nh kieu int8
int : ma c nh nh kieu int8
long : ma c nh nh kieu int16
Them signed hoa c unsigned pha trc e ch o la so co dau hay khong dau.
Khai bao hang:
V du: int8 const a=12;// a la hang so co gia tr la 12
Khai bao 1 mang ha ng so :
V du: int8 const a[2]={1,2,0};// mang co 3 pha n t va ch so mang au tien la 0 v i a[0]=1
va o l n cua mo t pha n t la 1byte (hay 8bit).
oi vi vi ieu khien PIC16F877A th ch so mang co kch thc to i a la 256 byte.
b. Co ch su du ng b|e n:
Khi s dung cac phep toan can lu y : tran so, tnh toan v i so am, o i kieu va e p kieu.
Gio ng nh C trong lap trnh C cho may tnh. Bien co the c khai bao nh toan cu c hay cu c
bo. Bien khai bao trong ham se la cu c bo va ch dung c trong ham o, ke ca trong ham main().
Ngoai ra co n co the khai bao ngay trong 1 kho i lenh, va cung ch to n ta i trong kho i lenh o.
- / /
Gom ca c lenh nh while . . do, case, . . .
while (expr) stmt: xe t ieu kien tr c roi thc thi bieu thc sau.
do stmt while (expr): th c thi bieu thc ro i m i xe t ieu kie n sau.
Return: dung cho ham co tra ve tr, hoac khong tra ve tr cung c, khi o ch can
dung: return (ngha la thoat kho i ham ta i o).
Break: nga t ngang (thoa t kho i) vong lap while. Continue: quay tr ve au vo ng lap
while.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
150 . + y
Ba ng 3-3: Tap le nh cua ngon ng C
STATEMENT EXAMPLE
if (expr) stmt; [else stmt;] if (x==25)
x=1;
else
x=x+1;
while (expr) stmt; while (get_rtcc()!=0)
putc(n);
do stmt while (expr); do {
putc(c=getc());
} while (c!=0);
for (expr1;expr2;expr3) stmt; for (i=1;i<=10;++i)
printf(%u\r\n,i);
switch (expr) {
case cexpr: stmt; //one or more case
[default:stmt]
... }
switch (cmd) {
case 0: printf(cmd 0);
break;
case 1: printf(cmd 1);
break;
default: printf(bad cmd);
break; }
return [expr]; return (5);
goto label; goto loop;
label: stmt; loop: I++;
break; break;
continue; continue;
expr; i=1;
; ;
{[stmt]}
Zero or more
{a=1;
b=1;}
8o ng 3-3. 1o p |e nh ngcn ngu C.
Ca c mu c trong [ ] la co the co hoac khong.
| , /
o. #A5M vo #ENDA5M:
Cho phe p at 1 oan ma ASM gi a 2 ch th na y, ch a t trong ham. CCS nh ngha san 1
bien 8 bit RETURN e gan gia tr tra ve cho ham t oa n ma Assembly.
Khi s dung ca c bien khong bank hien ta i, CCS sinh them ma chuyen bank t ong cho
cac bien o . Ne u s dung #ASM ASIS th CCS khong sinh them ma chuye n bank t ong. Ma
assembly ung theo ma tap lenh cu a vi ieu khien, khong phai la ma lenh cu a MPLAB.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
151 . + y
V du:
int find_parity (int data) {
int count;
#asm
movlw 0x8
movwf count
movlw 0
loop:
xorwf data,w
rrf data,f
decfsz count,f
goto loop
movwf _return_
#endasm
}
b. #|NCLUDE:
Cu phap: #include <filename> hay #include filename
Filename: ten file cho thie t b co the *.h hay *.c. Ne u ch nh file ng da n khac th
them ng dan vao va luo n co e khai bao chng trnh viet cho vi ieu khie n na o va a t dong
au tien.
V du: #include <P16F877A.h> //khai bao chng trnh vie t cho PIC16F877A
#include <lcd.c> // khai bao ca c ham hay chng trnh con cho LCD
c. #8|1, #81E, #L0CA1E vo #D|F|NE:
#BIT id = x.y v i id la ten bien, x la bien (8,16,32bit,.) hay hang so a ch thanh ghi, y la v
tr cua bit trong bien x.
V du: #bit TMR1Flag = 0xb.2 //bit c nga t timer1 a ch 0xb.2 (PIC16F877A)
Khi o TMR1Flag = 0 // xoa c nga t Timer1
#BYTE id = x. Trong o id la ten bie n, x: a ch thanh ghi.
V du: #BYTE portB=0xC6; // Thanh ghi PortB co gia tr la 0xC6
Khi muon xua t ra PortB gia tr 120 th ta dung le nh portB=120;
# LOCATE id = x giong nh #byte id=x nhng co them ch c na ng bao ve kho ng cho CCS s
dung a ch o vao mu c ch kha c.
# DEFINE id text v i text la chuo i hay so id la ten bien.
d. #DEV|CE:
Cu phap # DEVICE chip option
chip: te n vi ieu khien s dung, khong dung tham so nay neu a khai bao te n chip #
include.
Option: toan t tieu chuan theo tng chip:
* = 5 dung pointer 5 bit (tat ca PIC)
* = 8 dung pointer 8 bit (PIC14 va PIC18)
* = 16 dung pointer 16 bit (PIC14, PIC 18)
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
152 . + y
ADC=x s dung ADC x bit (8, 10, . . . bit tuy chip), khi dung ham read_adc( ), se tra ve gia tr
x bit.
e. #0kC:
# org start, end
# org segment
#org start, end { }
Start, end: ba t au va ke t thuc vung ROM danh rieng cho ham theo sau, hoa c e rieng kho ng
dung.
V du:
Org 0x30, 0x1F
Void xu_ly( )
{

} // ham nay ba t au a ch 0x30

Org 0x30, 0x1F { }
// khong co g ca a t trong vung ROM nay
-Thng th kho ng dung ORG.
f. #U5E:
#USE delay(clock=speed)//khai bao ham delay cho vi ieu khien
Vi speed la to c o dao ong ang dung.
V du: nh dung tha ch anh 20MHz th khai bao la: #USE delay(clock=20000000)
Khi s dung ch th #USE delay(clock=20000000) th go i ham delay nh sau:
Delay_ms(100); // lenh nay e th c hien delay 100ms.
#USE fast_io(port)
Port: la ten port: t A-E (oi v i PIC16F877A)
Khi dung ch th na y th trong chng trnh neu du ng cac le nh I/O nh output_low(), . . . th no
se set ch v i 1 le nh, nhanh hn so vi khi kho ng du ng ch th nay.
Trong ham main( ) pha i dung ham set_tris_x( ) e ch ro chan vao ra th ch th tren mi co
hieu l c, khong th chng trnh se chay sai.
V du: # use fast_io(A)
#USE I2C (options)
Thie t la p giao tiep I2C.
Option bao gom cac thong so sau, ca ch nhau b i dau phay:
Master: chip che o master
Slave: chip che o slave
SCL=pin : ch nh cha n SCL
SDA=pin : ch nh chan SDA
ADDRESS=x : ch nh a ch che o slave
FAST: ch nh FAST I2C
SLOW: ch nh SLOW I2C
RESTART_WDT: restart WDT trong khi ch I2C_READ()
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
153 . + y
V du:
#use I2C(master, sda=pin_B0, scl = pin_B1)
#use I2C (slave, sda= pin_C4, scl= pin_C3, address = 0xa00, FORCE_HW)
#USE RS232 ( options )
Thie t la p giao tiep RS232 cho chip (co hieu l c sau khi nap chng trnh cho chip, khong pha i
giao tiep RS232 ang s dung e nap chip).
Option bao gom:
BAUD=x: thie t lap toc o baud rate: 19200, 38400, 9600, . . .
PARITY=x: x= N,E hay O, v i N: khong dung bit chan le.
XMIT=pin: set cha n transmit (chuye n data)
RCV=pin : set chan receive (nhan data)
Ca c thong so tre n hay dung nha t, ca c tham so khac se bo sung sau.
V du:
#use rs232(baud=19200,parity=n,xmit=pin_C6,rcv=pin_C7)
g. Mct sc ch| th| t|e n xu |y khoc:
#CASE: cho phep pha n biet ch hoa/thng cua ten bien, danh cho ngi quen lap trnh C.
#OPT n: vi n=0-9: ch nh cap o to i u ma.
#PRIORITY ints: v i ints la danh sa ch ca c ngat theo th t u tien th c hie n khi co nhieu
nga t xay ra ong th i, nga t ng au se la nga t u tie n nha t.
/ /\ / , / , /
o. Co c hom xu |y sc:
Bao gom ca c ham:
Sin(), cos(), tan(), asin(), acos(), atan()
Asin(), acos(), atan(): la ca c ham arcsin, arccos, arctan
Abs() : lay gia tr tuye t o i
Exp() :la ham mu ex
Log() : ham logarit
Log10(): ham logarit c so 10
Pow() : ham tnh lu y tha
Sqrt() : ham tnh ca n th c
Ca c ham nay co the lam cho chng trnh chay cham v tren vi ieu khien khong co bo nhan
va chia phan cng, do o neu khong oi ho i toc o th dung ca c ham na y cho n gia n.
b. Co c hom xu |y b|t vo co c phe p tcon:
Bao go m ca c ham sau:
Shift_right()
Shift_left()
Bit_clear()
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
154 . + y
Bit_set()
Bit_test()
Swap()
Make8()
Make16()
Make32()
Ham Shift_right(address,byte,value)
Ham Shift_left(address,byte,value)
Dch pha i (tra i) 1 bit vao mot mang hay mot cau tru c.
a ch co the la a ch ma ng hay a ch tro t i cau tru c.
Ham Bit_clear(var,bit)
Ham Bit_set(var,bit)
Bit_clear dung e xoa bit c nh b i v tr bit trong bien var.
Bit_set dung e set =1 bit c nh bi v tr trong bien var.
Var: bie n 8,16,32 bit ba t k.
Bit: v tr clear (set): t 0-7 (bien 8 bit), t 0-16 (bien 16bit), t 0-32 (bien 32bit).
V du:
Int8 x;
x=9; //x=0b1001
bit_clear(x,0); //x=0b1000
Ham Bit_test(var,bit)
Dung e kiem tra v tr bit trong bien var, ham tra ve 0 hay 1 la gia tr bit trong bien
var.
var la bien 8, 16 hay 32 bit
bit la v tr bit trong bien var
V du: neu muon kiem tra x=256 cha th co the s du ng
If (x >=256) th ma t gan 5us
If (bit_test(x,9)) th ch mat 0.4us (oi v i tha ch anh 20MHz)
Ham Swap(var)
Var la bien mot byte
Ham nay ao v tr cua 4 bit cao cho 4 bit thap trong mo t byte. Ham nay khong tra ve
gia tr.
V du:
Int8 x;
X=0b00000101; //x=0b00000101
Swap(x); //x=0b01010000
Ham Make8(var,offset)
Ham nay trch 1 byte t bien var
Var la bien 8,16,32 bit
Offset la v tr cua byte ca n trch (0,1,2,3)
V du:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
155 . + y
X=0x12A4;
Y=Make8(x,2); // y=02h
Ham Make16(varhigh,varlow)
Tra ve gia tr 16 bit ke t hp t hai bien 8bit la varhigh va varlow, byte cao la varhigh
byte thap la varlow.
V du:
X=0x02;
Y=0xAF;
Z=make16(x,y); // z=0x02AF
Ham Make32(var1,var2,var3,var4)
Ham tra ve gia tr 32 bit ket hp gia tr 8 bit hay 16 bit t var1 en var4 trong o t
var2 en var4 co the co hoa c khong. Gia tr var1 se la MSB, ke tiep la var2, Neu
tong so bit ke t hp nho hn 32 bit th 0 c them vao MSB e u 32 bit.
V du:
Int a=0x01, b=0x02, c=0x03, d=0x04; // ca c gia tr hex
Int32 e ;
e = make32 (a,b,c,d); // e = 0x01020304
e = make32 (a,b,c,5) ; // e = 0x01020305
e = make32 (a,b,8); // e = 0x00010208
e = make32 (a,0x1237) ; // e = 0x00011237
c. Co c hom xu |y b|t vo co c phe p tcon:
e s dung cac ham delay th can pha i co khai bao tien x l au file.
Nh thach anh 20MHz th khai bao la #USE delay(clock=20000000)
Co ba ham phu c vu delay:
Ham delay_cycles(count):
Count : la hang so t 0-255 la so chu k lenh, 1 chu k lenh bang 4 chu k may.
V du: delay_cycles(10);//delay 10 chu k le nh
Ham delay_us(time) : ham delay micro giay
Time: la bie n so th co gia tr t 0-255, la ha ng so th co gia tr t 0-65355
Ham nay khong tra ve gia tr.
V du: delay_us(1); // delay 1 micro giay
Ham delay_ms(time) : ham delay mili gia y
Time: co gia tr 0-255 neu la bien, co gia tr t 0-65355 neu la ha ng so .
Ham khong tra ve gia tr.
V du: delay_ms(1000); // ham delay 1 giay
7 / / ./ / /\ 3
o. Co c hom xu |y ADC:
Ham Setup_ADC(mode)
Ham khong tra ve gia tr, dung xac nh ca ch th c hoa t ong bo bien oi ADC. Tham so
mode tuy thuo c file thie t b *.h co ten tng ng ten chip ang dung, nam trong th mu c DEVICES
cu a CCS. Muon bie t co bao nhieu tham so co the dung cho chip o.
Ham ADC_OFF: ta t hoa t ong ADC (tiet kiem ien, danh chan cho hoa t ong kha c).
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
156 . + y
Ham ADC_CLOCK_INTERNAL: th i gian lay ma u ba ng xung clock IC (ma t 2-6 us) thng
la chung cho ca c chip.
Ham ADC_CLOCK_DIV_2: th i gian lay mau ba ng xung clock / 2 (ma t 0.4 us tre n tha ch anh
20MHz)
Ham ADC_CLOCK_DIV_8: thi gian lay mau bang xung clock / 8 (1.6 us)
Ham ADC_CLOCK_DIV_32: th i gian lay mau bang xung clock / 32 (6.4 us)
b. 5E1UP_ADC_pcrt (vo|ue[:
Xa c nh chan lay tn hieu analog va ien the chuan s dung. Tuy thuo c bo tr chan tren chip,
so chan va chan nao dung cho ADC va so ch c nang ADC mo i chip ma value co the co nhng gia
tr kha c nhau, v i Vref: ap chua n, Vdd: ap nguo n
Sau a y la ca c ham khai bao ADC cu a 16F877A:
Ham ALL_ANALOGS: dung tat ca chan sau lam analog : A0 A1 A2 A3 A5 E0 E1 E2
(Vref=Vdd)
Ham NO_ANALOG: khong dung analog, cac chan o se la chan I /O.
Ham AN0_AN1_AN3: A0 A1 A3, Vref = Vdd
Ham AN0_AN1_VSS_VREF: A0 A1 VRefh = A3
Ham AN0_AN1_AN4_AN5_AN6_AN7_VREF_VREF: A0 A1 A5 E0 E1 E2 VRefh=A3,
VRefl=A2.
Ham AN0_AN1_AN2_AN4_AN5_VSS_VREF: A0 A1 A2 A5 E0 VRefh=A3
Ham AN0_AN1_AN4_AN5_VREF_VREF: A0 A1 A5 E0 VRefh=A3 VRefl=A2
Ham AN0_AN1_AN4_VREF_VREF: A0 A1 A5 VRefh=A3 VRefl=A2
Ham AN0_VREF_VREF: A0 VRefh=A3 VRefl=A2
V du : setup_adc_ports (AN0_AN1_AN3) ; // A0, A1, A3 nha n analog, ap nguon +5V cap cho
IC se la ien ap chuan
c. 5E1UP_ADC_chonne| (chonne|[:
Chon chan e o c tn hieu analog bang le nh Read_ADC( ). Gia tr channel tuy so chan ch c
nang ADC mo i chip. Vi 16F877A, channel co gia tr t 0 -7: 0-chan A0, 1-chan A1, 2-cha n A2, 3-
chan A3, 4-chan A5, 5-chan E0, 6-cha n E1, 7-chan E2.
Ham khong tra ve tr. Ne n delay 10 s sau ham nay ro i m i dung ham read_ADC ( ) e bao
am ke t qua ung. Ham ch hoa t ong vi A/D phan cng tren chip.
d. keod_ADC(mcde[:
Dung o c gia tr ADC t thanh ghi ch a ket qua bien o i ADC.
Neu gia tr ADC la 8 bit nh khai bao trong ch th #DEVICE, gia tr tra ve cua ham la 8 bit,
ng c la i la 16 bit neu khai bao #DEVICE s dung ADC 10 bit tr len.
Khi dung ham na y th se chuyen oi ADC cu a ngo vao a cho n trong ham
Set_ADC_channel( ) trc o. Ngha la mo i lan ch oc 1 kenh muon oi sang o c chan nao, dung
ham set_ADC_channel( ) cho chan o . Neu khong co oi chan, dung read_ADC( ) bao nhie u lan
cung c.
Mode co the co hoac khong, gom co :
ADC_START_AND_READ : gia tr mac nh.
ADC_START_ONLY : bat au chuyen o i va tra ve.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
157 . + y
ADC_READ_ONLY : o c ke t qua chuyen oi lan cuo i.











8o ng 3-4. Ket quo dcc ADC.
PIC16F877A ch ho tr ADC 8 va 10 bit.
e. Co c hom |0 trcng C:
Bao gom ca c ham sau:
Output_low()
Output_high()
Output_bit()
Input()
Ouput_X()
Input_X()
port_b_pullups()
Set_tris_X()
Ham Output_low (pin), Output_high (pin)
Dung thie t la p mc 0 (low, 0V) hay m c 1 (high,5V) cho chan IC, pin ch v tr cha n.
Ham nay se a t pin lam ngo ra, xem ma asm e bie t cu the.
Ham nay thc hien mat 2-4 chu ky may. Cung co the xua t xung dung set_tris_X() va
#use fast_io.
V du : chng trnh sau xua t xung vuong chu ky 500ms, duty =50% ra cha n B0, no i B0 v i 1 led se
lam nhap nhay led.
#include <16F877A.h>
#use delay( clock=20000000)
Main()
{
while(1)
{
output_high(pin_B0) ;
Delay_ms(250) ; // delay 250ms
Output_low (pin_B0);
Delay_ms (250 );
}
#DEVCE 8 bit 10 bit 11 bit 16 bit
ADC=8 0-255 0-255 00-255 00-255
ADC=10 x 0-1023 x x
ADC=11 x x 0-2047 x
ADC=16 0-65280 0-65472 0-65504 0-65535
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
158 . + y
}
Ham Output_bit (pin,value)
pin: ten chan value: gia tr 0 hay 1
Ham nay cung xua t gia tr 0 / 1 tren pin, tng t 2 ham tren. Th ng dung no khi gia
tr ra tuy thuo c gia tr bien 1 bit nao o, hay muon xua t ao cua gia tr ngo ra tr c o .
V du:
Khai bao int1 x; // x ma c nh = 0
Trong ham main:
Main()
{
while (1 )
{
output_bit( pin_B0, !x ) ;
Delay_ms(250 );
}
}
Chng trnh tren cung xua t xung vuong chu ky 500ms,duty =50%
Ham Input_bit (pin)
Ham nay tra ve gia tr 0 hay 1 la trang tha i cua chan IC. Gia tr la 1 bit
Ham Output_X(value)
X la ten port co tren chip. Value la gia tr 1 byte.
Ham nay xua t gia tr 1 byte ra port. Tat ca chan cua port o eu la ngo ra.
V du :
Output_B ( 255 ); // xua t gia tr 11111111 ra port B
Ham Input_X( )
X: la ten port (A,B,C,D,E).
Ham nay tra ve gia tr 8 bit la gia tr ang hie n hu cu a port o.
V du: m=input_E();
Ham Port_B_pullups(value)
Ham nay thie t lap ngo vao port B pullup (ien tr ke o len). Value =1 se kch hoa t tnh
nang na y va value =0 se ngng.
Ch cac chip co port B co tnh nang na y m i dung ham nay.
Ham Set_tris_X(value)
Ham nay nh ngha chan IO cho 1 port la ngo vao hay ngo ra. Ch c dung v i
#use fast_IO. S dung #byte e ta o bien ch en port va thao ta c tre n bien na y chnh
la thao ta c tre n port.
Value la gia tr 8 bit. Moi bit a i dien 1 chan va bit=0 se set chan o la ngo va o, bit=
1 set cha n o la ngo ra.
V du: chng trnh thao ta c tren portB
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
159 . + y
#include < 16F877A.h > //chip s dung la PIC16F877A
#use delay(clock=20000000) // du ng thach anh 20MHz
#use Fast_IO(B)
#byte portB = 0x6 // 16F877 co port b a ch 6h
#bit B0 = portB. 0 // bien B0 ch en chan B0
#bit B1=portB.1 // bien B1 ch en chan B1
#bit B2=portB.2 // bien B2 ch en chan B2
#bit B3=portB.3 // bien B3 ch en chan B3
#bit B4=portB.4 // bien B4 ch en chan B4
#bit B5=portB.5 // bien B5 ch en chan B5
#bit B6=portB.6 // bien B6 ch en chan B6
#bit B7=portB.7 // bien B7 ch en chan B7
Main()
{
set_tris_B (80) ; //B0-B6 ngo ra, B7 ngo vao
if (B7) //neu ngo vao chan B7 la 1 th xua t ra B0-B6 gia tr la 1
{
B1 = 1;
B2 = 1;
B3 = 1;
B4 = 1;
B5 = 1;
B6 = 1;
}
Else B1=B2=B3=B4=B5=B6= 0;
}
` / / 3/ ./ / /\ / / 3 3/
o. Kho| bo c ngot:
Moi ho PIC co so lng nguo n ngat khac nhau: PIC 14 co 14 ngat, PIC 18 co 35 ngat.
Danh sa ch ca c nga t v i ch c nang tng ng:
#INT_GLOBAL: ngat toan cu c
#INT_AD: nga t khi chuyen o i A /D a hoan ta t
#INT_CCP1: nga t khi co Capture hay compare tren CCP1
#INT_CCP2: nga t khi co Capture hay compare tren CCP2
#INT_COMP: kiem tra bang nhau tre n Comparator
#INT_EEPROM: hoan thanh ghi EEPROM
#INT_EXT: ngat ngoai
#INT_EXT1: nga t ngoa i 1
#INT_EXT2: nga t ngoa i 2
#INT_I2C: co hoa t ong I2C
#INT_LOWVOLT: pha t hie n ap thap
#INT_PSP: co data vao cong Parallel slave
#INT_RB: ba t ky thay o i nao tren chan B4 en B7
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
160 . + y
#INT_RDA: data nhan t RS 232 sa n sang
#INT_RTCC: tra n Timer 0
#INT_SSP: co hoat ong SPI hay I2C
#INT_TBE: bo em chuyen RS 232 trong
#INT_TIMER0: mot ten khac cu a #INT_RTCC
#INT_TIMER1: tran Timer 1
#INT_TIMER2 : tran Timer 2
#INT_TIMER3: tran Timer 3
#INT_TIMER5 : tran Timer 5
#INT_OSCF: loi OSC
b. Co c hom th|et |o p hcot dcng ngo t:
Ham enable_interrupts(level)
level la ten ca c nga t a cho tren hay la GLOBAL e cho phep ngat cap toan cu c.
Moi nga t cu a vi ieu khien eu co 1 bit c ngat, 1 bit cho phep ngat. Khi co nga t th
bit c nga t len m c 1, nhng nga t co hoa t ong c hay khong tuy thuo c bit cho phep
nga t. Ham enable_interrupts (int_xxx) se cho phep ngat. Nhng ta t ca ca c nga t eu
khong the thc thi neu bit cho phe p nga t toan cu c bang 0, ham
enable_interrupts(global) se cho phep nga t toan cu c.
V du: e cho phep nga t timer0 va timer1 hoat ong:
enable_interrupts (int_timer0);
enable_interrupts (int_timer1);
enable_interrupts (global);
Ham disable_interrupts (level)
level giong nh tren.
Ham nay vo hieu 1 ngat bang ca ch set bit cho phep ngat = 0.
disable_interrupts(global) set bit cho phe p nga t toan cuc =0, cam tat ca ca c nga t.
Khong dung ham nay trong ham phuc vu ngat v khong co tac du ng, c ngat luon b
xoa t ong.
Ham clear_interupt(level)
level khong co GLOBAL.
Ham nay xoa c ngat cu a nga t c ch nh b i level.
Ham ext_int_edge (source, edge)
Ham nay thie t la p nguon nga t ngoa i EXTx la ca nh len hay canh xuong.
source: nguon ngat. Tren PIC 18 co 3 nguon nga t tren 3 cha n EXT0, EXT1, EXT2 ng
vi source = 0,1, 2. Cac PIC kha c ch co 1 nguon EXT nen source = 0.
edge: chon canh kch nga t, edge = L_TO_H neu chon canh le n (t m c tha p chuyen
len mc cao) hay H_TO_L neu chon canh xuo ng.
c. Co c hom g|oc t|e p vc| mo y t|nh quo ccng C0M:
e s dung ch c nang na y can phai co hai khai bao: khai bao s dung RS232 va khai bao
dao ong cu a chip.
V du:
#use rs232 (baud=9600, parity=n, xmit=pin_C6, rcv=pin_C7)//to c o baud la 9600. khong
chan le, chan truyen C6, cha n nhan C7
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
161 . + y
#use delay (clock = 20000000 ) // ne u chip ang du ng OSC 20Mhz
Ham x l lien quan:
Ham printf (string)
Ham Printf (cstring,values . . .)
Dung xua t chuoi theo chuan RS232 ra PC.
string la 1 chuo i hang hay 1 mang ky t (ket thuc b i ky t null).
value la danh sa ch cac bien, cach nhau b i dau pha y.

Lu o ch p ta t PORTB (led n)
V. CA C CHU0NC 1kNH V DU:
' 3 ` /
Ket no i portB v i 8 led n.
Luu dc cu o chucng tr|nh .


Chucng tr|nh d|eu kh|en 8 |ed chc p to t v|et bo ng A5M:

title "choptat_Port_B.asm"
processor p16f877a
include <P16f877a.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC &_LVP_OFF
;==================================================
; Chuong trinh chinh
;==================================================
count_1 equ 0x20
count_2 equ 0x21
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
162 . + y
org 0x000
GOTO start

;------------------------------------------------------------
;khoi tao Port B
;------------------------------------------------------------
start org 0x0005
banksel TRISB
clrf TRISB
banksel PORTB
;------------------------------------------------------------
; vong lap chuong trinh chinh
;------------------------------------------------------------
loop clrf PORTB
call delay
movlw h'ff'
movwf PORTB
call delay
goto loop
;=================================================
; CHUONG TRINH CON
;=================================================
;-------------------------------------------------------------
; chuong trinh delay
;-------------------------------------------------------------
delay clrf count_1
d2 clrf count_2
d1 decfsz count_2
goto d1
decfsz count_1
GOTO d2
return
;-------------------------------------------------------------

end
;===============================================
Chucng tr|nh d|eu kh|en 8 |ed chc p to t v|et bo ng C:

/*=====================================================
* Title : Chuong trinh chop tat PortB
* Writer :
* Hardware : PIC16F877A
* Compiler : CCS C
*=====================================================*/
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
163 . + y
#include<16F877A.h>
#include<def_16f877a.h>
#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(b)
main()
{
trisb=0;
while(true)
{
portb=0xff
delay_ms(500);
portb=0;
delay_ms(500);
}
}
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
164 . + y


Lu o chng trnh Led sa ng 1 iem t tra i qua pha i
3 ' \ / 3 / /3 /
Ket no i portB v i 8 led n.
Luu dc d|e u kh|e n:


Chucng tr|nh d|em so ng d| chuye n tu tro| song pho | v|et bong A5M:
title chuongtrinhdich_led.asm
processor p16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC &
_LVP_OFF & _CPD_OFF
;----------------------------------------------------------
; Khoi tao cac bien
;----------------------------------------------------------
count1 EQU 0x20 ; cac bien dung cho doan chuong trinh delay
count2 EQU 0x21
;======================================================
; CHUONG TRINH CHINH
;======================================================
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
165 . + y
ORG 0x000
GOTO start
start
;----------------------------------------------------------
; khoi tao PORT B
;----------------------------------------------------------
BCF STATUS,RP1
BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0
;-------------------------------------------------------
; vong lap chuong trinh chinh
;-------------------------------------------------------
main MOVLW b'00000001'
MOVWF PORTB
clrc
loop CALL delay
RLF PORTB,1
BTFSS STATUS,0
GOTO loop
GOTO main
;======================================================
; CHUONG TRINH CON
;======================================================
delay clrf count_1
d2 clrf count_2
d1 decfsz count_2
goto d1
decfsz count_1
GOTO d2
return
END
;=================================================
Chucng tr|nh d|em so ng d| chuye n tu tro| song pho | v|et bong C:
#include<16F877A.h>
#include<def_16f877a.h>
#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(b)
int8 a;
main()
{
trisb=0;
while(true)
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
166 . + y
{
a=a<<1; // dich trai a 1bit
if(a==256)
{
a=1;
}
portb=~a;
delay_ms(100);
}
}


3 ` / 3
Ket no i portB v i 8 led n.
Luu dc d|e u kh|e n: be n duc|
Chucng tr|nh v|et bo ng ngc n ngu A5M:

title "sang don_Port_B.asm"
processor p16f877a
include <P16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC
& _WRT_OFF & _LVP_OFF & _CPD_OFF
;-------------------------------------------------------------------------
;Dat bien
;-------------------------------------------------------------------------
cblock 0x020
count1
counta
countb
m
sck
slx
btg
endc
;-------------------------------------------------------------------------
;=================================================
; Chuong trinh chinh
;=================================================
org 0x0000
;------------------------------------------------------------------------
;khoi tao PortB
;------------------------------------------------------------------------
banksel TRISB
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
167 . + y
clrf TRISB
banksel PORTB
;------------------------------------------------------------------------
main2 clrf PORTB
call delay
clrf m
movlw d'8'
movwf sck
x21 movf sck,0
MOVWF slx
movlw h'00'
movwf btg
setc
x11 rlf btg
clrc
movf btg,0
iorwf m,0
movwf PORTB
call delay
decfsz slx
goto x11
movf PORTB,0
movwf m
decfsz sck
goto x21
goto main2
;-----------------------------------------------------------------
;chuong trinh con delay
;-----------------------------------------------------------------
delay movlw d'255'
movwf count1
d1
movlw 0xC7
movlw counta
movlw 0x01
movlw countb
delay_0 decfsz counta,1
goto $+2
decfsz countb,1
goto delay_0
decfsz count1,1
goto d1
return
end
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
168 . + y
;================================================
Chucng tr|nh v|et bo ng ngc n ngu C:
/*====================================================
* Title : Chuong trinh sang don portB
* Writer :
* Processer : PIC16F877A
* Compiler : CCS C
*====================================================*/
#include<16F877A.h>
#include<def_16f877a.h>
#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(b)
int8 sck,slx,bienxoay,bienluu,giatri;
main()
{
trisb=0;
while(true)
{
sck=8;
bienluu=0;
portb=0;
delay_ms(100);
while(sck>0)
{
bienxoay=1;
slx=sck;
while(slx>0)
{
giatri=bienluu|bienxoay;
portb=giatri;
delay_ms(100);
bienxoay=bienxoay<<1;
slx--;
}
bienluu=giatri;
sck--;
}
}
}
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
169 . + y


Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
170 . + y
- 3 \ 3333 7 /
Ket no i portB v i 7 oan va dau cha m thap phan cu a led 7 oan.
Ket no i portD v i 8 transistor ie u khien que t 8 led 7 oan.
Luu dc d|e u kh|e n:

begin
Khi to PORTB,
PORTD l cc ng
ra
Nghn = 0
Trm = 0
Chc = 0
BCD- m 7 on
Hin th
n v= n v +1
Chc = chc + 1
n v = 10
n v = 0
X1
X1
X2
X3
S
X4
Trm = trm + 1
Nghn = nghn + 1
Chc = 10
Trm = 10
Nghn = 10
End
X2
X3
S
S
S

X4



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
171 . + y
Chucng tr|nh v|et bo ng ngc n ngu A5M:
title "dem BCD 0-9999 hien tren led 7 thanh.asm"
processor p16f877a
include <P16f877a.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC &_LVP_OFF
;=================================================
; Chuong trinh chinh
;=================================================
;---------- cac bien --------------------------------
cblock 0x020
count1
count2
count3
nghin
tram
chuc
dvi
bien1
bien2
bien3
bien4
endc
;----------------------------------------------------
org 0x000
clrf STATUS
movlw 0x00
movwf PCLATH
goto start
;------------------------------------------------------------
;khoi tao Port B
;------------------------------------------------------------
start org 0x005
BCF STATUS,RP1
BSF STATUS,RP0 ;chon BANK1
CLRF TRISB ;PORTB <- outputs
CLRF TRISD
BCF STATUS,RP0 ;chon BANK0
;------------------------------------------------------------
; vong lap chuong trinh chinh
;------------------------------------------------------------
x5 movlw 0x00
movwf nghin
x4 movlw 0x00
movwf tram
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
172 . + y
x3 movlw 0x00
movwf chuc
x1 movlw 0x00
movwf dvi
x2 call bcd_7doan
call delayhthi
incf dvi
movf dvi,0
xorlw d'10'
btfss STATUS,Z
goto x2
incf chuc
movf chuc,0
xorlw d'10'
btfss STATUS,Z
goto x1
incf tram
movf tram,0
xorlw d'10'
btfss STATUS,Z
goto x3
incf nghin
movf nghin,0
xorlw d'10'
btfss STATUS,Z
goto x4
goto x5
bcd_7doan
movf dvi,0
call table
movwf bien1
movf chuc,0
call table
movwf bien2
movf tram,0
call table
movwf bien3
movf nghin,0
call table
movwf bien4
return
delayhthi
movlw 0x04
movwf count1
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
173 . + y
del1 movlw 0x100
movwf count2
del2 call hienthi
decfsz count2
goto del2
decfsz count1
goto del1
return
hienthi
movf bien1,0
movwf PORTB
movlw 0xfe
movwf PORTD
call delay
movf bien2,0
movwf PORTB
movlw 0xfd
movwf PORTD
call delay
movf bien3,0
movwf PORTB
movlw 0xfb
movwf PORTD
call delay
movf bien4,0
movwf PORTB
movlw 0xf7
movwf PORTD
call delay
return

delay movlw 0xff
movwf count3
dela1 decfsz count3
goto dela1
return
table addwf PCL,1
DT 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
End
;====================================================
Chucng tr|nh v|et bo ng ngc n ngu C:

-Chng trnh em len t 0 en 9999 tren led 7 oan vie t bang C:
/*===============================================
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
174 . + y
* Title : Chuong trinh dem BCD 0-999999
* Writer :
* Hardware : PIC16F877A
* Compiler : CCS C
*==============================================*/
#include<16F877A.h>
#include<def_16f877a.h>
#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(d)
int8 i,chuck,nghin,tram,chuc,dvi;
int32 a,bien;
const unsigned char dig[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void hex_bcd()
{
chuck=a/10000;
a=a%10000;
nghin=a/1000;
a=a%1000;
tram=a/100;
a=a%100;
chuc=a/10;
dvi=a%10;
}
void hienthi()
{
i=0;
while (i<200)
{
portb=dig[dvi];
portd=0xfe;
delay_us(100);
portb=dig[chuc];
portd=0xfd;
delay_us(100);
portb=dig[tram];
portd=0xfb;
delay_us(100);
portb=dig[nghin];
portd=0xf7;
delay_us(100);
portb=dig[chuck];
portd=0xef;
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
175 . + y
delay_us(100);
portb=dig[tramk];
portd=0xdf;
delay_us(100);
i++;
}
}
void main()
{
trisb=0x0;
trisd=0x0;
bien=0;
while(1)
{
bien=bien+1;
if(bien==100000)
{
bien=0;
}
a=bien;
hex_bcd();
hienthi();
}
}

3 \/ / ,
Ket no i portB v i hang cu a led ma tran.
Ket no i portD v i 8 transistor ie u khien cot.
Luu dc d|e u kh|e n:

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
176 . + y
Begin
m := 0
m := m + 1
Count1 := 5
Count2 := 30
Bin xoay: = 01
Count := m
c gi tr t bng
vi v tr l count
xut ra PORTB
PORTD:= bin xoay
Count= 44
Count2:= count-1
Count1: =count1-1
Count2 = 0
Count1 = 0
m = 0
m: = m + 1
End
Xoay tri bin xoay
Goto loop2
loop4
loop1
loop3
loop2
loop4
loop1
loop3

S
S
S
S
Count:=count+1


Chucng tr|nh v|et bo ng A5M:
title chuongtrinhhienthi SPKT.asm
processor p16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON &_XT_OSC &
_WRT_OFF & _LVP_OFF & _CPD_OFF

;----------------------------------------------------
; Khoi tao cac bien
;-----------------------------------------------------
count1 EQU 0x20
Bxoay EQU 0x21
count2 EQU 0x22
count EQU 0x23
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
177 . + y
a EQU 0x24
dem equ 0x25

;=================================================
;CHUONG TRINH CHINH
;=================================================
ORG 0x000
GOTO start
start
;---------------------------------------------------
; Khoi tao PortB
;---------------------------------------------------
BCF STATUS,RP1
BSF STATUS,RP0
CLRF TRISB
CLRF TRISD
BCF STATUS,RP0
;---------------------------------------------------
; vong lap chuong trinh chinh
;---------------------------------------------------
main movlw 0x00
movwf dem
loop4 incf dem,1
movlw 0x05
movwf count1
Loop1 movlw 0x30
movwf count2
loop3 movlw 0x01
movwf bxoay
movf dem,0
movwf count
Loop2 MOVF count, 0
CALL table
MOVWF PORTB
movf bxoay,0
movwf PORTD
CALL delay
movlw 0x00
MOVWF PORTD
INCF count, 0
XORLW d'44'
BTFSC STATUS,Z
GOTO loop11
INCF count, 1
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
178 . + y
rlf bxoay
GOTO Loop2
loop11 decfsz count2
goto loop3
decfsz count1
goto Loop1
movf dem,0
xorlw d'43'
BTFSC STATUS,Z
goto main
goto loop4
;=================================================
; Cac chuong trinh con
;=================================================
;---------------------------------------------------
; Chuong trinh con cho ki thuat bang
;---------------------------------------------------
table
ADDWF PCL,1
DT 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
DT 0xff,0xff,0xcd,0xb6,0xb6,0xd9 ;S
DT 0xff,0xff,0x80,0xb7,0xb7,0xcf ;P
DT 0xff,0xff,0x80,0xeb,0xdd,0xbe ;K
DT 0xff,0xbf,0xbf,0x80,0xbf,0xbf ;T
DT 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
;---------------------------------------------------
; Chuong trnh con delay
;---------------------------------------------------
delay movlw 0xff
movwf a
del1 decfsz a
goto del1
return
END
;=======================================
Chucng tr|nh v|et bo ng C:
/*====================================================
* Title : Chuong trinh hien thi chu SPKT
* Writer :
* Hardware : PIC16F877A
* Compiler : CCS C
*====================================================*/
#include<16F877A.h>
#include<def_16f877a.h>
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
179 . + y
#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(d)
int8 dem,a,i,j;
int16 b;
const unsigned char dig[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,\
0xcd,0xb6,0xb6,0xd9,0xff,0x80,0xb7,0xb7,0xcf,0xff,0x80,0xeb,0xdd,0xbe,\
0xff,0xbf,0xbf,0x80,0xbf,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
void main()
{
trisb=0;
trisd=0;
while(1)
{
dem=0;
while(dem<38)
{
i=dem;
for(b=0;b<10000;b++)
{
a=a<<1;
if(a==256)
{
a=01;
i=dem;
}
portb=dig[i];
portd=a;
delay_us(100);
i++;

}
dem++;
}
}
}
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
180 . + y
3
Ket no i portB v i 8 ng d lieu cu a LCD.
Ket no i portD v i 3 bit ieu khien cu a LCD.
Luu dc d|e u kh|e n:


Chucng tr|nh v|et bo ng A5M:
title hienthichu Truong DHSPKT TP Ho Chi Minh.asm
processor p16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON &_HS_OSC
;=================================================
; Khoi tao cac bien
;=================================================
count1 EQU 0x20
count2 EQU 0x21
count3 EQU 0x22
count EQU 0x23
a EQU 0x24
;=================================================
;CHUONG TRINH CHINH
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
181 . + y
;=================================================
ORG 0x000
clrf STATUS
movlw 0x00
movwf PCLATH
GOTO start
Start
;---------------------------------------------------
; Khoi tao PortB,PortD
;---------------------------------------------------
BCF STATUS,RP1
BSF STATUS,RP0 ;
CLRF TRISB ;
clrf TRISD
BCF STATUS,RP0 ;
;---------------------------------------------------
; vong lap chuong trinh chinh
;---------------------------------------------------
main call khoitaolcd
call delay40ms
call dong1
call dong2
call delay40ms
goto $
khoitaolcd
movlw 0x01
movwf a
call ghimadkhien
call delay40ms
movlw 0x38
movwf a
call ghimadkhien
call delay40ms
movwf a
call ghimadkhien
call delay40ms
movlw 0x0C
movwf a
call ghimadkhien
call delay40ms
movlw 0x01
movwf a
call ghimadkhien
call delay40ms
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
182 . + y
return
ghimadkhien
movf a,0
movwf PORTB
bcf PORTD,0
bcf PORTD,1
BSF PORTD,2
BCF PORTD,2
Return

delay40ms movlw d'255'
movlw count1
del1 movlw 0xff
movwf count2
del2 decfsz count2
goto del2
decfsz count1
goto del1
return
dong1
movlw 0x80
movwf a
call ghimadkhien
call delay
clrf count
loop2 movf count,0
call table
movwf a
call ghidata
call delay
incf count,0
xorlw d'15'
btfsc STATUS,Z
goto exit
incf count,1
goto loop2
exit return

dong2 movlw 0xc1
movwf a
call ghimadkhien
call delay
clrf count
loop4 movf count,0
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
183 . + y
call table1
movwf a
call ghidata
call delay
incf count,0
xorlw d'14'
btfsc STATUS,Z
goto exit1
incf count,1
goto loop4
exit1 return

ghidata movf a,0
movwf PORTB
bsf PORTD,0
bcf PORTD,1
bsf PORTD,2
bcf PORTD,2
return

table addwf PCL,1
DT " Truong DHSPKT"
table1 addwf PCL,1
DT "TP Ho Chi Minh"
;--------------------------------------------------------------------------
delay movlw d'255'
movwf count3
dela1 decfsz count3
goto dela1
return
end
;========================================
;Ket thuc chuong trinh
;========================================

Chucng tr|nh v|et bo ng C:
/*==============================================
* Title : Hien chuoi truong DHSPKT TP Ho Chi Minh len LCD
* Writer :
* Hardware : PIC16F877A
* Compiler : CCS C
*===============================================*/
#include <16F877A.h>
#include <DEF_16F877A.h>
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
184 . + y
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#define RS RD0
#define RW RD1
#define E RD2
#define LCD PORTB

/*Ham yeu cau goi lenh dieu khien LCD*/
void comnwrt()
{
RS = 0;
RW = 0;
E = 1;
E = 0;
delay_ms(1);
}
/*Ham yeu cau goi du lieu hien thi len LCD*/
void datawrt()
{
RS = 1;
RW = 0;
E = 1;
E = 0;
delay_ms(1);
}
/*Ham main*/
void main()
{
trisb=0;
trisd=0;
delay_ms(100);
LCD = 0x01;
comnwrt();
LCD = 0x01;
comnwrt();
LCD = 0x38;
comnwrt();
LCD = 0x0C;
comnwrt();
LCD = 0x81;
comnwrt();
LCD = 'T'; // Xuat dong chu "Truong DHSPKT" ra dong 1 LCD
datawrt();
LCD = 'r';
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
185 . + y
datawrt();
LCD = 'u';
datawrt();
LCD = 'o';
datawrt();
LCD = 'n';
datawrt();
LCD = 'g';
datawrt();
LCD = ' ';
datawrt();
LCD = 'D';
datawrt();
LCD = 'H';
datawrt();
LCD = 'S';
datawrt();
LCD = 'P';
datawrt();
LCD = 'K';
datawrt();
LCD = 'T';
datawrt();
LCD = 0xC0; //Vi tri hang 2,cot 2
comnwrt();
LCD = 'T'; //Xuat dong chu "TP Ho Chi Minh" ra dong 2 LCD
datawrt();
LCD = 'P';
datawrt();
LCD = ' ';
datawrt();
LCD = 'H';
datawrt();
LCD = 'o';
datawrt();
LCD = ' ';
datawrt();
LCD = 'C';
datawrt();
LCD = 'h';
datawrt();
LCD = 'i';
datawrt();
LCD = ' ';
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
186 . + y
datawrt();
LCD = 'M';
datawrt();
LCD = 'i';
datawrt();
LCD = 'n';
datawrt();
LCD = 'h';
datawrt();
}
7 3 /
Ket no i portB v i 8 ng d lieu cu a LCD.
Ket no i portD v i 3 bit ieu khien cu a LCD.
S dung kenh AN0 va hien th ke t qua nh pha n tren 8 led hien th portB
Luu dc d|e u kh|e n:

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
187 . + y
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
188 . + y
Chucng tr|nh v|et bo ng A5M:
title "Chuyen doi ADC kenh AN0.asm"
processor p16f877a
include <P16f877a.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC &_LVP_OFF
;=============================================
; Chuong trinh chinh
;=============================================
count_1 equ 0x20
count_2 equ 0x21
DLY12 equ 0x22
;--------------dat bien ADC---------------------
ORG 0x030
REGAD1 RES 1
;----------------------------------------------
org 0x000
goto start
;------------------------------------------------------------
;khoi tao Port B
;------------------------------------------------------------
start org 0x0005
banksel TRISB
clrf TRISB
banksel PORTB
;----------------------
;Khoi tao cac ngo vao
;----------------------
ADC movlw B'00000000' ;Tat ca portA la ngo vao ADC
movwf ADCON1 ;chon Vref = VDD
;------------------------------------------------------------
; vong lap chuong trinh chinh
;-----------------------------------------------------------
;=============================
; Doc ADC
; Su dung bit GO/DONE
;=============================

main movlw B'00000001'
call docADC
movwf REGAD1
movf REGAD1,0
movwf PORTB
goto main
;====================================
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ +++ :++ :- + + .~ +~ + . -. + -+ '`77/ .y- + ++ +.
189 . + y
; CHUONG TRINH CON
;====================================
docADC movwf ADCON0
DELAY12 decfsz DLY12,F
goto DELAY12
bsf ADCON0,2
GODONE btfsc ADCON0,2
goto GODONE ;Cho den khi convert xong
movf ADRESL,W
return
end
;===========================================
Chucng tr|nh v|et bo ng C:
#include <16F877.h>
#include <def_16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#device 16F877*=16 ADC=8
#use delay(clock=20000000)
Int8 adc;
main()
{
setup_adc(adc_clock_internal);
setup_adc_ports(AN0);
set_adc_channel(0);
delay_ms(10);
while(true)
{
adc=read_adc();
output_B(adc);
}
}



return

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M

Chucng 4
V| |EU KH|EN AVk

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
2 . + y
Chip AVR ra t a dang ay ch trnh bay chip AT90S8535.
1. Cac chc na ng cua chip AVR AT90S8535 c tom ta t nh sau:
Co cau truc RISC cong suat tieu thu thap va th c hien cao.
Co 118 lenh thi gian thc hien mo i lenh la 1 chu ky may.
Co 32 thanh ghi a na ng 8 bit.
Co the th c hien 8 trie u lenh tren 1 gia y neu hoa t ong vi tan so tha ch anh la 8MHz.
D lieu va chng trnh c lu trong bo nh khong bay hi (khong ma t d lieu khi ma t
ien).
Co 8Kbyte bo nh chng trnh cho phep nap no i tie p tren he thong ang hoa t ong ISP
(In System Programmable Flash) va cho phep nap xoa chng trnh 1000 lan.
Co 512 byte EEPROM va am bao cho phep na p xo a 100000 lan.
Co 512 byte SRAM no i ben trong.
Co chc na ng lap trnh bao mat chng trnh.
Cau tru c ngoai vi:
Co 8 kenh ADC 10 bit.
Cho phe p lap trnh UART.
Co 2 timer/ counter 8 bit co bo chia trc va co mode hoa t ong so sanh.
Co 1 timer/counter 16 bit co bo chia tr c, co so sanh va co ch c nang ba t kp va co ch c
nang ieu che o rong xung.
Co mot watchdog timer v i tan so hoa t ong tren chip.
Co ma ch so sanh ien ap tng t tren chip.
Cac cau tru c a c biet cua vi ieu khien:
Co ma ch ien reset khi cap ien.
Co xung ong ho thc Real Time Clock (RTC) v i mach dao ong chia san va mode
hoa t ong counter.
Co nhieu tn hieu bao ngat ben ngoai va ca ben trong.
Co 3 che o hoa t giam cong sua t: mode ngh (idle), mode tie t kiem cong sua t (power
save) va mode giam cong sua t (power down).
Cong suat tieu tan cua chip AVR AT90S8535 c o tai tan so hoat ong 4MHz, nguon cung cap
3V va nhiet o moi trng la 20 C:
Che o hoa t ong la 6,4 mA.
Che o ngh (idle) la 1,9A.
Che o power down la < 1A.
Tan so la m viec la:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
3 . + y

T 0 en 8 MHz oi v i AT90S8535.
T 0 en 4 MHz oi v i AT90LS8535.
2. Ca u truc chan cu a AT90S8535: hnh 1 trnh bay s o chan cu a AVR AT90S8535.











Hnh 1. S o chan chip AVR AT90S8535.
Chip AVR AT90S8535 co 40 chan giong nh ho 89 nhng ch kha c la chan cap nguon kha c v
tr. Tn hieu reset tch c c m c tha p. Co 4 port nhng vi ten thay o i la portA, portB, portC va portD.
Ch c nang ca c chan tn hie u:
Vcc : cha n cap nguon.
GND: chan noi mass 0V.
Port A: (PA7.. PA0)
Port A la port xua t nhap (IO) 8 bit 2 chieu. Cac cha n cu a port A co the tao ra ca c ien tr keo
len ben trong ( c la chon cho t ng bit). Bo em cu a portA co the nha n dong kho ang 20mA va co
the ieu khien thuc tr c tie p ca c led hien th. Khi cac chan t PA0 en PA7 c du ng nh la cac ngo
vao va keo xuong m c thap ben ngoai th chu ng se cung cap do ng ra ne u ca c ien tr keo len be n
trong c tac ong.
Port A con ong vai tro la ca c ngo va o cua cac bo chuyen o i ADC.
Ca c cha n cua port A se tra ng tha i tong tr cao khi reset b ta c ong va ngay ca khi mach dao
ong khong hoa t o ng.
Port B: (PB7.. PB0)
Port B la port xua t nhap (IO) 8 bit 2 chie u v i ca c ien tr keo len ben trong. Bo em cu a portB
co the nhan dong khoang 20mA. Khi c du ng nh la ca c ngo va o va keo xuong m c thap be n
ngoa i th chung se cung cap dong ra neu ca c ie n tr ke o len ben trong c ta c ong.
Port B con phuc vu nhieu ch c nang v i nhieu ca u tru c a c bie t kha c nhau c trnh ba y
phan sau.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
4 . + y
Ca c chan cu a port B se trang tha i tong tr cao khi reset b ta c ong va ngay ca khi mach dao
ong khong hoa t o ng.
Port C: (PC7.. PC0)
Port C la port xuat nha p (IO) 8 bit 2 chieu v i ca c ien tr keo len ben trong. Bo em cua port
C co the nha n dong kho ang 20mA. Khi c du ng nh la ca c ngo vao va keo xuong m c thap be n
ngoa i th chung se cung cap dong ra neu ca c ie n tr ke o len ben trong c ta c ong.
Hai chan cu a Port C co the c s dung nh la ngo va o cua timer/counter2.
Ca c chan cu a port C se trang tha i tong tr cao khi reset b ta c ong va ngay ca khi mach dao
ong khong hoa t o ng.
Port D: (PD7.. PD0)
Port D la port xuat nha p (IO) 8 bit 2 chieu vi cac ie n tr keo len be n trong. Bo em cua port
D co the nhan dong kho ang 20mA. Khi c dung nh la cac ngo vao va keo xuong mc thap be n
ngoa i th chung se cung cap dong ra neu ca c ie n tr ke o len ben trong c ta c ong.
Port D con phuc vu nhieu ch c nang v i nhieu cau tru c a c biet kha c nhau c trnh bay
phan sau.
Ca c cha n cua port D se trang tha i tong tr cao khi reset b tac ong va ngay ca khi ma ch dao
ong khong hoa t o ng.
RESET:
La ngo vao tac ong mc tha p. Xung reset da i hn 50ns se reset AVR ngay ca khi ma ch dao
ong khong hoa t o ng.
XTAL1:
La ngo vao cu a ma ch khuech a i dao ong a o va ngo vao cu a mach ien tao dao o ng be n
trong.
XTAL2:
La ngo ra cu a mach khuech a i dao ong ao.
AVCC:
La chan cung cap nguo n ien ap cho bo chuyen o i AD. Chan AVCC na y se c ke t no i v i
Vcc thong qua mo t ma ch loc tho ng thap. Pha n sau se trnh bay hoa t ong cu a ma ch.
AREF:
La chan ngo vao cung cap ien ap tham chieu (ien a p chuan) cho bo chuyen oi AD. oi v i
hoa t ong cua ADC th phai cung ca p mo t ien a p nam trong khoang t AGND en Avcc en ngo va o
chan AREF.
AGND:
La chan no i mass cu a tn hieu tng t. Neu bo mach co mass analog th ket no i cha n nay en
mass analog, con neu kho ng co th no i chung v i GND.
S dung dao o ng thach anh:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
5 . + y

XTAL1 va XTAL2 theo th t la ngo vao va ngo ra cu a mach khuech a i ao c thiet ke s
dung nh ma ch dao ong no i c trnh bay hnh 2. Tha ch anh hoa c mach co ng h ng ceramic e u
co the s du ng e tao dao o ng.

H|nh 3. Ke t nc| tho ch onh vc | 2 ngc voc X1AL vo X1AL2.
3. Ca u truc phan cng:
Cau truc pha n c ng cu a AVR AT90S8535 c trnh ba y hnh 3.
Ca c kho i ben trong bao gom:
- Kho i khue ch a i thu c cho cac port A, B, C, D (port driver), kho i thanh ghi d lieu port (Data
Register Port - DRP) va kho i ieu khien hng cho ca c port (Data Direction Register port - DDRP).
- Kho i chuye n o i tn hie u tng t sang so (ADC) va kho i a hp chon kenh ngo vao (analog
mul).
- Kho i dao o ng noi vi tu thach anh ben ngoa i (oscillator) va kho i dao o ng nhan tn hieu dao
ong t be n ngoa i.
- Kho i th i gian va ieu khien (timing and control).
- Khoi ie u khien lap trnh (programming control): ay la khoi quan trong nha t cua toan bo he
thong.
- Khoi thanh ghi con tro nga n xe p Stack pointer (Sp): co ch c na ng quan ly bo nh ngan xep
(dung bo SRAM ben trong ) e lu tr ca c d lieu tam th i trong qua trnh x ly d lieu.
- Bo nh SRAM dung e lu tr ca c d lieu phuc vu cho chng trnh va dung lam bo nh ngan
xep e lu tr ca c d lieu tam thi va lu tr a ch khi th c hien ca c chng trnh con hay ca c
chng trnh con phu c vu ngat.
- Kho i thanh ghi bo em chng trnh Program Counter (PC): co chc nang qua n ly bo nh
chng trnh hay chnh xa c hn la quan ly lenh. Khi thanh ghi PC tro en lenh nao th lenh o c
th c hien.
- Kho i bo nh chng trnh Program Flash: du ng e lu tr ma le nh cu a chng trnh. Thanh ghi
PC se quan ly bo nh nay.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
6 . + y

H|nh 3. 5c dc co u truc ben trcng cu o AVk A1058535.
- Thanh ghi lenh (Instruction Register) co ch c nang lu tr ma lenh.
- Kho i gia i ma lenh (Instruction Decoder) co ch c nang gia i ma lenh e cho khoi ieu khien
chng trnh biet le nh yeu cau thc hie n co ng vie c x ly g. Sau khi gia i ma xong ca c yeu cau th c
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
7 . + y

hien cu a lenh se chuye n sang cho kho i ieu khie n chng trnh thc hien. Ro i tiep tuc thc hie n vie c
giai ma lenh tie p theo.
- Khoi thanh ghi a nang va cac thanh ghi x, y, z: co chc nang phuc vu cho vie c lu tr d lieu
e chng trnh x ly.
- Khoi ALU co chc nang th c hien ca c le nh x ly d lieu nh cong, tr , nhan, chia, tang, giam,
and, or, exor, so sanh, Khoi nay se th c hien ca c phep toa n v i ca c d lieu cha trong cac thanh ghi
tren.
- Thanh ghi trang tha i Status Register co ch c nang cho biet trang tha i cu a d lieu sau khi x
ly d lieu b i kho i ALU.
- Khoi dao o ng ben trong e ta o ra nhieu ca p tan so kha c nhau e phu c vu cho ca c ng du ng
kha c nh truye n d lieu.
- Kho i Watch Dog timer c tch hp e phu c vu cho vie c nh thi thoa t khoi ca c vong lap vo
han.
- Khoi timer/counter dung e phu c vu cho ca c bo nh thi cho ca c ng dung ieu khien va ca c
ng dung nhan xung em t ben ngoa i.
- Khoi ieu khien nga t (interrupt): bao gom ca c chc nang nhan tn hieu yeu ca u ngat t ben
ngoa i, x ly nga t, u tie n ngat, ieu khien cho phe p hay khong cho phep ngat.
- Kho i bo nh EEPROM cho phep lu tr cac d lieu ma khi ma t ien th d lieu van con, so lan
cho phep ghi xoa len en 100 000 la n.
- Kho i truyen d lieu ba t o ng bo UART: cho phep AVR truyen d lie u v i ca c o i t ng kha c.
- Bus d lie u ben trong dung e ke t no i ta t ca ca c kho i vi nhau e trao oi d lieu.
4. To ng quan ve ca u truc AVR
Kha i niem file thanh ghi truy xua t nhanh ch a 32 thanh ghi 8 bit hoat ong a nang to ng qua t
vi th i gian truy xua t trong mo t chu ky xung clock duy nha t. ieu nay co ngha la trong mo i 1 chu ky
xung clock mot phep toan trong kho i ALU c th c hien. Hai toan t c xua t ra t file thanh ghi,
phep toan c thc hie n va ke t qua c lu tr la i trong file thanh ghi ch trong 1 chu ky xung clock.
Sau trong 32 thanh ghi co the c du ng nh la cac con tro thanh ghi a ch gian tiep 16 bit e
nh a ch vung nh d lieu (Data Space ) cho phep tnh toa n a ch mo t ca ch hieu qua . Mo t trong
3 con tro a ch cung c s dung nh la con tro a ch cho chc nang tm kiem ha ng so bang (for
the constanr table look up function). Ca c thanh ghi ch c nang nay la X register, Y regiester va Z
register.
Kho i ALU th c hien cac phep toan a i so va ca c phep toan logic gi a cac thanh ghi hoa c gi a
hang so va thanh ghi. Cac phep toan ch xay ra tre n 1 thanh ghi cung c th c hien b i kho i ALU.
Hnh 4 trnh bay cau truc RISC cu a vi ieu khien AVR AT90S8535.
Them va o ca c hoa t ong cu a thanh ghi th ca c kieu nh a ch bo nh theo qui c cung co the
c s dung tre n file thanh ghi. ieu na y c cho phep b i file thanh ghi c ga n bi 32 a ch
vung nh d lieu thap nha t ($00 $1F) cho phep chung c truy xuat nh la nhng o nh bnh
th ng.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
8 . + y

H|nh 4. Cou truc k|5C cu o AVk A1058535.
Vung nh IO co 64 a ch phuc vu cho kho i ngoai vi cua CPU nh ca c thanh ghi ie u khien
(control registers), timer/counters, A/D converters va cac ch c nang IO kha c. Vung nh IO co the truy
xua t tr c tiep hoa c c xem nh la mo t vung nh d lieu tiep theo sau file thanh ghi t $20 e n $5F.
AVR dung y tng cau tru c Harvard v i vie c chia ca c vung nh va bus cho bo nh chng
trnh va bo nh d lieu. Bo nh chng trnh c th c hien v i 2 tang ng o ng (two stage
pipeline). Trong khi 1 lenh c th c hien th lenh tiep theo se c on t bo nh chng trnh. Y
tng nay cho phep cac lenh c thc hien trong moi chu ky xung clock. Bo nh chng trnh c
tch hp trong he thong bo nh Flash.
Vi cac lenh nhay va lenh go i tng o i trong pham vi 4k khong gian bo nh th c truy xua t
tr c tiep. Hau he t ca c lenh cua AVR eu co t ma lenh 16 bit. Mo i mot a ch o nh chng trnh
ch a lenh 16 bit hoa c 32 bit.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
9 . + y

Khi thc hie n ngat va lenh goi ca c chng trnh con th a ch tr ve chng trnh chnh lu
thanh ghi PC c lu trong ngan xep. Bo nh nga n xep c cap phat trong vu ng nh SRAM a dung
va do o kch th c bo nh nga n xep se b gii han b i kch th c toa n bo bo nh SRAM va vie c s
dung bo nh SRAM. Ta t ca ca c chng trnh cu a ng i dung pha i c kh i tao vi SP trong thu tu c
reset (tr c khi chng trnh con hoa c ngat c th c hie n). Con tro SP quan ly bo nh nga n xep co
chieu da i 10 bit co the c truy xua t oc/ghi trong vu ng nh IO.
Vung nh d lieu SRAM 512 byte co the de dang c truy xua t thong qua 5 kieu nh a ch
kha c nhau c xay d ng trong cau truc cu a AVR.
Ca c vung nh trong cau tru c cua AVR la ca c bang o nh tuyen tnh va quy tac. Ca u tru c bo nh
ben trong cu a AVR nh hnh 5:


H|nh 5. 8o ng dc cu o coc bc nhc .
Trong bang o nh tren chung ta thay co 3 loa i bo nh khac nhau tch hp trong AVR gom bo
nh chng trnh (Program Memory) va hai loa i bo nh d lieu (Data Memory): gom bo nh SRAM
va bo nh EEPROM.
Bo nh chng trnh cua AT90S8535 co dung lng la 8Kbyte, mo i mo t o nh la 16 bit, con ca c
loai bo nh d lieu th mo i mo t o nh la 8 bit. Ba ng o nh tre n co 2 thong so th tho ng so ng
trc la cua AT90S4434, con thong so ng sau la cu a AT90S8535.
Bo nh d lieu be n trong gom co 3 thanh phan: th nha t la 32 thanh ghi hoat ong a nang co
a ch t $000 e n $01fh, thanh phan th 2 la 64 o nh cu a cac thie t b ngoa i vi IO va 512 byte
SRAM.
Bo nh d lie u EEPROM co 512 o nh du ng e lu tr d lieu va khong co g a c bie t.
File thanh ghi hoat ong a na ng:
Hnh 6 trnh bay cau tru c cu a 32 thanh ghi hoa t ong a na ng trong CPU.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
10 . + y

H|nh 6. Coc thonh gh| hcot dc ng do nong cu o CPU AVk.
Tat ca ca c lenh x ly trong tap lenh eu co the truy xuat tr c tiep tren ca c thanh ghi nay va ch
th c hien trong khoang th i gian 1 chu ky may - ngoa i tr 5 lenh th c hien ca c phep toan ai so va
logic: SBCI, SUBI, CPI, ANDI, ORI xay ra gia hang so va thanh ghi va lenh LDI nap d lieu hang
so trc tiep. Ca c lenh nay ch ap dung cho phan n a ca c thanh ghi con lai trong file thanh ghi t R16
en R31. Ca c lenh tong qua t SBC, SUB, CP, AND va tat ca ca c le nh kha c xay ra gi a 2 thanh ghi va
tren 1 thanh ghi eu co the ap du ng cho toan bo file thanh ghi.
Nh a trnh ba y trong hnh 6, mo i thanh ghi cung co the c ga n mot a ch bo nh d lie u,
nh v chung tr c tie p trong 32 o nh a u tie n cua vung nh d lieu cu a ng i s dung. Ma c du
khong s du ng a ch va t ly nh ca c o nh cua SRAM nhng vung nh nay c to chc cung ca p
mot s linh hoa t ra t ln trong viec truy xua t cua ca c thanh ghi nh thanh ghi X, Y va Z co the c
thie t lap e ch ti ba t ky thanh ghi nao trong file thanh ghi.
Thanh ghi X, Y va Z:
Ca c thanh ghi t R26 en R31 c ke t h p lai tao ra 3 thanh ghi X, Y va Z e s dung cho ca c
muc ch a nang kha c. Ca c thanh ghi nay la cac con tro a ch e nh a ch gian tie p cac o nh
trong vung nh d lieu.
Hnh 7. Trnh bay ca c thanh ghi X, Y va Z.


Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
11 . + y

H|nh 7. 1r|nh bo y coc thonh gh| X, vo Z.
Chu y th t cac thanh ghi khi ke t hp.
Trong ca c kieu nh a ch kha c nhau, ca c thanh ghi nay co ch c nang lu tr a ch co nh,
a ch tang len e truy xua t e n o nh tiep theo sau khi th c hie n xong lenh, a ch giam xuo ng e
truy xuat o nh ke sau khi thc hien xong lenh.
Khoi ALU:
Kho i ALU trong AVR thc hie n ket no i tr c tiep vi ta t ca 32 thanh ghi hoa t ong a nang to ng
qua t. Trong mot chu ky duy nhat cu a xung clock, ca c phep toan cu a khoi ALU xa y ra gi a ca c thanh
ghi trong file thanh ghi c th c hien. Ca c phe p toa n cua kho i ALU c chia ra lam 3 loa i: phe p
toan so ho c, phe p toan logic va ca c phe p toa n x ly bit.
Bo nh chng trnh flash co the lap trnh trong he tho ng:
AT90S8535 co 8K byte bo nh chng trnh flash co the lap trnh trong he thong e lu tr
chng trnh. Do ta t ca ca c lenh eu co chie u dai la 16 bit nen bo nh FLASH to ch c theo 4K x 16.
Bo nh flash co the am bao c cho 1000 chu ky na p xo a. Thanh ghi PC cu a AT90S8535 co chie u
da i 12 bit do o co the truy xuat 4096 a ch cu a bo nh chng trnh.
Bo nh d lieu SRAM:
Hnh 8 se trnh bay cach thc to chc cu a bo nh SRAM cu a AT90S8535:





Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
12 . + y

H|nh 8. 1r|nh bo y co u tru c bc nhc 5kAM.
Vung nh d lieu tha p co 608 a ch dung e nh ch cho: file thanh ghi, cho bo nh IO va cho
bo nh SRAM. 96 o nh a u tien la a ch cu a file thanh ghi va cu a vung nh IO. 512 o nh tiep theo
la a ch cu a vung nh d lie u SRAM ben trong.
Nam kieu nh a ch khac nhau cho vung nh d lieu bao gom: nh a tr c tiep (direct), nh
a ch gian tie p (indirect with displacement) va gian tiep v i tang a ch. Trong file thanh ghi, thanh
ghi t R26 e n R31 to ch c tha nh thanh ghi con tro a ch co the nh a ch gian tiep.
a ch ho a tr c tiep toan bo vung d lie u.
Trong a ch ho a gian tiep v i cau truc kieu th 63 o nh co the truy xua t t a ch ne n c
cho bi thanh ghi Y hoa c thanh ghi Z.
Khi du ng ca c kieu nh a ch gia n tiep dung thanh ghi vi a ch t ong tang hoac giam,
thanh ghi a ch X, Y va Z ta ng hoa c giam.
32 thanh ghi hoa t ong a nang tong qua t, 64 thanh ghi IO va 512 byte cu a bo nh d lieu
SRAM ben trong AT90S8535 co the c truy xuat thong qua tat ca ca c kieu nh a ch nay.
Hay xem phan tiep theo se trnh bay chi tiet ca c kie u nh a ch kha c nhau.
Ca c kie u truy xuat bo nh d lieu va bo nh chng trnh:
Vi ieu khien AVR AT90S8535 cung ca p nhie u kieu nh a ch manh va hie u qua e truy xua t
bo nh chng trnh (flash) va bo nh d lieu (SRAM, file thanh ghi va vung nh IO). Vai tro cu a
nhie u kieu nh a ch kha c nhau c cung cap b i cau truc cu a AVR. Trong cac hnh k hie u OP
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
13 . + y

(operation code) co ngha la phan ma tac to cu a t le nh. e n gian, kho ng pha i hnh nao cung trnh
bay v tr chnh xa c cu a ca c bit nh a ch.
a. Kie u nh a ch tr c tie p, thanh ghi n Rd:
Kie u nh a ch tr c tie p dung thanh ghi va 2 thanh ghi nh hnh 9.





Hnh 9. Kieu nh a ch tr c tiep dung thanh ghi va 2 thanh ghi.
Tac to c ch a trong thanh ghi d (Rd).
b. Kie u nh a ch tr c tie p, du ng 2 thanh ghi Rd va Rr:
Kie u nh a ch tr c tie p dung thanh ghi va 2 thanh ghi nh hnh 10.



Hnh 10. Kieu nh a ch tr c tiep dung thanh ghi va 2 thanh ghi.
Ca c ta c to c ch a trong thanh ghi r (Rr) va d (Rd). Ket qua c lu trong thanh ghi d (Rd).
c. Kie u nh a ch tr c tie p IO:
Kie u nh a ch tr c tie p IO nh hnh 11.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
14 . + y


Hnh 11. Kieu nh a ch tr c tiep IO.
a ch cua ta c to c ch a trong 6 bit cu a t ma lenh: n la a ch cua thanh ghi en
(destination) hoa c thanh ghi nguo n (suorce).
d. Kie u nh a ch tr c tie p d lie u:
Kie u nh a ch tr c tie p d lieu nh hnh 12.



Hnh 12. Kieu nh a ch tr c tiep d lieu.
a ch 16 bit cu a d lieu trong t ma lenh th 2 cua t ma le nh 2 word. Rd/Rr ch nh thanh ghi
en hoa c thanh ghi nguon.
e. Kie u nh a ch gia n tiep d lieu v i displacement:
Kie u nh a ch gia n tiep d lieu v i displacement nh hnh 13.


Hnh 13. Kieu nh a ch gian tiep d lieu vi displacement.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
15 . + y

a ch cu a ta c to la ke t qua cu a no i dung lu trong thanh ghi Y hoac Z cong vi a ch 6 bit a
co trong t ma le nh.
f. Kie u nh a ch gia n tiep d lieu:
Kie u nh a ch gia n tiep d lieu nh hnh 14.



Hnh 14. Kieu nh a ch gian tiep d lieu.
a ch cua ta c to lu trong thanh ghi X hoac Y hoa c Z .
g. Kie u nh a ch gia n tiep d lieu v i pre - displacement:
Kie u nh a ch gia n tiep d lieu v i pre displacement nh hnh 15.


Hnh 15. Kieu nh a ch gian tiep d lieu vi pre - displacement.
Noi dung cu a thanh ghi X, Y hoa c Z giam i 1 tr c khi th c hien lenh. a ch cu a ta c to lu
trong thanh ghi X, Y hoac Z sau khi a giam i 1.
Nhn va o hnh 15 cho chung ta tha y c no i dung cu a X, Y hoac Z cong v i so -1 va ta o ra a
ch m i c cap nhat tr lai thanh ghi X, Y hoac Z va o cung chnh la a ch cu a o nh can truy
xua t d lieu.
h. Kie u nh a ch gia n tiep d lieu v i Post - Increment:
Kie u nh a ch gia n tiep d lieu v i Post Increment nh hnh 16.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
16 . + y

Hnh 16. Kieu nh a ch gian tiep d lieu vi Post - Increment.
a ch cu a ta c to lu trong thanh ghi X, Y hoa c Z . Sau khi thc hien xong viec truy xua t d lieu
th no i dung thanh ghi X, Y hoac Z tang le n 1.
Nhn vao hnh 16 cho chu ng ta thay c noi dung cu a X, Y hoa c Z la a ch can try xua t d
lieu sau o no i dung thanh ghi X, Y hoa c Z ta ng le n 1 va cap nhat tr la i thanh ghi X, Y hoac Z .
i. Kie u nh a ch dung lenh LPM:
Kie u nh a ch dung lenh LPM nh hnh 17.


Hnh 17. Kieu nh a ch dung lenh LPM.
a ch cu a byte d lieu c ch nh b i noi dung thanh ghi Z. 15 bit cao l a chon a ch
(trong pham vi 0 2K/4K), bit thap nhat trong thanh ghi Z neu bang 0 th lenh se truy xua t byte d
lieu thap, neu bang 1 th se truy xuat byte cao trong vung nh 2 byte.
j. Kie u nh a ch gia n tie p bo nh chng trnh, IJMP va ICALL:
Kie u nh a ch gia n tiep bo nh chng trnh nh hnh 18.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
17 . + y


Hnh 18. Kieu nh a ch gian tiep bo nh chng trnh.
Vie c th c hie n chng trnh tiep tu c ta i a ch lu trong thanh ghi Z.
k. Kie u nh a ch tng o i bo nh chng trnh, RJMP va RCALL:
Kie u nh a ch gia n tiep bo nh chng trnh nh hnh 19.


Hnh 19. Kieu nh a ch gian tiep bo nh chng trnh.
Vie c thc hien chng trnh tie p tuc ta i a ch lu m i ba ng PC + k + 1. a ch tng oi k nam
trong pha m vi t -2048 en 2047.
Bo nh IO:
Vung a ch kho ng gian bo nh IO cua At90S8535 c trnh bay bang 1:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
18 . + y






Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
19 . + y


Bang 1. Bo nh IO.

Tat ca IO va ca c ngoa i vi cua AT90S8535 c a t trong vu ng nh IO. Ca c o nh IO c truy
xua t bi lenh IN va OUT e truyen d lieu gi a 32 thanh ghi hoat ong a ch c nang va vung nh IO.
Ca c thanh ghi IO nam trong vung a ch t $00 e n $1F cho phep truy xua t bit du ng ca c lenh SBI va
CBI. Trong cac thanh ghi nay, gia tr cu a ca c bit n co the c kiem tra bang cach dung cac lenh
SBIS va SBIC. Hay tham khao tap lenh e co them chi tie t.
Khi s dung ca c lenh IN, OUT e nh a cac IO th ca c a ch truy xua t ca c IO nam trong
khoang t $00 en $3F. Khi xem ca c thanh ghi IO nh la mo t pha n cu a bo nh SRAM th a ch cu a
chung phai c cong them $20 (hay xem trong bang o nh SRAM). Ta t ca a ch cua thanh ghi IO
c trnh bay trong suot tai lieu na y c trnh bay v i a ch SRAM nam trong da u ngoa c n.
e tng thch v i cac thiet b se c xa y d ng trong tng lai th ca c bit cha s du ng se c
ghi so 0 neu chung ta truy xuat. Ca c a ch cu a vung nh IO cha s dung se khong bao gi c ghi
d lieu.
Nhieu c trang tha i c xo a bang ca ch ghi logic en chung (a logical one to them). Chu y ra ng
cac lenh CBI va SBI se hoa t ong tren tat ca ca c bit trong thanh ghi IO. Ca c lenh CBI va SBI se hoa t
ong v i cac thanh ghi ch nam trong khoang t $00 en $1F.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
20 . + y
Ca c thanh ghi IO va ca c thanh ghi ieu khien ngoa i vi c gia i thch phan tiep theo sau.

Thanh ghi tra ng thai status register - SREG:
Thanh ghi trang thai SREG cua AVR co a ch trong vung nh IO la $3F ($5F) c xa c nh
nh sau:

Chc na ng cua ca c bit:
Bit 7: Global Interrupt Enable - bit I: bit cho phep ngat toan cu c:
Bit I pha i c thie t lap m c logic 1 e cho phep ngat.
Sau o tng bit ieu khie n ngat o c lap c th c hien trong thanh ghi ieu khie n rieng. Neu
Bit I mc 0 th khong cho ba t ky nga t nao xay ra cho du tng bit ieu khien nga t trang tha i cho
phep.
Bit I se b xo a b i phan cng sau khi ngat xay ra va se tr la i m c 1 e cho phep nga t sau khi
th c hien le nh tr ve t chng trnh con phuc vu nga t RETI
Bit 6: Bit Copy Storage - bit T: bit copy va lu tr :
Ca c lenh copy bit BLD (Bit Load) va BST (Bit Store) dung bit T nh la bit source va bit
destination cho ca c hoa t ong bit. Mot bit t 1 thanh ghi trong file thanh ghi co the copy va o bit T
bang lenh BST va bit T co the c copy vao mo t bit trong thanh ghi nam trong file thanh ghi bang
lenh BLD.
Bit 5: Half Carry flag - bit H: bit c tra n phu :
Bit c tra n phu lu tra ng tha i tran phu trong 1 so ca c phe p toa n. Hay xem chi tie t phan le nh.
Bit 4: Sign bit - bit S S = N (+) V: bit dau :
Bit dau S thng la ke t qua cu a phep toan ex-or gia bit N (bit Negative) va bit V (over flow).
Hay xem chi tie t pha n lenh.
Bit 3: Bit Twos Complement Overflow Flag bit V:
C tran bu 2 V c xay dng e thc hien ca c phep toan bu hai.
Bit 2: Bit Negative Flag bit N:
C so am N xa c nh ke t qu a phe p toa n la so am.
Bit 1: Zero Flag bit Z:
C zero xa c nh ket qua phep toan bang 0 hay kha c 0.
Bit 0: Carry flag bit C:
C tran xa c nh ke t qu a phep toan co b tra n hay khong.
Chu y: thanh ghi trang tha i se khong t o ng lu tr khi th c hie n chng trnh con phu c vu nga t
va se kho ng khoi phu c la i khi tr ve chng trnh chnh. Chung ta phai t lu tr bang pha n mem neu
can.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
21 . + y


Thanh ghi con tro ngan xep stack pointer register - SP:
Thanh ghi con tro nga n xep cua AT90S8535 c thie t ke nh la 2 thanh ghi 8 bit nam tai a
ch $3E ($5E) va $3D ($5D) trong vung nh IO. Do vung nh d lie u ch co $25F o nh nen thanh ghi
SP ch co 10 bit c s dung.
Cau truc cu a thanh ghi Sp nh hnh sau:


Thanh ghi con tro quan ly vung nh d lieu ngan xep cu a bo nh SRAM, ta i vu ng nh ngan xep
dung e lu ca c d lieu cua chng trnh con va chng trnh con phuc vu nga t. Vung nh ngan xe p
trong vung nh SRAM phai c xa c nh bi chng trnh tr c khi co bat ky chng trnh con na o
c thc hien hoa c ca c nga t c phep.
Con tro ngan xep pha i c thie t lap ta i a ch tren $60.
Con tro nga n xep giam i 1 khi d lie u c ca t vao bo nh ngan xep b i lenh PUSH, con tro
ngan xep giam i 2 khi a ch c ca t vao ngan xe p khi th c hie n lenh go i chng trnh con hoa c khi
chng trnh con phu c vu ngat c th c hien.
Con tro ngan xe p tang len 1 khi d lieu c lay ra t ngan xep bang lenh POP, va con tro se
ta ng len 2 khi a ch c lay ra kho i ngan xe p khi thc hien lenh ket thu c chng trnh con RET tr
ve chng trnh chnh hoa c lenh ke t thu c chng trnh con phu c vu ngat RETI e tr ve chng trnh
chnh.

ieu khien RESET va ngat:
AT90S8535 cung cap 16 nguo n tn hie u nga t khac nhau. Cac nga t nay va ca c vector ngat eu co
1 vector chng trnh rie ng trong vung nh chng trnh. Ta t ca ca c nga t c gan v i ca c bit cho
phep ngat o c la p bit cho phep nga t pha i c thie t lap m c 1 cung v i bit I nam trong thanh ghi
trang tha i e cho phep nga t xay ra.
Ca c a ch thap trong vu ng nh chng trnh c xa c nh khi reset va ca c vector ngat hoan
toan t ong. Danh sach liet ke ay u ca c vector c trnh bay bang 2. Danh sa ch na y cung xa c
nh ca c m c o u tien cu a nhieu nga t kha c nhau. a ch cang tha p th mc o u tien ngat cang
cao. RESET co mc o u tien ngat cao nha t, tiep theo la INTO External interrupt request 0.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
22 . + y


Bang 2. Reset va bang vector ngat.

T bang vector nga t nen mo t chng trnh thng c bat au nh sau e tranh cac vung a
ch nga t nh chng trnh sau:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
23 . + y



Nguon RESET:
AT90S8535 co 3 nguon reset:
Reset khi cap ien: MCU se b reset khi co ien a p cung cap thap hn ien ap ngng reset khi
m ien (power on reset threshold Vpot).
Nga t ngoai: MCU b reset khi co mc thap c xua t hien ngo vao cha n RESET\ ke o dai hn
50ns.
Watchdog reset: MCU b reset khi chu k thi gian watchdog het hieu l c va watchdog c phep.
Trong qua trnh reset tat ca ca c thanh ghi IO c khi tao cac gia tr bat au va chng trnh c bat
a u tai a ch $000. Lenh at tai a ch $000 phai la lenh RJMP lenh nhay tng oi e nhay e n mot ni
kha c tra nh vung nh cu a ca c vector ngat. Neu chng trnh khong bao gi s dung ngat, ca c vector nga t khong
c s dung th ma lenh cua chng trnh co the viet bat a u tai a ch $000 ma khong can phai nhay. Mach
ien hnh 20 trnh bay mach reset. Bang 3 xa c nh thi gian va ca c thong so ien cu a mach ien reset.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
24 . + y

H|nh 20. Mo ch d|e n reset.


8o ng 3. Coc thcng sc reset vc| ngucn Vcc = 5V.

Chu y : reset khi ca p nguon se khong hoat ong tr khi nguon cung cap co ie n ap d i Vpot.


8o ng 4. 5c chu ky doc dcng cu o Wotchdcg t|mer.

5. Ta p lenh cu a AVR:
Thuat ng cua tap lenh:
SREG: status register thanh ghi trang thai.
C: Carry flag in status register
Z: Zero flag in status register
N: Negative flag in status register
V: Twos complement overflow indicator
S: N (+) V for signed test
H: Half carry flag in status register
T: Transfer bit used by BLD and BSt instructions.
I: Global interrupt enable/ disable flag.

Thanh ghi va tac to
Rd: Destination (and source) register trong file thanh ghi.
Rr: Source register trong file thanh ghi.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
25 . + y

R: Result after instruction is executed ket qua sau khi lenh th c hien xong
K: constant data thong so d lieu
k: constant address thong so a ch
b: Bit trong file thanh ghi hoa c thanh ghi IO (3bit)
s: bit trong thanh ghi trang thai (3 bit)
X, Y, Z: thanh ghi a ch gian tiep.
(X = R26:R27, Y = R29:R28, Z = R31:R30).
A: IO location address a ch cu a IO
q: displacement for direct addressing (6 bit)

IO REGISTER:
RAMPX, RAMPY, RAMPZ
Cac thanh ghi c ket noi vi X, Y va Z cho phep nh a ch gian tiep cua toan bo khong gian bo nh d lieu
trong MCU vi dung lng bo nh hn 64k byte va on d lieu trong MCU vi dung lng bo nh chng
trnh hn 64K byte.
RAMPD
Thanh ghi c ket noi vi thanh ghi Z cho phep nh a ch tr c tiep toa n bo khong gian bo nh d lieu trong
MCU vi dung lng ln hn 64K byte.
EIND
Thanh ghi c ket noi vi t ma lenh cho phep nhay gian tiep va goi bat ky ni nao trong bo nh chng trnh
tren MCU vi dung lng khong gian bo nh ln hn 64K byte.
STACK
Stack: dung e lu ca c a ch tr ve va noi dung cac thanh ghi cat tam thi.
SP: con tro quan ly bo nh ngan xep.
FLAG
K hieu cho biet s anh hng cu a lenh en ca c bit trang thai trong thanh ghi trang tha i.


Tap lenh c tom ta t bang 5:





Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
26 . + y

8o ng 5. 1cm tot to p |e nh.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
27 . + y


8o ng 5. 1cm tot to p |e nh (t|e p thec[.



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
28 . + y

8o ng 5. 1cm tot to p |e nh (t|e p thec[.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
29 . + y


8o ng 5. 1cm tot to p |e nh (t|e p thec[.




Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
30 . + y

8o ng 5. 1cm tot to p |e nh (t|e p thec[.

6. Thie t ke phan cng he thong:
Sau khi nam bat c ca u tru c, to ch c va kha nang ng dung cua chp AVR ta c gia pha i th c hien
cac co ng vie c nh sau:
- Phai thiet ke ma ch nap chip AVR dang noi tiep va giao tiep vi may tnh bang cong COM hoa c cong
LPT.
- Chip AVR th nghiem phai a ra ay u ca c chan ieu khien e giao tiep vi ca c thiet b ngoai vi.
- L a chon ca c ng dung pho bien nh giao tiep vi led n, giao tiep v i led 7 oan, giao tiep v i led
ma tra n, giao tiep vi LCD va giao tiep vi ma tran ban phm. Cac giao tiep phai co ay u ten cac
ngo va o ra, trang thai ieu khien va thuan tien cho vie c ket noi mo t ca ch de dang.
- Thiet ke nguo n cung cap cho he thong.
S o ket noi cac he thong nh hnh 21:










Kho i vi ieu
khie n 89S th c
hien qua trnh
nap (master)
Kho i AVR
th c hien ca c
th nghiem
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
31 . + y















Hnh 21. S o khoi cua he thong.
Trong s o khoi tren tr 3 khoi au tien lien ket vi nhau, con cac khoi con lai khong lien ke t vi
nhau nhng trong ca c ng dung th chung se lien ket vi nhau bang cac day bus gan the m vao.
Chip AVR th c hien ca c th nghiem giao tiep se ket noi vi ca c khoi ngoai vi bang day bus. Khi thc
hien th nghie m giao tiep vi khoi nao th ngi s du ng se ket noi vi khoi o .
S o nguyen ly cu a ca c khoi nh sau:
a. S o nguyen ly giao tiep gia ma y tnh va chip AVR AT90S8535:
Chip AVR ngoa i ch c nang cho phep nap chng trnh dang song song con co ch c na ng cho phep
na p chng trnh dang noi tiep.
Khi nap noi tiep ma ch giao tiep gi a thiet bit nap vi AVR AT90S8535 ch can dung 3 ng ieu
khien cua port 1 o la PB.5, PB.6, PB.7.
Chan PB.5 co ten la MOSI: la ng nha p d lie u vao noi tiep cu a vi ieu khien nap.
Chan PB.6 co ten la MISO: ng xuat d lieu vao noi tiep cua vi ieu khien nap.
Chan PB.7 co ten la SCK: ng cung cap xung ong ho e ong bo d lieu noi tiep.
Ngoai 3 chan ieu khien tre n th phai them mot ng tn hieu ieu khien chan reset: khi na p th chan
reset m c thap va sau khi nap xong th phai cho chan reset len mc cao e chip AVR co the th c hie n
chng trnh sau khi nap xong.
Hay xem s o trnh bay ca c ng tn hie u ieu khien nap nh hnh 22.





Kho i nguon
cung cap cho
ta t ca ca c khoi

Kho i giao tie p
cong COM
Hoa c LPT

Kho i giao tie p
vi led n

Kho i giao tie p
vi led ma
tran

Kho i giao tie p
vi ong c
bc.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
32 . + y








Hnh 22. S o giao tiep mach nap.
Co rat nhieu oi tng giao tiep vi vi ieu khien nap, theo tac gia chon mot vi ieu khien thc hien
qua trnh nap va giao tiep vi may tnh e nhan lenh va d lieu nap. Nhng trong qua trnh thc hien th ke t
qua la cha tha nh cong nen ta c gia s du ng mach nap dung cong LPT cua hang ATMEL va chng trnh na p
va bien dch cua chnh ha ng ATMEL.
S o ke t noi may tnh du ng cong LPT va giao tiep vi chip AVR nap nh hnh 23.
Trong he thong nay co luon ca he thong ma ch nguon o n a p 5 V va 12V cung cap cho toan bo ma ch
ien nap va cac ma ch giao tiep.
Do bo ma ch v a nap va th c hie n ca c th tren bo nen cac port cu a vi ieu khien th nghiem phai s
dung ien tr keo len.

H|nh 23 5c dc g|oc t|e p mo ch nop AVk dung cc ng LP1.
e nap d lieu cho vi ieu khien th phai thc hien theo u ng trnh t yeu cau cua nha che tao. Cac
qua trnh th c hien c cho bang 6:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
33 . + y


8ong 6. Coc quo tr|nh no p bc nhc f|osh cuo AVk A1058535.
Trnh t th c hien dang song cu a 3 ng tn hieu ieu khien nh hnh 24.

H|nh 24. C|on dc thc | g|on cu o coc duc ng t|n h|eu no p cu o AVk A1058535.



7. Hng dan s dung pha n mem:
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
34 . + y
Cach s dung chng trnh tren may tnh e soan thao va bie n dch chng trnh:
Nh a trnh bay tren do nghien cu cha thanh cong mach nap dung vi ie u khien ne n tac gia s
dung mach nap va chng trnh bie n dch cu a hang ATMEL. Chng trnh bien dch co te n la AVRStudio
co chc nang soa n thao chng trnh va mo pho ng.
Ca ch th c s du ng chng trnh nh sau:
Sau khi cai at xong chng trnh ta tien hanh khi ong chng trnh khi o man hnh soan thao
xuat hie n nh hnh 33:

H|nh 33. Mo n h|nh sco n thoc cu o chucng tr|nh AVk5tud|c.
Mot cua so menu nho xuat hien cho phep ban chon project mi hay m mot project co san.
Chon xay dng mot project m i th man hnh tiep theo nh hnh 34 se xuat hien.
Ngi lap trnh hay a nh ten cho project se soan thao va mo phong vao o project name va chon th mu c
lu tr project nay hay xem hnh 35. Trong hnh na y ten project mi la choptat32led. Sau khi nhap ten va
lu cho n th mu c xong ta nhan nut next e chuyen sang l a chon IC nh hnh 36.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
35 . + y


H|nh 34. Mo n h|nh sco n thoc prcject mc | cu o chucng tr|nh AVk5tud|c.

H|nh 35. Mo n h|nh nho p te n vo thu mu c cu o prcject mc|.
Chon mu c AVR Simulator nh trong hnh 36 va chon loai vi ieu khien AT90S8535 nh hnh 37 roi nhan
nut le nh co ten la Finish.



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
36 . + y

H|nh 36. Mo n h|nh chcn mc phcng cu o prcject mc|.

H|nh 37. Mon h|nh chcn |C mc phc ng cu o prcject mc|.
Ket qua ta c man hnh soa n thao chng trnh nh hnh 38.



Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
37 . + y


H|nh 38. Mo n h|nh sco n thoc chucng tr|nh cu o prcject mc|.
Hay nhap chng trnh chop tat 32 led vao nh hnh 39.


Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
38 . + y

H|nh 3. Mo n h|nh sco n thoc chucng tr|nh chc p tot 32 |ed.
Tien ha nh bien dch bang ca ch vao menu le nh project va chon vao muc nh hnh 40 th khi o chng
trnh se c bien dch.
Neu chng trnh soa n thao ung cu phap th se thay xuat hien thanh trang thai cho bie t qua trnh bien
dch ang tien hanh va sau khi bien dch xong se xuat hien da u mui ten cho phep qua trnh mo phong se th c
hien hay xem hnh 41.
Neu soan thao kho ng ung th sau khi bien dch xong se khong tha y xuat hien thanh trang thai cho biet
qua trnh bien dch ang tien hanh va cung khong co dau mui ten cho vie c mo phong sau khi bien dch xong.
Trong trng hp na y chung ta ha y tien hanh xem lai chng trnh xem cac lenh ta viet co ung cu pha p hay
khong va lenh o co ton tai hay khong. Tien ha nh bien dch la i cho en khi he t lo i th xong.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
39 . + y


H|nh 40. Menu |e nh b|e n d|ch chucng tr|nh chc p tot 32 |ed.











Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
40 . + y

H|nh 4. Dou mu| ten mo u vo ng chc b|et chucng tr|nh b|en d|ch tct.

Tien hanh mo phong:
Sau khi chng trnh a bien dch thanh cong th ta tien ha nh mo phong chng trnh ba ng ca ch vao
menu tool roi chon lenh auto step hay nhan to hp phm ALT + F5 nh hnh 42. Khi o qua trnh mo
phong se c th c hien. Trong ca so Workspace ban hay bam vao muc I/O AT90S8535 th cau hnh
phan cng mo phong se xuat hien va ban ba71, vao cac portA, portB, portC va portD th ban se thay
ket qua th c hien chng trnh mo phong se lam thay oi noi dung ca c o nh nay.

Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
41 . + y


Hnh 42. Chon lenh e bat au mo phong.

Vie t cac bai th nghiem:
Cac bai th nghiem c xay dng e cho khai thac het cac kha nang cu a vi ieu khien.
Ta t ca cac bai th nghiem khong trnh bay trong bao cao na y nhng co to chc thanh ca c th mu c lu
trong a CD ke m theo ba o cao nay.
Cac bai thc hanh giao tiep vi led n.
S dung he thong vi ieu khien ket noi 4 port vi 32 led n e viet ca c chng trnh ng dung ieu
khien led sang theo ca c yeu cau tng ba i. Muc ch lam quen vi mot so lenh c ban va lap trnh.
Trnh t th c hien ha y dung 4 day bus 8 si ket noi portA, portB, portB va portD en 32 led theo u ng
th t t bit thap en bit cao.
Cac bai th nghiem giao tiep vi 32 led n nh sau:
Bai so 11: Vie t chng trnh ieu khie n sang tat 32 led .
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
42 . + y
Bai so 12: Vie t chng trnh ieu khie n 32 led sang dan va tat dan.
Bai so 13: Vie t chng trnh ieu khie n 32 led sang don.
Bai so 14: Vie t chng trnh ieu khie n 32 led tat don.
Bai so 15: Vie t chng trnh ieu khie n 32 led sang tong hp ca c chng trnh tren.
Cac bai thc hanh giao tiep vi 8 led 7 oan.
Vi led 7 oan th co the cho phe p hie n th ch va so - khi o co rat nhieu chng trnh ng dung co the
thc hien c tren he thong nay nh chng trnh em san pham, chng trnh e m tan so , chng trnh ong
ho so, chng trnh ong ho the thao
Vi he thong nay co the cho thay ro hoat ong cu a phng phap quet led hien th, vie c giai ma led hien
th bang chng trnh quet hien th, nguyen ly lam vie c va chng trnh quet phm.
Cac bai th nghie m phuc vu cho vie c ieu khien ca c led gom ca c bai c ban va rat nhieu bai tap kem
theo.
Khi giao tiep vi 8 led 7 oan phai s dung 2 port ket noi vi led 7 oan, trong tng bai co ghi ro port
na o ieu khien transistor quet va port nao ieu khien ca c oan th phai ket noi ung port va ung th t bit.
Cac bai th nghiem giao tiep vi led 7 oan nh sau:
Bai so 21: Cac chng trnh th 8 led 7 oan.
Bai so 22: Chng trnh em len 2 so .
Bai so 23: Cac chng trnh em giay.
Bai so 24: Ca c chng trnh em phut.
Bai so 25: Chng trnh em gi - phut - giay.
Bai so 26: Chng trnh ieu khien en giao thong.
Bai so 27: Chng trnh ieu khien en giao thong co hien th th i gian e m xuong.
Bai so 28: Chng trnh em san pham 1 kenh.
Bai so 29: Chng trnh em san pham 2 kenh.
Cac bai thc hanh giao tiep vi led ma tra n 8x8 hai mau xanh o.
Vi phan cng a thiet ke tren s dung led ma tran 8x8 co 2 ma u xanh va o, e ieu khien led ma
tran sang ta tien hanh gi d lieu ra hang va ma que t ra cot. Trong 4 port ta s dung portD la m port ie u khie n
ha ng va portA ieu khien co t xanh va portC ie u khien cot o.
Cac chng trnh ieu khien led ma tran bao gom ca c ba i nh sau:
Bai so 31: Chng trnh hien th k t A.
Bai so 32: Chng trnh chp tat k t A.
Bai so 33: Chng trnh hien th chuoi SPKT mau xanh.
Bai so 34: Chng trnh hien th chuoi SPKT mau o .
Bai so 35: Chng trnh hien th chuoi SPKT mau cam.
Bai so 36: Chng trnh hien th chuoi SPKT ba mau xanh o cam.
Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
43 . + y

Bai so 37: Chng trnh hien th chuoi SPKT hai mau: n a tre n xanh, n a di o va ng c lai.
Bai so 38: Chng trnh hien th trai tim ri t tre n xuong va t di len.

Cac bai thc hanh giao tiep vi LCD
Nh a trnh bay tren khi giao tiep vi LCD th phai dung 11 ng tn hieu ieu khien, trong o co 3
ng ieu khien va 8 ng d lieu phai s dung nguyen 1 port.
Trong ca c bai th nghiem ta c gia s dung portA e giao tiep 8 ng t lieu (chu y theo ung th t bit t
0 en 7) va 3 bit 0, 1, 2 cua portC lam 3 ng ieu khien.
Cac bai th nghiem giao tiep vi LCD bao gom:
Bai so 41: Chng trnh hien th chuoi d lieu ng yen.
Bai so 42: Chng trnh hien th chuoi d lieu dch chuyen.
Bai so 43: Chng trnh hien th gi phu t giay.
Bai so 44: Chng trnh em san pham hien th tren LCD.
Cac bai thc hanh giao tiep vi ma tra n phm va 8 led 7 oan.
Ban phm ong vai tro nha p d lieu cho he thong ieu khie n, e th c hien giao tiep vi ban phm th
ngoai giao tiep chip AVR v i ban phm th phai co them giao tiep gi a chip AVR vi led n hoa c led 7 oa n
hoa c LCD th chung ta mi biet c qua trnh th c hien ca c yeu cau ung hay sai.
Cac bai th nghiem giao tiep vi led 7 oan nh sau:
Bai so 51: Chng trnh nhan phm so nao th hien th tren ma hnh ung so o.
Bai so 52: Chng trnh em co cac nut ieu khien start, stop.
Bai so 53: Chng trnh ieu khie n ong c DC co 2 nut ieu khien Start, Stop.
Ngoai vie c khai thac kha nang ng dung cua timer nh a trnh ba y tren th ca c bai th nghiem nay khai
tha c kha nang s du ng nga t cu a timer, khai tha c kha nang truyen d lieu noi tiep, ngat truyen d lieu.
Nga t co nhieu u iem trong ieu khien nhng rat kho ieu khien va ph c tap do o ieu can phai quan
tam la cac bai th nghiem va ca c ng dung c thiet ke sao cho de hieu.
Trong ca c bai th nghiem ngat c dung e truyen d lieu, e nh thi, e x l nhie u chng trnh
phan chia theo thi gian ay la mot ng dung mach nhat cua ngat.







return




Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
44 . + y












































Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M
+++ - . -. + -+ /. .y- + ++ +.
45 . + y













Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M

TAI LIEU THAM KHA O

[1]. Website cua ha ng Microchip
http://www.microchip.com
[2] Datasheet cu a chip PIC16F877A
[3]. Users Guide
MPASM Assembler,MPLINK Object Linker,MPLIB Object Librarian
[4]. CCS C Compiler v4 Help.
[5]. PICmicro Language Tools and MPLAB IDE
[6]. Quick Reference Guide for C language


Truong DH SPKT TP. HCM http://www.hcmute.edu.vn
Thu vien DH SPKT TP. HCM - http://www.thuvienspkt.edu.vn
B
a
n

q
u
y
e
n


T
r
u
o
n
g

D
H

S
u

p
h
a
m

K
y

t
h
u
a
t

T
P
.
H
C
M

Vous aimerez peut-être aussi