1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA ĐIỆN – ĐIỆN TỬBài Giảng Truyền Thông Nối Tiếp• Cấu Trúc Cổng Com • Chuẩn RS232 • Truyền Thông Nối Tiếp Trên VB • Truyền Thông Nối Tiếp Trên Vi Điều KhiểnKs. Lê Tiến Lộc.Truyền Thông Nối Tiếp Từ PC Đến VĐK1. Cấu Trúc Cổ pot

19 570 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 491,12 KB

Nội dung

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA ĐIỆN – ĐIỆN TỬ Bài Giảng Truyền Thơng Nối Tiếp • Cấu Trúc Cổng Com • Chuẩn RS232 • Truyền Thơng Nối Tiếp Trên VB • Truyền Thơng Nối Tiếp Trên Vi Điều Khiển Ks Lê Tiến Lộc Truyền Thông Nối Tiếp Từ PC Đến VĐK Cấu Trúc Cổng COM Xác Lập Các Thông Số Cho Cổng Truyền Thông Nối Tiếp Trên Visual Basic 6.0 Thiết Kế Giao Diện Và Viết Code Serial Trên Visual Basic 6.0 Mạch Chuyển Mức (IC Max232) Truyền Nhận Nối Tiếp Trong 8051 Thiết Kế Mạch VĐK 8051 Và Viết Code Cấu Trúc Cổng COM • Cổng nối tiếp máy tính thường gọi cổng COM có ưu điểm sau: - Hiệu điện mức lên đến 50V (mức từ: -3V -> -25V mức từ: +3V -> 25V) nên dây cable truyền xa hơn, bị nhiễu - Số lượng dây cần so với truyền song song - Một đường dẫn dùng để truyền (TXD) đường dùng để nhận (RXD) liệu riêng biệt - Có thể truyền khơng dây (dùng tia hồng ngoại) - Ghép nối dễ dàng với VĐK hay PLC Sơ lược chuẩn RS232 - Tín hiệu truyền nối dạng xung chuẩn RS232 EIA (Electronics Industry Associations) cho phép sử dụng đường truyền ngắn , với tốc độ bit thấp (baudrate: 19.600 có khoảng cách cực đại 20m) - Các chuẩn truyền thông nối tiếp đời sau RS-422, RS-449 RS-485 cho phép truyền đường cáp dài với tốc độ bit cao - Khn dạng tín hiệu truyền dây TXD GND sau: -10V Mark Mức1 mức0 D0 D1 D2 D3 D4 D5 D6 D7 P Stop +10V Space - Các thiết bị ghép nối nối tiếp chia làm loại DTE (Data Terminal Equipment) DCE (Data Communication Equipment) • Cổng Com có dạng đầu nối đực D-25 D-9 D-25 D-9 Tên Tín hiệu Chiều Ý Nghĩa TD, TXD, truyền liệu Out Xuất liệu nối tiếp RD, RXD, nhận liệu In Nhận liệu nối tiếp RTS, Request to send Out DTE sẵn sàng trao đổi liệu CTS, Clear to send In Modem sẵn sàng trao đổi liệu 6 DSR, Data set ready in Modem sẵn sàng kết nối SG, Signal grourd Mass CD, Carrier detect, phát giác sóng mang In Phát có tín hiệu đường dây 20 DTR, Data Teminal Ready Out DTE sẵn sàng kết nối 22 RI, Ring Indicator In Modem phát giác tín hiệu chng • Mơ hình kết nối Thiết bị thu phát truyền nhận nối tiếp: DTE: thiết bị phát nhận liệu (VĐK, PLC, Computer…) DCE: thiết bị trung gian modem kết nối, chân TXD DCE đóng vai trị nhận tín hiệu cịn RXD phát tín hiệu DTE1 TXD DTE2 TXD DTE TXD DCE TXD RXD RXD RXD RXD Tên Địa gốc Ngắt Vector Com1 3F8 0000:0400 Com2 2F8 0000:0402 Com3 3E8 0000:0404 Com4 2E8 0000:0406 Xác Lập Các Thông Số Cho Cổng Truyền Thông Nối Tiếp Trên Visual Basic 6.0 • Visual Basic 6.0 hỗ trợ module phục vụ cho truyền thông nối tiếp MSCOMM32.OCX • Để đưa công cụ truyền thông nối tiếp vào Form ta làm theo bước sau: Trong cửa sổ VB chọn Project – Components sau chọn Microsoft comm control 6.0 -> OK (hay dùng phím tắt Ctr+T) Sau nhấp chọn biểu tượng Mscomm đưa vào form • Thuộc tính Commport có giá trị từ 1->16, giá trị mặc định khởi động • Thuộc tính DTR Enabled = True (DTE sẵn sàng kết nối) mức mở cổng, ngược lại DTR mức * Thuộc tính Handshaking (giao thức bắt tay) 0: không bắt tay 1: XON/XOFF 2: bắt tay theo RTS/CTS 3: RTS/XON/XOFF` * Thuộc tính Inbuffersize đặt trả lại kích thước theo Byte đệm thu, mặc định 1024 • Thuộc tính Index: Xác định phần tử thứ index mảng (chỉ dùng thiết lập control theo kiểu mảng) • Thuộc tính InputLen: Xác định số ký tự đọc từ đệm thu, =0 đọc tồn bộ đệm • Thuộc tính InputMode: cho biết loại liệu văn hay nhị phân • Thuộc tính NullDiscard: cho phép loại bỏ ký tự rỗng.loai bo khoang truyen • Thuộc tính Outbuffersize đặt trả lại kích thước theo Byte đệm truyền, mặc định 512 • Thuộc tính ParityReplace: thiết lập ký tự thay khi bit kiểm tra chẳn lẻ phát lỗi • Thuộc tính Rthreshold: Đặt số byte tối thiểu đệm thu để báo kiện, gọi kiện oncomm nhận ký tự, khơng gọi • Thuộc tính RTSEnabled: = True RTS mức mở cổng, mức đóng cổng Nếu False RTS mức • Thuộc tính Sthreshold: Đặt số byte có đệm truyền để báo kiện, gọi kiện oncomm đệm truyền rỗng, khơng gọi • Thuộc tính Settings: Thiết lập tốc độ baud, bit chẳn lẻ, số bit truyền bit stop Các giá trị cho phép: 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, Stop bit: 1, 1.5, Giá trị mặc định không thiết lập là: 9600,n,8,1 Thiết Kế Giao Diện Và Viết Code Serial Trên Visual Basic 6.0 • Thiết kế giao diện hình sau: Đầu tiên ta viết code cho kiện Form Load Private Sub Form_Load() 'Cac khai bao form hien len MSComm1.CommPort = 'Chon cong Com1 MSComm1.Settings = "9600,N,8,1" 'Toc truyen 9600, no parity, du lieu 8bit 1bit stop MSComm1.InputLen = 'Khong gioi han ky tu truyen MSComm1.RThreshold = 'Cho phep oncomm nhận 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 • Bây ta nhấp double vào nut Stop viết code sau: Private Sub Command2_Click() 'Khi nut Stop duoc nhan thi xoa tat ca cac text Text1.Text = “” „Xóa 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 text1 End If End Sub * Phần chương trình xuất nhập liệu đơn giản qua cổng Com bắt tay phần cứng phần mềm Ta kiểm tra chương trình cách nối chân TXD RXD cổng com lại chạy thử chương trình Sau bổ sung thêm thủ tục bắt tay phần mềm Mạch Chuyển Mức (IC Max232) • Do mức điện áp khác nên ghép cổng Com máy tính với VĐK cần phải có mạch chuyền mức TTL -> 232 ngược lại Ta thường dùng vi mạch Max232 cần cấp nguồn 5V, nguồn + -10V mạch dao động 16KHz bên cung cấp Truyền Nhận Nối Tiếp Trong 8051 Trong Vi điều khiển có chức ngắt truyền thông nối tiếp để truyền nhận liệu Chân TXD(P3.1 phát) vào chân RXD(P3.0 thu) Thanh ghi điều khiển ngắt nối tiếp SCON ghi đệm liệu SBUF Địa ngắt nối tiếp 023H, bit cho phép ngắt ES bit ghi IE • Thanh ghi SCON có bit: Bit Ký hiệu Địa Chỉ Ý Nghĩa SCON.7 SM0 9FH Quy định chế độ hoạt động SCON.6 SM1 9EH Quy định chế độ hoạt động SCON.5 SM2 9DH Kích hoạt giao tiếp nhiều VĐK SCON.4 REN 9CH Cho phép nhận liệu SCON.3 TB8 9BH Bit thứ 9(bit kiểm tra) để truyền SCON.2 RB8 9AH Bit thứ nhận SCON.1 TI 99H Mức truyền xong Byte SCON.0 RI 98H Mức nhận xong Byte • Các Mode truyền nhận nối tiếp 8051 SM0 SM1 MODE MÔ TẢ BAUDRATE 0 Shift Regster Tần số thạch anh/12 1 8-bit UART Quy định Timer1 9-bit UART Tần số thạch anh/12 or 64 1 9-bit UART Quy định Timer1 Trong mode 1, baudrate thiết lập timer có cơng thức tính sau: Baudrate = (timer overflow)/n với n=32 SMOD=0 Smod bit7 ghi PCON với n=16 SMOD=1 Nếu sử dụng thạch anh 12MHz tồn sai số (26.04 ->26), sai số tích lũy gây nên sai lệch liệu Do muốn truyền nhận với độ xác cao nên sử dụng thạch anh 11.0592MHz Baudrate Thạch anh (MHz) SMOD TH1 Baudrate thật Sai số 9600 12.000 -7 8923 7% 2400 12.000 -13 2404 0.16% 1200 12.000 -26 1202 0.16% 19200 11.0592 -3 19200 9600 11.0592 -3 9600 2400 11.0592 -12 2400 1200 11.0592 -24 1200 Chương trình mẫu truyền nhận nối tiếp 8051: Chương trình nhận ký tự ngắt nối tiếp main phát lại 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 SMOD = TANG TOC DO MOV SCON,#50H ;01010010B TI BIT1=1 SAN SANG PHAT MOV TMOD,#00100000B ;timer1 chế độ 8bit tự động nạp laïi MOV TH1,#-3 MOV IE,#10010000B ;bit4(ES) =1 cho phep ngat port noi tiep bit7=1cho phep ngat toan cuc SETB TR1 ;bật cho timer1 run SETB 00H ;bit nho nhận xong thi phát lại LOOP: JB 00H,$ ;nhảy chỗ chờ nhận ký tự phát A lại MOV A,#"A" LCALL PHAT SETB 00H SJMP LOOP PHAT: MOV IE,#0 MOV SBUF,A ;dua gia tri ghi A vao ghi SBUF JNB TI,$ ;co TI duoc set sau phat xong ky tu CLR TI MOV IE,#10010000B RET NGAT_SERIAL: ;Trình phục vụ ngắt port nối tiếp JNB RI,TRANF ;co RI duoc set sau nhan xong ky tu CPL P2.4 CLR 00H MOV A,SBUF ;Đưa liệu nhận vào ghi A CLR RI ;xóa cờ RETI ;kết thúc ngắt TRANF: CLR TI RETI END .. .Truyền Thông Nối Tiếp Từ PC Đến VĐK Cấu Trúc Cổng COM Xác Lập Các Thông Số Cho Cổng Truyền Thông Nối Tiếp Trên Visual Basic 6.0 Thiết Kế Giao Diện Và Vi? ??t Code Serial Trên Visual Basic... Max232) Truyền Nhận Nối Tiếp Trong 8051 Thiết Kế Mạch VĐK 8051 Và Vi? ??t Code Cấu Trúc Cổng COM • Cổng nối tiếp máy tính thường gọi cổng COM có ưu điểm sau: - Hiệu điện mức lên đến 50V (mức từ: -3V... Địa gốc Ngắt Vector Com1 3F8 0000:0400 Com2 2F8 0000:0402 Com3 3E8 0000:0404 Com4 2E8 0000:0406 Xác Lập Các Thông Số Cho Cổng Truyền Thông Nối Tiếp Trên Visual Basic 6.0 • Visual Basic 6.0 hỗ

Ngày đăng: 26/03/2014, 00:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w