You are on page 1of 28

Mch n Giao Thng C Giao Tip Vi My Tnh S Dng PIC16F887

Mc Lc

Chng 1 : Thit K - Kho St S Khi....................................................................... 3 I. Gii Thiu V Ti : ............................................................................................. 3 II. S Khi : .......................................................................................................... 3 Khi n Giao Thng : ..................................................................................... 5 Khi Hin Th : .................................................................................................. 5 Khi iu Khin : .............................................................................................. 7 Khi Vi iu Khin : ......................................................................................... 8 Khi Giao Tip : .............................................................................................. 10

III. Thit K Cc Khi : .............................................................................................. 5 1) 2) 3) 4) 5)

Chng 2 : Thi Cng Mch ................................................................................................ 13 I. S Nguyn L Ca Mch :............................................................................... 13 II. Nguyn L Hot ng Ca Mch : ................................................................... 14 Lu Cho Chng Trnh Chnh: ............................................................... 15 Lu Cho Chng Trnh Ngt TIMER1: ................................................. 16 Lu Cho Chng Ngt Truyn D Liu Ni Tip: ................................ 17 Chng Trnh Phn Mm Cho Vi iu Khin PIC Vit Bng CCS : ........... 18 III. Lu Gii Thut Cho Chng Trnh X L : ............................................. 15 1. 2. 3. IV.

V. Chng Trnh Phn Mn Lp Trnh Giao Din Trn My Tnh Vit Bng C# : 23

VI. 1) 2) VII. 1) 2)

Thi Cng Mch:................................................................................................... 25 S Mch In : ............................................................................................... 25 Cc Gi Tr Linh Kin S Dng Trong Mch : ........................................... 26 Kt qu thc hin : .......................................................................................... 27 Kt Qu : .......................................................................................................... 27 Hng Pht Trin Ca Ti : ..................................................................... 27

Li Ni u
T khi ngnh khoa hc in v in t ra i mang li rt nhiu thnh cng cho nhn loi, gp phn thc y v pht trin rt nhiu ngnh khc khi ng dng cc thnh tu ca khoa hc in v in t to nn. Trong i sng hng ngy cng nh trong cng nghip, y t, gio dc, vn ti, cc ng dng ca in t m c bit l cc h thng t ng ho mang li rt nhiu tin ch v gip cho con ngi trong nhiu cng vic t n gin nh vic ng m ca t ng cho n cc h thng phc tp nh trong cc dy chuyn sn xut trong cng nghip. Vi am m v hiu k v cc h thng iu khin t ng cng nh s l th ca cc ng dng cc mch in v in t, em chn theo hc ngnh in v in t cng nh rt thch tm hiu v cc mn hc c lin quan n lp trnh v iu khin. Trong dp ny va l lm n mn hc 2 cng va l c hi em tm hiu thm v cc loi IC iu khin nh h 89, PIC, AVR, ARM,... Trc y vi n mn hc 1 em c tip cn vi IC 89S51 cho nn ln ny em s tm hiu v dng PIC m c th l PIC16F887. V ngy nay vic giao tip gia my tnh v thit b ngoi ngy quan trng v ph bin hn. Th cho nn em chn ti c giao tip gia vi iu khin v my tnh tm hiu, hc hi, b sung kin thc cng nh ng dng vo thc t. y mi l ln u lm v ti giao tip gia vi iu khin vi my tnh cng nh ln u s dng PIC16F887 lm mch thc t nn chc chn s c nhiu hn ch v sai st mong qu thy c v cc bn gp kin em c b sung nhiu kin thc hn cho hc tp v nghin cu. Chn thnh cm n

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

Chng 1 : Thit K - Kho St S Khi


I. Gii Thiu V Ti :
Trc y em c lm mt s mch ng dng vi vi iu khin 89S51 cng nh c thc tp v cc module ng dng ca IC ny. Nay vi mc ch tm hiu v mt ng dng c tnh cht thc t s dng vi iu khin PIC16F887 hiu thm v dng IC ny nn em quyt nh chn ti lm n ln ny l mch n giao thng s dng vi iu khin PIC16F887 c giao tip vi my tnh. Trong cuc sng hng ngy, mi chng ta khi tham gia giao thng trn cc tuyn ng th u thy qua cc tr n giao thng. N qu ph bin n mc tr nn quen thuc vi ngi tham gia giao thng v cng chnh l cng c gip giao thng c thng sut vi trt t v l li ca khun kh php lut quy nh xanh chy, dng, vng l chun b chuyn sang . Nh quan st cc trm n giao thng ti cc giao l, em thy c trm c hp iu khin chn ch t ng hay iu khin bng tay hay chn ch cho ng u tin hn, c trm khng cn hp iu khin, cng c trm khi n 23h mi ngy th n chuyn sang trng thi 2 n vng 2 bn cng chp tt v gi tnh trng giao thng khng cn ng c na. Chnh v vy vi mch n giao thng em thit k v thc hin ln ny s c gng m phng mt cch gn nht vi thc t v cng c thm phn giao tip gia mch v my tnh vic ci t v iu khin tin li v nhanh chng hn. Mc d em tm hiu qua hnh thc cng nh cch vn hnh ca cc trm n giao thng v c mong mun lm cho mch ca mnh gn vi thc t nht nhng vi mch n giao thng c giao tip vi my tnh s dng vi iu khin PIC16F887 ca em ch mc m phng mt phn nh ca ng dng.Cng t y em ngh nu c th nghin cu nhiu hn th em s pht trin ti theo hng iu khin qua internet. V internet ngy nay tht s l mt cng c hu ch cho nhn loi. Khi mch c iu khin t internet th s rt tin li cho vic iu khin, vn hnh v gim st mt cch nhanh chng.

II. S Khi :
T yu cu t ra cho ti, ta thy mt trm n giao thng trc tin cn nht chnh l phn hin th. chnh l cc n tn hiu xanh, , vng v cc led hin th thi gian cn li ca mi bn. K n phi nhc ti l b phn x l, y l b no ca h thng v nu khng c n h thng s khng th lm vic c. Tip theo l phn iu khin dng ci t thit lp hay la chn ch . Chnh v y l mch c giao tip vi my tnh nn khng th thiu khi giao tip gia my tnh vi vi iu khin. V mt khi cc k quan trng m trong bt k mch in no cng khng th thiu chnh l khi ngun, nhng do s dng ngun ring nn em xin khng trnh by v phn ngun ca mch. T , ta c th m t m hnh mch cho ti bng s khi nh sau: 3 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

Chc nng ca cc khi: Hin th: s dng led 7 on hin th thi gian cho n giao thng. n giao thng: cc led n tn hiu giao thng xanh, , vng. iu khin: l cc phm nhn dng ci t tinh chnh thi gian hay chuyn ch u tin cho mi bn v cng tc chuyn ch iu khin t ng hay iu khin bng tay. Giao tip: s dng cng COM v qua IC chuyn i mc in p MAX232 truyn thng tin gia vi iu khin v my tnh. Vi iu khin: s dng PIC16F887 lp trnh iu khin cho mch n giao thng, gii m hin th thi gian, x l tn hiu iu khin chuyn ch khi c yu cu, giao tip truyn nhn d liu iu khin t my tnh. My tnh: lp trnh giao din iu khin v truyn d liu iu khin n vi iu khin thc hin cc chc nng theo yu cu.

4 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

III. Thit K Cc Khi :


1) Khi n Giao Thng : y l cc led n xanh, , vng dng lm cc n tn hiu iu khin cc phng tin lu thng trn ng theo ng lut giao thng quy nh. Theo , khi tn hiu n xanh bn phn ng no sng th cc phng tin bn c php lu thng. Ngc li vi n th phi dng li. Cn tn hiu n vng bo hiu cho ngi i ng bit rng sp chuyn sang n chun b dng li. cc trng thi sng tt ca cc n tn hiu ny s c iu khin thng qua vi iu khin.

D1 330 V1 330 X1 330


in p m mi Led chu c l 2V m ngun cung cp ca chng ta l ngun 5V nn cn phi c in tr hn dng v c tnh chn nh sau: + Dng qua mi led : 10mA + Ngun cung cp: 5 V + p ri trn mi led: 2V R chn R=330 (gi tr in tr c bn trn th trng)

2) Khi Hin Th : Khi hin th chnh l cc led 7 on dng hin th gi tr thi gian cn li ca cc trng thi ca cc tn hiu xanh, , vng c x l qua b vi iu khin cho ra cc m tng ng ca led 7 on.

5 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

Bng m cho led 7 on loi Anode chung :

Led 7 on tht ra l 8 led n ghp li nn vic tnh chn led hn dng cho led 7 on cng nh led n : + Dng qua mi led : 10mA + Ngun cung cp: 5 V + p ri trn mi led: 2V R chn R=330 (gi tr in tr c bn trn th trng)

6 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

vic hin th c hiu qu hn ta s dng phng php qut, ngha l ti mt thi im ch cho php 1 led sng nhng do tnh cht lu nh ca mt nn ta thy cc led u sng. s dng phng php qut ta phi dng transistor v iu khin bi phn mm. V ta dng led 7 on loi anode chung nn chn transistor loi pnp A1015 qut. Led s c php sng khi cp mc 0 cho A1015.

3) Khi iu Khin : Ta s dng cng tc chn ch t ng hay iu khin bng tay khi c yu cu v d nh trong gi cao im gia ng u tin v ng t u tin hn th cc con ng chnh c lng xe lu thng nhiu hn th cn phi c thi gian nhiu hn hoc do ngi cnh st giao thng iu khin sao cho cc phng tin lu thng tt nht trnh n tc giao thng. Vi nt nhn dng chuyn trng thi gia cc bn. Ta chn tn hiu iu khin mc 0 nn cng tc v nt nhn ni vi mass, in tr ko ln ngun dng hn dng vo pic v cho mc 1 khi khng tc ng.

10k RC0 RC1

10k

7 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

4) Khi Vi iu Khin : Ta s dng vi iu khin PIC16F887 dng lp trnh v iu khin h thng hot ng cng nh nhn d liu iu khin truyn t my tnh xung x l v iu khin. Hin nay c rt nhiu h vi iu khin khc nhau v mi h l c rt nhiu dng khc nhau. y, em chn PIC16F887 v n hu nh ging vi PIC16F877A m gi r hn nn rt ph hp cho vic nghin cu ca sinh vin. Vic chn PIC m khng chn cc h khc nh ATMEGA, 89X, ARM, v em c hc c bn qua n m cha c lm mch thc t nn ln ny quyt nh lm ti vi PIC. Mt s thng s c bn v PIC16F887: Vi iu khin 8-bit ca Microchip, thuc dng Low-power. Kin trc Harvard (vs. Von Neumann), tp lnh RISC (Reduced Instructions Set Computer) (vs. Complexed Instructions Set Computer) vi 35 lnh. Thch anh gn ngoi ti a 20MHz. Tm in p hot ng 2.0V- 5.5V. Dng in vo/ ra ti a: 25 mA. 5 port, 35 chn xut nhp (I/O pins) C y cc chc nng cn thit ca Vi iu khin 8-bit: Timer (3 b), ADC (14 knh ADC 10-bit), EUSART, SPI, I2C, PWM, Compare, B nh chng trnh 8192 word FLASH, 368 byte SRAM, 256 byte EEPROM. C th ghi/xo EEPROM khong 1.000.000 ln. B nh lu tr trn 40 nm. S chn ca PIC16F887:

8 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

VCC

R_RS 10K SW_RS MCLR J_PA SW RESET 1 2 3 4 5 6

MAIN MCU PIC16F887


PVN1 1 2 3 4 5 6 7 15 16 17 18 23 24 25 26 13 22p 4Mhz XTAL 14 12 31 MCLR*/VPP RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT OSC1/CLKIN RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7 OSC2/CLKOUT VSS VSS PIC16F887 VDD VDD 11 32 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 33 34 35 36 37 38 39 40 19 20 21 22 27 28 29 30 8 9 10 VCC 1 J_PB 2 3 4 5 6 PGC 7 PGD 8

PORT B

VCC C_1112 104

PORT A

SS*

0
VCC C_3231 104 C_X1

J_PC 1 2 3 4 5 6 7 8

SCK SDI SDO

SCL SDA TX RX

1 J_PD 2 3 4 5 6 7 8 J_PE 1 2 3

PORT D

PORT C

PORT E

0
C_X2 22p

S ni dy c bn PIC16F887 hot ng: 9 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

thc hin xut / nhp trn 1 chn (Pin): Ci t ng gi tr cho thanh ghi TRISx (hoc bit TRISx-n), vi x/n l A,B,C,D,E. t kiu tn hiu ca pin l Analog hay Digital qua 2 thanh ghi ANSEL v ANSELH. Xut tn hiu bng cch ghi gi tr 0 hoc 1 vo port tng ng (bit: Rx-n hay port: PORTx) c gi tr ca chn bng cch c mc logic trn port tng ng.

5) Khi Giao Tip : Khi giao tip c chc nng giao tip gia my tnh vi vi iu khin PIC16F887 hay ni cch khc n c nhim v truyn nhn d liu iu khin gia vi iu khin vi my tnh. y ta dng chun giao tip ni tip RS232 qua cng COM v s dng IC chuyn i mc tn hiu MAX232 v n n gin v d cho ngi mi lm quen vi vic lp trnh giao tip my tnh. Gii thiu v cng COM : c 2 dng l DP25, c 25 chn thng dng trong cng nghip v DP9, c 9 chn v thng dng nht. Trong ng dng ny ta ch s dng 2 chn TXD v RXD truyn nhn d liu v chn 5 ni mass chung.

- Hnh dng v s chn ca cng COM:

Tn v chc nng cc chn:

10 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

V tn hiu cng COM thng mc +12V, -12V nn khng tng thch vi in p TTL nn giao tip vi iu khin vi my tnh qua cng COM ta phi qua mt vi mch bin i in p cho ph hp vi mc TTL, ta chn vi mch MAX232 thc hin vic tng thch in p. Gii thiu IC max 232: Vi mch MAX 232 ca hng MAXIM l mt vi mch chuyn dng trong giao din ni tip vi my tnh. Chng c nhim v chuyn i mc TTL li vo thnh mc +12V hoc 12V pha truyn v cc mc +3+15V hoc -3-15V thnh mc TTL pha nhn. Vi mch MAX 232 c hai b m v hai b nhn. ng dn iu khin li vo CTS, iu khin vic xut ra d liu cng ni tip khi cn thit, c ni vi chn 9/12 ca vi mch MAX 232. Cn chn RST (chn 10/11 ca vi mch MAX ) ni vi ng dn bt tay iu khin qu trnh nhn. Thng th cc ng dn bt tay c ni vi cng ni tip qua cc cu ni, khi khng dng n na c th h mch cc cu ny. Cch truyn d liu n gin nht l ch dng ba ng dn TxD, RxD v GND (mass). S kt ni chn v kt ni c bn ca MAX232:

11 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

S kt ni gia cng COM v MAX232 ti vi iu khin:

12 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

D1

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

XANH 1 D2 VANG 1 D3 DO 1 D4 XANH 2 D5 SW1 1 VANG 2 D6


1

5VDC R1 R LED_CH2 Q1 A1015 C1 10uF RESET G G F E D C B A 330 5VDC Vdd Vss RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RD3/PSP3 RD2/PSP2 RD1/PSP1 RD0/PSP0
OSC2/CLKO OSC1/CLKI 13 14 1

5VDC LED_DV2

5VDC Q2 A1015 LED_CH1

5VDC Q3 A1015

5VDC

LED_DV1

Q4

A1015 Q1 Q2 Q3

Q4

U1 DO 2

VCC

VCC

VCC

5VDC 9 R15 R16 Vdd Vss RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT PIC16F877A 11 12 15 16 17 18 23 24 25 26 RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7

8 9 10

D7 32
DOT VCC

D8 LED7_DON_1
DOT VCC

D9 LED7_DON_1
DOT VCC

VCC

0
RA0/AN0 RB7/PGD RA1/AN1 RB6/PGC RA2/AN2/Vref RB5 RA3/AN3/Vref + RB4 RA4/T0CKI/C1OUT RB3/PGM RA5/AN4/SS/C2OUT RB2 RB1 RB0/INT

R2 R3 R5 R7 R9 R11 330 5VDC


MCLR/Vpp

2 3 4 5 6 7

0
40 39 38 37 36 35 34 33 40 R4 39 R6 R8 R10 R12 R13 R14

D10

LED7_DON_1 31
D E

LED7_DON_1

Chng 2 : Thi Cng Mch

I. S Nguyn L Ca Mch :

SW MAG-SPDT

SW3 INV

30 29 28 27 22 21 20 19

0
10 10 10 10 9 8 7 6 9 8 7 6 9 8 7 6

R17

LED_CH1 LED_DV1 LED_CH2 LED_DV2 4K7 C2 33p J2 Y1 12MHz CON5

D Q1

D Q2

D Q3

Q4

5VDC 1 2

J1

DOT

VCC

SW2

13
C3 33p

P1 1 6 2 7 3 8 4 9 5 5VDC 5VDC C4 10uF C6 10uF COM 13 8 14 7 16 2 6

U2 R1IN R2IN T1OUT T2OUT VCC V+


GND

N MN HC 2

T2IN T1IN R1OUT R2OUT C1+ C1C2+ VC2-

10 11 12 9 1 3 4 5 C5 10uF

0
1 9 4039

C7 10uF
15

C8 MAX232 10uF

1 2 3 4 5

CON2

SVTH : PHAN TN PH

GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

II. Nguyn L Hot ng Ca Mch :


Mi ngi chng ta khi lu thng trn ng hu nh u bit n n giao thng v chc nng cng nh cch thc hot ng ca n. y, em ch thc hin mt m hnh nh nhm m phng li 1 phn hot ng ca n giao thng. Chc chng ta ai cng hiu r n giao thng lm vic th no, em xin c trnh by v m hnh mch n giao thng s dng PIC16F887 c giao tip m em thc hin ti. Mch c 2 ngun iu khin l iu khin trn board mch v iu khin trn my tnh. S dng cng tc v nt nhn iu khin trc tip trn board mch nh sau: khi mi cp ngun mch s mc nh chy ch t ng vi n sng 25s, n xanh sng 20, n vng sng 5s l ch hot ng bnh thng v khi cn thit th d trng hp trong gi cao im hay kt xe gia cc giao l th ta c th chuyn sang ch iu khin bng tay dng cng tc. Tip ta dng 1 phm nhn thay i trng thi n xanh v mi bn, c th l khi chuyn sang ch iu khin bng tay th xanh 1 2 sng th khi ta nhn phm th xanh 2 1 sng v c tip tc nh th cho php bn phn ng no c php lu thng. Khi ch t ng th cc led 7 on hin th thi gian m ngc sau mi giy cho mi bn. Cn ch bng tay ch c led xanh va mi bn sng. i vi vic iu khin thng qua my tnh, th ta dng cng COM kt ni gia mch in v my tnh truyn nhn d liu iu khin cho h thng . iu khin bng my tnh ta phi to 1 giao din trn my tnh v lp trnh x l tn hiu. Ta c th chn ngn ng lp trnh trn my tnh nh VB,C#, y em chn ngn ng lp trnh C# v n c nhiu hm h tr v trc quan hn. Khi ta iu khin trn my tnh th ta s click vo button CONNECT bo cho vi iu khin bit s chn ch iu khin qua RS232. Sau ta check vo checkbox AUTO/MANUAL chn ch t ng hay iu khin tay nh iu khin trn board. Khi check vo AUTO/MANUAL th s chn ch iu khin bng tay v khi ta click vo 2 button RUN_A hay RUN_B cho php bn c chn lu thng hay n xanh bn sng v ngc li n pha cn li sng. Khi khng cn iu chnh bng my tnh na th ta nhn button DISCONNECT mch tr li hot ng di s iu khin trc tip trn mch. Trong ngy khi vo bui ti khong t 21g n 6g th lng xe lu thng khng cn nhiu nn ta s cho n vng mi bn chp tt vi tn s 1hz bo ch ban m.

14 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

III. Lu Gii Thut Cho Chng Trnh X L :


1. Lu Cho Chng Trnh Chnh:

15 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

2. Lu Cho Chng Trnh Ngt TIMER1:

16 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

3. Lu Cho Chng Ngt Truyn D Liu Ni Tip:

Ngt RDA

Nhn d liu

Index_xmit =3? Index_xmit=0 Truyn thi gian a,b

Index_xmit ++

Rcv_data =250? Index_rcv =0 Nhn thi gian ++PC Index_xmit t

Index_rcv ++

RETURNI

17 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

IV. Chng Trnh Phn Mm Cho Vi iu Khin PIC Vit Bng CCS :
#include<16F887.h> #include<KhaiBaoTGhi_16F877A.h> #fuses nowdt, noput, hs, noprotect, nolvp #use delay(clock=11059000) #use fast_io(all) #use rs232(baud =9600, parity = n, xmit = pin_c6, rcv = pin_c7) #define mode input(pin_c0) #define toggle input(pin_c1) //********* khai bao bien ***************** INT8 j,k,chuc1,chuc2,dvi1,dvi2; INT16 t_do,a,t_xanh,b; unsigned char btu,_btu,btt1=0,btt2=1; unsigned char rcv_data; unsigned char connect = 'H',mode_cp,RUN= 0; unsigned char index_rcv=5,date[3],hour,minute,second; unsigned char TIMER_AB[4],index_xmit = 0; const UNSIGNED char dig[]= {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; //********* chuong trinh con ************* //************* khoi tao ********* void initiation() { // khoi tao cho port b.d.a la ngo ra va c0,c1 vao set_tris_a (0x00); set_tris_b (0x00); trisc0 = 1; trisc1 = 1; set_tris_d (0x00); //xoa hien thi PORTA = 0X00; PORTB = 0XFF; PORTD = 0XFF; j = 0; // khoi tao cho bien dem timer 1 k = 0; // khoi tao cho bien dem cua tung cot t_DO = 24; // gan gia tri ban dau cho den do va xanh t_xanh = 19; SET_TIMER1(3035); // DAT SO DEM CHO TIMER 1 T1CON = 0X35; // KHOI TAO GIA TRI CHO TIMER 18 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

enable_interrupts (GLOBAL); // cho phep ngat toan bo enable_interrupts (INT_RDA); // cho phep ngat truyen thong } //********* ngat truyen thong ************ #INT_RDA void uart_datas() { rcv_data = getc(); if(index_xmit == 3)index_xmit = 0; else { putc(TIMER_AB[index_xmit]); index_xmit ++; } if (rcv_data == 250)index_rcv = 0; else { date[index_rcv] = rcv_data; index_rcv ++; } if(index_rcv == 255)index_rcv = 5; hour = date[0]; minute = date[1]; second = date[2]; } //********** ngat timer 1 **************** #INT_TIMER1 VOID timer1_interrupt() //bat dau chuong trinh ngat { j++; IF (j == 10) // khi j = 10 thi thoi gian dung 1s { k = k + 1; // bien k dung xac dinh thoi gian cho cot 1 IF ( (k < 26)&& (k > 0)) { a = t_DO; t_DO = t_do - 1; b = t_xanh; t_xanh = t_xanh - 1; IF (a < 5) //thoi gian hien thi cho led vang { 19 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

porta = 0x14; // den vang 2 va DO 1 sang b = a; } ELSE porta = 0x0C; // den xanh 2 va DO 1 sang } IF ((k < 26)&& (k > 24)) // khi du 25s thi chuyen sang cot 2 { t_DO = 24; t_xanh = 19; } IF (k > 25) // bat dau hien thi cho cot 2 { b = t_DO; t_DO = t_do - 1; a = t_xanh; t_xanh = t_xanh - 1; IF (b < 5) //khi den xanh du 20s thi den vang bat dau sang { porta = 0x22; // den DO 2 va vang 1 sang a = b; } ELSE porta = 0x21; // den DO 2 va xanh 1 sang } TIMER_AB[0]=50; TIMER_AB[1]=a; TIMER_AB[2]=b; chuc1 = a / 10; dvi1 = a % 10; chuc2 = b / 10; dvi2 = b % 10; IF (k > 49) // khi cot 2 xong 25s thi chuyen ve cot 1 { k = 0; // KHOI TAO LAI GIA TRI DEM BAN DAU t_DO = 24; t_xanh = 19; } 20 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

SET_TIMER1 (3035); // CAI LAI THOI GIAN CHO TIMER 1 j = 0; } SET_TIMER1 (3035); // CAI LAI THOI GIAN CHO TIMER 1 } //*********** xu ly data nhan duoc ******************** void select_data() { switch (rcv_data) { case '1': connect = 'S'; break; case '2': connect = 'H'; break; case '3': mode_cp = 'M'; break; case '4': mode_cp = 'A'; break; case '5': RUN = 0; break; case '6': RUN = 1; break; default: break; } } //*********** hien thi led don che do dieu khien tay**** void manual_led() { OUTPUT_BIT(PIN_A0, btt1); OUTPUT_BIT(PIN_A5, btt1); OUTPUT_BIT(PIN_A2, btt2); OUTPUT_BIT(PIN_A3, btt2); } //*********** hien thi thoi gian ********************* void display_7seg() { portb = dig[chuc1]; // dua gia tri chuc 1 ra portb portd = 0xf7; // chi led o vi tri chuc 1 sang delay_ms (1); // dung de nhin thay duoc led sang 21 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

portd = 0xff; // chong lem portb = dig[dvi1]; // dua gia tri dvi 1 ra portb portd = 0xfb; // chi led o vi tri dvi 1 sang delay_ms (1); // dung de nhin thay duoc led sang portd = 0xff; // chong lem portb = dig[chuc2]; // dua gia tri chuc 2 ra portb portd = 0xfd; // chi led o vi tri chuc 2 sang delay_ms (1); // dung de nhin thay duoc led sang portd = 0xff; // chong lem portb = dig[dvi2]; // dua gia tri dvi 2 ra portb portd = 0xfe; // chi led o vi tri dvi 2 sang delay_ms (1); // dung de nhin thay duoc led sang portd = 0xff; // chong lem } //***************** chuong trinh chinh **************** VOID main () // bat dau chuong trinh chinh { initiation(); while(true) { select_data(); if(hour > 5 && hour < 22) { if(connect == 'H') { if(mode == 0) { disable_interrupts(INT_TIMER1);//xoa ngat timer1 porta = 0x00; btu = toggle; if (btu == 0) //kiem tra nhan phim { _btu = btu; while(btu == _btu) {btu = toggle;} btt1 = !btt1; btt2 = !btt2; } manual_led(); } if (mode == 1) { 22 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

enable_interrupts(INT_TIMER1); // cho phep ngat timer1 display_7seg(); } } if(connect == 'S') { if(mode_cp == 'M') { disable_interrupts(INT_TIMER1);// xoa ngat timer1 porta = 0x00; if(RUN == 1)porta = 0x21; else porta = 0x0c; } if (mode_cp == 'A') { enable_interrupts(INT_TIMER1); // cho phep ngat display_7seg(); } } } else { porta = 0x00; disable_interrupts(INT_TIMER1); output_high(pin_a1); output_high(pin_a4); delay_ms(500); output_low(pin_a1); output_low(pin_a4); delay_ms(500); } } } V.

Chng Trnh Phn Mn Lp Trnh Giao Din Trn My Tnh Vit Bng C# :

namespace giao_dien { public partial class Form1 : Form { public Form1() { InitializeComponent(); 23 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

} int temp = 0,index = 3; int[]buffer = new int[10]; Byte[] buf = new Byte[10]; private void Form1_FormClosing(object sender, FormClosingEventArgs e) { COM_2.Close(); } private void Form1_Load(object sender, EventArgs e) { COM_2.Open(); } private void CONNECT_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '1' }, 0, 1); } private void DISCONNECT_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '2' }, 0, 1); } private void MODE_CheckedChanged_1(object sender, EventArgs e) { if (MODE.Checked == true) { COM_2.Write(new char[] { '3' }, 0, 1); } else { COM_2.Write(new char[] { '4' }, 0, 1); } } private void RUN_A_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '5' }, 0, 1); } private void RUN_B_Click(object sender, EventArgs e) { COM_2.Write(new char[] { '6' }, 0, 1); } private void timer1_Tick(object sender, EventArgs e) { DateTime dt = DateTime.Now; buf[0] = 250; buf[1] = (Byte)dt.Hour; buf[2] = (Byte)dt.Minute; buf[3] = (Byte)dt.Second; 24 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

this.textBox2.Text = buffer[0].ToString(); this.textBox1.Text = buffer[1].ToString(); textBox3.Text = DateTime.Now.ToString("HH:mm:ss"); COM_2.Write(buf, 0, 4); } private void COM_2_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { temp = COM_2.ReadByte(); if (temp == 50) { index = 0; } else { buffer[index] = temp; index++; if (index == 10) index = 3; } } } }

VI. Thi Cng Mch:


1) S Mch In :

25 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

2) Cc Gi Tr Linh Kin S Dng Trong Mch : 6 C1,C4,C5,C6,C7,C8 10uF 2 C3,C2 33p 1 D1 XANH 1 1 D2 VANG 1 1 D3 DO 1 1 D4 XANH 2 1 D5 VANG 2 1 D6 DO 2 4 D7,D8,D9,D10 LED7_DON_1 1 J1 CON2 1 J2 CON5 1 P1 COM 4 Q1,Q2,Q3,Q4 A1015 12 R1,R2,R3,R4,R5,R6,R7,R8, R R9,R10,R12,R13 2 R11,R14 330 6 R15,R16,R17,R18,R19,R20 4K7 1 SW1 RESET 1 SW2 SW MAG-SPDT 1 SW3 INV 1 U1 PIC16F877A 26

SVTH : PHAN TN PH

GVHD : C TRNG TH BCH NG

N MN HC 2 21 22 1 1 U2 Y1

ti: Mch n Giao Thng C Giao Tip Vi My Tnh MAX232 12MHz

VII. Kt qu thc hin :


1) Kt Qu : Sau khi thit k s nguyn l ta tin hnh v mch m phng trn proteus v vit chng trnh cho PIC16F887 bng phn mm CCS. Bin dch chng trnh v np vo chy m phng thy mch hot ng theo yu cu thit k t ra. Tip n ta tin hnh v mch trn phn mm Orcad v chuyn sang Playout Plus v mch in cho mch. Sau khi thi cng xong mch ta np chng trnh diu khin cho PIC16F887 v test mch. V mi lm quen vi m hnh mch thc t ca PIC16F887 nn d lm xong mch vn cha hot ng tt. Sau khi tin hnh o v sa li phn cng cng nhng chng trnh phn mm th mch lm vic ng vi mc tiu yu cu t ra. Qua vic thc hin n mn hc 2 vi ti mch n giao thng s dng PIC16F887 c giao tip vi my tnh em cng c c nhiu kin thc c cc thy c truyn t trong nhiu mn hc qua cng nh hc hi thm c nhiu kinh nghim thc t v thit k v thi cng mt m hnh ng dng vn dng cc kin thc hc gii quyt cc vn khi gp phi kh khn. T y, em cng nhn thy mnh nn tm hiu thm nhiu ng dng thc t hc hi v b sung thm nhiu kin thc cng nh kinh nghim bng cch thc hin cc mch ng dng va v nh c th va cng c kin thc va c thm nhiu kinh nghim lm mch thc t ng thi cng nh hng c cho vic thc hin mch n tip nghip sp ti. 2) Hng Pht Trin Ca Ti : ti mch n giao thng s dng PIC16F887 c giao tip vi my tnh em ch mi lm mc m hnh nh tm hiu v PIC16F887 cng nh lp trnh bng ngn ng C v lp trnh giao tip gia my tnh v vi iu khin bng ngn ng C# nn cn rt nhiu hn ch v thiu st. Sau khi thc hin ti em ngh mnh s tm hiu thm v cc dng vi iu khin khc cng nh trau di thm v kh nng lp trnh bng ngn ng C cng nh C# c th nghin cu su hn cho ti n tt nghip sp ti chng hn nh iu khin thit b qua GPS hay mng internet, Ti Liu Tham Kho : Gio trnh vi x l 2 Nguyn nh Ph-H S PHM K THUT TPHCM Bo co vi x l 2 lp 061012- Nguyn Duy Tng Trang tm kim : www.google.com.vn Din n sinh vin trng i Hc S Phm K Thut Tp.HCM: www.spkt.net Din n sinh vin khoa in- in T trng i Hc Bch Khoa Tp.HCM : www.deeforum.net Din n in t Vit Nam : www.dientuvietnam.net Din n in t Vit Nam : www.picvietnam.net 27 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

N MN HC 2

ti: Mch n Giao Thng C Giao Tip Vi My Tnh

Webside : www. mikroe.com Trang tra cu linh kin : www.alldatasheet.com

28 SVTH : PHAN TN PH GVHD : C TRNG TH BCH NG

You might also like