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

Đo lường điều khiển bằng máy tính

18 831 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

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 421,93 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đo lường điều khiển bằng máy tính

Trang 1

CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 89C51

1.1 Giới thiệu chung

MCS-51 là họ vi điều khiển của hãng Intel Vi mạch tổng quát của họ MCS-51 là chip 8051 Chip 8051 có một số đặc trưng cơ bản sau:

 Bộ nhớ chương trình bên trong: 4KB (ROM)

 Bộ nhớ dữ liệu bên trong: 128 byte (RAM)

 Bộ nhớ chương trình bên ngoải: 64KB (ROM)

 Bộ nhớ dữ liệu ngoài: 64KB (RAM)

 4 port xuất nhập (I/O port) 8 bit

 2 bộ định thời 16 bit

 Mạch giao tiếp nối tiếp

 Bộ xử lý bit (thao tác trên các bit riêng rẽ)

 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit

 Nhân/ chia trong 4µs

1.2 Sơ đồ chân chip 8051

Trang 2

CHƯƠNG 2: TỔNG QUAN VỀ CHUẨN GIAO TIẾP RS232 2.1 Đặt Vấn Đề

Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được

sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính Đây là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20 Kbit/s đôi khi là tốc độ 115 Kbit/s với một số thiết bị đặc biệt

Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền Có hai phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và RS232C Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngắn gọn là chuẩn RS232 Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là cổng COM Trên Main máy tính có loại 9 chân hoặc loại 25 chân tùy vào đời máy và Main của máy tính Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp

2.2 Đặc điểm của chuẩn RS232

Ưu điểm của giao diện nối tiếp RS232:

 Khả năng chống nhiễu của các cổng nối tiếp cao

 Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện

 Có thể ghép nối với vi điều khiển hay PLC (Programmable Logic Device)

 Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp

2.2.1 Những đặc điểm cần lưu ý trong chuẩn RS232.

 Cổng COM không phải là một hệ thống bus nó cho phép dễ dàng tạo ra liên kết dưới hình thức điểm với điểm giữa hai máy cần trao đổi thông tin với nhau, một thành viên thứ ba không thể tham gia vào cuộc trao đổi thông tin này

 Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là ± 12V Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3 KΩ đến 7 KΩ

 Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ

± 3V đến 12V

 Tốc độ truyền nhận dữ liệu cực đại là 100 Kbps

 Các lối vào phải có điện dung nhỏ hơn 2500 pF

 Trở kháng tải phải lớn hơn 3 KΩ nhưng phải nhỏ hơn 7 KΩ

 Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng

Trang 3

 Đối với các đường điều khiển, thời gian chuyển của tín hiệu (từ TRUE sang FALSE, hoặc từ FALSE sang TRUE ) không được vượt qúa 1ms.Đối với các đường dữ liệu, thời gian chuyển (từ 1 sang 0 hoặc từ 0 sang 1) phải không vượt quá 4% thời gian của 1 bit hoặc 1ms

 Các giá trị tốc độ truyền dữ liệu chuẩn : 50, 75, 110, 750, 300, 600, 1200,

2400, 4800, 9600, 19200, 28800, 38400, ,56600, 115200 bps

2.2.2 Các mức điện áp trên đường truyền.

RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất Ngoài mức điện áp tiêu chuẩn ( logic 0 và 1) cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát

Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả như sau:

 Mức logic 0 : +3V , +12V

 Mức logic 1 : -12V, -3V

Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến Chính

vì từ -3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 Kbps

2.2.3 Cổng RS232 trên PC

Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng COM hay cổng nối tiếp RS232 Số lượng cổng COM có thể lên tới 3 hay nhiều hơn tùy từng loại main máy tính Khi đó các cổng COM đó được đánh dấu là COM 1, COM 2, COM 3 Trên đó có 2 loại đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) hoặc 25 chân (DB25) Tuy hai loại đầu nối này có cùng song song nhưng hai loại đầu nối này được phân biệt bởi cổng đực (DB9) và cổng cái (DB25)

Địa chỉ cơ bản của cổng nối tiếp của máy tính PC có thể tóm tắt trong bảng các địa chỉ sau:

COM 1 (cổng nối tiếp thứ nhất) Địa chỉ cơ bản = 3F8(Hex)

COM 2 (cổng nối tiếp thứ hai) Địa chỉ cơ bản = 2F8(Hex)

COM 3 (cổng nối tiếp thứ ba) Địa chỉ cơ bản = 3E8(Hex)

COM 4 (cổng nối tiếp thứ tư) Địa chỉ cơ bản = 2E8(Hex)

Trang 4

Ta xét sơ đồ chân cổng COM 9 chân:

Chức năng của các chân như sau:

 Chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu

 Chân 2: Receive Data (RxD) : Nhận dữ liệu

 Chân 3 : Transmit Data (TxD) : Truyền dữ liệu

 Chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích hoạt bởi bộ phận khi muốn truyền dữ liệu

 Chân 5 : Singal Ground ( SG) : Mass của tín hiệu

 Chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu

 Chân 7 : Request to Send : yêu cầu gửi,bô truyền đặt đường này lên mức hoạt động khi sẵn sàng truyền dữ liệu

 Chân 8 : Clear To Send (CTS) : Xóa để gửi ,bô nhận đặt đường này lên mức kích hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận tín hiệu

 Chân 9 : Ring Indicate (RI) : Báo chuông cho biết là bộ nhận đang nhận tín hiệu rung chuông

Qua chân cắm ra TXD máy tính gởi dữ liệu của nó đến KIT Vi điều khiển Trong khi đó các dữ liệu mà máy tính nhận được, lại được dẫn đến chân RXD Các tín hiệu còn lại có chức năng hỗ trợ để thiết lập và điều khiển quá trình truyền, được gọi là các tín hiệu bắt tay (handshake).Ưu điểm của quá trình truyền dùng tín hiệu bắt tay là có thể kiểm soát đường truyền và vì thế không phải trong mọi trường hợp ứng dụng đều dùng hết

Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự) Bộ truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp theo Bit này luôn bắt đầu bằng mức 0 Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng

Trang 5

Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:

Khi không truyền dữ liệu, đường truyền sẽ ở trạng thái mark (điện áp -10V) Khi bắt đầu truyền, DTE sẽ đưa ra xung Start (space: 10V) và sau đó lần lượt truyền từ D0 đến D7 và Parity, cuối cùng là xung Stop (mark: -10V) để khôi phục trạng thái đường truyền

g) Truyền thông giữa hai nút.

Các sơ đồ khi kết nối dùng cổng nối tiếp:

Khi thực hiện kết nối như trên, quá trình truyền phải bảo đảm tốc độ ở đầu phát và thu giống nhau Khi có dữ liệu đến DTE, dữ liệu này sẽ được đưa vào bộ đệm và tạo ngắt

2.2.5 Tốc độ Baud

Đây là một tham số đặc trưng của RS232 Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit)

Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất

Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800,

9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị thường dùng tốc độ là 19200

Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit Do vậy, nếu tốc độ bit càng

Trang 6

cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ Điều này làm giới hạn tốc Baud và khoảng cách truyền

2.2.6 Bit chẵn lẻ hay Parity bit

Đây là bit kiểm tra lỗi trên đường truyền Thực chất của quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong quá trình truyền Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ

Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit

"1" được gửi trong một khung truyền là chẵn hay lẻ

Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9 Nếu như một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp không mắc lỗi vì thế không phát hiện ra lỗi Do đó trong kỹ thuật mã hóa lỗi này không được sử dụng trong trường hợp có khả năng một vài bit bị mắc lỗi

2.2.7 Sơ đồ kết nối dùng IC MAX232

Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao diện nối tiếp với máy tính Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào thành mức +12V hoặc –12V ở phía truyền và các mức +3…+15V hoặc -3…-15V thành mức TTL ở phía nhận

Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi Đây là

IC chạy ổn định và được sử dụng phổ biến trong các mạch giao tiếp chuẩn RS232 Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng tĩnh điện Ngoài

ra Max232 còn được thiết kế với nguồn +5V cung cấp nguồn công suất nhỏ

Sơ đồ kết nối cổng COM với MAX232:

V C C

1

5 9 8 7 6

U 1 7

M A X 2 3 2 A

C 1 + 1

C 1 -3

C 2 + 4

C 2

R 1 I N

1 3

T 1 O U T

1 4

1 0 u

1 0 u

T X

R X

Trang 7

Sơ đồ chân và cấu trúc bên trong của MAX232

Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận Đường dẫn điều khiển lối vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, được nối với chân 9 của vi mạch MAX 232 Còn chân RST (chân 10 của vi mạch MAX ) nối với đường dẫn bắt tay để điều khiển quá trình nhận Thường thì các đường dẫn bắt tay được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa có thể hở mạch các cầu này Cách truyền dữ liệu đơn giản nhất là chỉ dùng ba đường dẫn TxD, RxD và GND (mass)

Trang 8

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG 3.1 Sơ đồ nguyên lý

Trang 9

3.2 Giao diện Visual Basic

3.3 Chương trình viết trên vi xử lý P89V51RD2:

#include <P89V51RD2.INC>

ORG 00H

LJMP START

ORG 0023H

LJMP SERIAL

ORG 40H

;*********************************************************

MAIN:

START:

MOV SCON,#50H

Trang 10

MOV T2CON,#00110000B

MOV RCAP2H,#0FFH

MOV RCAP2L,#0DCH

SETB TR2

MOV TMOD,#02H

MOV TH0,#HIGH(-50000)

MOV TL0,#LOW(-50000)

SETB TR0

MOV IE,#92H

SJMP $

;******************************************************

SERIAL:

CLR RI

MOV A,SBUF

CJNE A,#3,SERIAL1

CLR TR1

;***********************************************

SERIAL1:

CJNE A,#1,SERIAL2

SJMP CHEDO1

CHEDO1:

CLR P1.4

SETB P1.5

SETB P1.6

SETB P1.7

MOV R0,#00H

MOV DPTR,#TABLE2

SANGDUOI:

MOV A,R0

MOVC A,@A+DPTR

MOV P0,A

MOV SBUF,A

JNB TI,$

CLR TI

ACALL DELAY

CLR RI

MOV A,SBUF

CJNE A,#3,LAP

LJMP STOP2

LAP:

INC R0

CJNE R0,#32,SANGDUOI

;**************************************************

Trang 11

SETB P1.4

SETB P1.6

SETB P1.7

MOV DPTR,#TABLE

S1:

MOV A,#00h

MOVC A,@A+DPTR

CJNE A,#01H,S2

LJMP CHEDO2

S2:

MOV P0,A

MOV SBUF,A

JNB TI,$

CLR TI

LCALL DELAY

INC DPTR

CLR RI

MOV A,SBUF

CJNE A,#3,LAP1

SJMP STOP2

LAP1:

SJMP S1

SERIAL3:

CJNE A,#4,SERIAL4

SJMP CHEDO3

CHEDO3:

CLR P1.6

SETB P1.4

SETB P1.5

SETB P1.7

MOV R0,#00H

MOV DPTR,#TABLE3

SANGDAN:

MOV A,R0

MOVC A,@A+DPTR

MOV P0,A

MOV SBUF,A

JNB TI,$

CLR TI

ACALL DELAY

CLR RI

MOV A,SBUF

CJNE A,#3,LAP2

SJMP STOP2

LAP2:

INC R0

CJNE R0,#9,SANGDAN

SERIAL4:

Trang 12

CJNE A,#5,BAT_DAU

SJMP CHEDO4

CHEDO4:

CLR P1.7

SETB P1.4

SETB P1.5

SETB P1.6

MOV R0,#00H

MOV DPTR,#TABLE4

HAIBIAVAORA:

MOV A,R0

MOVC A,@A+DPTR

MOV P0,A

MOV SBUF,A

JNB TI,$

CLR TI

ACALL DELAY

CLR RI

MOV A,SBUF

CJNE A,#3,LAP4

SJMP STOP2

LAP4:

INC R0

CJNE R0,#8,HAIBIAVAORA

;******************************

BAT_DAU:

LJMP SERIAL

;******************************

STOP2:

SETB P1.4

SETB P1.5

SETB P1.6

SETB P1.7

MOV P0,#11111111B

RETI

;*************************************

DELAY:

MOV R1,#200

DELAY1:

MOV R2,#164

DELAY2:

MOV R3,#2

DELAY3:

Trang 13

DB 00H, 0FFH,00H, 0FFH

DB 01H

TABLE2:

DB 0FEH,0FDH,0FBH,0F7H

DB 0EFH,0DFH,0BFH,07FH

DB 0FEH,0FDH,0FBH,0F7H

DB 0EFH,0DFH,0BFH,07FH

DB 07FH,0BFH,0DFH,0EFH

DB 0F7H,0FBH,0FDH,0FEH

DB 07FH,0BFH,0DFH,0EFH

DB 0F7H,0FBH,0FDH,0FEH

TABLE3:

DB 0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H

TABLE4:

DB 0FFH,7EH,3CH,18H,00H,18H,3CH,7EH,0FFH

END

3.4 Chương trình viết trên máy tính:

Private Declare Sub InitCommonControls Lib "comctl32" ()

Dim TTLED1 As Byte

Dim TTLED As String

Dim a, b, c, d, e, f, g, h, i, j, k, l, m, n, p As Integer

Private Sub CONNECT_Click()

DIS.Enabled = True

CONNECT.Enabled = False

On Error GoTo Loiketnoi

MSComm1.Settings = "9600,N,8,1"

MSComm1.CommPort = Combo1.ListIndex + 1

If MSComm1.PortOpen = False Then

MSComm1.PortOpen = True

MSComm1.RThreshold = 1

MSComm1.SThreshold = 1

START.Enabled = True

Combo1.Enabled = False

Combo2.Enabled = False

THONGBAOKN.Caption = "DANG KET NOI"

THONGBAOKN.ForeColor = vbRed

CHEDO1.Enabled = True

CHEDO2.Enabled = True

CHEDO3.Enabled = True

CHEDO4.Enabled = True

End If

Loiketnoi:

If Err.Number = 8002 Then

Trang 14

MsgBox "LOI KET NOI", vbInformation, "THONG BAO"

Combo1.Enabled = True

CONNECT.Enabled = True

DIS.Enabled = False

End If

End Sub

Private Sub DIS_Click()

DIS.Enabled = False

MSComm1.Output = Chr(3)

CONNECT.Enabled = True

If MSComm1.PortOpen = True Then

MSComm1.PortOpen = False

START.Enabled = False

STOPCT.Enabled = False

CHEDO1.Enabled = False

CHEDO2.Enabled = False

CHEDO3.Enabled = False

CHEDO4.Enabled = False

CHEDO1.Value = False

CHEDO2.Value = False

CHEDO3.Value = False

CHEDO4.Value = False

Combo1.Enabled = True

Combo2.Enabled = True

LED1.BackColor = &H80000005

LED2.BackColor = &H80000005

LED3.BackColor = &H80000005

LED4.BackColor = &H80000005

LED5.BackColor = &H80000005

LED6.BackColor = &H80000005

LED7.BackColor = &H80000005

LED8.BackColor = &H80000005

THONGBAOKN.Caption = "NGAT KET NOI"

THONGBAOKN.ForeColor = vbRed

End If

End Sub

Private Sub EXIT_Click()

If MSComm1.PortOpen = True Then

MSComm1.PortOpen = False

End If

Trang 15

End Sub

Private Sub Form_Load()

START.Enabled = False

STOPCT.Enabled = False

CHEDO1.Enabled = False

CHEDO2.Enabled = False

CHEDO3.Enabled = False

CHEDO4.Enabled = False

CHEDO1.Value = False

CHEDO2.Value = False

CHEDO3.Value = False

CHEDO4.Value = False

End Sub

Private Sub MSComm1_OnComm()

If MSComm1.CommEvent = comEvReceive Then

TTLED = MSComm1.Input

TTLED1 = Asc(TTLED)

End If

a = TTLED1 Mod 2

b = TTLED1 \ 2

If a = 1 Then

LED1.BackColor = &H80000005

Else

LED1.BackColor = vbRed

End If

c = b Mod 2

d = b \ 2

If c = 1 Then

LED2.BackColor = &H80000005

Else

LED2.BackColor = vbRed

End If

e = d Mod 2

f = d \ 2

If e = 1 Then

LED3.BackColor = &H80000005

Else

LED3.BackColor = vbRed

End If

g = f Mod 2

h = f \ 2

If g = 1 Then

LED4.BackColor = &H80000005

Else

Ngày đăng: 06/10/2015, 11:02

HÌNH ẢNH LIÊN QUAN

1.2  Sơ đồ chân chip 8051 - Đo lường điều khiển bằng máy tính
1.2 Sơ đồ chân chip 8051 (Trang 1)
2.2.7  Sơ đồ kết nối dùng IC MAX232 - Đo lường điều khiển bằng máy tính
2.2.7 Sơ đồ kết nối dùng IC MAX232 (Trang 6)
Sơ đồ chân và cấu trúc bên trong của MAX232 - Đo lường điều khiển bằng máy tính
Sơ đồ ch ân và cấu trúc bên trong của MAX232 (Trang 7)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w