1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng một số phương thức truyền dữ liệu theo chuẩn truyền thống nối tiếp

58 19 0

Đ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

Cấu trúc

  • LỜI NÓI ĐẦU

  • MỤC LỤC

  • DANH MỤC CÁC BẢNG

  • DANH MỤC HÌNH

    • PHẦN 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

  • 1. Tình hình ngoài nước liên quan đến khóa luận

  • 2. Tình hình trong nước liên quan đến khóa luận

    • Bảng 1.1 Địa chỉ cổng dữ liệu ra của chân 37BH

    • Bảng 1.2 Địa chỉ chân cổng trạng thái của 379H

    • Bảng 1.3 Địa chỉ chân cổng điều khiển 37AH

  • 3. Mục tiêu của đề tài khóa luận

  • 4. Nội dung đề tài nghiên cứu

  • 5. Đối tượng nghiên cứu

  • 6. Phương pháp nghiên cứu

  • PHẦN 2. NỘI DUNG KHÓA LUẬN

    • CHƯƠNG 1. TỔNG QUAN VỀ TRUYỀN THÔNG NỐI TIẾP

  • 1.1 Tổng quan về truyền thông nối tiếp theo chuẩn RS 232

  • 1.1.1 Khái niệm về truyền thông nối tiếp

  • a. Truyền thông nối tiếp

    • Hình 1.2 Kênh truyền dữ liệu song công

    • Hình 1.3 Kênh truyền dữ liệu bán song công

    • Hình 1.4 Kênh truyền dữ liệu song công

  • 1.1.2 Truyền thông nối tiếp theo chuẩn RS232

    • Hình 1.5 Sơ đồ cổng COM 9 chân

  • 1.1.3 Sự phát triển của truyền thông nối tiếp

    • Hình 1.6 Hình ảnh thực tế giao diện RS485

  • 1.1.4 Ứng dụng của truyền thông nối tiếp

    • Hình 1.7 Ứng dụng của truyền thông nối tiếp với các thiết bị trong nhà

  • 1.2 Các phương thức truyền dữ liệu trong truyền thông nối tiếp

  • 1.2.1 Phương pháp điều khiển luồng dữ liệu ra

  • Điều khiển lưu lượng được áp dụng khi dữ liệu được truyền từ thiết bị đầu cuối (DTE) sang một trung tâm chuyển mạch nào ấy, hoặc truyền thông giữa hai thiết bị DTE với nhau. Tần số truyền tin phải được khống chế vì yêu cầu của mạng lưới hoặc thiết bị truyền tin.

  • Điều khiển luồng dữ liệu có thể áp dụng biệt lập trên mỗi chiều tín hiệu, cho phép tần số truyền tin trên mỗi chiều khácnhau. Phương thức điều khiển luồng dữ liệu có hai cách, hoặc là dùng chế độ “ngưng và truyền” hoặc dùng hình thức cửa sổ di động.

  • Điều khiển luồng dữ liệu được thực hiện thông qua các đường điều khiển trong chuẩn truyền thông nối tiếp RS-232 nhằm báohiệu cho luồng dữ liệu bắt đầu hoặc ngừng lại. Các đường điều khiển thông dụng của RS-232 bao gồm:

  • RTS (Request To Send – Máy địa phương sẵn sàng nhận dữ liệu, yêu cầu gửi dữ liệu sang).

  • CTS (Clear To Send- Máy ở xa sẵn sàng nhận dữ liệu).

  • DSR ( Data Set Ready- Bộ điều chế dữ liệu sẵn sàng liên lạc với các với máy ở xa).

  • DTR (Data Teminal Ready – Thiết bị sẵn sàng nhận dữ liệu (PC) sẵn sàng nhận dữ liệu cho phép bộ điều chế (modem) liên lạ với máy ở xa).

  • 1.2.2 Phương pháp điều khiển chuyển đổi tín hiệu tương tự sang số ADC

  • 1.2.3 Phương pháp điều khiển dữ liệu song công

  • 1.2.4 Phương pháp điều khiển cổng dữ liệu ra

  • 1.3 Tổng quan về bộ cấu trúc CI-800A

  • 1.3.1 Các chi tiết chính của bộ phát triển CI-800A

    • Hình 1.8 Bộ phát triển CI800A

  • 1.3.2 Cài đặt phần mềm CI-800A

    • Hình 1.9 Cài đặt cửa sổ CI-800A

    • Hình 1.10 Bắt đầu quá trình giải nén

    • Hình 1.11 Tiếp tục cài đặt phần mềm

    • Hình 1.12 Kết thúc quá trình quá trình cài đặt

  • 1.4 Cơ bản về ghép nối truyền dữ liệu sử dụng CI-800A

  • 1.4.1 Giao diện RS-232C và Centronics (CI-83003)

    • Hình 1.13 Sơ đồ bố trí giao diện mô-đun CI-83003

  • 1.4.2 Giao diện module I/O phổ dụng CI-83001

    • Hình 1.14 Sơ đồ bố trí giao diện mô-đun I/O CI-83001

  • CHƯƠNG 2. GIAO DIỆN TRUYỀN THÔNG VÀ LẬP TRÌNH C++

  • 2.1 Tổng quan về giao diện truyền thông

  • 2.2 Khái niệm API Win32

  • 2.3 API Win32 cho Cổng nối tiếp RS-232

  • 2.4 Win32 API cho cổng máy in song song

    • Hình 2.1. Tạo thư mục mới

    • Hình 2.2. Hộp thoại Win32 DLL

  • 2.5 Lập trình cổng nối tiếp

    • Hình 2.3. Cài đặt cổng nối tiếp

    • Hình 2.4 Thư viện tĩnh của Win32 DLL

  • CHƯƠNG 3. XÂY DỰNG MỘT SỐ PHƯƠNG THỨC TRUYỀN DỮ LIỆU

  • 3.1 Xây dựng điều khiển cổng dữ liệu ra.

  • 3.1.1 Mục tiêu và thảo luận

    • Hình 3.1 Minh họa sơ đồ thể hiện trạng thái

  • 3.1.2 Chương trình nguồn

    • Hình 3.2 Giao diện điều khiển nối tiếp dữ liệu đầu ra

  • 3.1.3 Kết nối thiết bị.

    • Bảng 3.1 Bảng trạng thái đầu ra của DTR và RTS

      • Hình 3.3 Sơ đồ kết nối bộ thiết bị

      • Hình 3.4 a) Khi nhấn DRT b) Khi nhấn RST

  • 3.2 Truyền kết hợp điều khiển luồng dữ liệu

  • 3.2.1 Mục tiêu và thảo luận

    • Hình 3.5 Sơ đồ mạch điều khiển chỉ thị

  • 3.2.2 Chương trình nguồn

    • Hình 3.6 Giao diện chương trình

  • 3.2.3 Kết nối thiết bị

    • Hình 3.7 Giao diện điều khiển dữ liệu ra của đèn flash

  • 3.2.4 Kết quả chạy chương trình

    • Hình 3.8 Hoàn thành kết nối các thiết bị

    • Hình 3.9 a) Khi nhấn DTR RUN b) Nhấn RTS RUN

  • 3.3 Chuyển đổi tín hiệu tương tự sang số (ADC)

  • 3.3.1 Mục tiêu và thảo luận

    • Hình 3.10 Sơ đồ mạch giao động số sử dụng ADC

  • 3.3.2 Chương trình nguồn

  • 3.3.3 Kết nối thiết bị

    • Hình 3.11 Giao diện điều khiển màn hình LED nối tiếp

  • 3.3.4 Kết quả chạy chương trình.

    • Hình 3.12 Màn hình PC ban đầu

    • Hình 3.13 Độ dài của sóng điện áp thay đổi theo thời gian

  • 3.4 Điều khiển truyền dữ liệu song công

  • 3.4.1 Mục tiêu và thảo luận

    • Hình 3.14 Mạch truyền dữ liệu song công

  • 3.4.2 Chương trình nguồn

    • Hình 3.15 Giao diện chương trình

  • 3.3.3 Kết nối thiết bị

    • Hình 1.16 Giao diện đèn LED nối tiếp trên màn hình

  • 3.4.4 Kết quả chạy chương trình

    • Hình 1.17 a) Màn hình PC b) Module CI-83001 ban đầu

    • Hình 1.18 a) Màn hình PC b) Module CI-83001 khi chạy chương trình

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

  • 1. Đỗ Xuân Thụ (2010), Kỹ thuật điện tử, nhà xuất bản giáo dục Việt Nam

Nội dung

LỜI NÓI ĐẦU Ngày kỹ thuật ghép nối tiếp sử dụng rộng rãi, qua cổng nối tiếp ghép nối chuột, modem ngoài, máy in biến đổi A/D, thiết bị đo lường… Các cách ghép nối sử dụng phương pháp truyền thông tin theo kiểu nối tiếp, bit liệu truyền nối tiếp đường tín hiệu Phương thức truyền liệu theo kiểu nối tiếp có ưu điểm cần đường tín hiệu, dùng chung đường tín hiệu để truyền nhận thơng tin Tốc độ truyền liệu cao (cực đại lên tới 19.600 bit/s), cự ly truyền xa lên tới 1000m) Xác định số phương thức truyền liệu chuẩn truyền thông nối tiếp sử dụng phát triển CI-800A Truyền thông nối tiếp ứng dụng nhiều lĩnh vực sử dụng phổ biến, khoa học, công nghệ, giáo dục, y tế….Và đặc biệt cơng nghiệp truyền thơng Bố cục khóa luận gồm chương: Chương 1: Tổng quan truyền thông nối tiếp Nội dung chương1: Giới thiệu tổng quan truyền thông nối tiếp, chuẩn truyền thông nối tiếp Cơ ghép nối CI 800A Chương 2: Giao diện truyền thơng lập trình C++ Nội dung chương 2: Giới thiệu lệnh khai báo Visua C++ Chương 3: Xây dựng số phương thức truyền số liệu Nội dung chương 3: Xây dựng bốn phương thức truyền liệu nối tiếp, chạy chương trình kết sản phẩm Do thời gian làm khóa luận ngắn kinh ngiệm thân hạn chế, nên đề tài khơng tránh khỏi khỏi thiếu sót, tơi mong nhận ý kiến đóng góp quý báu thầy, cô bạn bè để đề tài hoàn thiện Hà Nội, ngày 10 tháng năm 2018 Sinh viên thực Nguyễn Quyết Tiến NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Giảng viên hướng dẫn (Chữ ký, họ tên) NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Giảng viên phản biện (Chữ ký, họ tên) MỤC LỤC LỜI NÓI ĐẦU PHẦN TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 1 Tình hình ngồi nước liên quan đến khóa luận Tình hình nước liên quan đến khóa luận Mục tiêu đề tài khóa luận 4 Nội dung đề tài nghiên cứu Đối tượng nghiên cứu Phương pháp nghiên cứu PHẦN NỘI DUNG KHÓA LUẬN CHƯƠNG TỔNG QUAN VỀ TRUYỀN THÔNG NỐI TIẾP 1.1 Tổng quan truyền thông nối chuẩn RS 232 1.1.1 Khái niệm truyền thông nối tiếp 1.1.2 Truyền thông nối chuẩn RS232 .7 1.1.3 Sự phát triển truyền thông nối tiếp 1.1.4 Ứng dụng truyền thông nối tiếp .9 1.2 Các phương thức truyền liệu truyền thông nối tiếp 1.2.1 Phương pháp điều khiển luồng liệu 10 1.2.2 Phương pháp điều khiển chuyển đổi tín hiệu tương tự sang số ADC 10 1.2.3 Phương pháp điều khiển liệu song công 11 1.2.4 Phương pháp điều khiển cổng liệu 11 1.3 Tổng quan cấu trúc CI-800A 12 1.3.1 Các chi tiết phát triển CI-800A .12 1.3.2 Cài đặt phần mềm CI-800A 12 1.4 Cơ ghép nối truyền liệu sử dụng CI-800A .14 1.4.1 Giao diện RS-232C Centronics (CI-83003) 14 1.4.2 Giao diện module I/O phổ dụng CI-83001 15 CHƯƠNG GIAO DIỆN TRUYỀN THƠNG VÀ LẬP TRÌNH C++ 16 2.1 Tổng quan giao diện truyền thông 16 2.2 Khái niệm API Win32 .16 2.3 API Win32 cho Cổng nối tiếp RS-232 16 2.4 Win32 API cho cổng máy in song song 25 2.5 Lập trình cổng nối tiếp 27 CHƯƠNG XÂY DỰNG MỘT SỐ PHƯƠNG THỨC TRUYỀN DỮ LIỆU .29 3.1 Xây dựng điều khiển cổng liệu 29 3.1.1 Mục tiêu thảo luận 29 3.1.2 Chương trình nguồn 29 3.1.3 Kết nối thiết bị 32 3.2 Truyền kết hợp điều khiển luồng liệu 34 3.2.1 Mục tiêu thảo luận 34 3.2.2 Chương trình nguồn 35 3.2.3 Kết nối thiết bị 36 3.2.4 Kết chạy chương trình 37 3.3 Chuyển đổi tín hiệu tương tự sang số (ADC) 38 3.3.1 Mục tiêu thảo luận 38 3.3.2 Chương trình nguồn 39 3.3.3 Kết nối thiết bị 42 3.3.4 Kết chạy chương trình 43 3.4 Điều khiển truyền liệu song công .43 3.4.1 Mục tiêu thảo luận 43 3.4.2 Chương trình nguồn 44 3.3.3 Kết nối thiết bị 47 3.4.4 Kết chạy chương trình 47 KẾT LUẬN 49 TÀI LIỆU THAM KHẢO DANH MỤC CÁC BẢNG Bảng 1.1 Địa cổng liệu chân 37BH Bảng 1.2 Địa chân cổng trạng thái 379H Bảng 1.3 Địa chân cổng điều khiển 37AH Bảng 3.1 Bảng trạng thái đầu DTR RTS 33 DANH MỤC HÌNH Hình 1.1 Truyền nối tiếp hai máy tính Hình 1.2 Kênh truyền liệu song cơng Hình 1.3 Kênh truyền liệu bán song công Hình 1.4 Kênh truyền liệu song công Hình 1.5 Sơ đồ cổng COM chân Hình 1.6 Hình ảnh thực tế giao diện RS485 Hình 1.7 Ứng dụng truyền thơng nối tiếp với thiết bị nhà Hình 1.8 Bộ phát triển CI800A 12 Hình 1.9 Cài đặt cửa sổ CI-800A 13 Hình 1.10 Bắt đầu trình giải nén 13 Hình 1.11 Tiếp tục cài đặt phần mềm 13 Hình 1.12 Kết thúc trình trình cài đặt 14 Hình 1.13 Sơ đồ bố trí giao diện mô-đun CI-83003 14 Hình 1.14 Sơ đồ bố trí giao diện mơ-đun I/O CI-83001 15 Hình 2.1 Tạo thư mục 26 Hình 2.2 Hộp thoại Win32 DLL 26 Hình 2.3 Cài đặt cổng nối tiếp 27 Hình 2.4 Thư viện tĩnh Win32 DLL 28 Hình 3.1 Minh họa sơ đồ thể trạng thái 29 Hình 3.2 Giao diện điều khiển nối tiếp liệu đầu 30 Hình 3.3 Sơ đồ kết nối thiết bị 33 Hình 3.4 a) Khi nhấn DRT b) Khi nhấn RST 34 Hình 3.5 Sơ đồ mạch điều khiển thị 34 Hình 3.6 Giao diện chương trình 35 Hình 3.7 Giao diện điều khiển liệu đèn flash 37 Hình 3.8 Hồn thành kết nối thiết bị 38 Hình 3.9 a) Khi nhấn DTR RUN b) Nhấn RTS RUN 38 Hình 3.10 Sơ đồ mạch giao động số sử dụng ADC 39 Hình 3.11 Giao diện điều khiển hình LED nối tiếp 42 Hình 3.12 Màn hình PC ban đầu 43 Hình 3.13 Độ dài sóng điện áp thay đổi theo thời gian 43 Hình 3.14 Mạch truyền liệu song công 44 Hình 3.15 Giao diện chương trình 44 Hình 1.16 Giao diện đèn LED nối tiếp hình 47 Hình 1.17 a) Màn hình PC b) Module CI-83001 ban đầu 48 Hình 1.18 a) Màn hình PC b) Module CI-83001 chạy chương trình 48 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến PHẦN TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU Tình hình ngồi nước liên quan đến khóa luận Các máy tính thường truyền liệu theo hai cách: Song song nối tiếp Trong truyền liệu song song thường cần tám nhiều đường dây dẫn để truyền liệu đến thiết bị cách xa vài bước Ví dụ truyền liệu song song máy in ổ cứng, thiết bị sử dụng đường cáp với nhiều dây dẫn Mặc dù trường hợp nhiều liệu truyền khoảng thời gian ngắn cách dùng nhiều dây dẫn song song khoảng cách khơng thể lớn Để truyền liệu xa phải sử dụng phương pháp truyền nối tiếp Trong truyền thông nối tiếp liệu gửi bit so với truyền song song nhiều bit truyền lúc Mặc dù tốc độ truyền liệu thô truyền thông song song nhanh gấp tám lần so với truyền thông nối tiếp, cần tám kênh chi phí cao tám lần để truyền tải thơng điệp Khi khoảng cách ngắn, hai khả thi kinh tế để sử dụng kênh song song truyền liệu cho tốc độ liệu cao Giao diện máy in Centronics tiếng GPIB trường hợp sử dụng truyền song song Với truyền thông nối tiếp, hai thiết bị chuyển bit liệu lúc thông qua kênh Mỗi bit đại diện cho phần thơng điệp Các bit riêng lẻ sau tập hợp lại đích để soạn tin nhắn gốc Ngồi ra, bit phát lỗi thêm vào để cải thiện độ xác truyền dẫn, truyền phương thức liên lạc chọn nhiều thiết bị ngoại vi máy tính Ứng dụng truyền thơng nối tiếp điển hình giao diện nối tiếp RS-232 trang bị với PC Dựa yêu cầu khác nhau, loại truyền thông nối tiếp ngày nhiều Ngoại trừ cổng nối tiếp RS-232 thông thường, loạt giao diện nối tiếp sử dụng rộng rãi nhiều ứng dụng Chúng USB, RS-422 485 IEEE-1394 Tuy nhiên, phương pháp truyền song song sử dụng trường hợp cần truyền tải số lượng lớn liệu khoảng cách ngắn dụng cụ khoa học dụng cụ y tế GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến Tình hình nước liên quan đến khóa luận 2.1 Mô tả chung Một cổng song song gửi nhận liệu tám bit thời điểm tám dây riêng biệt Điều cho phép liệu truyền nhanh, nhiên, cáp yêu cầu cồng kềnh số lượng dây cá nhân phải chứa Cổng song song thường sử dụng để kết nối PC với máy in sử dụng cho nhiều thứ khác 2.2 Cổng máy in PC Tất máy tính tương thích IBM thường trang bị hai cổng nối tiếp cổng song song Mặc dù hai loại cổng sử dụng để giao tiếp với thiết bị bên ngoài, chúng hoạt động theo nhiều cách khác Kiểm tra bảng nối đa PC, bạn thấy đầu nối DB-25 cổng máy in song song Đầu nối máy in máy bạn có 25 chân, cổng máy in song song có tổng cộng 12 đầu kỹ thuật số đầu vào kỹ thuật số truy cập thông qua cổng bit liên tiếp không gian I/O hệ thống - chân đầu truy cập thông qua cổng liệu - chân đầu vào truy cập thông qua cổng trạng thái - chân đầu truy cập thông qua cổng điều khiển - chân lại nối đất IBM ban đầu cung cấp ba điều hợp bao gồm cổng máy in song song cho phạm vi PC/XT /AT nó, máy vi tính Tùy thuộc vào cài đặt nào, địa sở cổng song song có sẵn khơng gian I/O xử lý 278H, 378H 3BCH Hầu hết máy tính đại vận chuyển với cổng máy in song song có địa sở 378H Bộ chuyển đổi cổng song song PC thiết kế đặc biệt với giao diện cổng song song, sử dụng cổng đầu vào/đầu chung cho thiết bị ứng dụng phù hợp với khả đầu vào/đầu Trong có mười hai điểm đầu chốt viết đọc kiểm sốt chương trình cách sử dụng lệnh đầu vào đầu xử lý Bộ chuyển đổi có năm điểm đầu vào trạng thái ổn định đọc cách sử dụng lệnh nhập xử lý GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến m_Rts.SetWindowText (“RTS STOP”); SetTimer(2,100,NULL); } else { m_set2=!m_set2; void CVc5_2Dlg::OnTime(UNIT nIDEvent) { if( nIDEvent==1) { if(ch1) { m_bmp1.ShowWindow(SW_HIDE); m_bmp3.ShowWindow(SW_SHOW); dcb.fDtrControl=DTR_CONROL_ENABLE: SetCommState(hComm,&dcb); ch1=!ch1; } else { m_bmp1.ShowWindow(SW_SHOW); m_bmp3.ShowWindow(SW_HIDE); dcb.fDtrControl=DTR_CONROL_DISABLE: SetCommState(hComm,&dcb); ch1=!ch1; } { if( nIDEvent==2) if(ch2) m_bmp2.ShowWindow(SW_SHOW); m_bmp4.ShowWindow(SW_HIDE); dcb.fDtrControl=DTR_CONROL_DISABLE: SetCommState(hComm,&dcb); Ch2=!ch2; } Hai nút điều khiển DTR RUN, RTS RUN đặt làm hai kiện chức hẹn Nhấp vào nút để kích hoạt, kiện hẹn tương ứng thực thao tác theo yêu cầu CH1 CH2 sử dụng để kiểm soát đèn flash 3.2.3 Kết nối thiết bị Trên module giao diện CI-83003 RS232 Đặt công tác SW2 thành 0000 (ON=1; OFF=0) Kết nối đầu nối J1 module giao diện CI-83003 với J13 module CI-83001 Sử dụng cáp phẳng 40-pin 36 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến Kết nối đầu nối RS232 COM1 giao diện CI-83003 RS232 vào cổng nối tiếp COM1 PC cáp RS232 Chèn đầu nhỏ đổi nguồn 8-VDC vào giắc nguồn CN1 module I/O CI83001 cấp nguồn đèn LED báo (D19) sáng Chạy chương trình: C:\CIC-800A\Program\CI-83003\ Compiler\5_2.exe” hình thị Hình 3.7 Giao diện điều khiển liệu đèn flash Nhấn nút DTR RTS, quan sát ghi lại dấu hiệu DTR RTS LEDs hình ghi vào bảng sau Bảng 3.2 Bảng trạng thái DTR RTS LED hình DTR LED RST LED LEDs CI-83003 OFF(Blcbk) OFF ON(Green) ON OFF(Black) OFF ON(Green) ON Bấm vào “End” để kết thúc chương trình 3.2.4 Kết chạy chương trình Sau hồn thành kết nối thiết bị thí nghiệm với nhau, hình PC ta nhấn DTR RUN sau nhấn RTS RUN, đèn LED module CI-83003 sáng 37 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến Hình 3.8 Hồn thành kết nối thiết bị Ta nhấn nút DTR RUN RTS RUN PC kết thu được: a) b) Hình 3.9 a) Khi nhấn DTR RUN b) Nhấn RTS RUN 3.3 Chuyển đổi tín hiệu tương tự sang số (ADC) 3.3.1 Mục tiêu thảo luận a Mục tiêu - Điều khiển cổng RS232 hoạt động chế độ song cơng - Học kỹ lập trình điều khiển cổng nối tiếp chế độ song công b Thảo luận Hình 3.10 minh họa dao động số, điện áp tương tự với điện áp tương tự đầu vào ADC 0804 bit Bộ chuyển đổi A/D dịch điện áp đầu vào thành liệu liệu nhị phân bit Vi điều khiển AVR đọc liệu nhị phân từ chân cổng B chuyển đổi liệu song song thành nối tiếp gửi tới PC qua cổng nối tiếp RS232 38 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến Hình 3.10 Sơ đồ mạch giao động số sử dụng ADC Trang thiết bị cần thiết - CI-83003 RS232/Centronics Interface Module - CI-83001 Universal I/O Module - Cáp RS232 - Cáp phẳng 40 chân - Bộ chuyển đổi 8-VDC - Jumper chân, chân 3.3.2 Chương trình nguồn Các bước sau cung cấp quy trình tạo ứng dụng mơi trường Microsoft VC5 Vào VC5 tạo project Thiết kế biểu mẫu sau: Thí nghiệm để vẽ dạng song điện áp Analog đầu vào bên liên quan đến thời gian Trục ngang ứng với thời gian trục dọc ứng với điện áp đầu vào Để đạt mục tiêu số hàm biến bao gồm static UNIT ThreadFun(LPVOID LParam); struct com { HWND hwnd; HANDLE*ph; Unsigned char*ps; CDC*pDC; Crect rClip; 39 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến } ifn; Cấu trúc khai báo phía sau hàm Thresd() CDC*pDC; Crect rClip; Hai câu lệnh cần thiết để vẽ bao gồm cấu trúc để chuyển tham số đến hàm chuỗi void CV5_3Dlg::OnOK() { m_start.EnableWindow(false); ifn.ph=&hComm: ifn.ps=&RxBuffer; ifn.hwnd=this->m_hWnd; ifn.pDC=GetDC(); m_spicc.GetWindowRect(&ifn.rClip); CWinThread*hThread; hThread=AfxBeginThread(ThreadFun,&ifn); } Để điều khiển hình ảnh cho chức tháo gỡ, chức khởi động bao gồm thông số liên quan UNIT CVc5_3Dlg::Threadfun(LPVOID LParram) { com*pInfol=(com*)LParam: CVc5_3Dlg*hwnd=(CVc5_3Dlg*)CWnd::FromHandle(pInfol->hnwd); COLORREF m_crPenColr: int m_nPenStyle; int m_nPenWidth; m_crPenColr;=RGB(255,0,25) m_nPenStyle =0; m_nPenWidth=1; CPen ThePen(m_nPenStyle, m_nPenWidth, m_crPenColr); pinfol->pDC->SelectObject(&ThePen); CString Buffer: int x=20,y; DWORD dwRes,dwEvent,dwError; OVERLAPPED osReader={0}; COMSTAT cs; SetComm(*pinfol->ph),EV_RXCHAR); 40 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến While(1) { PurgeComm(*pinfol->ph),PURGE_RXCLEAR); if(WaitCommEvent(*pinfol->ph),&dwEvent,NULL) { Các phận nhận vẽ bao gồm hàm chức kích hoạt nút bắt đầu chuyển tham số đến cấu trúc COM thông số bắt đầu là; com*pinfo=(com*)LParam; CVc5_3Dlg*hwnd=( CVc5_3Dlg*)CWnd::FromHandle(pInfol->hwnd); Để vẽ COLORREF khai báo COLORREF m_crPenColor; int m_nPenStyle; int m_nPenWidth; m_crPenColor = RGB(255,0,25); m_crPenStyle = 0; m_nPenWidth =1; CPen ThePen(m_nPenStyle, m_nPenWidth, m_crPenColor); pInfol->Pdc->SelectObject(&ThePen); Câu lệnh đặt trỏ CDC, pDC, thành bút tạo Sau khai báo biến x y int x=20,y; Trong x thang đo trục ngang y thang tỷ lệ trục thẳng đứng Đối với trục ngang dọc, viết tắt cạnh trái cạnh hộp thoại, tương ứng Để vẽ dạng sóng vơ hình điều khiển hình ảnh, chiều rộng chiều cao thực tế phải trừ khoảng cách đến điểm (x = 0, y = 0) từ chiều rộng chiều cao hộp thoại Xem xét đoạn float c = (float)pInfol->rClip.Height()-10; Biến kiểu float c lưu trữ chiều cao thực tế sử dụng để giảm phạm vi vẽ để tránh dạng sóng chạm vào kiểm sốt hình ảnh Để vẽ đường thẳng, cần có hai điểm: Điểm bắt đầu điểm kết thúc Sử dụng di chuyển đến (điểm bắt đầu) dòng tới (điểm kết thúc) để vẽ đường thẳng Xem câu sau pInfol->Pdc->MoveTo(CPoint(x,y); pInfol->Pdc->LineTo(CPoint(x,y); Để vẽ dạng sóng điện áp theo giá trị đầu vào, câu lệnh sau chèn vào y=(int)(c-(c*(float)*(pInfol->ps)/255)))+20; 41 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến x=x+2; Biến y lưu trữ vị trí thẳng đứng đại diện cho giá trị điện áp đầu vào Bù đắp 20 sử dụng để tránh dạng sóng chạm vào cạnh hình ảnh if(x>= pInfol->rClip.Width()+10); { (*(pInfol->pDC)).FillSolidRect(17,17,pInfol->rClip.Width()-4; pInfol->rClip.Height()-4,RGB(255,255,255)); x=20; } Giá trị ban đầu x = 20 offset +10 sử dụng để tránh dạng sóng chạm vào cạnh phải cạnh trái ảnh Hàm FillSolidRect () sử dụng để điền vào vẽ với màu xác định 3.3.3 Kết nối thiết bị Trên CI- 83003 RS232 đặt SW2 thành 0111 (ON=1 OFF=0) Trên CI-83001, chèn Jumper vị trí J8 kết nối chân J14 với cách sử dụng Jumper chân Kết nối đầu nối J1 CI-83003 RS232 với đầu nối J13 CI-83001 cáp phẳng 40 chân Kết nối đầu nối COM1 CI-83003 với cổng nối tiếp COM1 PC RS232 Chèn đầu mút Bộ đổi nguồn 8-VDC vào giắc nguồn CN1 CI-83001, đèn LED báo nguồn (D19) sáng lên Chạy chương trình: “C:CI-800A\Program\CIC-83003\Compiler\vc5-13.exe” Hình 3.11 Giao diện điều khiển hình LED nối tiếp Nhấn “End” để kết thúc chương trình 42 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến 3.3.4 Kết chạy chương trình Sau hồn thành kết nối thiết bị ta nhấn hình PC khơng có tín hiệu Hình 3.12 Màn hình PC ban đầu Ta nhấn nút “Start” hình PC thấy xuất sóng điện áp màu đỏ thay đổi liên tục theo thời gian, sóng điện áp chạy lên tục từ xuống a) b) Hình 3.13 Độ dài sóng điện áp thay đổi theo thời gian 3.4 Điều khiển truyền liệu song công 3.4.1 Mục tiêu thảo luận a Mục tiêu - Điều khiển cổng RS232 chế độ song công - Để nghiên cứu kĩ lập trình đẻ điều khiển cổng nối tiếp chế độ song công b Thảo luận: Mạch báo thể hình 3.13 LED D1 đến D8 điều khiển liệu từ cổng CI điều khiển AVR LED D9 đến D16 điều khiển liệu từ cổng C vi điều khiển 43 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến Hình 3.14 Mạch truyền liệu song cơng Trang thiết bị cần thiết: - CI-83003 RS232/Centronics Interface Module - CI-83001 Universal I/O Module - Cáp RS232 - Cáp phẳng 40 chân - Bộ chuyển đổi 8-VDC - Jumper chân 3.4.2 Chương trình nguồn Các bước sau cung cấp quy trình tạo ứng dụng mơi trường Microsoft VC5 Vào VC5 tạo project Thiết kế biểu mẫu sau: Hình 3.15 Giao diện chương trình 44 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến Hoàn thành việc tạo xếp thiết lập tham số liên quan hộp thoại điều khiển vịng trịn tạo điều khiển hình ảnh Nút bắt đầu sử dụng để kích hoạt chức xét đoạn sau: void CVc5_8Dlg::Onstar() { if(!m_runstate) { SetTimer(1,100,NULL); SetTimer(2,5,NULL); m_start.SetWindowText(“Stop”); m_runstate=true; } Eels { KillTimer(1); KillTimer(2); m_start.SetWindowText(“Start”); m_runstate=false; } } Đoạn định kiện hẹn giờ: Sự kiện sử dụng phần truyền để điều khiển đèn LED chuyển động kiện sử dụng để nhận phần liệu tự động đọc void CVc5_8Dlg::OnTimer(UINT nDEvent) { unsigened char*ps=&RBuffer; DWORD dwRes; CString dpBuffer,TpBuffer; if(nIDEvent==1); { m_bmpR15.ShowWindow(SW_HIDE); m_bmpR7.ShowWindow(SW_SHOW); if(Buffer==0x00) Buffer=0x80: switch(Buffer) { case 0x01: m_bmpR15.ShowWindow(SW_SHOW); 45 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến m_bmpR7.ShowWindow(SW_HIDE); TpBuffer=”1”; break; } outBuffer=(char)Buffer; CEdit*edtR=(CEdit*)GetDlgItem(IDC_EDIT2); edtR->SetWindowText(TpBuffer); WriteBuffr(&outBuffer,sizeof(outBuffer)); Buffer>>=1 } Xem phần khác kiện hẹn bên else { PurgeComm(hComm,PURGE_RXCLEAR); ReadFile(hComm,ps,1,&dwRes,NULL); if(RBuffer==0x01) { dpBuffer=”1”; m_bmpG15.ShowWindow(SW_SHOW); m_bmpG7.ShowWindow(SW_HIDE); } else if(RBuffer==0x80) { dpBuffer=”80”; m_bmpG8.ShowWindow(SW_SHOW); m_bmpG0.ShowWindow(SW_HIDE); } else { m_bmpG8.ShowWindow(SW_HIDE); m_bmpG0.ShowWindow(SW_SHOW); CEdit*edtG=(CDdit*)GetDlgItem(IDC_edit1); EdtG->SetWindowText(dpBuffer); } CDialog::OnTime(nIDEvent); } 46 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến Trong thí nghiệm thiết kế đếm thời gian chương trình hai kiểm sốt hoạt động tự động đọc lại khoảng thời gian hẹn định Để tránh liệu thị liệu nhận thời gian thực, định khoảng thời gian hẹn ngắn tốt 3.3.3 Kết nối thiết bị Trên CI- 83003 RS232 đặt SW2 thành 0011 (ON=1 OFF=0) Trên CI-83001, chèn Jumper chân vị trí J5 J6 Kết nối đầu nối J1 CI-83003 RS232 với đầu nối J13 CI-83001 cáp phẳng 40 chân Kết nối đầu nối COM1 CI-83003 với cổng nối tiếp COM1 PC RS232 Chèn đầu mút đổi nguồn 8-VDC vào giắc nguồn CN1 CI-83001, đèn LED báo nguồn (D19) sáng lên Chạy chương trình: “C:CIC-800A\Program\CI-83003\Compiler\vc5-8.exe” Hình 1.16 Giao diện đèn LED nối tiếp hình Nhấn vào nút "Start" Để chạy chương trình Nhấn “End” để kết thúc chương trình 3.4.4 Kết chạy chương trình Sau hồn thành kết nối thiết bị Ta nhấn “Start” hình PC có hai hàng đèn LED xanh (Data Input) đèn LED đỏ (Data Output) bình thường 47 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến a) b) Hình 1.17 a) Màn hình PC b) Module CI-83001 ban đầu Sau nhấn “Start” đèn LED xanh (Data Input) Led đỏ (Data Output) đèn LED module CI-83001 sáng lên nhấp nháy liên tục Dữ liệu truyền theo phương pháp song cơng Tín hiệu truyền theo hai hướng riêng biệt lúc a) b) Hình 1.18 a) Màn hình PC b) Module CI-83001 chạy chương trình 48 GVHD: ThS Lê Minh Đức SVTH: Nguyễn Quyết Tiến KẾT LUẬN Qua trình làm luận văn đề tài: Xây dựng số phương thức truyền liệu theo chuẩn truyền thông nối tiếp Tôi nắm nét khái quát, hiểu thêm phương thức truyền thơng nối tiếp Thơng qua chương trình nguồn phần làm thử nghiệm giúp hiểu hồn thành thí nghiệm Qua thấy ứng dụng truyền thông nối tiếp vô lớn, áp dụng nhiều lĩnh vựng, mang lại hiệu cao học tập công việc sau Sau thời gian nghiên cứu kết sau: - Tìm hiểu tổng quan truyền thông nối tiếp - Biết số hàm khai báo phần mềm Visua C++ Xây dựng số phương thức truyền số liệu: Điều khiển cổng liệu ra, truyền kết hợp điều khiển luồng liệu, chuyển đổi tín hiệu tương tự sang số, điều khiển liệu song cơng Nếu có hội, điều kiện nghiên cứu tìm hiểu nhiều phương pháp xây dựng mơ hình truyền thơng nối tiếp hơn, khơng dừng lại bốn phương pháp 49 TÀI LIỆU THAM KHẢO Đỗ Xuân Thụ (2010), Kỹ thuật điện tử, nhà xuất giáo dục Việt Nam Nguyễn Tuấn Linh (2010), Kỹ thuật ghép nối máy tính, nhà xuất giáo dục Việt Nam http://nhattin.vn/363/82/co-ban-va-ghep-noi-ve-chuan-giao-tiep-rs232.html http://tailieu.vn/doc/truyen-thong-noi-tiep-125909.html ... 1.7 Ứng dụng truyền thơng nối tiếp với thiết bị nhà 1.2 Các phương thức truyền liệu truyền thơng nối tiếp Nói đến phương thức truyền liệu truyền thông nối tiếp có nhiều phương thức truyền Sau em... 232 1.1.1 Khái niệm truyền thông nối tiếp a Truyền thông nối tiếp Khái niệm truyền thông nối tiếp: Truyền thông nối tiếp truyền liệu tách thành bit truyền nối tiếp qua đường truyền từ máy tính... CHƯƠNG XÂY DỰNG MỘT SỐ PHƯƠNG THỨC TRUYỀN DỮ LIỆU 3.1 Xây dựng điều khiển cổng liệu 3.1.1 Mục tiêu thảo luận a Mục tiêu - Xuất liệu số vào dòng điều khiển cổng nối tiếp - Học kỹ lập trình ghi liệu

Ngày đăng: 22/06/2021, 09:57

TỪ KHÓA LIÊN QUAN

w