Professional Documents
Culture Documents
com
NHN XT CA GIO VIN HNG DN:
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
Gio vin hng dn
CLBViXuLy.com
CLBViXuLy.com
MC LC
I-M bi
1-V tr ca ti.............................................................. 3
2-Tnh hnh nghin cu hin nay ..................................... 3
3-Cch tip cn ty .................................. ................... 3
II-La chn phng n
-La chn phng n..3
-S phn cng v lu 6
III-Gii thiu linh kin v phn mn
A-Vi iu khin PIC 18F2550.7
1-Gii thiu s lc v PIC 18F2550 .7
2- S chn v chc nng cc chn .8
3- c tnh in....8
4-Cc thanh ghi....9
B-Gii thiu usb.....12
1-Nhn bit tc trn bus....14
2- Cc trng thi usb... ......14
3-Truyn thng qua bus USB15
C- LED MA TRN
1. Gii thiu v led ma trn21
2.Cu to v phng php iu khin led ma trn22
D- Cc linh kin khc
1- ULN2803 22
2-TPIC6B595.22
3- Transistor D46825.25
IV-Tnh tan tng khi
1-Khi giao tip
usb 25
2-Khi iu khin v hin th 25
3) Tnh cng sut:.. .28
4-Khi ngun...28
IV-Phn mn. 28
V-Kt qu ..35
VI-Kt lun... 36
CLBViXuLy.com
CLBViXuLy.com
I-M bi:
1) V tr ca ti: Ngy nay vi s pht trin ca nn cng nghip
in t th vn giao tip n gin, tc truyn v x l d liu
ngy cng c ch trng. Chun giao tip USB ngy cng c s
dng rng ri p ng nhng yu cu trn thay th dn cho giao
tip cng com, lpt c tc thp hn.
2) Tnh hnh nghin cu hin nay:
- Vit Nam:
+ Ti cc trng i hc c nhiu ti giao tip my tnh vi vi
iu khin AVR bng cng usb, cn vi PIC th c rt t ti v ch
yu giao tip qua lp HID.
+ Trn th trng c cc doanh nghip giao tip thnh cng v t vit
driver cho thit b v truyn vi tc cao.
- Trn th gii: vn giao tip my tnh vi vi iu khin qua cng usb
c nghin cu rt lu, v c rt nhiu sn phm nh cc kit th nghim, mch
np cng usb...
3) Tip cn ti:
-C cc kin thc c bn v k thut s, vi iu khin PIC, in t c bn,
kin thc c bn v chun usb, lp trnh C (hoc ngn ng lp trnh khc)...
*Hng gii quyt ti:
- Tm hiu cc linh kin lin quan n ti, so snh tnh u vit ca cc
linh kin tng quan nhm la chn linh kin thit k cho ph hp.
- Thit k mch.
- Chy m phng.
- Thi hnh mch.
CLBViXuLy.com
CLBViXuLy.com
1) La chn vi iu khin:
CLBViXuLy.com
-LCD cng hin th c nhiu thng tin nhng c ch nh. Do
ti chn led ma trn
3) La phn mm:
Trn th trng c nhiu chng trnh bin dch C cho vi iu khin
PIC18. Cc trnh bn dch ny c nhiu c tnh ging nhau, v chng dng
pht trin chng trnh C cho PIC18.
Vi trnh bin dch C thng c dng:
-MikroC
-PICC18
-C18
-CCS
MikroC: c xy dng bi MikroElektronika. D dng hc vi mt s
lng ln hm c h tr lp trnh, v c h tr cc hm giao tip usb, v c
sn giao din.
PICC18: c xy dng bi Hi-Tech Software, vi hai phin bn standard
and professional. PICC18 c h tr bi phn mm m phng PROTEUS dng
m phng vi iu khin PIC.
C18: c xy dng bi Microchip Inc, bao gm vic m phng, h tr
phn cng.
CCS: c xy dng bi Custom Computer Systems Inc, cung cp mt s
lng ln cc hm lp trnh v cc mch debugger , chng rt hu ch pht
trin PIC v c h tr cc hm giao tip usb.
CLBViXuLy.com
CLBViXuLy.com
b) Phn mm: Lu
CLBViXuLy.com
CLBViXuLy.com
CLBViXuLy.com
-B nh chng trnh : 32768 bytes.
-C giao tip ni tip MSSP, ENHANCED UART.
-Giao tip song song PSP.
-C 19 ngun ngt.
- Tn s hot ng: 0-48MHz.
2- S chn v chc nng cc chn.
S chn:
CLBViXuLy.com
-VUSB (chn 14): chn ngun USB 3,3V.
-Vss (chn 8,19) : chn GND.
-VDD (chn 20): chn ngun dng.
3- c tnh in:
- Dng in vo /ra =25mA.
4-Cc thanh ghi:
- Ch hot ng ca USB c ci t v qun l bi cc thanh ghi
iu khin:
+USB control register (UCON).
+USB configuration registor (UCFG).
+USB transfer status register (USTAT).
+USB device Address register (UADDR).
Thanh ghi UCON: cha cc bit cn thit iu khin hot ng ca
module trong qu trnh chuyn i. Thanh ghi cha cc bit c th iu khin:
-Cho php thit b ngoi vi USB.
- Reset Ping-Pong buffer pointer
- iu khin ch suspend.
-Cm chuyn i gi.
CLBViXuLy.com
CLBViXuLy.com
CLBViXuLy.com
10
CLBViXuLy.com
CLBViXuLy.com
11
CLBViXuLy.com
12
CLBViXuLy.com
High-speed :480 Mbps
Usb bus c th cung cp ngun ti a cho thit bi n 100mA vi ngun 5v.
Cp usb s dng dy c 4 li vi 2 u cp c che kn, c 2 loi u ni usb
kiu A v kiu B.
Th t chn
ngha cc chn
CLBViXuLy.com
13
CLBViXuLy.com
Dy tn hiu usb c 2 dy, tn hiu c gi t my ch s dung k thut m
ho NRTI, Trong k thut ny tn hiu c o ngc cho s thay i vi mc
logic 0.Tn hiu cho mc logix 1 l khng i.
CLBViXuLy.com
14
CLBViXuLy.com
Reset: trng thi m khi host bt u kt ni vi mt thit b. Mt tn hiu
reset c gi n bng cch ko 2 dy tn hiu xung mc thp(SE0) trong t
nht 10ms.
EOP : (end of pakaged state) i loi l trng thi SE0 cho thi gian truyn
hai bit v trng thi k state trong thi gian truyn mt bit
Keep alive: trng thi c gi bng EOP. Trang thi ny c gi mi 1
mili giy gi thit b khng b gin on.
Suspend : ch nh ch dng tit kim nng lng. S khng truyn bt
c g n thit b khang 3ms, 1 tht b b nh ch tiu tn khong 0.5mA t
bus, v c th nhn bit c tn hiu reset, v kt ni tip tc.
Resume : 1 tht b b nh ch c nh thc, bng vic o ngc tn hiu
trong t nht 20ms, theo sau l 1 tn hiu EOP chm.
3-Truyn thng qua bus USB
Mi thit b c cm vo bus usb n s c host nh cho 1 a ch duy
nht v khng c tht b ph no c php gi tn hiu ln bus nu n khng
c host ra lnh. Khi c 1 thit b c ni vo bus, host s ly thng tin t a
ch 0 bit cc thng tin c bn v thit b v sau host s gn cho thit b ny
1 a ch duy nht, tip theo host s ly thm cc thng tin c th hn t thit b
nh tn sn phm, nh sn xut, dung lng ca thit b, s hiu sn phm lc
ny nhng giao tip hai chiu c bt u.
3.1 Gi d liu
D liu c gi qua li trn bus usb theo gi. Gi d liu cha 1 tn hiu
ng b, 1 byte PID, 0- 1024 byte d liu, 1 tn hiu kim tra li CRC v EOP.
CLBViXuLy.com
15
CLBViXuLy.com
16
CLBViXuLy.com
full-speed, v 1024 vi ch full-speed. (kiu ny khng h tr ch low
speed).
-Control transfer: kiu truyn d liu 2 chiu s dng c in v out endpoint.
Host s dng cu hnh ban u ca thit b. Kch thc ti a ca gi d liu l 8
byte low-speed, 8-64 byte full-speed v 64 byte high-speed.
3.3 ENUMERATION (Qu trnh lit k)
Khi c 1 thit b usb c cm vo, thit b ny s c nhn bit bi host
qua mt qu trnh c gi l qu trnh lit k. Cc bc ca qu trnh lit k:
+Khi thit b cm vo, host s nhn bit usb, do 1 trong 2 chn tn hiu (D+,
D-) s ni n mc logic 1.
+Host s gi n usb mt tn hiu reset c th nhn bit trng thi ca n,
reset thit b v a ch 0.
+Host s gi 1 yu cu trn a ch 0 ti thit b tm kch thc ti a ca
gi d liu bng lnh get descriptor(m t thit b)
+Thit b p ng li bng cch gi 1 phn nh thng tin m t thit b.
+Host gi tn hiu reset usb 1 ln na
+Host gn cho thit b 1 a ch duy nht, v gi n thit b mt yu cu lp
a ch n thit b. Sau khi hon tt yu cu, thit b c b sung a ch mi.
V t lc ny host c th nhn bit cc thit b mi hn cm vo bus.
+Host gi yu cuget divice descritor (m t thng tin thit b) c th
nhn bit hon ton cc thng tin v thit b (thng tin v kiu thit b, lp thit
b)
+Host gi yu cu v get configuration description (m t cu hnh)
bit thng tin cu hnh nh yu cu v nng lng, kiu v s ca nhng giao
din c h tr.
+Host yu cu cc thng tin thm v m t thit b.
Ban u thit b c nh a ch tuy nhin n vn cha th dnh xong cu
hnh, sau khi host tp trung tt c thng tin v thit b, my tnh ti trnh iu
khin thit b (device driver) bng cch gi cho n yu cu set configuration
(t cu hnh), k t y tht b c t cu hnh v sn sng p ng nhng
yu cu t bit t my tnh (truyn ,nhn d liu ...).
3.4 Descriptors: m t
-Tt c cc usb u c 1 s phn cp cc m t cho cc t tnh khc nhau
ca tng thit b: s hiu sn phm, phin bn thit b, phin bn usb m n h
tr.
Nhng m t chung nht:
+ M t thit b
+ M t cu hnh
+ M t giao tip
+ M t HID
CLBViXuLy.com
17
CLBViXuLy.com
+ M t endpoint.
CLBViXuLy.com
18
CLBViXuLy.com
-bdeviceclass, bdevicesubclass v bdeviceprotocol: c gn bi usb v
c s dng bi h thng tm lp diver cho thit b.
-bmaxpacketsize0: kch thc ti a ca in v output cho 1 endpoint.
-idvendor: id ca nh cung cp.
-idproduct: id ca sn phm c gn bi nh cung cp.
-bcddivice: s phin bn ca thit b.
3.4.2- CONFUGURATION DESCRIPTOR (m t cu hnh)
-M t cu hnh a ra cc thng tin v nng lng cn c, s giao din m
n h tr, c th c nhiu hn 1 cu hnh cho 1 thit b.
CLBViXuLy.com
19
CLBViXuLy.com
Blenght: chiu di ca bn m t.
Bdescriptor: kiu bn m t.
Bcdhid: m t lp hid.
Bcountrycode: m nc.
Bnumdescriptor: ch ra nhng m t thm c lin h vi lp ny.
CLBViXuLy.com
20
CLBViXuLy.com
Bdescriptortype: ch ra kiu nhng m t thm bnumdescriptor.
Wdescriptorlenght: chiu di ca bn m t b sung.
3.4.5- B m t Endpoint
Mi Endpoint c ch r trong mt b m t giao din c b m t
Endpoint.
Endpoint 0 khng bao gi c b m t bi v cc thit b u h tr Endpoint
0, b m t thit b cha kch thc ti a ca gi tin, v k thut USB nh
ngha nhng th khc v Endpoint. Bng 5-8 lit k 6 trng ca b m t
Endpoint theo th t chng xut hin trong b m t. Nhng s m t di y
c nhm theo chc nng.
C- LED MA TRN:
1. Gii thiu v led ma trn:
Led ma trn l 1 tp cc led n c b tr theo dng ma trn cho php hin
th c cc k t bt k. Cc nh ch to tch hp cc dng ma trn tnh theo
led 5*7 (5 ct v 7 hng) hoc 8x8 (8 ct v 8 hng) v tnh theo kch thc v
phn bit theo mu ca led, cui cng l phn bit led sng trong nh (indoor)
hay led sng ngai tri (outdoor). Led sng trong nh th khng th dng c
ngoi tri v nh sng mt tri chiu vo lm chng ta khng nhn thy r, ch c
led outdoor mi thy r, v d nhin led outdoor s c gi thnh cao hn.
Gii thiu led ma trn 5x7 vi 4 mu khc nhau:
CLBViXuLy.com
21
CLBViXuLy.com
CLBViXuLy.com
22
CLBViXuLy.com
y l IC m, o.
in p ng ra ln ti 50v. Dng ng ra ti a 500mA.
2-TPIC6B595:
CLBViXuLy.com
23
CLBViXuLy.com
y l IC dch 8 bit.
Dng ng ra ti a 500mA.
in p ng vo -0,3v - 7v. in p ng ra ln ti 50V.
in p cp cho IC: 5v.
CLBViXuLy.com
24
CLBViXuLy.com
G\: chn cho php ng ra.
SER IN: chn d liu.
SRCK: chn dch d liu tng th nht.
RCK: chn cht d liu ng ra.
SRCLR\: chn xo ng ra.
3- Transistor D468:
Dng Ic=1A.
H s khuch i: 85 170.
in p nh thng Vce=20V; Vcb= 25V.
in p Vce-sat=0.5V.
VI- Thit k mch:
1- Khi giao tip usb:
VDD
R5
10K
SW2
RESET
U2
C5
10uf
33pf
Y2
20MHz
33pf
33pf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
MCLR
RB7
RA0
RB6
RA1
RB5
RA2
RB4
RA3
RB3
RA4
RB2
RA5
RB1
VSS
RB0
OSC1/CLKIN
Vdd
OSC2/CLKOUT
VSS
RC0
RC7
RC1
RC6
RC2
RC5/D+
Vusb
RC4/D-
28
27
26
25
24
23
22
21
20
19
18
17
16
15
VDD
VSS
D+
D-
1
2
3
4
USB
PIC18F2550
25
CLBViXuLy.com
Bnh thng led lm vic t 10mA -20mA, p l 2V.
Khi lm vic bnh thng (khng dng phng php qut) chn dng lm
vic 20mA. Khi in tr trn mi led l:
Rled=2/20=0.1(k )=100( ).
Khi dng phng php qut th dng tc thi phi bng 32 ln dng lm vic
bnh thng tc bng 640mA (do s dng 4 led ma trn 8x8), khi dng trung
bnh Iled-tb=640/32=20(mA). Do dng tc thi ln hn 500mA, nn dng D468
khuch i dng. Chn sat =90, khi dng IB=640/90=7mA. Do chn gi
tr in tr nh s .
12V
R16
CH0
D468
H1
4.7K
12V
12V
1
R17
CH1
D468
R20
4.7K
H2
4.7K
12V
9
8
7
6
5
4
3
2
R18
U6
RB0-RB7
CH2
D468
H3
12V
1
2
3
4
5
6
7
8
12V
COM
10
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
GND
4.7K
1
2
3
4
5
6
7
8
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
CH0
CH1
CH2
CH3
CH4
CH5
CH6
CH7
18
17
16
15
14
13
12
11
R19
CH3
D468
4.7K
H4
12V
R25
CH4
D468
H5
4.7K
12V
ULN2803
R26
H1
H2
H3
H4
H5
H6
H7
H8
1
2
3
4
5
6
7
8
CH5
D468
H6
4.7K
12V
R27
CH6
D468
H7
12V
4.7K
DATA
R24
CH7
D468
4.7K
H8
CLBViXuLy.com
26
CLBViXuLy.com
5V
VCC
NC0
NC1
TPIC6595
GND
1
20
G
SRCLR
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
4
5
6
7
14
15
16
17
18
M2_D0
M2_D1
M2_D2
M2_D3
M2_D4
M2_D5
M2_D6
M2_D7
4
5
6
7
14
15
16
17
18
M4_D0
M4_D1
M4_D2
M4_D3
M4_D4
M4_D5
M4_D6
M4_D7
19
DG\
9
DSRCLR\ 8
RCK
SRCK
GND
DRCK
12
DSRCK 13
SER IN
GND
11
GND
4
5
6
7
14
15
16
17
18
10
TPIC6595
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
M1_D0
M1_D1
M1_D2
M1_D3
M1_D4
M1_D5
M1_D6
M1_D7
19
GND
NC0
NC1
GND
1
20
11
DSER IN
DRCK
DSRCK
DSRCLR\
DG\
G
SRCLR
10
1
2
3
4
5
RCK
SRCK
DG\
9
DSRCLR\ 8
RC0-RC7
VCC
SER IN
DRCK
12
DSRCK 13
U6
U5
DSER IN 3
5V
QUET COT DO
5V
5V
NC0
NC1
CLBViXuLy.com
19
11
10
TPIC6595
TPIC6595
GND
1
20
VCC
G
SRCLR
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
19
DG\
9
DSRCLR\ 8
RCK
SRCK
GND
DRCK 12
DSRCK13
SER IN
11
M3_D0
M3_D1
M3_D2
M3_D3
M3_D4
M3_D5
M3_D6
M3_D7
GND
VCC
NC0
NC1
4
5
6
7
14
15
16
17
18
10
1
20
G
SRCLR
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
GND
DG\
9
DSRCLR\ 8
RCK
SRCK
GND
DRCK 12
DSRCK13
SER IN
GND
U8
U7
27
CLBViXuLy.com
5V
TPIC6595
1
20
2
VCC
G
SRCLR
NC0
NC1
TPIC6595
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
GND
9
8
RCK
SRCK
GND
G\
SRCLR\
12
13
GND
RCK
SRCK
SER IN
4
5
6
7
14
15
16
17
18
M2_D0
M2_D1
M2_D2
M2_D3
M2_D4
M2_D5
M2_D6
M2_D7
4
5
6
7
14
15
16
17
18
M4_D0
M4_D1
M4_D2
M4_D3
M4_D4
M4_D5
M4_D6
M4_D7
19
10
NC0
NC1
11
1
20
4
5
6
7
14
15
16
17
18
10
G
SRCLR
GND
9
8
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
M1_D0
M1_D1
M1_D2
M1_D3
M1_D4
M1_D5
M1_D6
M1_D7
19
VCC
RCK
SRCK
GND
SER IN
RCK
SRCK
SRCLR\
G\
1
2
3
4
5
12
13
GND
G\
SRCLR\
RA0-RA4
SER IN
11
RCK
SRCK
U6
U5
SER IN
5V
QUET COT
5V
5V
1
20
19
11
10
TPIC6595
VCC
G
SRCLR
NC0
NC1
TPIC6595
GND
9
8
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
19
G\
SRCLR\
RCK
SRCK
GND
RCK 12
SRCK 13
SER IN
11
VCC
NC0
NC1
M3_D0
M3_D1
M3_D2
M3_D3
M3_D4
M3_D5
M3_D6
M3_D7
10
1
20
G
SRCLR
4
5
6
7
14
15
16
17
18
GND
9
8
DRAIN0
DRAIN1
DRAIN2
DRAIN3
DRAIN4
DRAIN5
DRAIN6
DRAIN7
SDO
GND
G\
SRCLR\
RCK
SRCK
GND
RCK 12
SRCK 13
SER IN
GND
U8
U7
4-Khi ngun:
Do cng sut ca mch khong 8W nn ta c th chn IC n p l IC
LM7812 cung cp p cho led ma trn v ULN2803, LM7805 cung cp p
cho cc linh kin cn li.
a- Ngun 5v
+Thng s ca LM7805:
- in p n p ng ra Uout = 5v 0.1v.
- Dng in ti a ng ra: Iout = 1A.
- in p ng vo ti thiu in p ng ra n nh:
Uin(min) = 7v.
- in p ng vo ti a: 20v
CLBViXuLy.com
28
CLBViXuLy.com
- Dng in chn ni t ca IC l 5mA.
- Dng in ng vo ti a: 1.005A.
+ Mch in: T thng s ca LM7805 ta c th ly ngun 12v , 1A t
adapter.
12v
VIN
GND
U35
C11 78HT2
0.33uf
VOUT
5v
C12
0.1uf
V- Phn mm:
1-Phn giao din
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Dim outputArray() As Long
Dim dataArray As Variant
Dim crcOK As Boolean
Dim useCRC As Boolean
Dim sampleSize As Integer
Option Explicit
Private Sub cmdWritePort_Click()
Dim x As Integer
Dim theCRC As Byte
resetFields
txtByte(0).Text = "14"
txtByte(1).Text = txtWritePort.Text
If Not MyDeviceDetected Then
MyDeviceDetected = FindTheHid
End If
If MyDeviceDetected Then
OutputReportData(0) = Val(txtByte(0).Text)
OutputReportData(1) = Val(txtByte(1).Text)
OutputReportData(2) = Val(txtByte(2).Text)
OutputReportData(3) = Val(txtByte(3).Text)
OutputReportData(4) = Val(txtByte(4).Text)
OutputReportData(5) = Val(txtByte(5).Text)
OutputReportData(6) = Val(txtByte(6).Text)
CLBViXuLy.com
29
CLBViXuLy.com
OutputReportData(7) = Val(txtByte(7).Text)
Call ReadAndWriteToDevice
lblReadData = Str$(ReadBuffer(1)) & "," &
Str$(ReadBuffer(2)) & "," & Str$(ReadBuffer(3)) & "," &
Str$(ReadBuffer(4)) & "," & Str$(ReadBuffer(5)) & "," &
Str$(ReadBuffer(6)) & "," & Str$(ReadBuffer(7)) & "," &
Str$(ReadBuffer(8))
If useCRC Then
theCRC = calc_CRC(0, ReadBuffer(1))
theCRC = calc_CRC(theCRC, ReadBuffer(2))
theCRC = calc_CRC(theCRC, ReadBuffer(3))
theCRC = calc_CRC(theCRC, ReadBuffer(4))
theCRC = calc_CRC(theCRC, ReadBuffer(5))
theCRC = calc_CRC(theCRC, ReadBuffer(6))
theCRC = calc_CRC(theCRC, ReadBuffer(7))
If theCRC = ReadBuffer(8) Then
lblReadData = lblReadData & " CRC OK"
crcOK = True
Else
lblReadData = lblReadData & " CRC BAD"
crcOK = False
End If
End If
End If
End Sub
Private Sub Form_Load()
frmMain.Show
tmrDelay.Enabled = False
sampleSize = 511
useCRC = True
ReDim dataArray(sampleSize) As Integer
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim Result As Long
Result = CloseHandle(HIDHandle)
Result = CloseHandle(ReadHandle)
End Sub
CLBViXuLy.com
30
CLBViXuLy.com
Public Sub resetFields()
Dim i As Integer
For i = 0 To 7
txtByte(i).Text = "255"
Next
End Sub
Private Sub thoat_Click()
Unload Me
End Sub
Private Sub timerCheckConnection_Timer()
If FindTheHid Then
lblConnect.Caption = "Connected"
lblConnect.ForeColor = RGB(0, 150, 0)
Else
lblConnect.Caption = "Disconnected"
lblConnect.ForeColor = RGB(150, 0, 0)
End If
End Sub
Private Sub tmrDelay_Timer()
Timeout = True
tmrDelay.Enabled = False
End Sub
2-Chng trnh C
#define __USB_PIC_PERIF__ 1
#include <18F2550.h>
#fuses
HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV
1,VREGEN
#use delay(clock=48000000)
#use rs232(stream=PC, baud=115200, xmit=PIN_C6, rcv=PIN_C7, ERRORS)
#DEFINE USB_HID_DEVICE TRUE //Tells the CCS PIC USB firmware to
include HID handling code.
#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT //turn on EP1
for IN bulk/interrupt transfers
#define USB_EP1_TX_SIZE 64 //allocate 64 bytes in the hardware for
transmission
CLBViXuLy.com
31
CLBViXuLy.com
#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT //turn on EP1
for OUT bulk/interrupt transfers
#define USB_EP1_RX_SIZE 64 //allocate 64 bytes in the hardware for
reception
// CCS USB Libraries
#include <pic18_usb.h> //Microchip 18Fxx5x hardware layer for usb.c
#include <usb_desc_hid 8-byte.h> //USB Configuration and Device descriptors
for this UBS device
#include <usb.c>
//handles usb setup tokens and get descriptor reports
#define data PIN_A0
#define SC_CP PIN_A2
#define ST_CP PIN_A3
#define g
PIN_A4
#define MR
PIN_a5
int8 i,x,y,z,m;
const unsigned CHAR ma[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x07,0xdb,0xdd,0xdb,0x07,0xff,0xff,0xff,
0x07,0xdb,0xdd,0xdb,0x07,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
void usb_debug_task(void) {
static int8 last_connected;
static int8 last_enumerated;
int8 new_connected;
int8 new_enumerated;
new_connected=usb_attached();
new_enumerated=usb_enumerated();
if (new_connected && !last_connected) {
printf("\r\n\nUSB connected, waiting for enumaration...");}
if (!new_connected && last_connected) {
printf("\r\n\nUSB disconnected, waiting for connection...");}
if (new_enumerated && !last_enumerated) {
CLBViXuLy.com
32
CLBViXuLy.com
printf("\r\n\nUSB enumerated by PC/HOST");}
if (!new_enumerated && last_enumerated) {
printf("\r\n\nUSB unenumerated by PC/HOST, waiting for enumeration...");}
last_connected=new_connected;
last_enumerated=new_enumerated;
}
#INT_RDA
void serial_isr()
{
int8 uReceive;
// Serial Interrupt
disable_interrupts(GLOBAL);
uReceive = fgetc(PC);
switch (uReceive) {
case 0x12: {
if (fgetc(PC) == 0x34 & fgetc(PC) == 0x56 & fgetc(PC) == 0x78 &
fgetc(PC) == 0x90) #asm reset #endasm
}
break;
}
enable_interrupts(GLOBAL);
}
int calc_crc(int oldcrc, int newbyte) {
int shift_reg, data_bit, sr_lsb, fb_bit, j;
shift_reg=oldcrc;
for(j=0; j<8; j++) { // for each bit
data_bit = (newbyte >> j) & 0x01;
sr_lsb = shift_reg & 0x01;
fb_bit = (data_bit ^ sr_lsb) & 0x01;
shift_reg = shift_reg >> 1;
if (fb_bit)
shift_reg = shift_reg ^ 0x8c;
}
return(shift_reg);
}
CLBViXuLy.com
33
CLBViXuLy.com
void hienchu()
{ for(x=0;x<100;x++)
{
OUTPUT_BIT(SC_CP,0);
OUTPUT_BIT(St_CP,0);
OUTPUT_BIT(mr,1);
OUTPUT_BIT(data,1);
for(i=24;i<=56;i++)
{
OUTPUT_BIT(SC_CP,1);
OUTPUT_BIT(St_CP,1);
delay_us(1);
OUTPUT_BIT(SC_CP,0);
OUTPUT_BIT(St_CP,0);
output_B(ma[i]);
delay_us(150);
output_B(0xff);
OUTPUT_BIT(data,0);
};
};
}
void phaitrai()
{
OUTPUT_BIT(SC_CP,0);
OUTPUT_BIT(St_CP,0);
for(x=0;x<=47;x++)
{
for(z=0;z<10;Z++)
{
OUTPUT_BIT(mr,1);
OUTPUT_BIT(data,1);
for(i=x;i<=x+32;i++)
{
OUTPUT_BIT(SC_CP,1);
OUTPUT_BIT(St_CP,1);
delay_us(1);
OUTPUT_BIT(SC_CP,0);
OUTPUT_BIT(St_CP,0);
CLBViXuLy.com
34
CLBViXuLy.com
output_B(ma[i]);
delay_us(150);
output_B(0xff);
OUTPUT_BIT(data,0);
delay_us(50);
};
};
OUTPUT_BIT(mr,0);
output_B(0xff);
delay_us(150);
};
}
#define theSampleSize
#define usbConfirmAction
#define lenhdk
14
512
0
void main() {
int1 useCRC;
int8 in_data[8];
int8 out_data[8];
int8 tt;
int8 theCRC;
int16 n, approxUS, approxMS, period;
SETUP_TIMER_0(RTCC_INTERNAL|RTCC_DIV_1);
SETUP_TIMER_3(T3_INTERNAL | T3_DIV_BY_8)
usb_init();
useCRC = true;
while (TRUE) {
usb_task();
usb_debug_task();
if (tt==1)
hienchu();
else if(tt==2)
{ phaitrai();
}
if (usb_enumerated()) {
CLBViXuLy.com
35
CLBViXuLy.com
if (usb_kbhit(1)) {
usb_get_packet(1, in_data, 8);
if (useCRC) {
theCRC = 0;
theCRC = calc_crc(theCRC,in_data[0]);
theCRC = calc_crc(theCRC,in_data[1]);
theCRC = calc_crc(theCRC,in_data[2]);
theCRC = calc_crc(theCRC,in_data[3]);
theCRC = calc_crc(theCRC,in_data[4]);
theCRC = calc_crc(theCRC,in_data[5]);
theCRC = calc_crc(theCRC,in_data[6]);
}
else {
theCRC = in_data[7];
}
if (theCRC = in_data[7]) {
out_data[0] = 255;
out_data[1] = 255;
out_data[2] = 255;
out_data[3] = 255;
out_data[4] = 255;
out_data[5] = 255;
out_data[6] = 255;
switch (in_data[0]) {
case lenhdk: {
tt =in_data[1];
out_data[0] = usbConfirmAction;
out_data[1] = lenhdk;
out_data[2] = in_data[1];
}
break;
}
}
}
}
}
}
CLBViXuLy.com
36
CLBViXuLy.com
VI- Kt qu:
-M phng: chy ng.
-Thi cng mch: phn giao tip my tnh nhn c thit b. Phn iu
khin led ma trn cha chy.
- ti ch thc hin c nhng yu cu c bn: hin th c k t c
nh
Cha lm c
-Mch iu khin led ma trn cha chy.
-Cha gi c k t t my tnh xung hin th
Phng hng pht trin ti:.
VII- Kt lun:
- Sau 15 tun nghin cu vi s hng dn tn tnh ca thy Nguyn Vn
Hip, cng cc thy c trong khoa v cc bn trong lp em hon thnh
ti ny.
- ti cn nhiu hn ch mong thy v cc bn nhn xt nhng ti
ti lm tt hn.
Mt ln na em chn thnh cm n thy Nguyn Vn Hip v cc thy c
trong khoa hng dn tn tnh.
CLBViXuLy.com
37