Professional Documents
Culture Documents
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
.................................................................................................
Ngy ..thng.nm 2008
Gio vin hng dn
Thc s : L NH KHA
Li cm n
Sau nhng nm hc ti trng,chng em c
hc v tip thu nhiu kin thc mi t s ch bo tn tnh
ca Qu Thy C, s gip ca bn b. y l khong
thi gian y ngha. n tt nghip ra trng l nn
tng quan trng v nh du mt bc ngoc mi trong
cuc i ca chng em.
Chng em xin gi li cm n chn thnh n Thy
L nh Kha. Thy hng dn ti thc hin n tt
nghip v cung cp cho ti nhiu kinh nghim qu bu.
Chng em xin chn thnh cm n Qu Thy c
khoa in T - Tin Hc v cc Cn b Cng nhn vin
Trng Cao ng K Thut Cao Thng, to iu kin
thun li ti c th hon thnh tt n tt nghip
ny..
LI NI U
GVHD:Thc s L nh Kha
MC LC
CHNG 0
DN NHP11
Trang 4
GVHD:Thc s L nh Kha
CHNG II B NH THI................................................................................ 43
2.1. B nh thi timer 0 .................................................................................................... 43
2.1.1. Gii thiu..................................................................................................... 43
2.1.2. Hot ng ca b nh thi ......................................................................... 43
2.1.3. Ngt Timer 0 ............................................................................................... 43
2.1.4. S dng Timer 0 vi ngun xung clock ngoi............................................ 44
2.1.5. B tin nh t l 8 bit ca Timer 0 ............................................................. 44
2.2. B nh thi Timer 1................................................................................................... 44
2.2.1. Gii thiu..................................................................................................... 44
2.2.2. Thanh ghi iu khin Timer 1 ..................................................................... 45
2.2.3. Ch nh thi trong hot ng ca Timer 1 ........................................... 45
2.2.4. Ch m ................................................................................................. 45
2.2.5. Giao ng ring ca Timer 1....................................................................... 46
2.2.6. Ngt Timer 1 ............................................................................................... 46
2.3. B nh thi Timer 2................................................................................................... 46
2.3.1. Gii thiu .................................................................................................... 46
2.3.2. Thanh ghi iu khin T2CON..................................................................... 47
2.3.3. Xa cc b t l............................................................................................ 47
2.3.4. Ngun xung clock cho Timer 2................................................................... 47
2.3.5. Thanh ghi TMR2 v PR2 ............................................................................ 47
2.3.6. Tn hiu bo trng thi cn bng ................................................................. 47
2.3.7. Ch ng .................................................................................................. 48
CHNG III MODULE CCP ................................................................................. 49
3.1. Gii thiu ...................................................................................................................... 49
3.2. Thanh ghi iu khin module CCP ........................................................................... 49
3.3. Ch Capture ............................................................................................................ 50
3.3.1. B nh t l ca CCP.................................................................................. 50
3.4. Ch Compare .......................................................................................................... 51
3.5. Ch iu bin xung PWM..................................................................................... 51
3.5.1. Chu k PWM............................................................................................... 51
3.5.2.Chu k nhim v ca PWM ......................................................................... 52
3.5.3. Ci t hot ng cho PWM ....................................................................... 52
3.5.4. Module MSSP ............................................................................................. 54
Trang 5
GVHD:Thc s L nh Kha
Trang 6
CHNG I
GVHD:Thc s L nh Kha
Trang 7
GVHD:Thc s L nh Kha
Trang 8
GVHD:Thc s L nh Kha
Trang 9
GVHD:Thc s L nh Kha
PHN VI
PH LC ............................................................ 167
Ph lc 1 : 16F877A.................................................................................. 168
Ph lc 2 : DEFS_16F877A. .................................................................... 175
Trang 10
GVHD:Thc s L nh Kha
Chng 0 : DN NHP
I. t vn :
Ngy nay vi s pht trin ca cng nghip vi in t, k thut s cc h thng iu
khin dn c t ng ha.Vi cc k thut tin tin nh vi x l, vi mch sc
ng dng vo lnh vc iu khin, th cc h thng iu khin c kh th s, vi tc
x l chm chm t chnh xc c thay th bng cc h thng iu khin t ng vi
cc lnh chng trnh c thit lp trc.
c th hc tt mn vi iu khin chng ta phi c thit b hc tp mt trong
nhng thit b l kit thc tp, v c s ng ca khoa in T - Tin Hc Trng
Cao ng K Thut Cao Thng. Nhm chng em quyt nh lm ti tt nghip: Kit
Thc Tp Vi iu Khin Pic.
II. Gii hn ti:
Vi thi gian gn nm tun thc hin ti cng nh trnh chuyn mn c hn,
chng em c gng ht sc hon thnh n ny nhng ch gii quyt c nhng
vn sau:
Led n.
Hin th Led 7 on.
n giao thng .
Chy ch led ma trn.
Hin th LCD.
ADC
Giao tip bn phm.
o nhit dng LM35.
III. Mc ch nghin cu :
Mc ch trc ht khi thc hin ti ny l hon tt chng trnh mn hc
iu kin ra trng. C th khi nghin cu ti l chng em mun pht huy nhng
thnh qu ng dng ca vi iu khin to ra nhng sn phm cho cc bn sinh vin
kha sau. Khng nhng th n cn l tp ti liu cho cc bn sinh vin tham kho.
Ngoi ra qu trnh thc hin ti l mt c hi chng em t kim tra li nhng
kin thc hc trng. ng thi pht huy tnh sng to, kh nng gii quyt mt vn
theo nhu cu t ra. V y cng l dp chng em khng nh mnh trc khi ra
trng tham gia vo cc hot ng sn xut ca x hi.
Trang 11
GVHD:Thc s L nh Kha
PHN I
CHNG I
CHNG II : B NH THI
CHNG III : MODULE CCP (Capture Compare PWM)
CHNG IV : B BIN I ADC 10 BIT
CHNG V : IN TH THAM CHIU V CC B SO SNH
IN
Trang 12
GVHD:Thc s L nh Kha
Trang 13
GVHD:Thc s L nh Kha
Trang 14
GVHD:Thc s L nh Kha
Trang 15
GVHD:Thc s L nh Kha
Trang 16
GVHD:Thc s L nh Kha
S khi PIC16F877A.
Trang 17
GVHD:Thc s L nh Kha
Lu : T c gi tr ln s tng tnh n
nh ca dao ng nhng cng lm tng
thi gian khi ng.
Ch dao ng RC c s dng
nh mt gii php tit kim trong cc
ng dng khng cn s chnh xc v thi
gian.
Trang 18
GVHD:Thc s L nh Kha
Chu k my:
T_instruction = 4*Tosc = 4/10*106(s) = 0.4 s = 400 ns
1.3.2 Reset:
PIC16F877A c th b reset bi nhiu nguyn nhn khc nhau nh:
1.3.3 MCLR :
PIC16F877A c mt b lc nhiu
phn MCLR . B lc nhiu ny s pht hin
v b qua cc tn hiu nhiu.
Ng vo MCLR trn chn 4 ca
PIC16F877A. Khi a chn ny xung
thp th cc thanh ghi bn trong VK s
c ti nhng gi tr thch hp khi
ng li h thng.
(Lu : Reset do WDT khng lm chn
MCLR xung mc thp).
Trang 19
GVHD:Thc s L nh Kha
1.3.4 Interrupts:
PIC16F877A c nhiu ngun ngt khc nhau. y l mt s ngt tiu biu :
- Ngt ngoi xy ra trn chn INT.
- Ngt do Timer0.
- Ngt do Timer1.
- Ngt do Timer2.
- Ngt do thay i trng thi trn cc chn PortB.
- Ngt so snh in th.
- Ngt do Port song song.
- Ngt USART.
- Ngt nhn d liu.
- Ngt truyn d liu .
- Ngt chuyn i ADC.
- Ngt mn hnh LCD.
- Ngt hon tt ghi EEPROM.
- Ngt module CCP.
- Ngt Module SSP.
* Cc thanh ghi chc nng ngt: INTCON, PIE1, PIR1, PIE2, PIR2 (cc thanh ghi
ny s c nghin cu cc phn sau).
Trang 20
GVHD:Thc s L nh Kha
Trang 21
GVHD:Thc s L nh Kha
Trang 22
GVHD:Thc s L nh Kha
1.4.2 B nh d liu:
Bng cu trc b nh d liu P16F877A
Trang 23
GVHD:Thc s L nh Kha
Trang 24
GVHD:Thc s L nh Kha
Trang 25
GVHD:Thc s L nh Kha
Trang 26
GVHD:Thc s L nh Kha
Trang 27
Bit 7
GVHD:Thc s L nh Kha
IRP: Bit la chn bank thanh ghi (S dng cho nh a ch gin tip).
1 = Bank 2, 3 (100h 1FFh )
0 = Bank 0, 1 (00h FFh)
Bit 6 5 RP1 RP0: Bit la chn bank thanh ghi (Dng trong nh i ch trc tip).
11 = Bank 3 ( 180h 1FFh)
10 = Bank 2 (100h 17Fh)
01 = Bank 1 (80h FFh)
00 = Bank 0 (00h 7Fh)
Each bank is 128 bytes
Bit 4 TO: Bit bo hiu hot ng ca WDT.
1: Lnh xa WDT hoc Sleep xy ra.
0: WDT hot ng.
Bit 3 PD: Bit bo cng sut thp ( Power down bit).
1: Sau khi ngun tng hoc c lnh xa WDT.
0: Thc thi lnh Sleep.
Bit 2 Z: bit Zero
1: Khi kt qu ca mt php ton bng 0.
0: Khi kt qu ca mt php ton khc 0.
Bit 1 DC: Digit Carry
1: C mt s nh c sinh ra bi php cng hoc php tr 4 bit thp.
0: Khng c s nh sinh ra.
Bit 0 C: c nh (Carry Flag)
1: C mt s nh sinh ra bi php cng hoc php tr.
0: Khng c s nh sinh ra.
1.4.3.2 Thanh ghi ty chn (Option _Reg Register):
Thanh ghi ty chn cha cc bit iu khin cu hnh cho cc cha nng nh:
ngt ngoi, Timer 0 chc nng ko ln Vdd ca cc chn Port B, v thi gian ch ca
WDT
Bit 7
Trang 28
GVHD:Thc s L nh Kha
Trang 29
GVHD:Thc s L nh Kha
Trang 30
GVHD:Thc s L nh Kha
Trang 31
GVHD:Thc s L nh Kha
Unimplemented : read as 0
Trang 32
GVHD:Thc s L nh Kha
Bit 7,5,2,1
Unimplemented : read as 0
Trang 33
GVHD:Thc s L nh Kha
Trang 34
GVHD:Thc s L nh Kha
Trang 35
GVHD:Thc s L nh Kha
Trang 36
GVHD:Thc s L nh Kha
Trang 37
GVHD:Thc s L nh Kha
Trang 38
GVHD:Thc s L nh Kha
Trang 39
GVHD:Thc s L nh Kha
Trang 40
GVHD:Thc s L nh Kha
Trang 41
GVHD:Thc s L nh Kha
Trang 42
GVHD:Thc s L nh Kha
CHNG II : B NH THI
2.1 B nh thi Timer 0 :
2.1.1 Gii thiu :
Module Timer 0 l mt b nh thi/ m 8 bit, c kh nng c v ghi c , c
mt b tin nh t l (Prescaler) 8 bit lp trnh c, c bit la chn ngun xung clock
trong hoc ngoi, c ngt khi Timer trn, c bit la chn cnh tc ng ca xung clock
ngoi.
Trang 43
GVHD:Thc s L nh Kha
Trang 44
GVHD:Thc s L nh Kha
Bit 7,6
Khng s dng, c l 0.
Bit 2
Bit 1
Bit 0
Trang 45
GVHD:Thc s L nh Kha
Trang 46
GVHD:Thc s L nh Kha
Bit 7
Bit 6:3
Khng s dng
TOUTPS3:TOUTPS0: Bit chn t l ng ra ca Timer 2
0000: 1:1 T l ng ra
0001: 1:2 T l ng ra
.
.
.
1111: 1:16 T l ng ra
Trang 47
GVHD:Thc s L nh Kha
Trang 48
GVHD:Thc s L nh Kha
Module CCP1:
Thanh ghi CCPR1 bao gm 2 thanh ghi 8 bit: CCPR1L v CCPR1H. Thanh ghi
CCP1CON iu khin hot ng ca module CCP1. Cc xung c bit xy ra bng cc
thut ton so snh v s reset Timer 1.
Module CCP2:
Thanh ghi CCPR2 bao gm 2 thanh ghi 8 bit: CCPR2L v CCPR2H. Thanh ghi
CCP2CON iu khin hot ng ca module CCP2. Cc xung c bit xy ra bng cc
thut ton so snh s reset Timer 1 v bt u chuyn i ADC (nu chuyn i ADC
c cho php).
3.2 Thanh ghi iu khin module CCP:
Bit 7,6
Khng s dng
Trang 49
GVHD:Thc s L nh Kha
Trang 50
GVHD:Thc s L nh Kha
Trang 51
GVHD:Thc s L nh Kha
Trang 52
GVHD:Thc s L nh Kha
Trang 53
GVHD:Thc s L nh Kha
Trang 54
GVHD:Thc s L nh Kha
Trang 55
GVHD:Thc s L nh Kha
Bit 5,4
Khng s dng
Trang 56
GVHD:Thc s L nh Kha
Trang 57
GVHD:Thc s L nh Kha
Trang 58
GVHD:Thc s L nh Kha
Trang 59
GVHD:Thc s L nh Kha
Trang 60
GVHD:Thc s L nh Kha
Trang 61
GVHD:Thc s L nh Kha
Mt b so snh n c trnh by
trong hnh bn cnh y, n cho chng ta
bit s thay i trng thi logic ng ra
tng ng vi trng thi tn hiu Analog
ng vo.
Khi VIN+ > VIN- th ng ra ln mc
cao v ngc li.
Ti nhng cnh ny ng ra khng
bit chc chn.
Trang 62
GVHD:Thc s L nh Kha
Trang 63
GVHD:Thc s L nh Kha
Trang 64
GVHD:Thc s L nh Kha
VREF
CVRR =1
0.00V
0.21V
0.42V
0.63V
0.83V
1.04V
1.25V
1.46V
1.67V
1.88V
2.08V
2.29V
2.50V
2.71V
2.92V
3.13V
CVRR =0
1.25V
1.14V
1.56V
1.72V
1.88V
2.03V
2.19V
2.34V
2.50V
2.66V
2.81V
2.97V
3.13V
3.28V
3.44V
3.59V
Trang 65
GVHD:Thc s L nh Kha
Trang 66
GVHD:Thc s L nh Kha
PHN II
Trang 67
GVHD:Thc s L nh Kha
Vng
Xanh l cy
in th phn cc thun
1,4 - 1,8V
2 - 2,5V
2 - 2,8V
Trang 68
GVHD:Thc s L nh Kha
VCC
4R2
1
L6
L7
1
L5
L4
L3
L2
L1
8
7
6
5
4
3
2
1
L0
9
8
7
6
5
4
3
2
330
LEDDON
Vi VCC = 5VDC , in p trung bnh trn mi LED l 2V, dng qua LED l
10mA th in tr hn dng cho LED l:
Rled =
5VDC 2VDC
= 300
10mA
Trang 69
GVHD:Thc s L nh Kha
Trang 70
GVHD:Thc s L nh Kha
2.2 Kt ni vi Vi iu Khin
Ng nhn tn hiu iu khin ca led 7 on c 8 ng, v vy c th dng 1 Port
no ca Vi iu khin iu khin led 7 on. Nh vy led 7 on nhn mt d liu
8 bit t Vi iu khin iu khin hot ng sng tt ca tng led led n trong n, d
liu c xut ra iu khin led 7 on thng c gi l "m hin th led 7 on". C
hai kiu m hin th led 7 on: m dnh cho led 7 on c Anode (cc +) chung v m
dnh cho led 7 on c Cathode (cc -) chung. Chng hn, hin th s 1 cn lm cho
cc led v tr b v c sng, nu s dng led 7 on c Anode chung th phi t vo hai
chn b v c in p l 0V (mc 0) cc chn cn li c t in p l 5V(mc 1), nu
s dng led 7 on c Cathode chung th in p (hay mc logic) hon ton ngc li,
tc l phi t vo chn b v c in p l 5V (mc 1).
Bng m hin th led 7 on:
Phn cng c kt ni vi 1 Port bt k ca Vi iu khin, thun tin cho vic
x l v sau phn cng nn c kt ni nh sau: Px.0 ni vi chn a, Px.1 ni vi chn
b, ln lt theo th t cho n Px.7 ni vi chn h.
D liu xut c dng nh phn nh sau : hgfedcba
Bng m hin th led 7 on dnh cho led 7 on c Anode chung (cc led n
sng mc 0):
S hin th trn led M hin th led 7 on dng
7 on
nh phn
hgfedcba
0
11000000
1
11111001
2
10100100
3
10110000
4
10011001
5
10010010
6
11000010
7
11111000
8
10000000
9
10010000
A
10001000
B
10000011
SVTH :Trn Thnh Tm & Nguyn Tin Ngha
C
D
E
F
-
11000110
10100001
10000110
10001110
10111111
GVHD:Thc s L nh Kha
C6
A1
86
8E
BF
Bng m hin th led 7 on dnh cho led 7 on c Cathode chung (cc led n sng
mc 1):
Trang 72
GVHD:Thc s L nh Kha
lng chn iu khin t Vi iu khin cng t cng tt. C hai gii php: mt l s dng
cc IC chuyn dng cho vic hin th led 7 on, hai l kt ni nhiu led 7 on vo cng
mt ng xut tn hiu hin th. Ni phn ny s cp n cch kt ni nhiu led 7
on theo gii php th 2.
Mt ngi c c im sinh l l ch thu nhn 24 hnh/giy tng hp cc hnh
nh v th gii xung quanh. Nu mt tn hiu nh sng c chu k sng tt hn 24 ln
trong 1 giy, mt ngi lun cm nhn l mt ngun sng lin tc. minh ha cho
iu ny, bn hy ly cc chng trnh thc hin vi led n v lm ngn thi gian
delay li, n mt gi tr no bn s thy cc led u sng lin tc.
kt ni nhiu led 7 on vo vi iu khin thc hin nh sau: ni tt c cc chn
nhn tn hiu ca tt c cc led 7 on (chn abcdefgh) cn s dng vo cng 1 Port, 6
led 7 on c cc chn nhn tn hiu cng c c ni vi PC. Dng cc ng ra cn
li ca Vi iu khin iu khin on/off cho led 7 on, mi ng ra iu khin ON/OFF
cho 1 led 7 on, (ON: led 7 on c cp ngun hin th, OFF: led 7 on b ngt
ngun nn khng hin th c).
61
52
43
34
25
16
60PA
6RN3
7
8
9
10
11
12
4.7K
VCC
h
g
f
e
d
c
b
a
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
A
B
C
D
E
F
G
H
330
16
15
14
13
12
11
10
9
A
B
C
D
E
F
G
H
6RN2
A
B
C
D
E
F
G
H
1
2
3
4
5
6
7
8
6LED6
6LED5
A
B
C
D
E
F
G
H
8
7
6
5
4
3
2
1
6LED4
6LED3
A
B
C
D
E
F
G
H
60PC
6LED2
Q6
A1015
Q5
A1015
A
B
C
D
E
F
G
H
VCC
6LED1
Q4
A1015
Q3
A1015
VCC
Q2
A1015
Q1
A1015
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
Trang 73
GVHD:Thc s L nh Kha
ON/OFF cho cc led 7 on, s dng transitor loi PNP, transitor ny nhn dng iu
khin t mt ng ra ca Vi iu khin, led 7 on s c ON khi tn hiu t vi iu
khin n transitor mc 0. C th s transitor loi A1015hoc 2N3905 hoc mt
transitor PNP khc c thng s ph hp. Cc in tr 4.7K v in tr treo 4.7K m bo
transitor lun hot ng ch bao ha .Port A dng chn led 7 on (m bo khi
led 7 on ang trng thi OFF s b tt hon ton, khng b sng m m).
Ti mi thi im, ch nn cho Vi iu khin iu khin cho 1 led 7 on hot
ng, do ti mi thi im ch nn c 1 ng ra duy nht ni vi transitor mc 0. Ti
mi thi im ch c mt led 7 on c ON nn s khng xy ra tnh trng qu ti cho
ti v qu ti cho vi iu khin khi iu khin nhiu led 7 on.
Trong s kt ni trn, chng hn cn hin th s 451, qui c th t cc led 7
c m t phi sang tri, nh vy cn lm cho led 7 on th nht hin th s 1, led 7
on th hai hin th s 5, led 7 on th 3 hin th s 4, cc led cn li khng hin th.
u tin OFF tt c cc led 7 on. K tip xut m hin th led 7 on hin th s 1,
ON led 7 on th nht, lc ny dng in ch i qua led 7 on th nht, lm cho led 7
on th nht hin th s 1, thi gian ON trong khong vi chc s(1s=1/10-6s). K tip
xut m hin th led 7 on hin th s 5, OFF led 7 on th nht v ng thi ON led 7
on th 2, lc ny ch c led 7 on th hai hin th v hin th s 5. Tip theo xut m
hin th led 7 on hin th s 4, OFF led 7 on th hai v ON led 7 th ba, lc ny ch
duy nht led 7 on th ba hin th s 4. C th lp li qu trnh trn lin tc. Thi gian
ON/OFF ch trong khong vi chc s, v ti mi thi im ch c mi mt led 7 on
hin th s ca chnh n, v vy mt ngi thy 3 led 7 on khng sng t qung, m
sng lin tc, mi led hin th 1 s ring ca n. Thc hin tng t m rng s lng
led 7 on cn s dng.
2.4 Lu d gii thut:
Bt u
Xut d liu
Trang 74
GVHD:Thc s L nh Kha
61
52
43
34
25
16
60PA
6RN3
7
8
9
10
11
12
4.7K
VCC
VCC
A
B
C
D
E
F
G
H
VCC
VCC
VCC
A
B
C
D
E
F
G
H
VCC
VCC
VCC
VCC
VCC
6LED6
A
B
C
D
E
F
G
H
330
h
g
f
e
d
c
b
a
6LED5
6LED4
A
B
C
D
E
F
G
H
16
15
14
13
12
11
10
9
Q6
A1015
A
B
C
D
E
F
G
H
1
2
3
4
5
6
7
8
VCC
VCC
6RN2
8
7
6
5
4
3
2
1
Q5
A1015
Q4
A1015
A
B
C
D
E
F
G
H
60PC
6LED3
6LED2
6LED1
Q3
A1015
Q2
A1015
VCC
Q1
A1015
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
I CS
= 1 mA ( IB=IBS )
VCC VEB
5 0 .8
=
= 4.2 K
IB
1mA
RB
Q1
A1015
330
RC
LED
Chn RB = 4.7 K
Trang 75
GVHD:Thc s L nh Kha
Hot ng ca cc n nh hnh:
X1 2
T1
T4
V1 2
1 V2
T3
T2
1 X2
Gin xung:
X1
V1
1
X2
V2
2
T
Trang 76
GVHD:Thc s L nh Kha
3.2 S nguyn l:
Trang 77
GVHD:Thc s L nh Kha
Xanh 1 = 0, 2 = 0
DL 7s
Vng 1 = 0, 2 = 0
DL 3s
Xanh 2 = 0, 1 = 0
S
DL 7s
Vng 2 = 0, 1 = 0
S
DL 3s
Trang 78
GVHD:Thc s L nh Kha
U1
12
9
6
3
13
16
19
22
h1
h2
h3
h4
h5
h6
h7
h8
matrix 8x8
c1 c2 c3 c4 c5 c6 c7 c8
10
7 4 1
15 18 21 24
Trang 79
GVHD:Thc s L nh Kha
(a)
(b)
Hnh 4.2: S cu trc bn trong ca led ma trn: (a) cathode chung, (b) anode
chung.
4.2 Phng Php Hin Th Dng IC Cht:
Hin th led ma trn bng phng php cht gip cho ngi lp trnh thay i cch
thc qut v hin th mt cch linh hot v nhanh chng.
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
19
18
17
16
15
14
13
12
12
9
6
3
13
16
19
22
11
1
D0
D1
D2
D3
D4
D5
D6
D7
LE
OE
c1
c2
c3
c4
c5
c6
c7
c8
2
3
4
5
6
7
8
9
matrix_3mau
23
20
17
14
2
5
8
11
19
18
17
16
15
14
13
12
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
U7
LE
OE
11
1
D0
D1
D2
D3
D4
D5
D6
D7
DM74LS573
2
3
4
5
6
7
8
9
D7
D6
D5
D4
D3
D2
D1
D0
9
8
7
6
5
4
3
2
OE
LE
DM74LS573
1
11
hx8
hx7
hx6
hx5
hx4
hx3
hx2
hx1
24
21
18
15
1
4
7
10
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
12
13
14
15
16
17
18
19
hd8
hd7
hd6
hd5
hd4
hd3
hd2
hd1
DM74LS573
Hnh 4.3: Giao tip led ma trn dng phng php cht.
Trang 80
GVHD:Thc s L nh Kha
Trang 81
GVHD:Thc s L nh Kha
Vdd
R2
R3
Q5
HB.1
R15 R
Q2
Q6
H1
H2
Vdd
R26
R25
Q12
HB.5
Q16
R39 R
Q13
12
9
6
3
13
16
19
22
Q17
matrix_3mau
R4
HB.2
Q3
HB.3
Q7
R17 R
18
Q4
SDO
R16 R
R13 R
Q8
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
R5
R
R12 R
23
20
17
14
2
5
8
11
Vdd
17
16
15
14
7
6
5
4
Vdd
24
21
18
15
1
4
7
10
H5
4
5
6
7
14
15
16
17
hd8
hd7
hd6
hd5
hd4
hd3
hd2
hd1
H6
U10
TPIC6B595
18
R38 R
R34 R
c1
c2
c3
c4
c5
c6
c7
c8
R33 R
HB.4
H8
H7
H6
H5
H4
H3
H2
H1
Vdd
SDO
R14 R
Q1
hx8
hx7
hx6
hx5
hx4
hx3
hx2
hx1
HB.0
R11 R
DRAIN7
DRAIN6
DRAIN5
DRAIN4
DRAIN3
DRAIN2
DRAIN1
DRAIN0
R10 R
U9
HB.6
SRCLK
RCLK
SDI
3
SRCLR
G
8
9
13
12
R36 R
G
SRCLR
R24
R23
R31 R
9
8
SDI
3
Vdd
12
13
H4
H3
Vdd
RCLK
SRCLK
TPIC6B595
R32 R
Q10
R37 R
HB.7
Q14
Q11
Q15
H8
H7
Trang 82
GVHD:Thc s L nh Kha
Trang 83
GVHD:Thc s L nh Kha
Hng 1
Hng 8
Ct 8
Hnh 4.8: Hin th ch B trn led ma trn dng phng php qut hng.
D liu th nht c ga tr: 11111111 c a ra ct tch cc hng th nht (iu
khin hng th nht cho ra gi tr l 1); d liu th hai c gi tr: 00001111 a ra ct,
tch cc hng th hai; d liu th 3 c gi tr: 01110111 a ra ct, tch cc hng th 3;
d liu th 4 c gi tr: 01110111 a ra ct, tch cc hng th 4; tip tc d liu hng
th 5 c gi tr: 00001111 a ra ct, tch cc hng th 5; k tip l d liu ca hng th
6 c gi tr: 01110111 c a ra ct, tch cc hng th 6 ; d liu ca hng th 7 c
gi tr: 01110111 a ra ct, tch cc hng th 7; d liu th 8 c gi tr: 00001111 a
ra ct, tch cc hng th 8. Nh vy ton b d liu ca ch B c a ra hin th
trn mn hnh Led ma trn. Qu trnh trn c din ra rt nhanh > 24ln/ 1s nn chng
ta c cm gic n din ra mt cch ng thi nh m chng ta quan st c trn mn
hnh Led ma trn l mt ch B lin tc.
4.3.2 Qut Ct:
4.3.2.1 Gii thiu chung v phng php qut ct.
Phng php qut ct l phng php m trong mt khong thi gian xc nh ch
cho mt ct c tch cc hin th trong khi cc ct khc u tt, cc ct c qut (tch
cc) tun t cc khong thi gian k tip nhau c lp li nhiu ln vi tc >
25hnh/1s s cho ta mt hnh nh lin tc cn hin th ln trn mn hnh Led ma trn.
4.3.2.2 Qu trnh thc hin qut ct.
D liu ca ct th nht c a ra hng sau tch cc ct th nht nh vy d
liu ca ct th nht c hin th trn mn hnh Led ma trn, tip tc d liu ca ct th
hai c a ra hng sau tch cc ct th hai lc ny d liu ca hng th hai c
hin th trn mn hnh Led ma trn, c nh vy cho n d liu ca ct cui cng c
a ra hng sau tch cc ct cui cng. C nh th qu trnh trn c lp i lp li >
24ln/1s, n y chng ta quan st c mt hnh nh lin tc hin th trn mn hnh
Led ma trn.
4.3.2.3.V d:
Hin th ch B ln mn hnh Led ma trn (hng c tch cc mc1, ct c tch
cc mc 0).
Trang 84
GVHD:Thc s L nh Kha
Hng 1
Hng 8
Ct 8
Ct 1
Hnh 4.9: Hin th ch B trn led ma trn dng phng php qut ct.
D liu th nht c ga tr: 11111110 c a ra hng, tch cc ct th nht (iu
khin ct th nht cho ra gi tr l 0); d liu th hai c gi tr: 10010010 a ra hng,
tch cc ct th hai; d liu th 3 c gi tr: 10010010 a ra hng, tch cc ct th 3; d
liu th 4 c gi tr: 10010010 a ra hng, tch cc ct th 4; tip tc liu hng th 5
c gi tr: 01101100 a ra hng, tch cc ct th 5; k tip l d liu ca ct th 6 c
gi tr: 00000000 c a ra hng, tch cc ct th 6 ; d liu ca ct th 7 c gi tr:
00000000 a ra hng, tch cc ct th 7; d liu th 8 c gi tr: 00000000 a ra hng,
tch cc ct th 8. Nh vy ton b d liu ca ch B c a ra hin th trn mn
hnh Led ma trn. Qu trnh trn c din ra rt nhanh > 24ln/ 1s nn chng ta c cm
gic n din ra mt cch ng thi, nh chng ta quan st c trn mn hnh Led ma
trnl mt ch B lin tc.
Phng php hin th Led ma trn s dng thanh ghi dch:
u im:
Tit kim ng truyn, hiu qu kinh t.
Tit kim chn PORT.
Truyn d liu i xa hn.
M rng bng Ma trn ln mt cch d dng.
Lp trnh d dng trong phng php qut ct.
Nhc im:
Tn thi gian thc hin vic truyn d liu n cc ct.
Chuyn i khng linh hot bng s dng phng php cht.
Lp trnh kh khn hn khi s dng phng php qut hng.
Trang 85
90PC
90PD
8
7
6
5
4
3
2
1
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
4k7
9RN2
4k7
9RN
16
15
14
13
12
11
10
9
16
15
14
13
12
11
10
9
b8
b7
b6
b5
b4
b3
b2
b1
b16
b15
b14
b13
b12
b11
b10
b9
90PB
8
7
6
5
4
3
2
1
b9
b1
1
2
3
4
5
6
7
8
330
9RN3
c9
16
15
14
13
12
11
10
9
b10
Q9
A1015
c1
b2
Q1
A1015
h8
h7
h6
h5
h4
h3
h2
h1
c10
h8
h7
h6
h5
h4
h3
h2
h1
13
3
4
10
6
11
15
16
Q10 b11
A1015
c2
b3
Q2
A1015
MTRAN1
b5
Q4
A1015
c12
Q12 b13
A1015
c4
c1c2c3c4 c5c6c7c8
c11
Q11 b12
A1015
c3
b4
Q3
A1015
c13
Q13 b14
A1015
c5
b6
Q5
A1015
c14
Q14 b15
A1015
c6
Q6 b7
A1015
h8
h7
h6
h5
h4
h3
h2
h1
13
3
4
10
6
11
15
16
Q15 b16
A1015
c15
c7
b8
Q7
A1015
VCC
MTRAN2
c13c14c15c16
c9c10c11c12
c16
Q16
A1015
c8
Q8
A1015
5
2
7
1
12
8
14
9
VCC
Trang 86
GVHD:Thc s L nh Kha
CHNG V : LCD
(Liquid Crystal Display)
5.1 Gii Thiu Chung V LCD
C rt nhiu loi LCD vi nhiu hnh dng v kch thc khc nhau, trn hnh 1 l
hai loi LCD thng dng.
Tn
VSS
2
3
VDD
Vee
RS
Chc Nng
Chn ni t cho LCD.
Chn cp ngun cho LCD.
Chn ny dng iu chnh tng phn ca
LCD
Chn chn thanh ghi (Register select). Ni chn
RS vi logic 0 (GND) hoc logic 1 (VCC)
chn thanh ghi.
+ Logic 0: Bus DB0-DB7 s ni vi thanh
ghi lnh IR ca LCD ( ch ghi-write)
hoc ni vi b m a ch ca LCD ( ch
c - read).
+ Logic 1: Bus DB0-DB7 s ni vi thanh
Trang 87
GVHD:Thc s L nh Kha
7-14
R/W
DB0DB7
.
Bng 1 : Chc nng cc chn ca LCD
* Ghi ch : ch c, ngha l MPU s c thng tin t LCD thng qua cc chn
DBx.Cn khi ch ghi, ngha l MPU xut thng tin iu khin cho LCD thng
qua cc chn DBx.
Trang 88
GVHD:Thc s L nh Kha
3> S
khi ca HD44780:
Hnh 3 : S khi ca HD44780
Trang 89
GVHD:Thc s L nh Kha
Trang 90
GVHD:Thc s L nh Kha
Trang 91
GVHD:Thc s L nh Kha
Trang 92
GVHD:Thc s L nh Kha
Trang 93
GVHD:Thc s L nh Kha
Ch nh a ch RAM ni.
Nhm lnh truyn d liu trong RAM ni.
Cc lnh cn li . (!!!)
5.2 Tp lnh ca LCD
Tn lnh
Clear
Display
Return
home
Entry
mode set
Display
on/off
control
Hot ng
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lnh Clear Display (xa hin th) s ghi mt khong trngblank (m hin k t 20H) vo tt c nh trong DDRAM,
sau tr b m AC=0, tr li kiu hin th gc nu n b
thay i. Ngha l : Tt hin th, con tr di v gc tri (hng
u tin), ch tng AC
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1 *
Lnh Return home tr b m a ch AC v 0, tr li kiu
hin th gc nu n b thay i. Ni dung ca DDRAM
khng thay i
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [I/D] [S]
I/D : Tng (I/D=1) hoc gim (I/D=0) b m a ch hin
th AC 1 n v mi khi c hnh ng ghi hoc c vng
DDRAM. V tr con tr cng di chuyn theo s tng gim
ny.
S : Khi S=1 ton b ni dung hin th b dch sang phi
(I/D=0) hoc sang tri (I/D=1) mi khi c hnh ng ghi
vng DDRAM. Khi S=0: khng dch ni dung hin th.
Ni dung hin th khng dch khi c DDRAM hoc c/ghi
vng CGRAM.
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D: Hin th mn hnh khi D=1 v ngc li. Khi tt hin th,
ni dung DDRAM khng thay i.
C: Hin th con tr khi C=1 v ngc li. V tr v hnh dng
con tr, xem hnh 8
B: Nhp nhy k t ti v tr con tr khi B=1 v ngc li.
Xem thm hnh 8 v kiu nhp nhy. Chu k nhp nhy
khong 409,6ms khi mch dao ng ni LCD l 250kHz.
Trang 94
GVHD:Thc s L nh Kha
Function
set
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [S/C] [R/L] * *
Lnh Cursor or display shift dch chuyn con tr hay d liu
hin th sang tri m khng cn hnh ng ghi/c d liu.
Khi hin th kiu 2 dng, con tr s nhy xung dng di
khi dch qua v tr th 40 ca hng u tin. D liu hng u
v hng 2 dch cng mt lc. Chi tit s dng xem bng bn
di:
S/C R/L Hot ng :
Trang 95
GVHD:Thc s L nh Kha
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lnh ny ghi vo AC a ch ca CGRAM. K hiu [ACG]
ch 1 bit ca chui d liu 6 bit. Ngay sau lnh ny l lnh
c/ghi d liu t CGRAM ti a ch c ch nh.
.
Set
DDRAM
address
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lnh ny ghi vo AC a ch ca DDRAM, dng khi cn
thit lp ta hin th mong mun. Ngay sau lnh ny l
lnh c/ghi d liu t DDRAM ti a ch c ch nh.
Khi ch hin th 1 hng, a ch c th t 00H n 4FH.
Khi ch hin th 2 hng, a ch t 00h n 27H cho
hng th nht, v t 40h n 67h cho hng th 2.
Read BF
and
address
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0,
R/W=1)
Nh cp trc y, khi c BF bt, LCD ang lm vic
v lnh tip theo (nu c) s b b qua nu c BF cha v
mc thp. Cho nn, khi lp trnh iu khin, bn phi kim
tra c BF trc khi ghi d liu vo LCD.
Khi c c BF, gi tr ca AC cng c xut ra cc bit
[AC]. N l a ch ca CG hay DDRAM l ty thuc vo
lnh trc
Write
data to
CG or
DDRAM
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1, R/W=0)
Khi thit lp RS=1, R/W=0, d liu cn ghi c a vo
cc chn DBx t mch ngoi s c LCD chuyn vo trong
LCD ti a ch c xc nh t lnh ghi a ch trc
(lnh ghi a ch cng xc nh lun vng RAM cn ghi).
Sau khi ghi, b m a ch AC t ng tng/gim 1 ty theo
thit lp Entry mode.Lu l thi gian cp nht AC khng
tnh vo thi gian thc thi lnh.
M lnh : DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1, R/W=1)
Khi thit lp RS=1, R/W=1,d liu t CG/DDRAM c
chuyn ra MPU thng qua cc chn DBx (a ch v vng
RAM c xc nh bng lnh ghi a ch trc ).
Read
data
from CG
or
DDRAM
Trang 96
GVHD:Thc s L nh Kha
Trang 97
GVHD:Thc s L nh Kha
Trang 98
GVHD:Thc s L nh Kha
Init LCD
Gi Data
Hin th
Trang 99
GVHD:Thc s L nh Kha
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
D0
D1
D2
D3
D4
D5
D6
D7
VDD
CON8
V0
RS
R/W
E
4
5
6
A
K
15
16
3VR
10K
LCD
J3
VCC
LCD
VSS
5
4
3
2
1
J4
CON5
Trang 100
GVHD:Thc s L nh Kha
CHNG VI : ADC
6.1 Gii thiu v module ADC.
6.1.1 C bn v ADC.
Trong cuc sng ca chng ta, nhng tn hiu m chng ta thng tip cn l tn
hiu tng t , v d nh ting ni, sng in thoi, vv... Nu chng ta x l trc tip tn
hiu tng t ny th rt kh, v vy cn thit phi chuyn i chng sang dng s.
Bin i tng t s (analog digital) l thnh phn cn thit trong vic x l
thng tin v cc cch iu khin s dng phng php s. Tn hiu thc Analog. Mt
h thng tip nhn d liu phi c cc b phn giao tip Analog Digital (A/D).
Cc b chuyn i tng t s, vit tt l ADC thc hin hai chc nng c bn l
lng t ha v m ha. Lng t ha l gn cho nhng m nh phn cho tng gi tr ri
rc sinh ra trong qu trnh lng t ha
Bin i AD c tnh cht t l. Tn hiu vo Analog c bin i thnh mt phn
s X bng cch so snh vi tn hiu tham chiu Vref. u ra ca b ADC l m ca phn
s ny. Bt k mt sai s tn hiu Vref no cng s dn n sai s mc ra, v vy ngi
ta c gn gi cho Vref cng n nh cng tt.
Vref
ADOUTPUT_a(0
B111110);C
Vin
Digital output
FS
2n
Trong :
Q
: Lng t
LSB : Bit c trng s thp nht
FS : Gi tr ton thang
Tt c cc gi tr Analog ca lng t Q c biu din bi m s, m m ny
tng ng vi gi tr trung bnh ca lng t (c th hiu l gia khong LSB) gi l
mc ngng. Cc gi tr Analog nm trong khong t mc ngng sai bit i LSB
vn c th hin bng cng mt m, l sai s lng t ha. Sai s ny c th s gim
i bng cch tng s bit trong m ra b ADC.
Sau y ti s trnh by nguyn tc chuyn i:
- Bc 1 : Ly mu t hiu n tng t ( tc l ri rc ha tn hiu tng t ) c th l
iu ch bin pha (PWM)
Trang 101
GVHD:Thc s L nh Kha
Trang 102
GVHD:Thc s L nh Kha
bng phn mm (t Vdd, Vss hoc 2 chn AN2, AN3. Module ADC l module duy nht
c kh nng hot ng trong ch ng. hot ng trong ch ng Sleep, xung
clock cung cp cho ADC phi c nhn t dao ng ni RC ca ADC.
Mt b ADC c bn gm c:
Ng vo VIN.
in p chun VREF.
Cc bit ng ra.
Quan h cc i lng ny c th m t nh sau:
N=(VIN / VREF).NMax
Vi:
N : Chuyn i thp phn ca cc bit ng ra
NMax :Gi tr thp phn ln nht ti ng ra .
Nmax ph thuc vo s lng bit ti ng ra ca ADC
V d :s dng ADC 8 bit th gi tr Nmax =28 1 =255
Khi : N=(VIN / VREF).255
6.2 S nguyn l:
L0
VCC
2
L1
1R46
10K
1R47
1DX
1C7
1RS 104
VR 10K
1C8
1C9
33p
33p
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MCLR/VPP
RB7/PGD
RA0/AN0
RB6/PGC
RA1/AN1
RB5
RA2/AN2/VRef -/CVRef RB4
RA3/AN3/VRef + RB3/PGM
RA4/T0CKI/C1OUT
RB2
RA5/AN4/SS/C2OUT
RB1
RB0/INT
RE0/RD/AN5
VDD
RE1/WR/AN6
GND
RE2/CSAN7
VDD
RD7/PSP7
GND
RD6/PSP6
OSC1/CLKI
RD5/PSP5
RD4/PSP4
OSC2/CLKO
RC0/T1OSO/T1CKI RC7/RX/DT
RC1/T1OSI/CCP2 RC6/TX/CK
RC2/CCP1
RC5/SDO
RC3/SCK/SCL RC4/SDI/SDA
RD0/PSP0
RD3/PSP3
RD1/PSP1
RD2/PSP2
VCC
L2
1U1
VCC 100
1Y1
40
39
38
37
36
35
34
33
32
31 VCC
30
29
28
27
26
25
24
23
22
21
4R2
2
L3
L4
1
L5
1
2
L6
9
8
7
6
5
4
3
2
330
1
L7
2
PIC16F877A
Trang 103
GVHD:Thc s L nh Kha
J1
8
7
6
5
4
3
2
1
R3
10k
R2
10k
R1
10k
PORT B
pht hin phm nhn ta s dng phng php qut hng. Khi khng nhn phm
th hng ca bn phm Hex ni vi Vcc thng qua in tr R nn c mc logic 1.
phn bit c trng thi ca phm nhn th mc logic khi nhn phm phi l mc logic 0.
M khi nhn mt phm no th tng ng hng v ct ca bn phm Hex s kt ni
vi nhau. Do , thc hin kim tra mt phm th ta phi cho trc ct cha phm
tng ng mc logic 0, sau kim tra hng ca phm, nu hng = 0 th c nhn phm
cn hng = 1 th khng nhn phm.
V d nh mun kim tra phm 4 th ta cho ct cha phm 4 mc logic 0(chn 4
ca J1, cc ct khc = 1), sau thc hin kim tra chn 7 ca J1 (hng ca phm 4), nu
chn ny = 0 th phm 4 c nhn.
7.2 Keypad v giao tip vi LCD.
Trong mch di LCD c ni vi Port B cn bn phm ni vi Port D.
Chng trnh ch n gin l ch xem c phm no nhn th hin th phm ln mn
hnh LCD.
Trang 104
1C7
1C9
33p
1C8
33p
VCC
100
1R47
1R46
10K
1Y 1
1RS 104
1DX
VCC
10
9
8
1
2
3
4
5
6
7
11
12
13
14
15
16
17
18
23
24
R6
R
R5
R
R4
R
RE2/CSAN7
RB7/PGD
RE1/WR/AN6
RB6/PGC
RE0/RD/AN5
RB5
RB4
MCLR/VPP
RB3/PGM
RA0/AN0
RB2
RA1/AN1
RB1
RA2/AN2/VRef -/CVRef
RB0/INT
RA3/AN3/VRef +
VDD
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
GND
RD7/PSP7
VDD
RD6/PSP6
GND
RD5/PSP5
OSC1/CLKI
RD4/PSP4
OSC2/CLKO
RC0/T1OSO/T1CKI RD3/PSP3
RC1/T1OSI/CCP2 RD2/PSP2
RD1/PSP1
RC2/CCP1
RD0/PSP0
RC3/SCK/SCL
RC4/SDI/SDA
RC7/RX/DT
RC5/SDO
RC6/TX/CK
1U1
40
39
38
37
36
35
34
33
32
31
30
29
28
27
22
21
20
19
26
25
R6
R
VCC
SW6
SW10
SW14
SW9
SW13
SW8
SW12
SW2
SW5
SW1
lcd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
U1
SW4
SW1
VCC
10k
R7
VCC
SW15
SW11
SW7
SW3
Trang 105
GVHD:Thc s L nh Kha
Bt u
Init LCD
Qut phm
C
phm
nhn
Hin th
Trang 106
GVHD:Thc s L nh Kha
Trang 107
GVHD:Thc s L nh Kha
Trang 108
GVHD:Thc s L nh Kha
Trang 109
GVHD:Thc s L nh Kha
c truyn i ln lt. Sau 8 xung clock trn dy SCL, 8 bit d liu c truyn i.
Lc ny thit b nhn, sau khi nhn 8 bt d liu s ko SDA xung mc thp to
mt xung ACK ng vi xung clock th 9 trn dy SDA bo hiu nhn 8 bit.
Thit b truyn khi nhn c bit ACK s tip tc thc hin qu trnh truyn hoc kt
thc.
Trang 110
GVHD:Thc s L nh Kha
Trang 111
GVHD:Thc s L nh Kha
Trang 112
GVHD:Thc s L nh Kha
Trang 113
GVHD:Thc s L nh Kha
Trang 114
GVHD:Thc s L nh Kha
8.2.3.2 S cu to:
8.2.3.3 S Chn
Trang 115
GVHD:Thc s L nh Kha
PRE(Protect Enable): dng b xung tnh trng ca bit Block Address Pointer
MODE: ng vo ny trn chn 7 ca 24c04 v c th c iu khin t ng. N
phi c chn l VIH hay VIL cho ch ghi cc Byte.
VIH ( Multibyte Write mode ): c th bt u trn bt c a ch no trn b nh.
Master s gi t 1 n 4 byte d liu km theo ACK bo nhn. v qu trnh truyn ch
kt thc khi c iu kin kt thc pht ra t Master.
VIL ( Page Write mode ): cho php ghi 8 bit trong 1 chu k. Do 5 bit a ch quan
trng ca b nh ( A3 n A7) l ging nhau trong 1 block. V vy Master s gi t 1
n 8 byte d liu vi bit ACK bo nhn sau mi byte c truyn. V a ch Byte bn
trong Couter s tng trong mi byte c truyn.
Khi khng kt ni mc nh l VIH .
Trang 116
GVHD:Thc s L nh Kha
VCC
U1402
1
2
3
4
7
A0
A1
A2
GND
WP
VCC
2k2
2K2
SCL
SDA
2
1
24C04A
DOMINO1401
Trang 117
GVHD:Thc s L nh Kha
Trang 118
GVHD:Thc s L nh Kha
Trang 119
GVHD:Thc s L nh Kha
PHN III
CC BI TP THC HNH
BI 1 : HIN TH TRNG THI PORT TRN LED N.
BI 2 : HIN TH TRNG THI PORT TRN LED
V THAY I THI GIAN DELAY
BI 3 : HIN TH NGY THNG NM SINH TRN LED 7
BI 4 : HIN TH NG H TRN LED 7
BI 5 : CHNG TRNH N GIAO THNG
BI 6 : CHY CH TRN LED MA TRN
BI 7 : HIN TH K T TRN LCD
BI 8 : GIAO TIP BN PHM S HEX HIN TH LCD
BI 9 : IU CHNH ADC HIN TH LED N
BI 10: O NHIT DNG LM35
Trang 120
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
iu khin vic hin th bng cch s dng LED n.
Vit cc chng trnh con to thi gian tr s dng trong cc ng dng VK.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin LED n cc ch khc nhau.
Nm c s v nguyn l hot ng ca khi LED n trn m hnh th
nghim.
Nm c nguyn l iu khin LED n cc ch khc nhau.
Bit cch vit cc chng trnh to thi gian tr vi cc khon thi gian bt k.
TRNH T TIN HNH TH NGHIM:
Tt ngun cp cho m hnh th nghim.
Dng dy bus 8 ni PortB vi LED n.
NG DNG:
Vit chng trnh cho LED chp tt theo nhiu dng khc nhau.
Trang 121
GVHD:Thc s L nh Kha
S MCH :
VCC
4R2
1
L5
L6
L7
L4
L3
1
L2
1
L1
8
7
6
5
4
3
2
1
L0
9
8
7
6
5
4
3
2
330
LEDDON
Trang 122
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
iu khin vic hin th bng cch s dng LED n.
Vit cc chng trnh con to thi gian tr s dng trong cc ng dng VK.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin LED n cc ch khc nhau.
Nm c s v nguyn l hot ng ca khi LED n trn m hnh th
nghim.
Nm c nguyn l iu khin LED n cc ch khc nhau.
Bit cch vit cc chng trnh to thi gian tr vi cc khon thi gian bt k.
TRNH T TIN HNH TH NGHIM:
Tt ngun cp cho m hnh th nghim.
Dng dy bus 8 ni PortB vi LED n.
NG DNG:
Vit chng trnh cho LED chp tt theo nhiu dng khc nhau v thay i thi
gian delay sau mi ln xut.
Trang 123
GVHD:Thc s L nh Kha
S MCH:
VCC
4R2
L6
L7
L5
L4
L3
L2
L1
8
7
6
5
4
3
2
1
L0
9
8
7
6
5
4
3
2
330
LEDDON
Trang 124
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
iu khin vic hin th bng cch s dng LED 7 on theo nhiu phng php
khc nhau.
iu khin vic hin th cc thng tin v s liu bng cch s dng cc b hin th
dng LED 7 on.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin LED 7 on.
Nm c s v nguyn l hot ng ca khi LED 7 on trn m hnh th
nghim.
Nm c nguyn l iu khin LED 7 on cc ch khc nhau.
TRNH T TIN HNH TH NGHIM:
Tt ngun cp cho m hnh th nghim.
Dng dy bus 6 ni Port A vi chn B transistor
Dng dy bus 8 ni Port B vi LED 7.
NG DNG:
S dng phng php qut th hin ngy, thng , nm ( 2 s cui) tng s chy t
LED 1 n LED 6 v hin th y trn 6 LED.
Trang 125
GVHD:Thc s L nh Kha
S MCH :
61
52
43
34
25
16
60PA
6RN3
7
8
9
10
11
12
4.7K
VCC
VC C
VC C
A
B
C
D
E
F
G
H
VC C
A
B
C
D
E
F
G
H
VC C
VC C
VC C
VC C
VC C
A
B
C
D
E
F
G
H
330
16 h
15 g
14 f
13 e
12 d
11 c
10 b
9 a
A
B
C
D
E
F
G
H
6RN2
6LED6
6LED5
A
B
C
D
E
F
G
H
1
2
3
4
5
6
7
8
VC C
VC C
8
7
6
5
4
3
2
1
6LED4
6LED3
Q6
A1015
Q5
A1015
Q4
A1015
A
B
C
D
E
F
G
H
60PC
VC C
6LED2
6LED1
Q3
A1015
VC C
Q2
A1015
Q1
A1015
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
Trang 126
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
iu khin vic hin th bng cch s dng LED 7 on theo nhiu phng php
khc nhau.
iu khin vic hin th cc thng tin v s liu bng cch s dng cc b hin th
dng LED 7 on.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin LED 7 on.
Nm c s v nguyn l hot ng ca khi LED 7 on trn m hnh th
nghim.
Nm c nguyn l iu khin LED 7 on cc ch khc nhau.
TRNH T TIN HNH TH NGHIM:
Tt ngun cp cho m hnh th nghim.
Dng dy bus 6 ni Port A vi chn B transistor
Dng dy bus 8 ni Port B vi LED 7.
NG DNG:
Vit chng trnh ng h n gin xut ra led 7(hai led u hin th gi, hai led
k hin th pht , hai led cui hin th giy).
Trang 127
GVHD:Thc s L nh Kha
S MCH :
61
52
43
34
25
16
60PA
6RN3
7
8
9
10
11
12
4.7K
VCC
h
g
f
e
d
c
b
a
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
A
B
C
D
E
F
G
H
330
16
15
14
13
12
11
10
9
A
B
C
D
E
F
G
H
6RN2
A
B
C
D
E
F
G
H
1
2
3
4
5
6
7
8
6LED6
A
B
C
D
E
F
G
H
8
7
6
5
4
3
2
1
6LED5
6LED4
Q6
A1015
A
B
C
D
E
F
G
H
60PC
6LED3
6LED2
Q5
A1015
A
B
C
D
E
F
G
H
VCC
6LED1
Q4
A1015
Q3
A1015
Q2
A1015
VCC
Q1
A1015
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
Trang 128
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
iu khin vic hin th bng cch s dng LED n v LED 7 on.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Nm c s v nguyn l hot ng ca khi mch n giao thng trn m
hnh th nghim.
Nm c nguyn l iu khin mch n giao thng.
TRNH T TIN HNH TH NGHIM
Tt ngun cp cho m hnh th nghim.
Dng dy bus 6 ni PortA vi cc LED n.
Dng dy bus 8 ni PortB vi LED 7 on pha di.
Dng dy bus 8 ni PortD vi LED 7 on pha trn.
NG DNG:
Vit chng trnh iu khin mch n giao thng c m ngc.
Trang 129
GVHD:Thc s L nh Kha
S MCH :
VCC
4R2
A
B
C
D
E
F
G
H
VCC
PORTB
8
7
6
5
4
3
2
1
9
8
7
6
5
4
3
2
VCC
330
D2
V2
X2
X1
V1
D1
PORTD
1
2
3
4
5
6
7
8
A
B
C
D
E
F
G
H
330
6
5
4
3
2
1
330
PORTA
Trang 130
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
iu khin vic hin th bng cch s dng LED ma trn.
ng dng thc hin vic hin th cc thng tin tnh v ng trn LED ma trn
dng quang bo.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin LED ma trn cc ch khc nhau.
Nm c s v nguyn l hot ng ca khi LED ma trn trn m hnh th
nghim.
Nm c nguyn l iu khin LED ma trn cc ch khc nhau.
Bit cch vit chng trnh quang bo hin th cc thng tin c yu cu
(thng tin dng tnh v dng ng).
TRNH T TIN HNH TH NGHIM
Tt ngun cp cho m hnh th nghim.
Dng dy bus 8 ni PortB vi hng ca Led Ma Trn.
Dng dy bus 8 ni PortC vi ct ca Led Ma Trn 1.
Dng dy bus 8 ni PortD vi ct Led Ma Trn 2.
NG DNG:
Vit chng trnh chy ch KIT THUC TAP PIC KHOA DIEN TU TIN
HOC .
Trang 131
GVHD:Thc s L nh Kha
S MCH :
VCC
b1
b2
Q1
A1015
c1
90PD
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
9RN
16
15
14
13
12
11
10
9
b16
b15
b14
b13
b12
b11
b10
b9
16
15
14
13
12
11
10
9
b8
b7
b6
b5
b4
b3
b2
b1
b3
Q2
A1015
c2
b4
Q3
A1015
c3
b5
Q4
A1015
c4
b6
Q5
A1015
c5
Q6 b7
A1015
c6
b8
Q7
A1015
Q8
A1015
c8
c7
VCC
b9
b10
Q9
A1015
c9
Q10 b11
A1015
c10
Q12 b13
A1015
Q11 b12
A1015
c12
c11
Q13 b14
A1015
c13
Q14 b15
A1015
c14
Q15 b16
A1015
c15
Q16
A1015
c16
4k7
1
2
3
4
5
6
7
8
9RN2
4k7
c1c2c3c4c5c6c7c8
9RN3
90PB
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
c11
c12
c13
c14
c16
c9c10
c15
16
15
14
13
12
11
10
9
h8
h7
h6
h5
h4
h3
h2
h1
h8
h7
h6
h5
h4
h3
h2
h1
13
3
4
10
6
11
15
16
MTRAN1
5
2
7
1
12
8
14
9
8
7
6
5
4
3
2
1
5
2
7
1
12
8
14
9
90PC
h8
h7
h6
h5
h4
h3
h2
h1
13
3
4
10
6
11
15
16
MTRAN2
330
Trang 132
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
Kho st nguyn l hot ng v nguyn l iu khin LCD.
iu khin hin th cc thng tin trn mn hnh tinh th lng LCD ( loi 2 hng
x 16 k t).
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin LCD.
Nm c s v nguyn l hot ng ca khi LCD trn m hnh th nghim.
Nm c nguyn l v cc k thut iu khin hin th cc thng tin trn
LCD.
Bit cch vit cc chng trnh ng dng hin th cc dng thng tin khc nhau
trn LCD ty theo nhu cu s dng.
TRNH T TIN HNH TH NGHIM
Tt ngun cp cho m hnh th nghim.
Dng dy bus 3 ni PortE vi RS,RW,E ( RS = RE0, RW = RE1, E = RE2 )
Dng dy bus 8 ni PortB vi D0 n D7.
NG DNG:
Vit chng trnh xut d liu ln LCD
Line 1 : DO AN TOT NGHIEP
Line 2 : KIT THUC TAP PIC 16F877A
Trang 133
GVHD:Thc s L nh Kha
S MCH :
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
D0
D1
D2
D3
D4
D5
D6
D7
VDD
CON8
V0
RS
R/W
E
4
5
6
A
K
15
16
3VR
10K
LCD
J3
VCC
LCD
VSS
5
4
3
2
1
J4
CON5
Trang 134
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
iu khin thit b ngoi vi bng bn phm (bn phm thit k theo kiu ma trn).
Trnh by k thut qut phm cho dng bn phm ma trn 16 phm ( 4 hng x 4
ct).
Trnh by mt s ng dng trong k thut iu khin bn phm.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin bn phm ma trn.
Nm c s v nguyn l hot ng ca khi bn phm ma trn trn m hnh
th nghim.
Nm c nguyn l v k thut qut phm cho cc dng bn phm ma trn.
Bit cch vit cc chng trnh ng dng c s dng bn phm ma trn iu
khin cc thit b ngoi vi khc nhau.
TRNH T TIN HNH TH NGHIM
Tt ngun cp cho m hnh th nghim.
Dng dy bus 3 ni PortE vi RS, RW, E ( RS = RE0, RW = RE1, E = RE2 )
Dng dy bus 8 ni PortB vi D0 n D7
Dng dy bus 8 ni PortD vi bn phm s hex
NG DNG:
Vit chng trnh mi khi c phm nhn th hin th s ln LCD.
Trang 135
GVHD:Thc s L nh Kha
S MCH :
VCC
U1
R7
VCC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10k
1DX
1R46
10K
1C7
1R47
1RS 104
100
VCC
1Y 1
1C8
1C9
33p
33p
1U1
10
9
8
1
2
3
4
5
6
7
11
12
13
14
15
16
17
18
23
24
RE2/CSAN7
RB7/PGD
RE1/WR/AN6
RB6/PGC
RB5
RE0/RD/AN5
MCLR/VPP
RB4
RA0/AN0
RB3/PGM
RA1/AN1
RB2
RA2/AN2/VRef -/CVRef
RB1
RA3/AN3/VRef +
RB0/INT
RA4/T0CKI/C1OUT
VDD
GND
RA5/AN4/SS/C2OUT
VDD
RD7/PSP7
GND
RD6/PSP6
OSC1/CLKI
RD5/PSP5
OSC2/CLKO
RD4/PSP4
RC0/T1OSO/T1CKI RD3/PSP3
RC1/T1OSI/CCP2 RD2/PSP2
RC2/CCP1
RD1/PSP1
RC3/SCK/SCL
RD0/PSP0
RC4/SDI/SDA
RC7/RX/DT
RC5/SDO
RC6/TX/CK
40
39
38
37
36
35
34
33
32
31
30
29
28
27
22
21
20
19
26
25
VCC
lcd
PIC16F877A
R6
R
R5
R
R4
R
R6
R
SW1
SW1
SW2
SW3
SW4
SW5
SW6
SW7
SW8
SW9
SW10
SW11
SW12
SW13
SW14
SW15
VCC
Trang 136
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
Gi lp tn hiu tng t cung cp cho khi ADC.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh iu khin ADC.
Nm c s v nguyn l hot ng ca khi ADC trn m hnh th nghim.
TRNH T TIN HNH TH NGHIM:
Tt ngun cp cho m hnh th nghim.
Dng dy bus 2 ni khi ADC vi PortA.0 (chn AN0).
Dng dy bus 8 ni PortB vi LED n.
NG DNG:
To mc in p thay i lin tc t 0V n 5V cho VK x l sau hin th ra
LED n.
Trang 137
GVHD:Thc s L nh Kha
S MCH :
L0
VCC
2
L1
1R46
10K
1R47
1DX
1C7
1RS 104
VR 10K
1C8
1C9
33p
33p
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MCLR/VPP
RB7/PGD
RA0/AN0
RB6/PGC
RA1/AN1
RB5
RA2/AN2/VRef -/CVRef RB4
RA3/AN3/VRef + RB3/PGM
RA4/T0CKI/C1OUT
RB2
RA5/AN4/SS/C2OUT
RB1
RE0/RD/AN5
RB0/INT
VDD
RE1/WR/AN6
GND
RE2/CSAN7
VDD
RD7/PSP7
GND
RD6/PSP6
OSC1/CLKI
RD5/PSP5
RD4/PSP4
OSC2/CLKO
RC0/T1OSO/T1CKI RC7/RX/DT
RC1/T1OSI/CCP2 RC6/TX/CK
RC2/CCP1
RC5/SDO
RC3/SCK/SCL RC4/SDI/SDA
RD0/PSP0
RD3/PSP3
RD1/PSP1
RD2/PSP2
VCC
L2
1U1
VCC 100
1Y1
40
39
38
37
36
35
34
33
32
31 VCC
30
29
28
27
26
25
24
23
22
21
4R2
2
L3
L4
1
L5
1
2
L6
9
8
7
6
5
4
3
2
330
1
L7
2
PIC16F877A
Trang 138
GVHD:Thc s L nh Kha
NHN XT
MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo
VK v s dng m hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc Port ca VK.
o nhit mi trng v khng ch nhit bng VK.
YU CU:
Nm vng cc tp lnh ca VK PIC16F877A.
Bit cch vit cc chng trnh ng dng c s dng LM35 iu khin cc
thit b ngoi vi khc nhau.
Nm c s v nguyn l hot ng ca khi o nhit trn m hnh th
nghim.
Nm c nguyn l nguyn l hot ng ca LM35.
TRNH T TIN HNH TH NGHIM
Tt ngun cp cho m hnh th nghim.
Dng dy bus 2 ni chn 2 ca LM35 vi PortA.0 (chn AN0).
Dng dy bus 3 ni PortE vi RS,RW,E ( RS = RE0, RW = RE1, E = RE2 )
Dng dy bus 8 ni PortB vi D0 n D7.
NG DNG:
Vit chng trnh hin th nhit trn LCD.
Trang 139
GVHD:Thc s L nh Kha
S MCH:
VCC
U1403
VDD
VOUT
GND
J2
1
2
3
CON1
LM35
Trang 140
GVHD:Thc s L nh Kha
PHN IV
Trang 141
GVHD:Thc s L nh Kha
Trang 142
GVHD:Thc s L nh Kha
delay_ms(250);
output_b(0b11111110);
delay_ms(250);
output_b(0b01111110);
delay_ms(250);
output_b(0b10111101);
delay_ms(250);
output_b(0b11011011);
delay_ms(250);
output_b(0b11100111);
delay_ms(250);
output_b(0b11011011);
delay_ms(250);
output_b(0b10111101);
delay_ms(250);
output_b(0b01111110);
delay_ms(250);
output_b(0b11111111);
output_b(0b00000000);
}
}
Trang 143
GVHD:Thc s L nh Kha
Trang 144
GVHD:Thc s L nh Kha
output_c(0b01111111);
delay_ms(a);
output_c(0b00111111);
delay_ms(a);
output_c(0b00011111);
delay_ms(a);
output_c(0b00001111);
delay_ms(a);
output_c(0b00000111);
delay_ms(a);
output_c(0b00000011);
delay_ms(a);
output_c(0b00000001);
delay_ms(a);
output_c(0x00);
delay_ms(a);
a=a-30;
}
a=300;
for(i=10;i>=1;i--)
{
output_c(0b01010101);
delay_ms(a);
output_c(0b10101010);
delay_ms(a);
a=a-30;
}
}
}
Trang 145
GVHD:Thc s L nh Kha
Trang 146
GVHD:Thc s L nh Kha
d=d*2;
}
}
a++;
f++;
}
delay_ms(200);
//***************kieu_3; nhap nhay 3 lan*******************
while(a<15)
{for (b=0;b<=100;b++)
{ d=1;
for (c=0;c<=5;c++)
{ e=63-d;
output_b(so[c+6]);output_a(e);delay_us(800);output_b(255);
d=d*2;
}
}
delay_ms(200);
a++;
}
//***************kieu_3; dich so sang phai*******************
f=12;
while(a<21)
{for (b=0;b<=200;b++)
{ d=1;
for (c=0;c<=5;c++)
{ e=63-d;
output_b(so[c+f]);output_a(e);delay_us(800);output_b(255);
d=d*2;
}
}
a++;
f--;
}
}
}
Trang 147
GVHD:Thc s L nh Kha
Trang 148
GVHD:Thc s L nh Kha
delay_us(1500);
output_b(255);
output_b(so[c]);
output_a(0b111011);
delay_us(1500);
output_b(255);
output_b(so[b]);
output_a(0b111101);
delay_us(1500);
output_b(255);
output_b(so[a]);
output_a(0b111110);
delay_us(1500);
output_b(255);
if (a==2)
h=3;
else
h=9;
}
}
}
}
}
}
}
}
}
Trang 149
GVHD:Thc s L nh Kha
Trang 150
GVHD:Thc s L nh Kha
{
i=9;
}
output_a(0b11110110);
for (i=9;i>=3;i--)
{
output_b(led_duoi[i]);
output_d(led_tren[i-3]);
delay_ms(1500);
output_b(255);
output_d(255);
} //xanh2 + do1
output_a(0b11101110);
for (i=3;i>=1;i--)
{
output_b(led_duoi[i-1]);
output_d(led_tren[i-1]);
delay_ms(1500);
output_b(255);
output_d(255);
} //vang2 + do1
}
}
Trang 151
GVHD:Thc s L nh Kha
Trang 152
GVHD:Thc s L nh Kha
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
0XBF,0XBF,0X80,0XBF,0XBF,0XFF //CHU T
0XBE,0XBE,0X80,0XBE,0XBE,0XFF //CHU I
0X80,0XDF,0XEF,0XF7,0X80,0XFF
//CHU N
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
0X80,0XF7,0XF7,0XF7,0X80,0XFF
//CHU H
0XC1,0XBE,0XBE,0XBE,0XC1,0XFF //CHU O
0XC1,0XBE,0XBE,0XBE,0XDD,0XFF}; //CHU C
void hienthi();
void main()
{
set_tris_b(0); output_b(0);
set_tris_d(0); output_d(0);
set_tris_c(0); output_c(0);
while (1)
{
for (i =0;i<500;i++)
{hienthi();}
if (b==239)
b=0;
else
b++;
}
}
void hienthi()
{
e=255-c;
f=255-d;
output_b(kytu[a]);
output_d(e);
output_c(f);
c=c*2;
d=d*2;
if (c==256)
{
c=0;
d=1;
}
if (d==256)
{
d=0;
c=1;
a=b;
}
if (a==239)
Trang 153
GVHD:Thc s L nh Kha
a=0;
else a++;
delay_us(250);
output_d(255);
output_c(255);
}
Trang 154
GVHD:Thc s L nh Kha
Trang 155
GVHD:Thc s L nh Kha
set_tris_B(0);
set_tris_E(0);
delay_ms(100);
LCD = 0x38;
command();
LCD = 0x0C;
command();
LCD = 0x80;
command();
while (line1[y]!='#')
{
LCD=line1[y];
send();
delay_ms(100);
y++;
}
lcd=0xC0;
command();
while(i<16)
{
lcd=line2[i];
send();
i++;
delay_ms(200);
}
i=2;
while (line2[z]!='#')
{
LCD = 0x80;
command();
y=0;
while (line1[y]!='#')
{
lcd=line1[y];
send();
y++;
}
lcd=0xc0;
command();
k=i+16;
for(z=i;z<k;z++)
{
lcd=line2[z];
send();
}
delay_ms(100);
Trang 156
GVHD:Thc s L nh Kha
i++;
delay_ms(500);
lcd=0x01;
command();
LCD = 0x82;
command();
}
while (line3[a]!='#')
{
LCD=line3[a];
send();
delay_ms(100);
a++;
}
i=0;
while (line4[b]!='#')
{
LCD = 0x80;
command();
a=0;
while (line3[a]!='#')
{
lcd=line3[a];
send();
a++;
}
lcd=0xc0;
command();
k=i+16;
for(b=i;b<k;b++)
{
lcd=line4[b];
send();
}
delay_ms(100);
i++;
delay_ms(500);
lcd=0x01;
command();
LCD = 0x82;
command();
}
}
}
Trang 157
GVHD:Thc s L nh Kha
Trang 158
GVHD:Thc s L nh Kha
{
portb=dig[a];
du_lieu();
delay_ms(100);
a++;
}
output_b(0XC0);
lenh();
delay_ms(100);
output_d(0b11111111);
while(1)
{
//****************************************************
output_d(0b11111110);
delay_ms(10);
if( input(pin_D4)==0 )
{
output_b(0x37); //ghi 7
du_lieu();
delay_ms(150);
}
if( input(PIN_D5)==0 ) //cho khi D5 xuong 0
{
output_b(0x38); //ghi 8
du_lieu();
delay_ms(150);
}
if( input(PIN_D6)==0 ) //cho khi D6 xuong 0
{
output_b(0x39); //ghi 9
du_lieu();
delay_ms(150);
}
if( input(PIN_D7)==0 ) //cho khi D7 xuong 0
{
output_b('A'); // ghi a
du_lieu();
delay_ms(150);
}
//****************************************************
output_D(0b11111101);
delay_ms(10);
if( input(PIN_D4)==0 ) //cho khi D4 xuong 0
{
output_b(0x34); //ghi 4
du_lieu();
Trang 159
GVHD:Thc s L nh Kha
delay_ms(150);
}
if( input(PIN_D5)==0 ) //cho khi D5 xuong 0
{
output_b(0x35); //ghi 5
du_lieu();
delay_ms(150);
}
if( input(PIN_D6)==0 ) //cho khi D6 xuong 0
{
output_b(0x36); //ghi 6
du_lieu();
delay_ms(150);
}
if( input(PIN_D7)==0 ) //cho khi D7 xuong 0
{
output_b('B'); //ghi b
du_lieu();
delay_ms(150);
}
//****************************************************
output_D(0b11111011);
delay_ms(10);
if( input(PIN_D4)==0 ) //cho khi D4 xuong 0
{
output_b(0x31); //ghi 1
du_lieu();
delay_ms(150);
}
if( input(PIN_D5)==0 ) //cho khi D5 xuong 0
{
output_b(0x32); //ghi 2
du_lieu();
delay_ms(150);
}
if( input(PIN_D6)==0 ) //cho khi D6 xuong 0
{
output_b(0x33); //ghi 3
du_lieu();
delay_ms(150);
}
if( input(PIN_D7)==0 ) //cho khi D7 xuong 0
{
output_b('C'); //ghi c
du_lieu();
delay_ms(150);
Trang 160
GVHD:Thc s L nh Kha
}
//****************************************************
output_D(0b11110111);
delay_ms(10);
if( input(PIN_D4)==0 ) //cho khi D4 xuong 0
{
output_b('*'); //ghi *
du_lieu();
delay_ms(150);
}
if( input(PIN_D5)==0 ) //cho khi D5 xuong 0
{
output_b(0x30); //ghi 0
du_lieu();
delay_ms(150);
}
if( input(PIN_D6)==0 ) //cho khi D6 xuong 0
{
output_b(0X01); //CLEAR
lenh();
delay_ms(150);
}
if( input(PIN_D7)==0 ) //cho khi D7 xuong 0
{
portb='D'; //ghi d
du_lieu();
delay_ms(150);
}
}
}
Trang 161
GVHD:Thc s L nh Kha
Trang 162
GVHD:Thc s L nh Kha
Trang 163
GVHD:Thc s L nh Kha
Setup_ADC_ports (AN0);
Set_ADC_channel ( 0 ) ;
Delay_us (10 ); // delay 10 us
set_tris_e(0);output_e(0);
set_tris_b(0);output_b(0);
set_tris_c(0);output_c(0);
While(true)
{
lcd=0x38;
command();
lcd =0x0c;
command();
lcd=0X01;
command();
delay_ms(1);
LCD =0xC0;
command();
a=0;
while(line_3[a]!='#')
{
lcd = line_3[a];
write_data();
a++;
}
adc =4* read_adc ( ) ;//doc gia tri adc
lcd=0xc9;
command();
for (i=1;i<=2;i++)
{lcd = line_2[adc];
write_data();
adc++;
}
lcd=0xcb;
command();
a=0;
while(line_4[a]!='#')
{
lcd = line_4[a];
write_data();
a++;
}
lcd=0x80;
command();
a=0;
While (a<=16)
Trang 164
GVHD:Thc s L nh Kha
{
LCD = line_1[a];
write_data();
Delay_ms(100);
a++;
}
b=0;
LCD =0xc0;
command();
while (line_1[a]!='#')
{
a=0;
while(line_3[a]!='#')
{
lcd = line_3[a];
write_data();
a++;
}
adc = 4*read_adc ( ) ;
lcd=0xc9;
command();
for (i=1;i<=2;i++)
{
lcd = line_2[adc];
write_data();
adc++;
}
lcd=0xcb;
command();
a=0;
while(line_4[a]!='#')
{
lcd = line_4[a];
write_data();
a++;
}
b++;
a=b;
i=0;
lcd =0x80;
command();
while (i<=16)
{
lcd = line_1[a];
write_data();
a++;
Trang 165
GVHD:Thc s L nh Kha
i++;
}
delay_ms(300);
}
a=0;
}
}
Trang 166
GVHD:Thc s L nh Kha
PHN V
PH LC
Ph lc 1 : 16F877A.H
Ph lc 2 : DEFS_16F877A.H
Trang 167
GVHD:Thc s L nh Kha
16FF877A.H
//////// Standard Header file for the PIC16F877 device ////////////////
#device PIC16F877
#nolist
//////// Program memory: 8192x14 Data RAM: 367 Stack: 8
//////// I/O: 33 Analog Pins: 8
//////// Data EEPROM: 256
//////// C Scratch area: 77 ID Location: 2000
//////// Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,PROTECT_5%
//////// Fuses:
PROTECT_50%,NOPROTECT,NOBROWNOUT,BROWNOUT,LVP,NOLVP,CPD
//////// Fuses: NOCPD,WRT,NOWRT,DEBUG,NODEBUG
////////
////////////////////////////////////////////////////////////////// I/O
// Discrete I/O Functions: SET_TRIS_x(), OUTPUT_x(), INPUT_x(),
//
PORT_x_PULLUPS(), INPUT(),
//
OUTPUT_LOW(), OUTPUT_HIGH(),
//
OUTPUT_FLOAT(), OUTPUT_BIT()
// Constants used to identify pins in the above are:
#define PIN_A0
#define PIN_A1
#define PIN_A2
#define PIN_A3
#define PIN_A4
#define PIN_A5
40
41
42
43
44
45
#define PIN_B0
#define PIN_B1
#define PIN_B2
#define PIN_B3
#define PIN_B4
#define PIN_B5
#define PIN_B6
#define PIN_B7
48
49
50
51
52
53
54
55
#define PIN_C0
#define PIN_C1
#define PIN_C2
#define PIN_C3
#define PIN_C4
#define PIN_C5
56
57
58
59
60
61
Trang 168
GVHD:Thc s L nh Kha
#define PIN_C6 62
#define PIN_C7 63
#define PIN_D0
#define PIN_D1
#define PIN_D2
#define PIN_D3
#define PIN_D4
#define PIN_D5
#define PIN_D6
#define PIN_D7
64
65
66
67
68
69
70
71
#define PIN_E0 72
#define PIN_E1 73
#define PIN_E2 74
////////////////////////////////////////////////////////////////// Useful defines
#define FALSE 0
#define TRUE 1
#define BYTE int
#define BOOLEAN short int
#define getc getch
#define fgetc getch
#define getchar getch
#define putc putchar
#define fputc putchar
#define fgets gets
#define fputs puts
////////////////////////////////////////////////////////////////// Control
// Control Functions: RESET_CPU(), SLEEP(), RESTART_CAUSE()
// Constants returned from RESTART_CAUSE() are:
#define WDT_FROM_SLEEP 3
#define WDT_TIMEOUT 11
#define MCLR_FROM_SLEEP 19
#define MCLR_FROM_RUN 27
#define NORMAL_POWER_UP 24
#define BROWNOUT_RESTART 26
////////////////////////////////////////////////////////////////// Timer 0
// Timer 0 (AKA RTCC)Functions: SETUP_COUNTERS() or SETUP_TIMER_0(),
//
SET_TIMER0() or SET_RTCC(),
//
GET_TIMER0() or GET_RTCC()
Trang 169
GVHD:Thc s L nh Kha
8
0
1
2
3
4
5
6
7
#define RTCC_8_BIT
0x8008
9
10
11
12
13
14
15
////////////////////////////////////////////////////////////////// Timer 1
// Timer 1 Functions: SETUP_TIMER_1, GET_TIMER1, SET_TIMER1
// Constants used for SETUP_TIMER_1() are:
// (or (via |) together constants from each group)
#define T1_DISABLED
0
#define T1_INTERNAL
0x85
#define T1_EXTERNAL
0x87
#define T1_EXTERNAL_SYNC 0x83
#define T1_CLK_OUT
Trang 170
#define T1_DIV_BY_1
#define T1_DIV_BY_2
#define T1_DIV_BY_4
#define T1_DIV_BY_8
GVHD:Thc s L nh Kha
0
0x10
0x20
0x30
////////////////////////////////////////////////////////////////// Timer 2
// Timer 2 Functions: SETUP_TIMER_2, GET_TIMER2, SET_TIMER2
// Constants used for SETUP_TIMER_2() are:
#define T2_DISABLED
0
#define T2_DIV_BY_1
4
#define T2_DIV_BY_4
5
#define T2_DIV_BY_16
6
////////////////////////////////////////////////////////////////// CCP
// CCP Functions: SETUP_CCPx, SET_PWMx_DUTY
// CCP Variables: CCP_x, CCP_x_LOW, CCP_x_HIGH
// Constants used for SETUP_CCPx() are:
#define CCP_OFF
0
#define CCP_CAPTURE_FE
4
#define CCP_CAPTURE_RE
5
#define CCP_CAPTURE_DIV_4
6
#define CCP_CAPTURE_DIV_16
7
#define CCP_COMPARE_SET_ON_MATCH
8
#define CCP_COMPARE_CLR_ON_MATCH
9
#define CCP_COMPARE_INT
0xA
#define CCP_COMPARE_RESET_TIMER
0xB
#define CCP_PWM
0xC
#define CCP_PWM_PLUS_1
0x1c
#define CCP_PWM_PLUS_2
0x2c
#define CCP_PWM_PLUS_3
0x3c
long CCP_1;
#byte CCP_1 =
0x15
#byte CCP_1_LOW=
0x15
#byte CCP_1_HIGH=
0x16
long CCP_2;
#byte CCP_2 =
0x1B
#byte CCP_2_LOW=
0x1B
#byte CCP_2_HIGH=
0x1C
////////////////////////////////////////////////////////////////// PSP
// PSP Functions: SETUP_PSP, PSP_INPUT_FULL(), PSP_OUTPUT_FULL(),
//
PSP_OVERFLOW(), INPUT_D(), OUTPUT_D()
// PSP Variables: PSP_DATA
// Constants used in SETUP_PSP() are:
#define PSP_ENABLED
0x10
#define PSP_DISABLED
0
Trang 171
#byte PSP_DATA=
GVHD:Thc s L nh Kha
////////////////////////////////////////////////////////////////// SPI
// SPI Functions: SETUP_SPI, SPI_WRITE, SPI_READ, SPI_DATA_IN
// Constants used in SETUP_SPI() are:
#define SPI_MASTER
0x20
#define SPI_SLAVE
0x24
#define SPI_L_TO_H
0
#define SPI_H_TO_L
0x10
#define SPI_CLK_DIV_4 0
#define SPI_CLK_DIV_16 1
#define SPI_CLK_DIV_64 2
#define SPI_CLK_T2
3
#define SPI_SS_DISABLED 1
#define SPI_SAMPLE_AT_END 0x8000
#define SPI_XMIT_L_TO_H 0x4000
////////////////////////////////////////////////////////////////// UART
// Constants used in setup_uart() are:
// FALSE - Turn UART off
// TRUE - Turn UART on
#define UART_ADDRESS
2
#define UART_DATA
4
////////////////////////////////////////////////////////////////// ADC
// ADC Functions: SETUP_ADC(), SETUP_ADC_PORTS() (aka SETUP_PORT_A),
//
SET_ADC_CHANNEL(), READ_ADC()
// Constants used for SETUP_ADC() are:
#define ADC_OFF
0
// ADC Off
#define ADC_CLOCK_DIV_2 0x100
#define ADC_CLOCK_DIV_8 0x40
#define ADC_CLOCK_DIV_32 0x80
#define ADC_CLOCK_INTERNAL 0xc0
// Internal 2-6us
// Constants used in SETUP_ADC_PORTS() are:
#define NO_ANALOGS
7 // None
#define ALL_ANALOG
0 // A0 A1 A2 A3 A5 E0 E1 E2
#define AN0_AN1_AN2_AN4_AN5_AN6_AN7_VSS_VREF 1 // A0 A1 A2 A5 E0
E1 E2 VRefh=A3
#define AN0_AN1_AN2_AN3_AN4
2 // A0 A1 A2 A3 A5
#define AN0_AN1_AN2_AN4_VSS_VREF
3 // A0 A1 A2 A4 VRefh=A3
#define AN0_AN1_AN3
4 // A0 A1 A3
Trang 172
GVHD:Thc s L nh Kha
#define AN0_AN1_VSS_VREF
5 // A0 A1 VRefh=A3
#define AN0_AN1_AN4_AN5_AN6_AN7_VREF_VREF 0x08 // A0 A1 A5 E0 E1 E2
VRefh=A3 VRefl=A2
#define AN0_AN1_AN2_AN3_AN4_AN5
0x09 // A0 A1 A2 A3 A5 E0
#define AN0_AN1_AN2_AN4_AN5_VSS_VREF 0x0A // A0 A1 A2 A5 E0
VRefh=A3
#define AN0_AN1_AN4_AN5_VREF_VREF
0x0B // A0 A1 A5 E0 VRefh=A3
VRefl=A2
#define AN0_AN1_AN4_VREF_VREF
0x0C // A0 A1 A4 VRefh=A3
VRefl=A2
#define AN0_AN1_VREF_VREF
0x0D // A0 A1 VRefh=A3 VRefl=A2
#define AN0
0x0E // A0
#define AN0_VREF_VREF
0x0F // A0 VRefh=A3 VRefl=A2
#define ANALOG_RA3_REF
0x1
//!old only provided for compatibility
#define A_ANALOG
0x2
//!old only provided for compatibility
#define A_ANALOG_RA3_REF
0x3
//!old only provided for compatibility
#define RA0_RA1_RA3_ANALOG 0x4
//!old only provided for compatibility
#define RA0_RA1_ANALOG_RA3_REF 0x5
//!old only provided for
compatibility
#define ANALOG_RA3_RA2_REF
0x8 //!old only provided for compatibility
#define ANALOG_NOT_RE1_RE2
0x9 //!old only provided for compatibility
#define ANALOG_NOT_RE1_RE2_REF_RA3 0xA //!old only provided for
compatibility
#define ANALOG_NOT_RE1_RE2_REF_RA3_RA2 0xB //!old only provided for
compatibility
#define A_ANALOG_RA3_RA2_REF
0xC //!old only provided for
compatibility
#define RA0_RA1_ANALOG_RA3_RA2_REF 0xD //!old only provided for
compatibility
#define RA0_ANALOG
0xE //!old only provided for compatibility
#define RA0_ANALOG_RA3_RA2_REF
0xF //!old only provided for
compatibility
// Constants used in READ_ADC() are:
#define ADC_START_AND_READ 7 // This is the default if nothing is specified
#define ADC_START_ONLY
1
#define ADC_READ_ONLY
6
////////////////////////////////////////////////////////////////// INT
// Interrupt Functions: ENABLE_INTERRUPTS(), DISABLE_INTERRUPTS(),
//
EXT_INT_EDGE()
//
// Constants used in EXT_INT_EDGE() are:
Trang 173
GVHD:Thc s L nh Kha
#define L_TO_H
0x40
#define H_TO_L
0
// Constants used in ENABLE/DISABLE_INTERRUPTS() are:
#define GLOBAL
0x0BC0
#define INT_RTCC
0x0B20
#define INT_RB
0xFF0B08
#define INT_EXT
0x0B10
#define INT_AD
0x8C40
#define INT_TBE
0x8C10
#define INT_RDA
0x8C20
#define INT_TIMER1
0x8C01
#define INT_TIMER2
0x8C02
#define INT_CCP1
0x8C04
#define INT_CCP2
0x8D01
#define INT_SSP
0x8C08
#define INT_PSP
0x8C80
#define INT_BUSCOL
0x8D08
#define INT_EEPROM
0x8D10
#define INT_TIMER0
0x0B20
#list
Trang 174
GVHD:Thc s L nh Kha
DEFS_16F877A.H
//========================= Register Definitions
==========================
//-----Register Files-----------------------------------------------------#byte PORTA = 0x05
#byte PORTB = 0x06
#byte PORTC = 0x07
#byte PORTD = 0x08
#byte PORTE = 0x09
#byte EEDATA = 0x10C
#byte EEADR = 0x10D
#byte EEDATH = 0x10E
#byte EEADRH = 0x10F
#byte EECON1 = 0x18C
#byte EECON2 = 0x18D
#byte PR2
= 0x92
#bit RA4
#bit RA3
#bit RA2
#bit RA1
#bit RA0
= 0x05.4
= 0x05.3
= 0x05.2
= 0x05.1
= 0x05.0
#bit RB7
#bit RB6
#bit RB5
#bit RB4
#bit RB3
#bit RB2
#bit RB1
#bit RB0
= 0x06.7
= 0x06.6
= 0x06.5
= 0x06.4
= 0x06.3
= 0x06.2
= 0x06.1
= 0x06.0
#bit RC7
#bit RC6
#bit RC5
#bit RC4
#bit RC3
#bit RC2
#bit RC1
#bit RC0
= 0x07.7
= 0x07.6
= 0x07.5
= 0x07.4
= 0x07.3
= 0x07.2
= 0x07.1
= 0x07.0
Trang 175
#bit RD7
#bit RD6
#bit RD5
#bit RD4
#bit RD3
#bit RD2
#bit RD1
#bit RD0
= 0x08.7
= 0x08.6
= 0x08.5
= 0x08.4
= 0x08.3
= 0x08.2
= 0x08.1
= 0x08.0
#bit RE2
#bit RE1
#bit RE0
= 0x09.2
= 0x09.1
= 0x09.0
GVHD:Thc s L nh Kha
GIE = 0x0b.7
PEIE = 0x0b.6
TMR0IE = 0x0b.5
INTE = 0x0b.4
RBIE = 0x0b.3
TMR0IF = 0x0b.2
INTF = 0x0b.1
RBIF = 0x0b.0
= 0x0d.6
= 0x0d.4
= 0x0d.3
= 0x0d.0
= 0x8c.7
Trang 176
GVHD:Thc s L nh Kha
= 0x8d.6
= 0x8d.4
= 0x8d.3
= 0x8d.0
Trang 177