TRNG I HC LC HNG KHOA IN IN T
Bi Ging Truyn Thng Ni Tip Cu Trc Cng Com Chun RS232 Truyn Thng Ni Tip Trn VB Truyn Thng Ni Tip Trn Vi iu Khin
Ks. L Tin Lc
Truyn Thng Ni Tip T PC n VK1. Cu Trc Cng COM 2. Xc Lp Cc Thng S Cho Cng Truyn Thng Ni Tip Trn Visual Basic 6.0 3. Thit K Giao Din V Vit Code Serial Trn Visual Basic 6.0 4. Mch Chuyn Mc (IC Max232) 5. Truyn Nhn Ni Tip Trong 8051 6. Thit K Mch VK 8051 V Vit Code
Cu Trc Cng COM Cng ni tip trn my tnh thng c gi l cng COM c cc u im sau: - Hiu in th gia 2 mc c th ln n 50V (mc 1 t: -3V -> -25V v mc 0 t: +3V -> 25V) nn dy cable c th truyn i xa hn, t b nhiu hn. - S lng dy cn t hn so vi truyn song song. - Mt ng dn dng truyn (TXD) cn mt ng dng nhn (RXD) d liu ring bit. - C th truyn khng dy. (dng tia hng ngoi) - Ghp ni d dng vi VK hay PLC.
S lc v chun RS232- Tn hiu truyn ni tip theo dng xung chun RS232 ca EIA (Electronics Industry Associations) ch cho php s dng ng truyn ngn , vi tc bit thp (baudrate: 19.600 c khong cch cc i 20m) - Cc chun truyn thng ni tip ra i sau nh RS-422, RS-449 v RS-485 cho php truyn trn ng cp rt di vi tc bit cao hn. - Khun dng tn hiu truyn gia 2 dy TXD v GND nh sau:-10V Mark Mc1mc0 D0 D1 D2 D3 D4 D5 D6 D7 P Stop
+10V Space
- Cc thit b ghp ni ni tip chia lm 2 loi DTE (Data Terminal Equipment) v DCE (Data Communication Equipment)
Cng Com c 2 dng u ni c D-25 v D-9.D-25 2 3 4 5 6 7 8 20 22 D-9 3 2 7 8 6 5 1 4 9 Tn Tn hiu TD, TXD, truyn d liu RD, RXD, nhn d liu RTS, Request to send CTS, Clear to send DSR, Data set ready SG, Signal grourd CD, Carrier detect, pht gic sng mang DTR, Data Teminal Ready RI, Ring Indicator Chiu Out In Out In in Mass In Out In Pht hin c tn hiu trn ng dy DTE sn sng kt ni Modem pht gic tn hiu chung Ngha Xut d liu ni tip Nhn d liu ni tip DTE sn sng trao i d liu Modem sn sng trao i d liu Modem sn sng kt ni
M hnh kt ni Thit b thu v pht trong truyn nhn ni tip:
DTE: thit b pht hoc nhn d liu (VK, PLC, Computer) DCE: thit b trung gian nh modem kt ni, chn TXD ca DCE ng vai tr nhn tn hiu cn RXD pht tn hiu
DTE1 TXD RXDTn Com1
DTE2 TXD RXDa ch gc 3F8 Ngt 4
DTE TXD RXDVector 0000:0400
DCE TXD RXD
Com2Com3 Com4
2F83E8 2E8
32 1
0000:04020000:0404 0000:0406
Xc Lp Cc Thng S Cho Cng Truyn Thng Ni Tip Trn Visual Basic 6.0 Visual Basic 6.0 h tr module phc v cho truyn thng ni tip l MSCOMM32.OCX a cng c truyn thng ni tip vo Form ta lm theo cc bc sau: Trong ca s VB chn Project Components sau chn Microsoft comm control 6.0 -> OK. (hay dng phm tt Ctr+T) Sau nhp chn biu tng Mscomm v a vo form Thuc tnh Commport c gi tr t 1->16, gi tr mc nh l 1 khi khi ng. Thuc tnh DTR Enabled = True (DTE sn sng kt ni) mc 1 khi m cng, cn ngc li DTR mc 0. * Thuc tnh Handshaking (giao thc bt tay) 0: khng bt tay 1: XON/XOFF 2: bt tay theo RTS/CTS 3: RTS/XON/XOFF` * Thuc tnh Inbuffersize t v tr li kch thc theo Byte b m thu, mc nh l 1024
Thuc tnh Index: Xc nh phn t th index ca mng (ch dng khi thit lp cc control theo kiu mng) Thuc tnh InputLen: Xc nh s k t s c t b m thu, nu =0 s c ton b b m. Thuc tnh InputMode: cho bit loi d liu l vn bn hay nh phn. Thuc tnh NullDiscard: cho php loi b k t rng.loai bo khoang trong khi truyen
Thuc tnh Outbuffersize t v tr li kch thc theo Byte b m truyn, mc nh l 512. Thuc tnh ParityReplace: thit lp k t s thay th khi khi bit kim tra chn l pht hin ra li. Thuc tnh Rthreshold: t s byte ti thiu ca b m thu bo s kin, bng 1 s gi s kin oncomm khi nhn c 1 k t, bng 0 s khng gi. Thuc tnh RTSEnabled: = True th RTS mc 1 khi m cng, v mc 0 khi ng cng. Nu False RTS mc 0.
Thuc tnh Sthreshold: t s byte c trong b m truyn bo s kin, bng 1 s gi s kin oncomm khi b m truyn rng, bng 0 s khng gi. Thuc tnh Settings: Thit lp tc baud, bit chn l, s bit truyn v bit stop. Cc gi tr cho php: Baud rate: 110, 300, 600, 1200, 2400, 9600, 14400, 19200,28800, 38400, 56000, 128000, 256000. Parity bit: E(even), M(mark), N(none), O(odd) Data bit: 4, 5, 6, 7, 8 Stop bit: 1, 1.5, 2 Gi tr mc nh khi khng thit lp l: 9600,n,8,1
Thit K Giao Din V Vit Code Serial Trn Visual Basic 6.0 Thit k giao din nh hnh sau:
u tin ta vit code cho s kin Form Load Private Sub Form_Load() 'Cac khai bao khi form hien len MSComm1.CommPort = 1 'Chon cong Com1 MSComm1.Settings = "9600,N,8,1" 'Toc do truyen 9600, no parity, du lieu 8bit 1bit stop MSComm1.InputLen = 0 'Khong gioi han ky tu truyen MSComm1.RThreshold = 1 'Cho phep oncomm khi nhn 1 du lieu MSComm1.PortOpen = True 'Lenh mo cong com End Sub ket thuc su kien Private Sub Command1_Click() 'Nut send tren chuong trinh MSComm1.Output = Text2.Text End Sub
By gi ta nhp double vo nut Stop v vit code sau: Private Sub Command2_Click() 'Khi nut Stop duoc nhan thi xoa tat ca cac text Text1.Text = Xa cc text box Text2.Text = "" End Sub
Private Sub MSComm1_OnComm() 'Co tin hieu vao cong com If (MSComm1.CommEvent = comEvReceive) Then Text1.Text = Text1.Text & MSComm1.Input 'Xuat tin hieu nhan duoc ra text1 End If End Sub
* Phn trn l chng trnh xut nhp d liu n gin
qua cng Com khng c bt tay bng phn cng cng nh phn mm. Ta c th kim tra chng trnh bng cch ni 2 chn TXD v RXD cng com li ri chy th chng trnh. Sau c th b sung thm th tc bt tay bng phn mm.
Mch Chuyn Mc (IC Max232) Do mc in p khc nhau nn khi ghp cng Com my tnh vi VK cn phi c mch chuyn mc TTL -> 232 v ngc li. Ta thng dng vi mch Max232 v ch cn cp ngun 5V, ngun + -10V do mch dao ng 16KHz bn trong cung cp.
Truyn Nhn Ni Tip Trong 8051Trong Vi iu khin c chc nng ngt truyn thng ni tip truyn v nhn d liu. Chn TXD(P3.1 pht) vo chn RXD(P3.0 thu). Thanh ghi iu khin ngt ni tip l SCON v thanh ghi m d liu l SBUF. a ch ngt ni tip l 023H, bit cho php ngt l ES bit 4 trong thanh ghi IE. Thanh ghi SCON co 8 bit:Bit K hiu SM0 a Ch 9FH Ngha SCON.7 Quy nh ch hot ng
SCON.6SCON.5
SM1SM2
9EH9DH
Quy nh ch hot ngKch hot giao tip nhiu VK
SCON.4SCON.3 SCON.2 SCON.1
RENTB8 RB8 TI
9CH9BH 9AH 99H
Cho php nhn d liuBit th 9(bit kim tra) truyn i Bit th 9 nhn c Mc 1 khi truyn xong 1 Byte
SCON.0
RI
98H
Mc 1 khi nhn xong 1 Byte
Cc Mode truyn nhn ni tip ca 8051SM0 0 SM1 0 MODE 0 M T Shift Regster BAUDRATE Tn s thch anh/12
01 1
10 1
12 3
8-bit UART9-bit UART 9-bit UART
Quy nh bi Timer1Tn s thch anh/12 or 64 Quy nh bi Timer1
Trong mode 1, baudrate c thit lp bi timer 1 c cng thc tnh nh sau: Baudrate = (timer 1 overflow)/n vi n=32 nu SMOD=0 Smod l bit7 trong thanh ghi PCON. vi n=16 nu SMOD=1
Nu s dng thch anh 12MHz th s tn ti sai s (26.04 ->26), sai s ny s tch ly v gy nn nhng sai lch d liu. Do mun truyn nhn vi chnh xc cao hn nn s dng thch anh 11.0592MHzBaudrate 9600 2400 1200 19200 9600 2400 1200 Thch anh (MHz) 12.000 12.000 12.000 11.0592 11.0592 11.0592 11.0592 SMOD 1 0 0 1 0 0 0 TH1 -7 -13 -26 -3 -3 -12 -24 Baudrate tht 8923 2404 1202 19200 9600 2400 1200 Sai s 7% 0.16% 0.16% 0 0 0 0
Chng trnh mu truyn nhn ni tip trong 8051: Chng trnh ny khi nhn c mt k t trong ngt ni tip th trong main s pht li k t A#include DATAS EQU 30H ORG 0000H LJMP MAIN ORG 0023H ;VECTOR NGAT PORT NOI TIEP LJMP NGAT_SERIAL ;NHAY DEN PHUC VU NGAT ORG 0030H MAIN: MOV PCON,#00000000B ;BIT 7 SMOD = 1 TANG TOC DO MOV SCON,#50H ;01010010B TI BIT1=1 SAN SANG PHAT MOV TMOD,#00100000B ;timer1 che o 8bit t ong nap lai MOV TH1,#-3 MOV IE,#10010000B ;bit4(ES) =1 cho phep ngat port noi tiep bit7=1cho phep ngat toan cuc SETB TR1 ;bt cho timer1 run SETB 00H ;bit nho nhn xong thi pht li
LOOP: JB 00H,$ ;nhy ti ch ch nhn c k t th pht A li MOV A,#"A" LCALL PHAT SETB 00H SJMP LOOP PHAT: MOV IE,#0 MOV SBUF,A ;dua gia tri thanh ghi A vao thanh ghi SBUF JNB TI,$ ;co TI duoc set ngay sau khi phat xong 1 ky tu CLR TI MOV IE,#10010000B RET NGAT_SERIAL: ;Trnh phuc vu ngat port noi tiep JNB RI,TRANF ;co RI duoc set ngay sau khi nhan xong 1 ky tu CPL P2.4 CLR 00H MOV A,SBUF ;a d lieu nhan c vao thanh ghi A CLR RI ;xoa c RETI ;ket thuc ngat TRANF: CLR TI RETI END
Top Related