Professional Documents
Culture Documents
Điều khiển thiết bị qua PC
Điều khiển thiết bị qua PC
Vi vic pht trin ca k thut vi x l hin nay th vic p dng vo thc tin
i sng l mt nhu cu cn thit ca con ngi. Vi xu hng hin i ha nh hin
nay th vic iu khin thit b bi mt h thng s gip vic iu khin thit b n
gin v d s dng cho ngi dng.
Nm bt c tnh hnh nhm sinh vin chng em la chn ti iu Khin
Thit B Qua PC nhm nghin cu cung cp cho ngi dng mt h thng iu
khin n gin m hiu qu, l h thng iu khin nhiu thit b ti ch qua vic
kt ni vi cng COM my tnh, chng ta c th iu khin c cc thit b dn dng
nh n dy tc, n hunh quang, v cc thit b c c iu khin bng chc
nng ON/OFF.
Thng qua vic nghin cu vi iu khin AT89S8252, cc cng giao tip my
tnh v cc linh kin in t, ti s mang li mt h thng n nh, chnh xc v an
ton vi ngi s dng.
Vi s hng dn ca c Nguyn Lan Anh gip chng em hon thnh tt
ti ny.
Trong qu trnh tm hiu khng th khng c nhng iu thiu st, mong qu
Thy C v ngi c gp , chnh sa ti ca chng em c hon thin tt
hn.
Trang 1
Mc lc
MC LC
LI M U .........................................................................................................................1
MC LC ................................................................................................................................2
CHNG 1: DN NHP ....................................................................................................6
1.1
L DO CHN TI ............................................................................................6
1.3
1.3.1
1.3.2
M T ........................................................................................................................7
2.2
2.3
T CHC B NH .............................................................................................. 11
2.3.1
RAM mc ch chung..................................................................................... 12
2.3.2
RAM nh v. ................................................................................................... 12
2.3.3
2.3.4
2.3.4.1 T trng thi chng trnh (PSW: Program Status Word): .................... 14
2.3.4.2 Thanh ghi B:................................................................................................. 16
2.3.4.3 Con tr Stack SP (Stack Pointer): ............................................................. 16
2.3.4.4 Hai con tr d liu DPTR (Data Pointer) ................................................. 16
2.3.4.5 Cc thanh ghi Port (Port Register): ........................................................... 16
2.3.4.6 Cc thanh ghi Timer (Timer Register):..................................................... 16
2.3.4.7 Cc thanh ghi Port ni tip (Serial Port Register): .................................. 17
2.3.4.8 Cc thanh ghi ngt (Interrupt Register): ................................................... 17
2.3.4.9 Thanh ghi iu khin ngun PCON (Power Control Register): ............ 18
2.3.4.10 Thanh ghi iu khin b nh v kim sot gi (WMCON) ............... 19
2.3.4.11 Thanh ghi giao tip ni tip bn ngoi SPI (Serial Peripheral
Interface) .................................................................................................................... 20
2.4
2.4.1
Trang 2
Mc lc
2.5.1
2.5.2
Thanh ghi iu khin port ni tip SCON (Serial Port Control Register) 32
2.5.3
2.5.4
2.6.1
2.6.2
Trang 3
Mc lc
Timer 2.............................................................................................................. 45
3.1.1
Tn gi .............................................................................................................. 51
3.1.2
Mc in p cng ............................................................................................ 51
3.1.3
3.1.4
3.1.5
3.1.6
3.2
3.2.1
3.2.2
3.3
3.3.1
3.3.2
Kt ni qua USB.............................................................................................. 58
3.3.3
3.3.4
3.3.5
3.3.6
T VN . ....................................................................................................... 62
4.2
4.3
4.4
CC MC IN P NG TRUYN......................................................... 62
4.5
4.6
Mc lc
4.6.1
Tc Baud. .................................................................................................... 65
4.6.2
4.7
S KT NI ................................................................................................... 66
5.2
5.2.1
5.2.2
S kt ni. ................................................................................................... 68
5.3
6.1.1
6.1.2
6.1.3
6.2
6.3
6.4
MCH M PHNG.............................................................................................. 84
Trang 5
1.1
Chng 1: Dn Nhp
CHNG 1: DN NHP
L DO CHN TI
1.2
MC CH NGHIN CU TI
Trang 6
2.2
xa.
Trang 7
Bit
Tn
P1.0
T2
P1.1
T2EX
P1.4
P1.5
MOSI
P1.6
MISO
P1.7
SCK
Ng vo ca b nh thi/m 2
Np li/thu nhn ca b nh thi 2
Ng vo la chn cng Slave
Trang 8
Bit
Tn
P3.0
RXD
P3.1
TXD
P3.2
Ngt 0 bn ngoi
P3.3
Ngt 1 bn ngoi
P3.4
T0
Ng vo ca timer/counter 0
P3.5
T1
Ng vo ca timer/counter 1
P3.6
P3.7
dng I/O na. Bi v ta mun EPROM v RAM ngoi nn phi s dng Port 2 lm
byte cao ca bus a ch.
Chn 29 () l tn hiu iu khin xut ra ca AT89S8252, n cho php
chn b nh ngoi v c ni chung vi chn ca OE (Out Enable) ca EPROM
ngoi cho php c cc byte ca chng trnh. Cc xung tn hiu h thp
trong sut thi gian thi hnh lnh. Nhng m nh phn ca chng trnh c c t
EPROM i qua bus d liu v c cht vo thanh ghi lnh IR ca AT89S8252 bi
m lnh. Khi thi hnh chng trnh trong ROM ni s mc th ng (mc
cao). Khi AT89S8252 ang thc thi lnh t b nh chng trnh ngoi, c
tch cc hai ln cho mi chu k my, ngoi tr thi gian mi ln truy xut b nh
d liu ngoi, hai ln tch cc ca c b qua.
Chn 30 (ALE/ : Adress Latch Enable) l tn hiu iu khin xut ra ca
AT89S8252, n cho php phn knh bus a ch v bus d liu ca Port 0. Cc xung
tn hiu ALE c tc bng 1/6 ln tn s dao ng trn chip v c th dng lm
ngun xung nhp cho cc phn khc ca h thng. Nu nhp xung trn AT89S8252
l 12 MHz th ALE c tn s l 2MHz. Tuy nhin cn ch l mt xung ALE s b
mt khi truy xut b nh bn ngoi. C th hy b chc nng set ca bit 0 ca thanh
ghi SFR v tr 8EH. Khi bit ny c set, ALE ch tch cc khi c lnh MOVX
hoc MOVC, nu khng c lnh ny ALE mc cao. Vic set bit 0 ca thanh ghi
v tr 8EH khng lm nh hng n vi iu khin khi truy cp b nh ngoi.
Chn 31 (EA: Eternal Acess) c a xung thp cho php chn b nh m
ngoi i vi 8031.
i vi AT89S8252 th:
Cc chn t 3239 l Port 0 (P0.0, P0.1, , P0.7) dng cho c hai mc ch:
va lm byte thp cho bus a ch, va lm bus d liu, nu Port 0 khng cn chc
nng xut nhp I/O na.
Chn 40 (Vcc) c ni ln ngun 5V.
Trang 10
2.3
T CHC B NH
7F
7E
7D 7C
7B 7A 79
78
2E
77
76
75
73
71
70
2D
6F
6E
6D 6C
6B 6A 69
68
2C
67
66
65
63
61
60
2B
5F
5E
5D 5C
5B 5A 59
58
2A
57
56
55
53
51
50
29
4F
4E
4D 4C
4B 4A 49
48
28
47
46
45
43
41
40
27
3F
3E
3D 3C
3B 3A 39
38
26
37
36
35
33
31
30
25
2F
2E
2D 2C
2B 2A 29
28
24
27
26
25
23
21
20
23
1F
1E
1D 1C
1B 1A 19
18
22
17
16
15
13
11
10
21
0F
0E
0D 0C
0B 0A 09
08
20
07
06
05
03
00
1F
18
17
10
0F
08
74
64
54
44
34
24
14
04
72
62
52
42
32
22
12
02
01
Bank 3
Bank 2
Bank 1
07
00
Trang 11
A, R5
A, 05H
R0, A
tng dng cc bng thanh ghi cho php chuyn ng cnh chng trnh
nhanh v hiu qu m tng phn ring r ca phn mm s c mt b thanh
ghi ring c lp vi cc phn khc.
2.3.4 Cc thanh ghi chc nng c bit (Special Function Register).
Trang 13
SYMBOL
ADDRESS
DESRIPTION
PSW.7
CY
D7H
Carry Flag
PSW.6
AC
D6H
Trang 14
PSW.5
F0
D5H
Flag 0
PSW.4
RS1
D4H
PSW.3
RS0
D3H
PSW.2
OV
D2H
Overlow Flag
PSW.1
D1H
Reserved
PSW.0
D0H
C 0 (Flag 0):
C trn c set sau mt hot ng cng hoc tr nu c s trn ton hc. Bit
OV c b qua i vi s cng tr khng du. Khi cng tr c du, kt qu ln hn
+127 hay nh hn -128 s set bit OV.
Trang 15
Thanh ghi B:
ET2
ES
ET1
EX1
ET0
EX0
V tr
M t
EA
IE.7
IE.6
Reserved
ET2
IE.5
ES
IE.4
ET1
IE.3
Trang 17
EX1
IE.2
ET0
IE.1
EX0
IE.0
K hiu
M t bit
SMOD
Khng c nh ngha.
Khng c nh ngha.
POF
GF1
GF0
C a dng, bit 0.
PD
IDL
Trang 18
K hiu
Chc nng
PS2
PS1
PS0
EEMWE
EEMEN
DSP
WDTRST
RDY/
Trang 19
WDTEN
2.3.4.11
Interface)
Bit trng thi v iu khin cho SPI c cha trong thanh ghi SPCR a
ch D5H trnh by bng 2.6 v SPSR a ch AAH trnh by bng 2.7. Cc bit d
liu SPI cha trong thanh ghi SPDR a ch 86H. Thanh ghi d liu SPI s ghi d
liu trong sut qu trnh truyn d liu ni tip t vo bit WCOL (Write Collition)
trong thanh ghi SPSR. Thanh ghi SPDR l b m i ghi v gi tr trong SPDR
khng b thay i khi reset.
Bng 2.7: Thanh ghi iu khin SPI
Bit
K hiu
Chc nng
SPIE
Bit cho php ngt SPI (SPI Interrupt Enable). Bit ny cng vi bit
ES trong thanh ghi IE bng 1 cho php ngt SPI. SPIE bng 0
khng cho php ngt SPI.
SPE
Bit cho php SPI (SPI Enable). SPI = 1 cho php knh SPI v kt
ni , MOSI, MISO v SCK n cc chn P1.4, P1.5, P1.6 v
P1.7. SPI = 0 khng cho php knh SPI.
DORD
MSTR
MSTR = 1 chn kiu Master SPI. MSTR = 0 chn kiu Slave SPI.
CPOL
CPHA
SPR0
SPR1
SPR0
SCK = FOSC
Trang 20
16
64
128
K hiu
Chc nng
SPIF
WCOL
2.4
TM TT TP LNH CA AT89S8252
Thanh ghi.
Trc tip.
Gin tip.
Tc thi.
Tng i.
Tuyt i.
Di.
nh v.
2.4.1.1 S nh v thanh ghi ( Register Addressing)
Vi cch nh a ch ny ngi ta s dng cc thanh ghi cha d liu.
Ngi ta t ton hng (d liu) trong thanh ghi v x l n bng cch tham chiu
Trang 21
thanh ghi (bng tn) trong lnh. Khi s dng cc thanh ghi thng dng c hiu
ngm theo ng cnh ca lnh th thanh ghi khng cn cc bit m ha, tuy nhin
vi cc thanh ghi khc (R0 R7) th cn thm cc bit m ha trong lnh.
C 4 dy thanh ghi 32 byte u tin ca RAM d liu trn Chip a ch
00H1FH, nhng ti mt thi im ch c mt dy hot ng cc bit PSW3, PSW4
ca t trng thi chng trnh s quyt nh dy no hot ng. Cc lnh nh v
thanh ghi c ghi mt m bng cch dng bit trng s thp nht ca Opcode lnh
ch mt thanh ghi trong vng a ch theo logic ny. Nh vy 1 m chc nng v a
ch hot ng c th c kt qu to thnh mt lnh ngn 1 byte nh sau:
n
Opcode
Opcode
Direct Addressing
Trang 22
Opcode
Opcode
Immediate Data
V d:
MOV A, #12 <= a trc tip s thp phn 12 vo A
MOV A, #10 <= a trc tip s Hex 10H (16D) vo A
MOV A, #000100110B <= a trc tip s nh phn ny vo A
2.4.1.5 S nh v a ch tng i
S nh a ch tng i ch s dng vi nhng lnh nhy no . Mt a ch
tng i ( hoc Offset ) l 1 gi tr 8 bit m n c cng vo b m chng trnh
PC to thnh a ch 1 lnh tip theo c thc thi. Phm vi ca s nhy nm trong
khong -128 127. Offset tng i c gn vo lnh nh 1 byte thm vo nh sau:
Opcode
Relative Offset
Trang 23
Opcode
Addr 10 Addr 8
Addr 7 Addr 0
S nh v tuyt i em li thun li cho cc lnh ngn ( 2 byte ), nhng bt
li trong vic gii hn phm vi ni gi n v cung cp m c v tr c lp.
2.4.1.7 S nh v a ch di ( Long Addressing )
S nh v di c dng vi lnh LCALL v LJMP. Cc lnh 3 byte ny bao
gm 1 a ch ni gi ti 16 bit y l 2 byte v 3 byte ca lnh.
Opcode
Addr 15 Addr 8
Addr 7 Addr 0
PC (or DPTR)
Offset
Effective Address
ACC
Trang 24
Index Addressing
2.4.2 Cc kiu lnh (instruction types)
AT89S8252 chia ra 5 nhm lnh chnh:
Cc lnh s hc.
Lnh logic.
Dch chuyn d liu.
L lun.
R nhnh chng trnh.
A, Rn
ADD
A, direct
ADD
A, @ Ri
ADD
A, # data
ADDC
A, Rn
ADDC
A, direct
ADDC
A, @ Ri
ADDC
A, # data
SUBB A, Rn
SUBB A, direct
SUBB A, @ Ri
SUBB A, # data
INC <byte>
INC
: (A) (A) + 1
INC
direct
: (direct) (direct) + 1
INC
Ri
: ((Ri)) ((Ri)) + 1
INC
Rn
: (Rn) (Rn) + 1
INC
DPTR
: (DPTR) (DPTR) + 1
DEC <byte>
DEC
: (A) (A) 1
DEC
direct
: (direct) (direct) 1
DEC
@ Ri
: ((Ri)) ((Ri)) 1
Trang 25
DEC
Rn
: (Rn) (Rn) 1
MULL
AB
DIV
AB
DA
A
: iu chnh thanh ghi A thnh s BCD ng trong
php cng BCD (thng DA A di km vi ADD, ADDC)
Nu [(A3 A0) > 9] v [(AC) = 1] <= (A3A0) (A3A0) + 6
Nu [(A7 A4) > 9] v [(C) = 1] <= (A7A4) (A7A4) + 6
2.4.2.2 Cc hot ng logic (Logic Operation):
Tt c cc lnh logic s dng thanh ghi A nh l mt trong nhng ton hng
thc thi mt chu k my, ngoi A mt hai chu k my. Nhng hot ng logic c th
c thc hin trn bt k byte no trong v tr nh d liu ni m khng qua thanh
ghi A.
Cc hot ng logic c tm tt nh sau:
ANL
A, Rn
ANL
A, direct
ANL
A, @ Ri
ANL
A, # data
ANL
direct, A
ANL
ORL
A, Rn
ORL
A, direct
ORL
A, @ Ri
ORL
A, # data
ORL
direct, A
ORL
XRL
A, Rn
XRL
A, direct
XRL
A, @ Ri
XRL
A, # data
XRL
direct, A
CLR
: (C) 0.
CLR
Bit
: (Bit) 0.
RL
RLC
RR
RRC
SWAP
rel
JNC
rel
JB
JNB
JBC
ACALL
addr11
LCALL
addr16
RET
chnh.
(PC15PC8) (SP)
(SP) (SP) 1
(PC7PC0) ((SP))
(SP) (SP) 1
RETI
: kt thc th tc phc v ngt quay v chng trnh
chnh hot ng tng t nh RET.
AJMP
Addr11
LJMP
Addr16
SJMP
rel
rel
JNZ
rel
A, direct, rel
(PC) (PC) + 3
(A)< > (direct) <= (PC) (PC) + Relative Address
(A)< (direct) <= C = 1
(A)> (direct) <= C = 0
(A)= (direct). Thc hnh lnh k tip.
CJNE
CJNE
CJNE
DJNE
Rn, rel
: gim Rn v nhy nu Rn 0.
(PC) (PC) + 2
(Rn) (Rn) 1
(Rn) < > 0 <= (PC) (PC) + byte 2
A, Rn
: (A) (Rn)
MOV
A, direct
: (A) (direct)
MOV
A, @ Ri
: (A) ((Ri))
MOV
A, # data
: (A) # data
MOV
Rn, A
: (Rn) (A)
MOV
Rn, direct
: (Rn) (direct)
Trang 29
MOV
Rn, # data
: (Rn) # data
MOV
direct, A
: (direct) (A)
MOV
direct, Rn
: (direct) (Rn)
MOV
direct, direct
: (direct) (direct)
MOV
direct, @ Ri
: (direct) ((Ri))
MOV
MOV
@ Ri, A
: ((Ri)) (A)
MOV
@ Ri, direct
: ((Ri)) (direct)
MOV
@ Ri, # data
: ((Ri)) # data
MOV
DPTR, # data 16
: (DPTR) # data 16
MOV
A, @ A + DPTR
MOV
@ A + PC
: (PC) (PC) + 1
(A) (A) + (PC)
MOVX
A, @ Ri
: (A) ((Ri))
MOVX
A, @ DPTR
: (A) ((DPTR))
MOVX
@ Ri, A
: ((Ri)) (A)
MOVX
@ DPTR, A
: (DPTR) (A)
PUSH
direct
: ct d liu vo Stack
(SP) (SP) + 1
(SP) (direct)
POP
direct
: ly t Stack ra direct
(direct) ((SP))
(SP) (SP) 1
XCH
A, Rn
: i ch ni dung ca A vi Rn
(A) (Rn)
XCH
A, direct
: (A) (direct)
XCH
A, @ Ri
: (A) ((Ri))
XCHD
A, @ Ri
CLR
BIT
SET
SET
BIT
CPL
CPL
BIT
ANL
C, BIT
ANL
C, /BIT
ORL
C, BIT
ORL
C, /BIT
MOV
C, BIT
MOV
BIT, C
Carry.
2.5
Trang 31
Hai thanh ghi chc nng c bit cung cp cho phn mm truy xut n Port
ni tip l SBUF v SCON. S m Port ni tip ( SBUF) a ch 99H l 2 s m
tht s : Ghi ln SBUF LOAD d liu pht v c SBUF truy xut d liu nhn.
y l 2 thanh ghi ring bit v r rt, m thanh ghi pht ch ghi cn thanh ghi thu ch
c. S khi ca Port ni tip nh sau:
Trang 32
Bit
K kiu
a ch
SCON.7
SM0
9FH
SCON.6
SM1
9EH
SCON.5
SM2
9DH
SCON.4
REN
9CH
SCON.3
TB8
9BH
SCON.2
RB8
9AH
SCON.1
TI
99H
SCON.0
RI
98H
SM1
Mode
M t
2
3
Tc Baud
C nh
FOSC/12).
(tn
dao
ng
URAT 8 bit
Thay i (c t bi Timer).
URAT 9 bit
URAT 9 bit
Thay i (c t bi Timer).
Trang 33
MOV ACC.7, C
:a Parity chn vo bit SB ca A
MOV SBUF, A
:gi bit data cng bit Parity chn
2.5.4.4 C ngt
C ngt thu RI v pht TI trong thanh ghi SCON vn hnh 1 rle quan trng
trong s truyn ni tip AT89S8252. C 2 bit u c set bi phn cng nhng phi
xa bi phn mm.
in hnh l RI c set cui s thu k t v cho bit : thanh ghi m thu
y. iu kin ny c th kim tra trong phn mm hoc c th c lp trnh sinh
ra s ngt. Nu phn mm mun nhp 1 k t t 1 thit b c kt ni n Port ni
tip, th n phi ch n khi RI c set, sau khi xa RI v c k t t SBUF. iu
ny c lp trnh nh sau :
WAIT :
JNB RI, WAIT
: kim tra RI c set cha
CLR RI
:xa c ngt thu RI
MOV A, SBUF
: CPU c k t
TI c set cui s pht k t v cho bit thanh ghi m ca s pht
rng. Nu phn mm mun gi 1 k t n 1 thit b c kt ni n Port ni
tip, trc tin n phi kim tra xem Port ni tip sn sng cha. Nu k t trc
c gi i, th n phi ch cho n khi s pht i hon thnh. Cc lnh sau y
dng pht 1 k t trong thanh ghi A ra :
WAIT :
JNB RI, WAIT
: kim tra TI c set cha
CLR RI
:xa c ngt thu TI
MOV A, SBUF
: CPU c k t
2.5.5 S truyn ca b x l a knh
Mode 2 v mode 3 c 1 s cung cp c bit cho vic truyn a knh x l.
cc mode ny, 9 bit data c thu v bit th 9 i vo RB8. Port c th lp trnh nh
iu m bit Stop thu c, s ngt ca Port ch c tch cc nu RB8 = 1. c im
ny cho php bi vic set bit MS2 trong thanh ghi SCON. ng dng ny l 1 s ci
t mng c dng bi nhiu AT89S8252 s sp t my ch v my con nh sau
Trang 35
+12
MODE 0
Bng s mc nhin sau khi reset h thng, tc Baud mode 2 l tn s dao
ng chia cho 64, tc Baud cng b nh hng bi bit SMOD ca thanh ghi PCON.
Vic set bit SMOD s tng gp i tc Baud trong cc mode 1, 2 v 3. Trong
mode 2, tc Baud c th c gp i t gi tr mc nh 1/64 tn s/Chip ( ng
SMOD = 0 ) ln n 1/32 tn s dao ng trn Chip ( ng vi SMOD = 1 ).
Trang 36
+64
SMOD = 0
On Chip Oscillator
Baud Rate Clock
+32
SMOD = 1
MODE 1
Bi thanh ghi PCON khng c bit nh v, nn set bit SMOD m khng thay
i cc bit khc ca thanh ghi PCON th i hi phi c 1 hot ng c b sung
ghi.
Cc lnh sau y set bit SMOD :
MOV A, PCON :nhp vo A gi tr hin hnh ca PCON
SETB ACC, 7
:set bit 7 ca ACC ( bit SMOD )
MOV PCON, A
: ghi gi tr tr v PCON m SMOD c set
Cc tc Baud trong mode 1 v mode 3 ca AT89S8252 c xc nh bi
tc trn ca Timer 1. Bi v Timer hot ng tn s cao lin tc nn trn xa hn
na c chia cho 32 ( chia cho 16 nu SMOD = 1 ) trc khi cung cp xung clock
tc Baud n Port ni tip. Tc Baud mode 1 v 3 ca AT89S8252 c xc
nh bi tc trn ca Timer 1 hoc Timer 2, hoc c 2.
+32
SMOD = 0
On Chip Oscillator
Baud Rate Clock
+16
SMOD = 1
MODE 2
Mun sinh ra tc Baud, ta khi gn TMOD mode t ng np 8 bit ( mode
2 ca Timer ) v t gi tr Reload ng vo byte cao ca thanh ghi Timer 1 (TH1)
sinh ra tc trn chnh xc cho tc Baud. C nhng tc Baud rt chm ta dng
mode 16 bit l mode 1 ca Timer, nhng ta phi khi gan sau mi s trn cho
TL1/TH1 trong th tc phc v ngt ISR.
Hot ng khc c m gi bi vic dng Timer 1 ngoi l T1 (P3.5). Cng
thc chung xc nh tc Baud trong mode 1 v mode 3 l:
BAUD RATE = TIMER 1 OVERFLOW RATE32
Trang 37
TH1
Reload
Value
Actua
Baud Rate
Error
12 MHz
-7 (F9H
8923
7%
2400
12 MHz
-13 (F9H)
2404
0.16%
1200
12 MHz
-23 (F9H)
1202
0%
19200
11.059 MHz
-3 (F9H)
19200
0%
9600
11.059 MHz
-3 (F9H)
9600
0%
2400
11.059 MHz
-12 (F9H)
2400
0%
1200
11.059 MHz
-24 (F9H)
1200
0%
Baud Rate
Crytal
Frequency
9600
Trang 38
2.6
Purpose
Address
Bit - Addressable
TCON
Control
88H
YES
TMOD
Mode
89H
NO
TL0
8AH
NO
TL1
8BH
NO
TH0
8CH
NO
Trang 39
TH1
8DH
NO
Name
Timer
Description
GATE
C/T
C/T = 1: m s kin
C/T = 0: ghi gi u n
M1
M0
GATE
C/T
M1
M0
M0
MODE
Description
Mode t ng np 8 bit
Mode Timer tch ra:
Trang 40
TCON.7
Symbol
TF1
Bit
Address
Description
8FH
TCON.6
TR1
8EH
TCON.5
TF0
8DH
TCON.4
TR0
8CH
8BH
TCON.3
IE1
TCON.2
IT1
8AH
TCON.1
IE0
89H
TCON.0
IT0
88H
Trang 41
TLx (5 bit)
THx (8 bit)
TFx
Overflow
MODE 0
Mode 0 l mode Timer 13 bit, trong byte cao ca Timer (THx) c t thp
v 5 bit trng s thp ca byte thp Timer (TLx) t cao hp thnh Timer 13 bit. 3
bit cao ca TLx khng dng.
2.6.2.2.2
Timer Clock
TLx (8 bit)
THx (8 bit)
TFx
OverFlow
MODE 1
Mode 1 l mode Timer 16 bit, tng t nh mode 0 ngoi tr Timer ny hot
ng nh mt Timer y 16 bit, xung clock c dng vi s kt hp cc thanh ghi
cao v thp (TLx, THx). Khi xung clock c nhn vo, b m Timer tng ln
0000H, 0001H, 0002H,... v mt s trn s xut hin khi c s chuyn trn b m
Timer t FFFFH sang 0000H v s set c trn Timer, sau Timer m tip.
C trn l bit TFx trong thanh ghi TCON m n s c c hoc ghi bi phn
mm.
Bit c trng s ln nht (MSB) ca gi tr trong thanh ghi Timer l 7 bit ca
THx v bit c trng s thp nht (LSB) l bit 0 ca TLx. Bit LSB i trng thi tn
s clock vo c chia 2 16 = 65536.
Cc thanh ghi Timer TLx v THx c th c c hoc ghi ti bt k thi im
no bi phn mm.
2.6.2.2.3
Timer Clock
TLx (8 bit)
TFx
Overflow
Reload
THx (8 bit)
MODE 2
Mode 2 l mode t ng np 8 bit, byte thp TLx ca Timer hot ng nh mt
Timer 8 bit trong khi byte cao THx ca Timer gi gi tr Reload. Khi b m trn t
Trang 42
Timer Clock
TLx (8 bit)
THx (8 bit)
Overflow
Timer Clock
TLx (8 bit)
TF0
Overflow
Timer Clock
TLx (8 bit)
TF1
Overflow
MODE 3
Mode 3 l mode tch ra v l s khc bit cho mi Timer.
Timer 0 mode 3 c chia lm 2 Timer 8 bit. TL0 v TH0 hot ng nh
nhng Timer ring l vi su75 trn s set cc bit TL0 v TF1 tng ng.
Timer 1 b dng li mode 3, nhng c th c khi ng bi vic ngt n
vo 1 trong cc mode khc. Ch c nhc im l c trn TF1 ca Timer 1 khng nh
hng bi cc s trn ca Timer 1 bi v TF1 c ni vi TH0.
Mode 3 tt yu cung cp 1 Timer ngoi 8 bit l Timer th ba ca AT89S8252.
Khi vo Timer 0 mode 3, Timer c th hot ng hoc tt bi s ngt n ra ngoi v
vo trong mode ca chnh n hoc c th c dng bi Port ni tip nh l mt my
pht tc Baud, hoc c th dng trong hng no m khng s dng Interrupt.
2.6.2.3 Cc ngun xung clock (Clock Sources)
C 2 ngun xung clock c th m gi v s nh gi bn trong v s m s
kin bn ngoi. Bit C/T trong TMOD cho php chn mt trong hai khi Timer c
hot ng.
2.6.2.3.1
Trang 43
cho php ghi gi bn trong ng thi xa cc bit mode ca Timer 0, sau lnh trn
Timer vn cha m gi, n ch bt u m gi khi set bit iu khin chy TR1 ca
n.
Nu ta khng khi gn gi tr u cho cc thanh ghi TLx/THx th Timer s bt
u m t 0000H ln v khi trn t FFFFH sang 0000H li m t 0000H ln.
Nu ta khi gn gi tr u cho TLx/THx, th Timer s bt u m t gi tr
gn ln nhng khi trn t FFFFH sang 0000H li m t 0000H ln.
Ch c trn TFx t ng s c st ln bi phn cng sau mi su75 trn v
s c xa bi phn mm. Chnh v vy ta c th lp trnh ch sau mi ln trn ta s
xa c TFx v quay vng lp khi gn cho TLx/THx Timer lun lun bt u m
t gi tr khi gn ln theo ta mong mun.
c bit nhng s khi gn nh hn 256 s, ta s gi mode Timer t ng np
8 bit ca mode 2. Sau khi khi gn gi tr u vo THx, khi set bit TRx th Timer s
bt u m gi tr khi gn v khi trn t FFH sang 00H trong TLx, c TRx t ng
c set ng thi gi tr m ta khi gn cho THx c n\p t ng vo TLx v
Timer li m t gi tr khi gn ny ln. Ni cch khc, sau mi trn ta khng cn
khi gn li cho cc thanh ghi Timer m chng vn m c li t gi tr ban u.
2.6.2.6 S c thanh ghi timer trn tuyn.
Trong mt s ng dng cn thit c gi tr trong cc thanh ghi Timer trn
tuyn, c mt vn tim nng n gin bo v li phn mm. Bi v 2 thanh ghi
Timer phi c c, nn li giai on c th xut hin nu byte trn v byte cao
gia 2 hot ng c. Mt gii php khc phc l c byte cao trc, sau c
byte thp, v c li byte cao. Nu byte cao thay i th lp li cc hot ng c.
2.6.3 Timer 2
Timer 2 c 3 ch hot ng l capture, auto-reload v baud rate generator.
Timer 2 bao gm 8-bit, TH2 v TL2. Trong cc chc nng hn gi, thanh ghi TL2
c tng ln mi chu k my. K t khi mt chu k my bao gm 12 thi gian dao
ng, t l tnh l 1 / 12 ca tn s dao ng.
Trong cc chc nng truy cp, thanh ghi c tng ln p ng mt s
chuyn tip 1-to-0 u vo ca n tng ng bn ngoi, T2. Trong chc nng ny,
cc u vo bn ngoi l ly mu trong S5P2 mi chu k my. Khi cc mu cho thy
mt cao trong mt chu k v mt thp trong chu k tip theo, vic m c tng ln.
Gi tr m mi xut hin trong thanh ghi trong sut S3P1 ca chu k sau m trong
qu trnh chuyn i c pht hin.
K t khi hai chu k my (24 khong thi gian dao ng) c yu cu nhn ra mt
s chuyn i 1 - 0, t l s lng ti a l 1 / 24 ca tn s dao ng. m bo cho
mc ly mu t nht mt ln trc khi n thay i, mc cn c t chc cho t
nht mt chu k my y .
Trang 45
CP/
TR2
16 bit auto-reload
16 bit capture
Off
MODE
M t
TF2
EXF2
RCLK
TCLK
EXEN2
Cho php ngt ngoi Timer 2. Khi c thit lp, cho php
capture hoc reload xy ra nh l kt qu ca mt qu trnh
chuyn i trn T2EX nu Timer 2 l khng c s dng tao
clock cng ni tip. EXEN2 = 0, Timer 2 b qua cc s kin
Trang 46
ti T2EX.
TR2
C/
CP/
Bit
T2OE
DCEN
Trang 47
Trang 48
Trang 50
Ch
Ch
Ch
Ch
Ch
Ba ch u tin s dng port song song chun (SPP Standard Parallel Port)
trong khi ch 4, 5 cn thm phn cng cho php hot ng tc cao hn.
Bng 3.1 S chn ca my in
CHN
K HIU
NG
VO/RA
M T
STROBE
RA
2 n 9
D0 n D9
RA
10
ACK
VO
Bo nhn
11
BUSY
VO
Bo bn
12
PE
VO
Ht giy
13
SEL
Vo
La chn
14
AF
RA
T ng tip ng
15
ER
VO
16
INIT
RA
Thit lp thit b
17
SELIN
RA
La chn u vo
18 n 25
GND
VO
Cc bit d liu t D0 n D7
Li
Ni t
ca LPT1 l 378h, LPT2 l 278h, do a ch ca thanh ghi trng thi l 379h hoc
279h v a ch thanh ghi iu khin l 37Ah hoc 27Ah. Tuy nhin trong mt s
trng hp, a ch ca cng song song c th khc do qu trnh khi ng ca BIOS.
BIOS s lu tr cc a ch ny nh sau:
Bng 3.2: a ch c s cc tthanh ghi cng song song
a ch
Chc nng
0000H0408H
a ch c s ca LPT1
0000H040AH
a ch c s ca LPT2
0000H040CH
a ch c s ca LPT3
D7
D6
D5
D4
D3
D2
D1
D0
Chn s
IPR
BUSY
S chn cm
11
ACK
PAPER
SELECT ERROR
EMPTY
10
12
13
15
DIR
IRQ
SELECTIN
INIT
AUTOFEED
STROBE
S chn
17
16
14
x: khng s dng
IRQ Enable: yu cu ngt cng; 1 = cho php; 0 = khng cho php
Ch rng chn BUSY c ni vi cng o trc khi a vo thanh ghi
trng thi, cc bit SELECTIN , AUTOFEED v STROBE c a qua cng o
trc khi a ra cc chn ca cng my in. Thng thng tc x l d liu ca cc
thit b ngoi vi nh my in chm hn PC nhiu nn cc ng ACK , BUSY v STR
c s dng cho k thut bt tay. Khi u, PC t d liu ln bus sau kch hot
ng STR xung mc thp thng tin cho my in bit rng d liu n nh trn
bus. Khi my in x l xong d liu, n s tr li tn hiu ACK xung mc thp ghi
nhn. PC i cho n khi ng BUSY t my in xung thp (my in khng bn) th
s a tip d liu ln bus.
3.2
GIAO TIP CNG NI TIP (RS232)
3.2.1 Cu trc cng ni tip.
Trang 53
Cng ni tip c s dng truyn d liu hai chiu gia my tnh v ngoi
vi, c cc u im sau:
Device).
D2
D3
D4
D5
D6
D7
P
STOP
Khi khng truyn d liu, ng truyn s trng thi mark (in p -10V).
Khi bt u truyn, DTE s a ra xung Start (space: 10V) v sau ln lt truyn t
D0 n D7 v Parity, cui cng l xung Stop (mark: -10V) khi phc trng thi
ng truyn.
Cc c tnh k thut ca chun RS-232 nh sau:
Trang 54
Chiu di cable cc di
15m
Tc d liu cc i
20 Kbps
in p ng ra cc i
25V
in p ng ra c ti
5V n 15V
3K n 7K
Tr khng ti
in p ng vo
15V
nhy ng vo
3V
3K n 7K
Tr khng ng vo
Cc tc truyn d liu thng dng trong cng ni tip l: 1200 bps, 4800
bps, 9600 bps v 19200 bps.
D9 Tn hiu
Hng truyn
M t
Protected ground: ni t bo v
TXD
DTE DCE
RXD
DCE DTE
RTS
DTE DCE
CTS
DCE DTE
Trang 55
DSR
DCE DTE
GND
Ground: ni t (0V)
DCD
DCE DTE
20
DTR
DTE DCE
22
RI
DCE DTE
23
DSRD
DCE DTE
24
TSET
DTE DCE
15
TSET
DCE DTE
17
RSET
DCE DTE
18
LL
21
RL
DCE DTE
14
STxD
DTE DCE
16
STxD
DCE DTE
19
SRTS
DTE DCE
13
SCTS
DCE DTE
12
SDSRD
DCE DTE
25
TM
10
11
Khng dng
Test Mode
TXD
TXD
TXD
TXD
RXD
RXD
RXD
RXD
GND
GND
GND
GND
DTE1
DTE2
DTE
DCE
TXD
TXD
RXD
RXD
GND
GND
RTS
RTS
CTS
CTS
DSR
DSR
DCD
DCD
DTR
DTR
3.3
TM HIU V USB
Trang 57
Kt ni qua USB
USB Type B
Trang 58
Hub c hai loi: loi c cung cp ngun v khng cung cp ngun in cho
thit b cm vo Hub. Chun USB cho php cc thit b s dng ngun in t cng
USB. Cc thit b nh my in, my qut s dng ngun in ring cung cp t b
ngun (Power Supply) ca chng trong khi cc thit b s dng rt t in nng nh
chut, Digital Camera li dng in nng (khong 500mA - 5V) t Bus.
Nu my tnh kt ni vi nhiu thit b s dng ngun in ring (My in,
my qut...) th USB Hub khng cn thit phi l loi cung cp c ngun in.
Nu my tnh kt ni vi nhiu thit b khng c ngun in ring (Chut, Digital
Camera) th Hub nht thit phi c kh nng cung cp ngun cho cc thit b ny. Trn
Hub c mt b phn nh bin th cung cp dng in ti Bus v lm my tnh
khng b qu ti.
3.3.4 Cc t tnh ca USB
Cc c im ca USB bao gm:
vi Hub.
Chun USB2.x cho php truyn d liu trn Bus ti tc 480 Mbps.
liu.
Cc thit b s dng t in nng c cung cp in nng trc tip t
Bus. Cc Hub c th cung cp in nng cho cc thit b ni vi n t ngun in
ring ca chng.
Trang 59
Trang 61
4.2
4.3
4.4
CC MC IN P NG TRUYN.
Trang 62
4.5
Trang 63
Chn 9: Ring Indicate (RI) : Bo chung cho bit l b nhn ang nhn
tn hiu rung chung.
Cn DB25 by gi hu ht cc main mi ra u khng c cng ny na. Nn
ti khng cp n y.
4.6
QU TRNH D LIU.
Trang 64
bit ( Kim tra bit chn, l hay khng) v cui cng l bit dng - bit stop c th l 1,
1.5 hay 2 bit dng.
4.6.1 Tc Baud.
y l mt tham s c trng ca RS232. Tham s ny chnh l c trng cho
qu trnh truyn d liu qua cng ni tip RS232 l tc truyn nhn d liu hay cn
gi l tc bit. Tc bit c nh ngha l s bit truyn c trong thi gian 1
giy hay s bit truyn c trong thi gian 1 giy. Tc bit ny phi c thit lp
bn pht v bn nhn u phi c tc nh nhau ( Tc gia vi iu khin v my
tnh phi chung nhau 1 tc truyn bit).
Ngoi tc bit cn mt tham s m t tc truyn l tc Baud. Tc
Baud lin quan n tc m phn t m ha d liu c s dng din t bit c
truyn cn tc bit th phn nh tc thc t m cc bit c truyn.V mt phn
t bo hiu s m ha mt bit nn khi hai tc bit v tc baud l phi ng
nht.
Mt s tc Baud thng dng: 50, 75, 110, 150, 300 , 600, 1200, 2400,
4800, 9600, 19200, 28800, 38400, 56000, 115200 Trong thit b h thng
dng tc l 19200.
Khi s dng chun ni tip RS232 th yu cu khi s dng chun l thi gian
chuyn mc logic khng vt qu 4% thi gian truyn 1 bit. Do vy, nu tc bit
cng cao th thi gian truyn 1 bit cng nh th thi gian chuyn mc logic cng phi
nh. iu ny lm gii hn tc Baud v khong cch truyn.
4.6.2 Bit chn l hay Parity bit.
y l bit kim tra li trn ng truyn. Thc cht ca qu trnh kim tra li
khi truyn d liu l b xung thm d liu c truyn tm ra hoc sa mt s li
trong qu trnh truyn . Do trong chun RS232 s dng mt k thut kim tra chn
l.
Mt bit chn l c b sung vo d liu c truyn cho thy s lng cc
bit "1" c gi trong mt khung truyn l chn hay l.
Trang 65
S KT NI
C rt nhiu mch giao tip ca RS232 gia vi iu khin hay cc thit b khc.
Di y ta xt mch chun giao tip RS232 dng IC Max232
Max232 l IC chuyn dng cho giao tip gia RS232 v thit b ngoi vi.
Max232 l IC ca hng Maxim. y l IC chay n nh v c s dng ph bin
trong cc mch giao tip chun RS232. Gi thnh ca Max232 ph hp (12K hay
10K) v tch hp trong hai knh truyn cho chun RS232. Dng tn hiu c thit
k cho chun RS232 . Mi u truyn ra v cng nhn tn hiu u c bo v chng
li s phng tnh in ( hnh nh l 15KV). Ngoi ra Max232 cn c thit k vi
ngun +5V cung cp ngun cng sut nh.
Mch giao tip nh sau :
Trang 66
5.1
Gim dn sng.
Nng cao mc p DC ln gn bng mc volt cc i.
Lm kho cha in n nh iu kin cp in cho ti.
Trang 67
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 (T1in v
T2in ) thnh mc T1out , T2out pha truyn v chuyn i R1in , R2in thnh R1out , R2out
pha nhn vi mc in p l +5V n +10V hoc +10V n -10V. ng thi gi tr
in dung trn MAX232 l C1=C2=C3=C4=C5=10F.
Vi mch MAX232 c hai b m v hai b nhn. Chn 9 (R2 OUT) ca vi
mch MAX232 c ni vi ng dn iu khin li vo CTS, iu khin vic xut
ra d liu cng ni tip khi cn thit. Cn chn 10 (T2 IN) ca vi mch MAX232 ni
vi ng dn bt tay iu khin qu trnh nhn. ng dn bt tay c ni vi
cng ni tip qua cu ni, khi khng s dng, chng ta c th h mch. Cch truyn
d liu n gin nht l ch dng ba ng dn TxD, RxD v GND.
5.2.2 S kt ni.
Trang 68
Trang 70
tng thit k
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
t a m n 1.
t b tt n 1.
t c m n 2.
t d tt n 2.
t e m n 3.
t f tt n 3.
t g m n 4.
t h tt n 4.
t i m n 5.
t j tt n 5.
t k m n 6.
t l tt n 6
t m m n 7.
t n tt n 7.
t o m n 8.
t p tt n 8.
t q tt ht cc n.
Trang 71
setb TR1
//khi ng Timer 1
jmp main
org 0FFh
main:
jnb RI, $
clr RI
mov A, SBUF
mo_den1:
cjne A, #'a', tat_den1
//so snh, nu A= a th m n 1
clr P1.0
jmp main
tat_den1:
cjne A, #'b', mo_den2
//so snh, nu A= b th tt n 1
Trang 72
setb P1.0
jmp main
mo_den2:
cjne A, #'c', tat_den2
//so snh, nu A= c th m n 2
clr P1.1
jmp main
tat_den2:
cjne A, #'d', mo_den3
//so snh, nu A= d th tt n 2
setb P1.1
jmp main
mo_den3:
cjne A, #'e', tat_den3
//so snh, nu A= e th m n 3
clr P1.2
jmp main
tat_den3:
cjne A, #'f', mo_den4
//so snh, nu A= f th tt n 3
setb P1.2
jmp main
mo_den4:
cjne A, #'g', tat_den4
//so snh, nu A= g th m n 4
clr P1.3
jmp main
tat_den4:
cjne A, #'h', mo_den5
//so snh, nu A= h th tt n 4
setb P1.3
jmp main
mo_den5:
cjne A, #'i', tat_den5 //so snh, nu A= i th m n 5
clr P1.4
jmp main
tat_den5:
cjne A, #'j', mo_den6
//so snh, nu A= j th tt n 5
setb P1.4
jmp main
mo_den6:
Trang 73
//so snh, nu A= k th m n 6
clr P1.5
jmp main
tat_den6:
cjne A, #'l', mo_den7
//so snh, nu A= l th tt n 6
setb P1.5
jmp main
mo_den7:
cjne A, #'m', tat_den7
//so snh, nu A= m th m n 7
clr P1.6
jmp main
tat_den7:
cjne A, #'n', mo_den8
//so snh, nu A= n th tt n 7
setb P1.6
jmp main
mo_den8:
cjne A, #'o', tat_den8
//so snh, nu A= o th m n 8
clr P1.7
jmp main
tat_den8:
cjne A, #'p', reset_mach
//so snh, nu A= p th tt n 8
setb P1.7
jmp main
reset_mach:
cjne A, #'q', main
//so snh, nu A= q th tt ht n.
setb P1.0
setb P1.1
setb P1.2
setb P1.3
setb P1.4
setb P1.5
setb P1.6
setb P1.7
jmp main
end
Trang 74
Bng cch dng nhng Lable, Button, Checkbox, Combobox, Piturebox trn
thanh Toolbox ko th vo ni thit k form.
V cui cng ta vit code vo iu khin bng cch click double chut vo
tng thnh phn ca form.
V sao y l ton b code ca chng trnh nh sau:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Xml;
namespace Giao_dien
{
public partial class Form1 : Form
{
SerialPort P = new SerialPort();
string InputData = string.Empty;
delegate void SetTextCallback(string text);
public Form1()
{
InitializeComponent();
string[] ports = SerialPort.GetPortNames();
Cbcom.Items.AddRange(ports);
P.ReadTimeout = 1000;
string [] BaudRate = { "1200", "2400", "4800", "9600", "19200",
"38400", "57600", "115200" };
Cbbaud.Items.AddRange (BaudRate);
string[] Databits = {"6", "7", "8" };
Cbdata.Items.AddRange(Databits);
string[] Parity = { "None", "Odd", "Even" };
Cbparity.Items.AddRange(Parity);
string[] Stopbit = { "1", "1.5", "2" };
Trang 77
Cbstop.Items.AddRange(Stopbit);
}
private void Cbcom_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{ P.Close();
}
P.PortName = Cbcom.SelectedItem.ToString();
}
private void Cbbaud_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{ P.Close();
}
P.BaudRate = Convert.ToInt32(Cbbaud.Text);
}
private void Cbdata_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{
P.Close();
}
P.DataBits = Convert.ToInt32(Cbdata.Text);
}
private void Cbparity_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{
P.Close();
}
switch (Cbparity.SelectedItem.ToString())
{
case "Old":
P.Parity = Parity.Odd;
break;
Trang 78
case "None":
P.Parity = Parity.None;
break;
case "Even":
P.Parity = Parity.Even;
break;
}
}
private void Cbstop_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{
P.Close();
}
switch (Cbstop.SelectedItem.ToString())
{
case "1":
P.StopBits = StopBits.One;
break;
case "1.5":
P.StopBits = StopBits.OnePointFive;
break;
case "3":
P.StopBits = StopBits.Two;
break;
}
}
private void Form1_Load(object sender, EventArgs e)
{
Cbcom.SelectedIndex = 0;
Cbbaud.SelectedIndex = 3;
Cbdata.SelectedIndex = 2;
Cbparity.SelectedIndex = 0;
Cbstop.SelectedIndex = 0;
}
Trang 79
"Information",
}
}
private void ngatketnoi_Click(object sender, EventArgs e)
{
P.Close();
ketnoi.Enabled = true;
ngatketnoi.Enabled = false;
}
private void exit_Click(object sender, EventArgs e)
{
DialogResult kq = MessageBox.Show("Do you want to exit the
program?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (kq == DialogResult.Yes)
{
this.Close();
}
}
private void Ck_den1_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den1.Checked) P.Write("a");
else P.Write("b");
}
private void Ck_den2_CheckedChanged(object sender, EventArgs e)
Trang 80
{
if (Ck_den2.Checked) P.Write("c");
else P.Write("d");
}
private void Ck_den3_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den3.Checked) P.Write("e");
else P.Write("f");
}
private void Ck_den4_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den4.Checked) P.Write("g");
else P.Write("h");
}
private void Ck_den5_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den5.Checked) P.Write("i");
else P.Write("j");
}
private void Ck_den6_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den6.Checked) P.Write("k");
else P.Write("l");
}
private void Ck_den7_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den7.Checked) P.Write("m");
else P.Write("n");
}
private void Ck_den8_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den1.Checked) P.Write("o");
else P.Write("p");
}
private void reset_Click(object sender, EventArgs e)
Trang 81
{
P.Write("q");
if (Ck_den1.Checked) Ck_den1.Checked = false;
if (Ck_den2.Checked) Ck_den2.Checked = false;
if (Ck_den3.Checked) Ck_den3.Checked = false;
if (Ck_den4.Checked) Ck_den4.Checked = false;
if (Ck_den5.Checked) Ck_den5.Checked = false;
if (Ck_den6.Checked) Ck_den6.Checked = false;
if (Ck_den7.Checked) Ck_den7.Checked = false;
if (Ck_den8.Checked) Ck_den8.Checked = false;
}
}
}
Trang 82
MCH NGUYN L
V1
VAC 220V 50 Hz
R31 470
R30 360
R29
330
Q8
BTA41 A1A2G
R32
39
U10
C22
0.05uF
J1
C21
0.01uF
R27
R28
470
Q7
BTA41 A1A2G
39
R25
R26 360
LOAD
MOC3021
4
1
2
330
U9
C20
0.05uF
J2
1
2
C19
0.01uF
MOC3021
4
1
2
LOAD
R21
R23
330
R22360
470
Q6
BTA41 A1A2G
R24
39
U8
C18
0.05uF
J3
C17
LOAD
0.01uF
MOC3021
4
1
2
R17
R19
330
R18360
470
Q5
BTA41 A1A2G
R20
39
U7
C16
0.05uF
J4
C15
0.01uF
MOC3021
4
1
2
LOAD
R13
470
Q4
BTA41 A1A2G
R14360
R15
R16
39
330
U6
C14
0.05uF
J5
C13
0.01uF
LOAD
MOC3021
4
1
2
R10 360
R9
R11
470
Q3
BTA41 A1A2G
R12
39
330
U5
C12
0.05uF
J6
1
2
C11
0.01uF
MOC3021
4
1
2
LOAD
R5
R7
470
U3
U1
C1
0.01uF
MOC3021
4
1
2
R1
LOAD
R3
470
39
R2 360
C4
0.05uF
J8
C5
0.01uF
2
MOC3021
4
1
2
1
2
3
4
5
6
7
8
U2
C2 30uF
19
18
LOAD
Y1
C3 30uF
12 MHz
31
9
40
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P1.0/T2
P1.1/T2-EX
P1.2
P1.3
P1.4/SS
P1.5/MOSI
P1.6/MISO
P1.7/SCK
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
XTAL1
XTAL2
ALE/PROG
PSEN
21
22
23
24
25
26
27
28
P1
10
11
12
13
14
15
16
17
U4
13
8
11
10
30
29
C9
10uF
EA/VPP
RST
VCC
C6
10uF
C8
10uF
20
Q1
BTA41 A1A2G
330
R4
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
AT89S8252
1
3
4
5
2
6
16
39
38
37
36
35
34
33
32
R1IN
R2IN
VCC
J7
T1IN
T2IN
C1+
C1C2+
C2V+
V-
R1OUT
R2OUT
T1OUT
T2OUT
12
9
14
7
1
6
2
7
3
8
4
9
5
CONNECTOR DB9
GND
C10
0.05uF
15
R33 360
GND
Q2
BTA41 A1A2G
330
R8
39
MAX232
C7
10uF
V2
VDC 5V
Trang 83
MCH M PHNG
Trang 84
Trang 85
8051
Microcontroller:
Architecture,
Trang 86
Ph lc 1
PH LC 1
LIT K HNH
Trang 87
Ph lc 2
PH LC 2
LIT K BNG
Trang 88