Professional Documents
Culture Documents
..............................................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
............................................................................................................
Trang1_57
Trang2_57
LI CAM N
PIC la mot dong vi ieu khien kha mi me nc ta.
Lan au tien chung em tiep xuc vi no do o viec tm
hieu no gap rat nhieu kho khan. Tuy nhien nh s giup
nhiet tnh cua giao vien hng dan_thay Vo Tng
Quan cung vi s ho tr nhiet tnh cua cac ban trong lp,
chung em a hoan thanh tot o an nay. Chung em xin
chan thanh cam n Thay va cac ban.
Lan au tien tm hieu ve dong PIC nen chan khong
tranh khoi nhng thieu sot, chung em mong se nhan c
nhng hng dan quy bau cua cac Thay trong Bo mon
va cac y kien ong gop cua cac ban e co the tiep
tuc tm hieu sau hn ve dong vi ieu khien PIC.
Trang3_57
LI GII THIEU
Ngay nay, vi toc o phat trien manh me cua cong
nghe t ong trong tat ca moi lnh vc th viec tm hieu va
ng dung cac dong chip Vi ieu khien la mot van e can
c quan tam. Ho Vi ieu khien 8051 rat quen thuoc vi
chung ta, va no tng c xem la ho vi ieu khien rat u
viet. Tuy nhien vi nhu cau ngay cang cao ve tnh on nh,
toc o x ly cung nh kha nang tiep can de dang cua
ngi dung, th ho 8051 a khong phat huy c u the
cua mnh.
Cac chip vi ieu khien thuoc dong PIC cua hang
Trang4_57
MUC LUC
NHAN XET CUA GIAO VIEN HNG DAN................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
.............................................................................................................................1
NHAN XET CUA HOI ONG PHAN BIEN...................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
.............................................................................................................................2
LI CAM N......................................................................................................3
LI GII THIEU................................................................................................4
Phan I: GII THIEU VE PIC16F84.....................................................................7
Trang5_57
I.2.
I.3.
I.4.
I.5.
I.6.
I.1.4. Reset.................................................................................. 10
I.1.5. Bo x ly trung tam (CPU)..........................................10
I.1.6. Thanh ghi trang thai status.............................................11
I.1.7. Cac port...........................................................................12
I.1.8. PORTB va TRISB...............................................................12
To chc bo nh....................................................................14
I.2.1. Cac thanh ghi SFR............................................................15
I.2.2. Bo em chng trnh......................................................16
I.2.3. Lap trnh cho vi ieu khien...........................................16
I.2.4. Cac kieu nh a ch................................................16
Cac c che ngat..................................................................... 16
I.3.1. Thanh ghi ieu khien ngat (INTCON ) .........................17
Timer TMR0................................................................................. 19
Thanh ghi OPTION.......................................................................19
Bo nh d lieu EEPROM.......................................................21
I.6.1. Thanh ghi EECON1.............................................................21
Trang6_57
Trang7_57
Trang8_57
Trang9_57
Trang10_57
Trang11_57
Trang12_57
Trang13_57
I.2. To chc bo nh
PIC16F84 co hai khoi bo nh phan cach nhau, mot cho
d lieu va cai con lai cho chng trnh. Bo nh EPPROM vi
cac thanh ghi GPR va SFR trong bo nh RAM se quan ly
khoi d lieu, con bo nh FLASH quan ly khoi chng trnh.
Bo nh chng trnh
Trang14_57
Trang15_57
Trang16_57
Trang17_57
au tien ta phai thc hien cac lenh khi tao ban au cho
Trang18_57
no, bang cach xac nh cac bit tng ng trong thanh ghi
ieu khien ngat INTCON.
I.4. Timer TMR0
Timer thng la phan gay kho hieu cua vi ieu
khien, the nhng neu tm hieu ky cang, ta se thay no
giup ch rat nhieu trong cong tac lap trnh cho vi ieu khien.
Mot trong nhng ng dung cua no la thiet lap moi quan
he gia mot ai lng thc, chang han nh thi gian va
mot bien so ma bieu th trang thai cua mot bo nh
thi vi vi ieu khien. Ve mat vat ly, timer la mot thanh
ghi 8 bit co gia tr tang dan t 0 en 255, va sau o lai
tiep tuc em len t 0. S tang len nay c thc hien
tren nen cua cac chng trnh ang thc hien cua vi ieu
khien. No a ra cho ngi s dung nhieu giai phap hu
hieu trong viec giai quyet toi u van e, mot trong chung
la tang mot bien so nao o len tai moi thi iem timer
b tran.
Nh a noi tren, PIC16F84 co mot bo timer 8 bit, va nh
vay gia tr toi a ma timer em la 256 ( t 0 en 255 ).
Trang19_57
Trang20_57
Bit dung e bao cho vi ieu khien biet qua trnh ghi d
lieu vao EPPROM a ket thuc. Khi ket thuc qua trnh ghi, th
bit nay se t ong set len 1. Ngi lap trnh can phai xoa
bit nay bang phan mem e no co the nhan biet c
mot s ket thuc cua viec ghi tiep theo.
1 = Ghi ket thuc
0 = Ghi cha xong, hoac cha bat au ghi
Bao loi neu gap trong qua trnh ghi vao EPPROM. Bit nay
ch c set len khi qua trnh ghi vao EPPROM b ngat bi
mot tn hieu reset hoac b tran WDT khi WDT c kch hoat.
1 = Co loi xay ra
0 = Khong co loi
Trang21_57
Bit cho phep ghi vao EPPROM. Neu bit nay khong c set
len th vi ieu khien se khong cho phep ghi vao EPPROM.
Viec set bit nay len se khi tao viec ghi d lieu t
thanh ghi EEDATA en mot a ch cu the thong qua thanh
ghi EEDR.
1 = Khi tao ghi
0 = Khong khi tao
Bit dung e ieu khien viec khi tao qua trnh chuyen
d lieu t mot a ch a c nh ngha trong EEDR en
thanh ghi EEDATA.
1 = Khi tao
0 = Khong khi tao
Trang22_57
Trang23_57
Trang24_57
lam c. Va thc te cho thay trong qua trnh lap trnh cho
PIC ban se thay viec lap trnh se rat de dang hn cac ho
vi ieu khien khac va cha thay mot han che ve giai
thuat nao gay ra t tap lenh. Ben canh o, vi s ho tr
cua lap trnh di dang Macro, viec lap trnh tr nen nhe
nhang hn va kha nang m rong ng dung la rat ln.
Sau ay se liet ke cac lenh cua ho PIC
Movlw
Dang lenh: Movlw K
Hoat ong:
Ghi hang so K vao thanh ghi W
Gia tr cua K t 0 en 255
Khong tac ong len c
So chu ky:1
So byte: 2
Movwf
Dang lenh:
Movwf f
Hoat ong:
Noi dung cua thanh ghi W c chep sang thanh ghi F
Gia tr cua f t 0 en 127
Khong tac ong len c
So chu ky:1
So byte: 2
Movf
Dang lenh:
Movf f, d
Hoat ong:
Noi dung cua thanh ghi f c lu tr vao thanh ghi d
Tac ong len c :Z
So chu ky:1
So byte: 2
Clrw
Dang lenh:
Clrw
Hoat ong:
Xoa thanh ghi W
Tac ong len c :Z
So chu ky: 1
So byte: 2
Clrf
Dang lenh:
Clrf f
Hoat ong:
Xoa thanh ghi f
Thanh ghi f co gia tr t 0 en 127
Tac ong len c :Z
So chu ky:1
Trang25_57
So byte: 2
Swapf
Dang lenh:
Swapf f, d
Hoat ong:
Nibbles thap va nibbles cao cua thanh ghi f c hoan
oi v tr cho nhau.
Neu d = 0 ket qua c lu vao thanh ghi W
Neu d = 1 ket qua c lu vao thanh ghi F
Khong tac ong len c
So chu ky:1
So byte: 2
Addlw
Dang lenh:
Addlw K
Hoat ong:
Noi dung cua thanh ghi W c cong vi hang so tam
bit K, ket qua lu vao thanh ghi W
Tac ong len c:C,DC,Z
So chu ky:1
So byte: 2
Addwf
Dang lenh:
Addwf f,d
Hoat ong:
(W) + (f) => d
Neu d = 0 ket qua c lu vao thanh ghi W
Neu d = 1 ket qua c lu vao thanh ghi F
Gia tr cua thanh ghi F t 0 en 127
Tac ong len c: C,DC,Z
So chu ky:1
So byte: 2
Sublw
Dang lenh:
Sublw K
Hoat ong:
K-(W) => W
Hang so K co gia tr t 0 en 255
Tac ong len c:C,DC,Z
So chu ky:1
So byte: 2
Subwf
Dang lenh:
Subwf f,d
Hoat ong:
(F) (w) => d
Neu d = 0 ket qua c lu vao thanh ghi W
Neu d = 1 ket qua c lu vao thanh ghi F
Trang26_57
Trang27_57
ghi W
ghi F
ghi W
ghi F
Hoat ong:
Hang so K co gia tr t 0 en 255
Hoat ong cua lenh:(W) XOR (K) => W
Hang so K co gia tr t 0 en 255
Tac ong len c :Z
So chu ky:1
So byte: 2
XORWF
Dang lenh:
XORWF f,d
Hoat ong:
(W) XOR (F) => d
Neu d = 0 ket qua c lu vao thanh ghi W
Neu d = 1 ket qua c lu vao thanh ghi F
Gia tr cua thanh ghi F t 0 en 127
Tac ong len c :Z
So chu ky:1
So byte: 2
INCF
Dang lenh:
INCF f,d
Hoat ong:
(F) + 1 => d
Neu d = 0 ket qua c lu vao thanh ghi W
Neu d = 1 ket qua c lu vao thanh ghi F
Gia tr cua thanh ghi F t 0 en 127
Tac ong len c :Z
So chu ky:1
So byte: 2
DECF
Dang lenh:
DECF f,d
Hoat ong:
(F) - 1 => d
Neu d = 0 ket qua c lu vao thanh ghi W
Neu d = 1 ket qua c lu vao thanh ghi F
Gia tr cua thanh ghi F t 0 en 127
Tac ong len c :Z
So chu ky:1
So byte: 2
RLF
Dang lenh:
RLF f,d
Hoat ong:
Dich thanh ghi F sang trai 1 bit thong qua c c.
Neu d = 0 ket qua c lu vao thanh ghi W
Trang28_57
Trang29_57
Trang31_57
Trang32_57
Trang33_57
Chan (25
chan)
Chan (9
chan)
Ten goi
Txd
Truyen d lieu
RTS
Chc nang
CTS
Xoa e gi. Bo gi
at ng nay len
mc cao e thong
bao cho bo truyen la
no san sang nhan
d lieu.
SG
at cua tn hieu
20
DTR
Trang34_57
Phan IV:
NG DUNG
Trang35_57
Trang36_57
V C C
C 4
10k
R 6
U1
3
4
1
2
5
13
12
11
10
8
7
R A 4 /T O C K I
O S C 2 /C L K O U T
M C LR
O S C 1 / C L K IN
R A 2
R A 3
V DD
G
R
R
R
R
R
R
R
B
B
B
B
B
B
OU ND
7
6
5
4
2
1
R A 1
R B 0 /IN T
R B 3
R A 0
X 2
16
15
C1 n5
4M H z
14
1n
SW 1
18
6
9
17
2
SW 2
P IC 1 6 F 8 4
R 1
470R
D 1
R 2
470R
D 2
R3
470R
D3
R4
470R
D4
R 5
470R
D 5
Trang37_57
1
m
Trang38_57
S o mach cau H
2
E
E
J 2 -1
47 0uF
Q5
P N 2222
J 2 -2
R3
1
C 1
J 3 -1
P N 2222
J 3 -2
R 2
47R
474R
Q4
R6
470R
10k
1
2
3
R3
10k
R7
3k3
1
1
B
B
E
R4
10k
T IP 1 2 0 E
P N 2222
Q3
Q6
P N 2 2 2 2 T IP 1 2 0
3
4 HE A DE R
TO MOTOR
R 1
JP
IN A
GROUMD
IN B
T IP 1 2 0
POWER IN
T IP 1 2 0
R8
10k
Trang39_57
TO MOTOR
22P
JP 3
R7
VC C
4
3
2
1
1
2
3
4 H EA DE R
VCC
VSS
GROUND
OUT
R5
4 .7 k
3
4
1
2
5
13
12
11
10
8
7
R A 4 /T O C K I
O S C 2 /C L K O U T
M C LR
O S C 1 /C L K I N
RA 2
RA 3
V DD
G
R
R
R
R
R
R
C4
ENCO DER
U2
92R
JP 2
10k
R6
R
B
B
B
B
B
B
OUN D
7
6
5
4
2
1
R A1
R B 0 / IN T
R B3
R A0
16
15
X 2
C1 n5
4M H z
14
1n
18
6
9
17
P IC 1 6 F 8 4
Trang40_57
Modul LCD tuan theo qui cach giao tiep chuan. Gom 14
chan, co 8 ng d lieu, 3 ng ieu khien va 3 ng
cap nguon bo tr tren 1 hang.
Chc nang cua cac chan c liet ke trong bang sau:
Trang41_57
Ten
Chc nang
Vss
VDD
VEE
RE
R/W
Read/write
D0
Bt d lieu 0
D1
Bt d lieu 1
D2
Bt d lieu 2
10
D3
Bt d lieu 3
11
D4
Bt d lieu 4
12
D5
Bt d lieu 5
13
D6
Bt d lieu 6
14
D7
Bt d lieu 7
at
Nguon cap cho LCD la 5VDC, tuy nhien LCD van hoat
ong tot vi nguon 6VDC hay 4.5VDC. LCD tieu thu ien
nang rat t. Tuy nhien en dung e chieu sang cho LCD lai
tieu thu ien nang kha ln. V vay moi khi co hien tng
sut ap tren nguon th ta thay en nen LCD toi ngay.
Chan 3 (VEE) dung e thay oi o tng phan cua man
hien th. Ly tng th chan nay nen noi vi nguon ap
thay oi c, ngi ta thc hien bang cach lap mach chia
ap dung bien tr co au ra thay oi a vao chan nay.
n gian nhat ta co the noi chan nay xuong mass e at
c o tng phan tot nhat.
Chan 4 (RS_Register Select) ay la 1 trong 3 ngo vao
ieu khien lenh. Khi chan nay c noi mass th cac d
lieu truyen en LCD c x ly nh cac menh lenh va
cac d lieu oc ra ch trang thai cua no. Bang cach a
chan nay len mc cao th d lieu ky t co the xuat
nhap tren modul nay.
Chan 5 (R/W_Read/Write), chan nay cho phep lenh hay
d lieu ky t c ghi vao modul khi no c keo xuong
Trang42_57
Trang43_57
Man hnh
1
2
3
4
5
6
7
Line
Text hien th
DO AN DKHT
DE TAI: pIC16F84
Gvhd
(None)
Mssv: 20102326
Mssv: 2010
MSSV: 2010
MSSV: 2010
Trang44_57
Man hnh
1
Line
Text hien th
Man hnh
1
Line
Text hien th
Dong co servo
Trang45_57
1
2
10k 3
R 2
S W 1
1
R2
4 .7 k
6
17
9
3
M C LR
V DD
GROUN D
R
R
R
R
R
R
R B 0 /I N T
R A 0
R B 3
B
B
B
B
B
B
P IC 1 6 F 8 4
S W 3
7
6
5
4
2
1
16
15
X 1
14
4M H z
13
12
11
10
8
7
C2
22P
0
1
2
3
4
5
6
JP 1
D
D
D
D
R
E
4
5
6
7
S
TO LCD
S W 2
1
22P
R A 2
R A 3
O S C 2 /C L K O U T
R A 4 /T O C K IO S C 1 /C L K I N
H E A D ER 6
Trang46_57
TO MOTOR
JP 3
J1
C3
4 HE A D E R
1
2
3
2 2P
PO W ER
4
3
2
1
ENCO DER
VCC
VSS
GROUND
OUT
R7
92R
JP 2
C 4
U2
4
1
2
R A 4 /TO C K I
O S C 2 /C L K O U T
M C LR
O S C 1 /C L K IN
RA 2
RA 3
V DD
16
15
C1 n5
4M H z
14
1
2
3
R2
10k
1n
G
R
R
R
R
R
R
RO UND
B 7
B 6
B 5
B 4
B 2
B R1 8
RA1
R B 0 /IN T
RB3
RA0
R9
18
6
9
17
S W 2
4 .7 k
R3
4 .7 k
P IC 1 6 F 8 4
4 .7 k
S W 1
D1
1
D2
ri g h t L E D
R 1 R4 1 R3 1 R2 1 R1 1 0
1 k 1 k 4 7 04 R7 01 Rk
D 3
LE D
L e ft L E D
D3
D3
LE D
LE D
R 1
D3
LE D
R4
5
6
9
17
2 2P
R A 2
R A 3
O S C 2 /C L K O U T
R A 4 /T O C K IO S C 1 / C L K I N
M C LR
G ROU ND
R B 0 /I N T
R B 3
R A 0
P IC 1 6 F 8 4
V DD
R
R
R
R
R
R
B
B
B
B
B
B
7
6
5
4
2
1
16
15
X1
14
4M H z
13
12
11
10
8
7
C2
2 2P
JP 1
1
2
3
4
5
6
TO LCD
5
13
12
11
10
8
7
C1
U1
X2
2 1
10k
R6
R5
4 .7 k
H EA D ER 6
S W 6
2
D3
LE D
Trong mach tren, IC1 (U1) ieu khien LCD; IC2 (U2) ieu
khien LED va ong c.
Mach ien thc te c mo ta trong hnh sau:
Trang47_57
Trang48_57
equ 0h
Trang49_57
call LCDins
;
; ----------------; Chng trnh chnh
; ----------------;
Loop
Movlw 0h
hien th mess
ra man hnh
Number 0
Call MessLine1
; line 1
Movlw 1h
Number 1
Call MessLine2
; line 2
Call BigDel ; ch 1/2 s
movlw 1h
; xoa man
hnh
Call LCDins
Call BigDel ; wait 1/2 second
movlw 2h
Call MessLine1
Movlw 3h
Call MessLine2
Call BigDel
Movlw 1h
Call LCDins
Call BigDel
Movlw 4h
Call MessLine1
Call BigDel
Movlw 1h
Call LCDins
Call BigDel
Movlw 5h
Call MessLine1
Call BigDel
Movlw 1h
Call LCDins
Call BigDel
Movlw 6h
Call MessLine1
Call BigDel
Movlw 1h
Call LCDins
Call BigDel
Movlw 7h
Call MessLine1
Call BigDel
Movlw 1h
Call LCDins
Call BigDel
Movlw 8h
Call MessLine1
Call BigDel
Movlw 1h
Call LCDins
Call BigDel
Goto Loop
ISR bcf INTCON,INTF
Btfss PORTB,3
Call LED
Btfsc PORTB,3
Call SERVO
Retfie
LED
Movlw 9h
Call MessLine1
Movlw 0ah
Call MessLine2
Btfss PORTA,0
Goto main
call BigDel
Loop1
btfss PORTA,0
Goto main
goto loop1
SERVO
Movlw 9h
Call MessLine1
Movlw 0bh
Call MessLine2
Btfss PORTA,0
Goto main
call BigDel
Loop2
btfss PORTA,0
Goto main
goto loop2
; ---------------------------; Truyen d lieu en LCD
; ---------------------------;
MessLine1
Movwf MessNummovlw 0x80
Goto InMess
MessLine2
Movwf MessNummovlw 0xC0
InMess
call LCDins
Trang50_57
Movf MessNum,W
Message number
addwf PCL,F
Goto Mess0 ; message 0
Goto Mess1 ; message 1
Goto Mess2
Goto Mess3
Goto Mess4
Goto Mess5
Goto Mess6
Goto Mess7
Goto Mess8
Goto Mess9
Goto Mess10
Goto Mess11
; --------; MESSAGE 0
; --------;
Mess0
movlw
High(Message0) ; get ROM page
addlw 8h
endif
if Simulating == 1
addlw 8h
endif
if Simulating == 1
addlw 8h
endif
movwf MessAddH
movlw Low(Message6)
offset
goto ContMess
if Simulating == 1
Addlw 8h
Endif
movwf MessAddH ; temp
store it
movlw Low(Message0) ;
get page offset
goto ContMess
;
; --------; MESSAGE 1
; --------;
Mess1
movlw
High(Message1) ; get ROM page
Trang51_57
;
; --------; MESSAGE 1
; --------;
Mess7
movlw
High(Message7)
if Simulating == 1
addlw 8h
endif
movwf MessAddH
movlw Low(Message7)
goto ContMess
Mess8
movlw
High(Message8)
if Simulating == 1
addlw 8h
endif
movwf MessAddH ; temp
store it
movlw Low(Message8) ;
get page offset
goto ContMess
;
; --------; MESSAGE 1
; --------;
Mess9
movlw
High(Message9) ; get ROM page
if Simulating == 1
addlw 8h
endif
movwf MessAddH ; temp
store it
movlw Low(Message9) ; get page
offset
goto ContMess
Mess10
movlw
High(Message10) ; get ROM page
if Simulating == 1
addlw 8h
endif
movwf MessAddH ; temp store it
movlw Low(Message10)
;
get page offset
goto ContMess
;
; --------; MESSAGE 1
; --------;
Mess11
movlw
High(Message11) ; get ROM page
if Simulating == 1
addlw 8h
endif
movwf MessAddH ; temp store it
movlw Low(Message11) ; get
page offset
ContMess movwf MessAddL
;
temp store it
;
; -----------------------------------------; Nhan d lieu va hien th
tren LCD
; -----------------------------------------;
clrf StrPtr ; zero the character
offset
MessLoop call Messages
; get
the character
movwf temp
; temp store the
character
movlw High($)
; restore
PCLATH for this ROM page
if Simulating == 1
addlw 8h
endif
movwf PCLATH
movf temp,W
xorlw 0h
; test if zero
byte
btfsc STATUS,Z
return
; yes, all done
call LCDdata
; send character
to display
incf StrPtr,F ; set ready for next
character
goto MessLoop
; get next
character
;
; ---------------------------; CHARACTER ADDRESS
CALCULATOR
Trang52_57
; ---------------------------;
Messages movf MessAddH,W
; high address byte to
PCLATH
movwf PCLATH
movf MessAddL,W
; get
low address byte
addwf StrPtr,W ; add
character offset
btfsc STATUS,C ; test
carry
incf PCLATH,F
; overflow
- increment PCLATH
movwf PCL
; low byte
to PCL
;
;
-----------------------------------------------; OUTPUT 1 INSTRUCTION BYTE
TO DISPLAY - 4 BIT MODE
;
-----------------------------------------------;
LCDins movwf temp ; temp
save instruction
andlw 0xF0 ; send high
nibble first
movwf PORTB
; send it
call Clock
bsf PORTB,lcdE
; (1)
clock it in
call Clock
bcf PORTB,lcdE
; (1)
call Clock
btfss Flag1,LCDmd
;
test if sending byte or 2 nibbles
goto bits8 ; 1 nibble
swapf temp,W
; now
send lower nibble
andlw 0xF0
movwf PORTB
; send it
call Clock
bsf PORTB,lcdE
; (5) enable
instruction
call Clock
bcf PORTB,lcdE
; (5)
bits8 clrf DelayL
movlw 8h
movwf DelayH
ctlp1
decfsz DelayL,F
goto ctlp1
decfsz DelayH,F
goto ctlp1
return
;
; -----------------------------------------; Xuat 2 byte ra man hnh
; -----------------------------------------;
LCDdata
movwf temp
; temp save
data
andlw 0xF0 ; send high nibble first
movwf PORTB
call Clock
bsf PORTB,lcdRS
; (0) Write
"data"
call Clock
bsf PORTB,lcdE
; (1) clock it in
call Clock
bcf PORTB,lcdE
; (1)
call Clock
swapf temp,W
; now send
lower nibble
andlw 0xF0
movwf PORTB
call Clock
bsf PORTB,lcdRS
; (0) Write
"data"
call Clock
bsf PORTB,lcdE
; (5) enable
instruction
call Clock
bcf PORTB,lcdE
; (5)
return
;
; ----------------------------; nh ngha tan so dao ong
; ----------------------------;
Clock movlw 40h
movwf DelayL
kdloop decfsz DelayL,F
goto kdloop
return
Trang53_57
;
; -------------------------------; khi tao thi gian nhap
nhay ~ 0.5s
; -------------------------------;
BigDel
clrf DelayL
clrf DelayM
movlw 5h
movwf DelayH
BDloop
decfsz DelayL,F
goto BDloop
decfsz DelayM,F
goto BDloop
decfsz DelayH,F
goto BDloop
return
;
; --------------; chuoi
; --------------;
Message0 DT " DO AN DKHT ",
0h
Message1 DT "DE TAI:
PIC16F84", 0h
Message2 DT "
GVHD
",0h
Message3 DT "KS VO TUONG
QUAN" ,0h
Message4 DT " NHOM THUC
HIEN ",0H
Message5 DT " DINH PHUONG
TAN",0H
Message6 DT " NG. CHINH PHUC
",0H
Message7 DT " VUONG QUOC
VIET",0H
Message8 DT " TIEU BAO TRAN
",0H
Message9 DT " DIEU KHIEN
",0H
Message10 DT " LED NHAP
NHAY ",0H
Message11 DT " DONG CO
SERVO ",0H
End
Trang54_57
movlw b'00000100'
call blink
btfss PORTA,0
goto main
movlw b'00010000'
call blink
btfss PORTA,0
goto main
movlw b'00100000'
call blink
btfss PORTA,0
goto main
movlw b'01000000'
call blink
btfss PORTA,0
goto main
movlw b'00100000'
call blink
btfss PORTA,0
goto main
movlw b'00010000'
call blink
btfss PORTA,0
goto main
movlw b'00000100'
call blink
btfss PORTA,0
goto main
movlw b'00000010'
call blink
btfss PORTA,0
goto main
movlw b'00000110'
call blink
btfss PORTA,0
goto main
movlw b'00010110'
call blink
btfss PORTA,0
goto main
movlw b'00110110'
call blink
btfss PORTA,0
goto main
movlw b'01110110'
call blink
btfss PORTA,0
goto main
movlw b'00110110'
call blink
Trang55_57
btfss PORTA,0
goto main
movlw b'00010110'
call blink
btfss PORTA,0
goto main
movlw b'00000110'
call blink
btfss PORTA,0
goto main
movlw b'00000010'
call blink
btfss PORTA,0
goto main
movlw b'01010010'
call blink
btfss PORTA,0
goto main
movlw b'00100100'
call blink
btfss PORTA,0
goto main
movlw b'01010010'
call blink
btfss PORTA,0
goto main
movlw b'00100100'
call blink
btfss PORTA,0
goto main
movlw b'01010010'
call blink
btfss PORTA,0
goto main
movlw b'00100100'
call blink
btfss PORTA,0
goto main
goto LED
SERVO
nop
PHAI
movlw .2
movwf CNT
movlw b'00001100'
movwf PORTA
call DEL
btfss PORTA,0
goto main
call DEL
clrf PORTA
PH1
movlw .12
movwf TMR0
loop1
btfsc TMR0,7
goto Cont1
lp1
bsf PORTA,2
bsf PORTB,7
btfss PORTA,0
goto main
goto loop1
Cont1
btfss TMR0,6
goto lp1
goto Ctr
Ctr
decfsz CNT,1
goto PH1
goto TRAI
TRAI
bcf PORTB,7
movlw b'00001100'
movwf PORTA
call DEL
btfss PORTA,0
goto main
call DEL
clrf PORTA
movlw .2
movwf CNT
TR1
movlw .12
movwf TMR0
loop2
btfsc TMR0,7
goto Cont2
lp2
bsf PORTA,3
bsf PORTA,1
btfss PORTA,0
goto main
goto loop2
Cont2
btfss TMR0,6
goto lp2
goto Ctr2
Ctr2
decfsz CNT,1
Trang56_57
goto TR1
goto PHAI
blink
movwf PORTB
call DEL
return
DEL
MOVLW 0x02 ;2 DEC
MOVWF TMP2
MOVLW 0x0E5 ;229 DEC
MOVWF TMP1
MOVLW 0x0D9 ;217 DEC
MOVWF TMP0
DECFSZ TMP0,F
GOTO $-1
DECFSZ TMP1,F
GOTO $-5
DECFSZ TMP2,F
GOTO $-9
return
end
Trang57_57