Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 22

Khoa in T.

n Mn: Ghp Ni My Tnh.

LI M U Ngay nay, cc vi iu khin thm nhp vo mi lnh vc ca i sng t dn s, qun s n an ninh quc phng, c mt trong hu ht cc ng dng hng ngy t nhng thit b nh nh in thoi di ng, my bay, tr chi in t, cc thit b gia dng( my git, iu ha, t lnh) n nhng thit b ln nh t, tu thy, xe la, my bay, h thng mng in thoi, cc b iu khin t ng trong nh my, cc b iu chnh trong nh my in ht nhn, trong cc h thng iu khin nh sang ngoi ng Ti Gm 2 Phn: Phn 1: Cu Trc Vi iu Khin 8051. Phn 2: Thit k b o v khng ch nhit s dng cng song song. Nhom Sinh vin thc hin: Nguyn Vn Hi Vi Th Mi Ng Th Nga Lp : . C- H in T 1- K6

. -1-

Khoa in T.

n Mn: Ghp Ni My Tnh.

Phn I: Cu Trc Vi iu Khin 8051.

1. Gii Thiu Tng Quan V H 8051( AT89S52).


H vi iu khin 8051( cn gi l C51) l mt trong nhng h vi iu khin thng dng nht. y l cc b vi iu khin 8 bit c sn xut theo cng ngh CMOS. Mt s loi iu khin thuc h 8051 thng dng nht: AT89C2051, AT89C4051, AT89C51, AT89S52. Trong AT89S52 l mt b vi iu khin thng dng gi r, c nhiu chc nng v c bit c tch hp sn b np trn chp. B vi iu khin AT89S52 gm cc khi chc nng chnh sau y: CPU(Central Processing Unit) bao gm: -Thanh ghi tch ly A. -Thanh ghi tch ly ph B, dng cho php nhn v php chia. -n v logic hc( ALU: Arithmetic Logic Unit). -Thanh ghi t trng thi chng trnh( PSW: Program Status Word). -4 bng thanh ghi. -Con tr ngn xp. B nh chng trnh( B nh ROM) 8Kb Flash. B nh d liu gm 256 bytes. B UART( Universal Ansynchronous Receiver and Tranmitter) lm chc nng truyn nhn ni tip, nh khi ny, AT89S52 c th giao tip vi my tnh qua cng COM. 3 b Timer/Counter 16 bit thc hin cc chc nng nh thi v m s kin. WDT( Watch Dog Timer) c dng phc hi li hot ng ca CPU khi n b treo bi mt nguyn nhn no . WDT AT89S52 gm 1 b Timer 14 bit, mt b Timer 7 bit, thanh ghi WDTPRG( WDT Program) iu khin Timer 7 bit v 1 thanh ghi chc nng WDTRST( WDT Register). Bnh thng WDT khng hot ng( b cm), cho php WDT, cc gi tr 1EH v E1H cn phi cn phi c ghi lin tip vo thnh ghi WDTRSRT. Timer 14 bit ca WDT s m tng dn sau mi chu k my, cho n gi tr 16383 th xy ra trn, chn RST s c t mc cao trong thi gian 96Tosc v AT89S52 s c reset. Khi WDT hot ng, ngoi tr reset phn cng v do reset WDT trn th khng c cch no cm c WDT, v vy khi s dng WDT th cc on m chng trnh phi c t trong cc khe thi gian t gia cc ln WDT c khi to li.

. -2-

Khoa in T.

n Mn: Ghp Ni My Tnh.

2. S Chn V Chc Nng.

- Port 0 (P0.0 P0.7). Port 0 gm 8 chn, ngoi chc nng xut nhp, Port 0 cn l bus a hp d liu v a ch (AD0-AD7), chc nng ny s c s dng khi AT89S52 giao tip vi thit b ngoi c kin trc Bus nh a v cc mch nh,

- Port 1 (P1.0 P1.7). i vi h 8051, chc nng duy nht ca Port 1 l chc nng xut nhp cng nh cc Port khc, Port 1 c th xut nhp theo bit v theo byte. Ring dng 89Sxx, ba chn P1.5, P1.6, P1.7 c dng np ROM theo chun ISP, hai chn P1.0 v P1.1 c dng cho b Timer 2.

. -3-

Khoa in T.

n Mn: Ghp Ni My Tnh.

- Port 2 (P2.0 P2.7). Port 2 ngoi chc nng l cng vo/ra nh Port 0 v Port 1 cn l byte cao ca a ch khi s dng b nh ngoi.

- Port 3 (P3.0 P3.7). Mi chn trn Port 3 ngoi chc nng xut nhp cn c mt chc nng ring c th nh sau: Bit Tn Chc nng P3.0 RXD D liu nhn cho Port ni tip P3.1 TXD D liu truyn cho Port ni tip P3.2 INT0 Ngt bn ngoi 0 P3.3 INT1 Ngt bn ngoi 1 P3.4 T0 Ng vo ca Timer/counter 0 P3.5 T1 Ng vo ca Timer/counter 1 P3.6 /WR Xung ghi b nh d liu ngoi P3.7 /RD Xung c b nh d liu ngoi

. -4-

Khoa in T.

n Mn: Ghp Ni My Tnh.

- Chn /PSEN (program Store Enable ). /PSEN l chn iu khin c chng trnh b nh ngoi, n c ni vi chn /OE cho php c cc byte m lnh trn ROM ngoi. /PSEN s mc thp trong thi gian c m lnh. M lnh c c t b nh ngoi qua bus d liu (Port 0) thanh ghi lnh c gii m. Khi thc hin chng trnh trong ROM ni th /PSEN mc cao. - Chn ALE (Address Latch Enable ). ALE l tn hiu iu khin cht a ch c tn s bng 1/6 tn s dao ng cung cp cho vi iu khin. Tn hiu ALE c dng cho php vi mch cht bn ngoi nh 74373, 74375 cht byte a ch thp ra khi bus a hp a ch/d liu (P0). - Chn /EA (External Access ). Tn hiu /EA cho php chn b nh chng trnh l b nh trong hay ngoi ca vi iu khin. Nu /EA mc cao (ni vi Vcc), th vi iu khin thi hnh chng trnh trong ROM ni. Nu /EA mc thp (ni GND) th vi iu khin thi hnh chng trnh t b nh ngoi. - RST (Reset). Ng vo RST trn chn 9 l ng reset ca chp. Khi tn hiu ny c a ln mc cao (trong t nht 2 chu k my), cc thanh ghi trong b vi iu khin c ti nhng gi tr thch hp khi ng h thng. - XTAL1, XTAL2. AT89S52 c mt b dao ng trn chp, n thng c ni vi b dao ng thch anh c tn s ln nht l 33MHz, thng thng l 12MHz. - VCC, GND. AT89S52 dng ngun mt chiu c di in p t 4V n 5,5V c cp qua chn 40 v 20, trong : Chn 40 ni vi ngun nui 5V v chn 20 1.1. Khi Ghp Ni Vi My Tnh.
. -5-

Khoa in T.

n Mn: Ghp Ni My Tnh.

Gm cng Ni Tip(com) v Max232 gip My Tnh v VK giao tip c vi nhau. 1.4.1. Cng Ni Tip.

Cc Phng Thc Truyn Tin Ni Tip:


+ Phng thc ng b : Cc byte cha cc bt thng tin c truyn lin tip trn ng truyn v ch c ngn cch( phn bit ) nhau bng bit ng b khung (sync) . + Phng thc khng ng b : Cc byte cha cc bt thng tin c cha trong mt khung. Mt khung bt u bng 1 bit start, tip theo l cc bit mang thng tin, k tip l cc bit kim tra chn l v kt thc l bit stop. Khong cch gia cc khung l cc bit dng bt k, khi dng truyn c y ln mc cao. + Phng thc lai : y l phng thc kt hp ca hai phng thc trn, trong cc bit trong mt khung c truyn theo phng thc khng ng b cn cc byte c truyn theo phng thc ng b. Cu to v cc thanh ghi : Cng ni tip RS232 l mt loi giao tip ph bin rng ri nht, ta cn gi l cng COM1, COM2 phc v cho cc ng dng khc nhau. Ging nh cng my in, cng ni tip RS232 cng c s dng rt thun tin trong vic ghp ni my tnh vi cc thit b ngoi vi. Vic truyn d liu qua cng RS232 c tin hnh theo cch ni tip, ngha l cc bit d liu c gi i ni tip vi nhau trn mt ng dn. Trc ht loi ng truyn ny c kh nng dng cho nhng khong cch ln hn, bi v kh nng gy nhiu nh ng k hn khi dng cng song song. Vic dng cng song song c mt nhc im l cp tuyn nhiu si, v vy rt t tin, hn na mc tn hiu nm trong khong 0- 5v t ra khng thch ng vi khong cch ln. +Cu trc ca cng ni tip :

. -6-

Khoa in T.

n Mn: Ghp Ni My Tnh.

ngha cc chn tn hiu nh sau : CHN (loi 9 chn ) 1 2 3 4 5 6 7 8 9 CHN (loi 25 chn) 8 3 2 20 7 6 4 5 22 K HIU DCD RXD TXR DTR GND DSR RTS CTS RI NGHA Data carrier detect Nhn d liu pht d liu D liu u cui sn sng Ni t Thit b thng tin sn sng Yu cu gi Xo gi Ring in dicator

Mc tn hiu trn cc chn ca cng ni tip thng nm trong khong t -12V n +12V cc bit d liu c o ngc li. Mc in p mc logic 1 nm trong khong t -3V n -12V, mc logic 0 nm trong khong t +3V n +12V. Trng thi tnh trn ng dn c mc in p -12V. Bng tc baud ta thit lp tc truyn d liu cc gi tr thng thng l 300, 600, 1200, 2400, 4800, 9600, 19200 baud. K hiu baud l s lng bit truyn trong 1s. Cn mt vn na l khun mu (Format) truyn d liu cn phi c thit lp nh nhau c bn gi cng nh bn nhn, cc thng s truyn c th c thit lp trn my tnh PC bng cc cu lnh trn DOS. Ngy nay Windows cng c cc chng trnh h tr cc thng s truyn d liu nh : tc baud, s bit d liu, s bit dng, bit chn l (parity) c th c thit lp mt cch rt n gin. S trao i ca cc ng dn tn hiu: Cng nh cng my in, cc ng dn tn hiu ring bit cng cho php trao i qua li cc a ch trong my tnh PC. Trong trng hp ny ngi ta thng s dng nhng vi mch c tch hp cao c th hp nht nhiu chc nng trn mt chip. My Tnh PC thng c mt b phn Truyn/Nhn khng ng b vn nng gi tt l UART( Universal Asynchronnous Receiver/Transmitter) iu khin s trao i thng tin gia my tnh v cc thit b ngoi vi. Ph bin nht l vi mch 8250 ca hng NSC hoc cc thit b nh 16C550. B UART 8250 c 9
. -7-

Khoa in T.

n Mn: Ghp Ni My Tnh.

thanh ghi iu khin tt c chc nng ca vic nhp vo, xut ra d liu theo cch ni tip . +Cc thanh ghi: -Thanh ghi iu khin modem( a ch c s + 4): D7 x D6 x D5 x D4 LOOP D3 x D2 x D1 RTS D0 DTR

D0=D1=1 th 2 chn RST v DTR s c mc in p tng ng mc 1 (-12V). D4=1 th Cng Ni Tip hot ng ch vng( dng kim tra ng truyn nhn ca Cng Ni Tip trn cng 1 My Tnh). x : l cc bt khng s dng. -Thanh ghi trng thi modem( a ch c s + 6): D7 x D6 RI D5 DSR D4 CTS D3 x D2 x D1 x D0 x

Thanh ghi ny c chc nng thng bo v trng thi cc ng dn bt tay. iu ch thanh ghi ny l c 3 bit D4, D5, D6, y chnh l li vo ca cc ng dn CTS, DSR v RI -Thanh ghi iu khin ng truyn( a ch c s + 3): DLAB C6 C5 C4 C3 C2 C1 C0

Lu tr cc tham s c ngi lp trnh thit lp v xc nh khun mu khung truyn ca cuc trao i tin. C1, C2: t s bit trong mi t: 00 5 bit, 01 6 bit 10 7 bit, 11 8 bit C2: cc bit dng. 0 1 bit dng 1 1.5 bit dng C3: Bit parity. 0 - khng kim tra chn l 1 - C kim tra chn l C4: Loi parity. 0 - Parity l 1 - parity chn C5:Stick bit. 0 - khng c stick bit 1- Stick bit C6: t break. 0 - Normal out put
. -8-

Khoa in T.

n Mn: Ghp Ni My Tnh.

1- Dng khng truyn. DLAB: Bt phn chia truy nhp cho cc thanh ghi c cng a ch. - Thanh ghi trng thi ng truyn( a ch c s + 5): 0 S6 S5 S4 S3 S2 S1 S0

S0=1 khi c 1 byte mi nhn c. S1=1 khi k t trc cha c c, k t mi n s xa k t c trong b m. S2=1 khi c li chn l. S3=1 khi c li khung truyn. S4=1 khi c li gin on ng truyn. S5=1 khi b m truyn trng rng, bo c php truyn. S6=1 khi b m truyn rng. -Thanh ghi php ngt( a ch c s + 1): x x x x D3 D2 D1 D0

D0: t ngt khi nhn c 1 k t. D1: t ngt khi b m truyn rng. D2: t ngt khi thay i trng thi ng truyn. D3: t ngt khi thay i trng thi Modem. -Thanh ghi nhn dng ngt( a ch c s + 2): x x x x x D2 D1 D0

D2 0 1 1

D1 0 1 0

D0 1 0 0

Mc u tin

Ngun gy ngt

t li ngt

Khng kim tra ngt Cao nht Th 2 Li ng nhn d liu c d liu nhn c thanh ghi trng thi ng truyn c thanh ghi m

. -9-

Khoa in T.

n Mn: Ghp Ni My Tnh.

0 0

1 0

0 0

Th 3 Th 4

Thanh ghi m truyn rng Modem

c thanh ghi IER c thanh ghi trng thi Modem

-Thanh ghi cha s ch tc baud( byte thp - a ch c s ). Thanh ghi ny gm 8 bit , cha phn thp ca s chia tc baud, s chia tc baud c tnh theo cng thc sau: S chia tc baud = 1843200/(16* tc baud cn thit lp). -Thanh ghi cha s ch tc baud( byte cao- a ch c s + 1). -Thanh ghi m c / vit( a ch c s). .2.2.1 Max232. MAX232 l vi mch ca hng MAXIM cha 02 b chuyn i mc t TTL sang RS232 v 02 b lm chc nng ngc li.
+ C 1 + C 2 1 1 1 2 2 1 2 0 9 TTL side T1II R1 N O
UT T2 II N R2 O UT

Vc c 16

2 6 T1OU R1 T II T2 N OU
T R2 II N

1 4 1 3 7 8

C 3 + C 4 +

805 1 P3.1 TxD 1 1 P3.0 RxD 1 0

1 1 1 2

Max2 32

1 2 5 4 1 3 3 DB 9

1 5

Rs232 side

b.

a) S bn trong Max232 a. b) S ghp ni ca Max232 vi 8051 Max232 c hai b iu khin ng truyn l nhn v truyn d liu nh gii thiu hnh trn. Cc b iu khin ng truyn dng cho TxD c gi l T1 v T2. Trong nhiu ng dng th ch c mt cp c dng. V d T1 v R1 c dng vi nhau cho trng hp TxD v RxD ca 8051, cn cp R2 v T2 th khng dng n. rng, b iu khin T1 ca Max232 c gn T1in v T1out trn cc chn s 11 v 14 tng ng. Chn T1in
. - 10 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

l pha TTL v c ni ti chn RxD ca b vi iu khin, cn T1out l pha RS232 c ni ti chn RxD ca u ni DB ca RS232. B iu khin ng R1 cng c gn R1in v R1out trn cc chn s 13 v 12 tng ng. Chn R1in (chn s 13) l pha RS232 c ni ti chn TxD u ni DB ca RS232 v chn R1out (chn s 12) l pha TTL v c ni ti chn RxD ca b vi iu khin. rng ni ghp modem rng l ni ghp m chn TxD bn pht c ni vi RxD ca bn thu v ngc li. MAX232 cn c 4 t in gi tr t 1 n 22F. gi tr thng dng l 10F.A Khi Vi iu Khin chc nng c d liu t ADC 0804 x l v gi kt qu ln My Tnh. 1.2. Khi Chuyn Mch Thang o v ADC.

.4.1.1 ADC 0804. Cc b chuyn i ADC thuc nhng thit b c s dng rng ri nht thu d liu.Cc my tnh s s dng cc gi tr nh phn, nhng trong th gii vt l th mi i lng dng tng t(lin tc). Nhit , p sut (kh hoc cht lng), m v vn tc v mt s t nhng i lng vt lca th gii thc m ta gp hng ngy. Mt i lng vt l c chuyn v dng in hoc in p qua mt thit b c gi l cc b bin i. Cc b bin i cng c th coi nh cc b cm bin. Mc d ch c cc b cm bin nhit, tc , p sut, nh sng v nhiu i lng t nhin khc nhng chng u cho ra cc tn hiu dng dng in hoc in p dng lin tc. Do vy, ta cn mt b chuyn i tng t s sao cho b vi iu khin c th c c chng. Mt chip ADC c s dng rng ri l ADC0804. Cu To. Chip ADC0804 l b chuyn i tng t s thuc h ADC800 ca hng National Semiconductor. Chip ny cng c nhiu hng khc sn xut. Chip c in p nui +5V v phn gii 8 bit. Ngoi phn gii th thi gian chuyn i cng l mt tham s quan trng khi nh gi b ADC. Thi gian chuyn i c nh ngha l thi gian m b ADC cn chuyn mt u vo tng t thnh mt s nh phn. i vi ADC0804 th
. - 11 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

thi gian chuyn i ph thuc vo tn s ng h c cp ti chn CLK v CLK IN v khng b hn 110s. Cc chn khc ca ADC0804 c chc nng nh sau: + CS (Chip select): Chn s 1, l chn chn Chip, u vo tch cc mc thp c s dng kch hot Chip ADC0804. truy cp ADC0804 th chn ny phi mc thp. + RD (Read): Chn s 2, l mt tn hiu vo, tch cc mc thp. Cc b chuyn i u vo tng t thnh s nh phn v gi n mt thanh ghi trong. RD c s dng c d liu c chyn i ti u ra ca ADC0804. Khi CS = 0, nu c mt xung cao xung thp p n chn RD th d liu ra dng s 8 bit c a ti cc chn d liu (DB0 DB7). + WR (Write): Chn s 3, y l chn vo tch c c mc thp c dng bo cho ADC bit bt u qu trnh chuyn i. Nu CS = 0 khi WR to ra xung cao xung thp th b ADC0804 bt u qu trnh chuyn i gi tr u vo tng t Vin v s nh phn 8 bit. Khi vic chuyn i hon tt th chn INTR c ADC h xung thp. + CLK IN v CLK R: CLK IN (chn s 4), l chn vo ni ti ng h ngo i c s dng to thi gia n. Tuy nhin ADC0804 c ng c mt b to xung ng h ring. dng ng h ring th cc chn CLK IN v CLK R (chn s 19) c ni vi mt t in v mt in tr (nh hnh v). Khi tn s c xc nh bng biu thc: F = 1/ 1.1RC Vi R = 10 k, C = 150 pF v tn s f = 606 kHz v thi gian chuyn i l 110 s. + Ngt INTR (Interupt): Chn s 5, l chn ra tch c c mc thp. Bnh thng chn ny trng thi cao v khi vic chuyn i ho n tt th n xung thp bo cho CPU bit l d liu chuyn i sn sng ly i. Sau khi INTR xung thp, cn t CS = 0 v gi mt xung cao xung thp ti chn RD a d liu ra. + Vin (+) v Vin (-): Chn s 6 v chn s 7, y l 2 u vo tng t vi sai, trong V in = Vin(+) Vin(-). Thng thng Vin(-) c ni ti t v Vin(+) c dng lm u vo tng t v s c chuyn i v dng s. + Vcc: Chn s 20, l chn ngun nui +5V. Chn ny cn c dng lm in p tham chiu khi u vo Vref/2 h. + Vref/2: Chn s 9, l chn in p u vo c dng lm in p tham chiu. Nu chn ny h th in p u vo tng t cho ADC0804 nm
. - 12 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

trong di 0 n +5V. Tuy nhin, c nhiu ng dng m u vo tng t p n V in khc vi di 0 n +5V. Chn V ref/2 c dng thc hin cc in p u ra khc 0 n +5V. Bng: Quan h in p V ref/2 vi Vin. Vref/2 (V) H 2.0 1.5 1.28 1.0 0.5 Vin (V) 05 04 03 0 2.56 02 01 Kch thc bc (mV) 5/256 = 19.53 4/256 = 15.62 3/256 = 11.71 2.56/256 = 10 2/256 = 7.81 1/256 = 3.90

+ D0 - D7: D0 - D7, chn s 18 11, l cc chn ra d liu s (D7 l bit cao nht MSB v D0 l bit thp nht LSB). Cc chn ny c m ba trng thi v d liu c chuyn i ch c truy cp khi chn CS = 0 v chn RD a xu ng mc thp. tnh in p u ra ta tnh theo cng thc sau: Dout = Vin / Kch thc bc 1.4.2. Chuyn Mch Thang o. Tn hiu in p cn o c phn p xung khong in p 0V5V nh cc cu phn p in tr( mi thang c 1 cu phn p ring), n ch chuyn mch xoay a vo chn Vin+ ca ADC 0804 thc hin bin i t tng t sang s. y l chuyn mch xoay, va chn thang o v, va bo cho VK bit chuyn mch ang thang ny

. - 13 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

2. Lp Trnh
2.1. Chng Trnh iu Khin Cho VK 89S52. #include<AT89S52.c> #include<stdio.h> sbit A0=P2^2; sbit A1=P2^3; sbit WR1=P2^1; sbit RD1=P2^0; unsigned char bien=0x00; char y; void delay_1ms (unsigned int time) { unsigned int x; for(x=1;x<=time;x++) { TMOD=0x11; TH0=64536/256; TL0=64536%256; TR0=1; while(!TF0); TF0=TR0=0; } } main() { SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; A0=A0=1; // Lua chon thanh ghi dk
. - 14 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

P0=0x89; WR1=0; RD1=1; WR1=1; RD1=1;

// Cong A,B,la output.cong C la input // Ghi vao thanh ghi dk

delay_1ms(500); while(1) { A0=0;A1=0; P0=bien; WR1=0; RD1=1; WR1=1; RD1=1; bien=~bien; delay_1ms(200); A0=1;A1=0; P0=bien; WR1=0; RD1=1; WR1=1; RD1=1; delay_1ms(200); P0=0xff; A0=0;A1=1; WR1=1; RD1=0; P1=P0; WR1=1; RD1=1; cua 8255 //Xuat du lieu ra cong P1 cua VDK theo phim nhan tu PC
. - 15 -

// Lua chon cong A // Cong A sang

// Lua chon cong b

//Xuat du lieu tu CPU ra cong B

// Lua chon cong C

Khoa in T.

n Mn: Ghp Ni My Tnh.

delay_1ms(200); } } #include<regx52.h> #include<stdio.h> char y; void main() { SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; while(1) { y=P1; putchar(y); } } Dim i, h As Integer Dim dem As Integer Dim dienap, dd As Single Dim x1 As Integer Dim y1 As Integer Dim temp As Integer Dim array_x1(500) As Integer Dim array_y1(500) As Integer Dim ve As Boolean Dim kt As String Private Sub Command1_Click() ve = True
. - 16 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

End Sub Private Sub Command2_Click() ve = False End Sub Private Sub Command3_Click() If MSComm1.PortOpen = False Then ' mo cong MSComm1.PortOpen = True End If End Sub Private Sub Command4_Click() If MSComm1.PortOpen = True Then ' off cong MSComm1.PortOpen = False End If End Sub Private Sub Command5_Click() End End Sub Private Sub Command6_Click() h=h-1 Text2.Text = Val(h) End Sub Private Sub Command7_Click() h=h+1 Text2.Text = Val(h)
. - 17 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

End Sub Private Sub Form_Load() x1 = 1080 dem = 0 h=0 With MSComm1 .Settings = "9600,N,8,1" ' thiet dat cau hinh cong .CommPort = 2 'su dung cong COM2 .RThreshold = 1 ' so byte trong bo dem nhan lam phat sinh su kien OnComm .SThreshold = 0 'so byte trong bo dem truyen, =0 =>ko tao su kien OnComm .InputMode = 0 'comInputModeText 0 .InputLen = 0 'Doc toan bo du lieu trong bo dem nhan .Handshaking = comNone 'ko dung giao thuc bat tay .InBufferSize = 1024 byte .OutBufferSize = 1024 'dat va xac dinh kich thuc bo dem truyen la 1024 byte End With End Sub Private Sub MSComm1_OnComm() If MSComm1.CommEvent = 2 Then 'comEvReceive = 2(neu co du lieu dau vao) kt = MSComm1.Input ' doc du lieu dau vao tu cong Com temp = Asc(kt) dienap = temp * 128 / 255 Text1.Text = Round(dienap, 0) If dienap > h Then Shape1.FillColor = vbRed Shape2.FillColor = vbWhite
. - 18 -

'dat va xac dinh kich thuc bo dem nhan la 1024

Khoa in T.

n Mn: Ghp Ni My Tnh.

Shape3.FillColor = vbWhite End If If dienap = h Then Shape2.FillColor = vbRed Shape1.FillColor = vbWhite Shape3.FillColor = vbWhite End If If dienap < h Then Shape3.FillColor = vbRed Shape2.FillColor = vbWhite Shape1.FillColor = vbWhite End If End If End Sub Sub gui(X As String) If MSComm1.PortOpen = True Then MSComm1.Output = X End If End Sub Private Sub Timer1_Timer() Label8.Caption = "Timer: " & Format(Now, "ddd dd-mmm-yyyy hh:nn:ss") If ve = True Then vedothi (dienap) End If End Sub Public Sub vedothi(X As Integer) dem = dem + 1 x1 = x1 + 120 y1 = Int(4080 - X * (2520 / 128)) '0 -->50V array_x1(dem) = x1 'luu toa do x array_y1(dem) = y1 'luu toa do y
. - 19 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

Circle (x1, y1), 20, vbRed ' ve duong tron mau do Line (x1, y1 + 25)-(x1, 4080), &H8000& ' ve duong thang If dem >= 39 Then ' xoa khi ve het man hinh delete End If End Sub Public Sub delete() ' gan nhung diem da ve bang mau nen Dim i Dim k k = dem For i = 1 To k x1 = array_x1(i) y1 = array_y1(i) Circle (x1, y1), 20, &H80000009 '&H8000000E xoa duong tron do? da ve Line (x1, y1 + 25)-(x1, 4080), &H8000000E ' xoa duong thang da ve Next dem = 0 x1 = 1080 'khoi tao lai gia tri toa do ban dau End Sub As Integer As Integer

. - 20 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

NHN XT CA GIO VIN


. - 21 -

Khoa in T.

n Mn: Ghp Ni My Tnh.

. - 22 -

You might also like