Tải bản đầy đủ (.docx) (18 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (429.4 KB, 18 trang )

Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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 1


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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
nối tiếp RS232 không vượt qua 15m.
Để ngăn cản sự dao động quá mức, tốc độ thay đổi (Slew rate ) của điện
áp không được vượt qúa 30V/µs.

Trang 2


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc


Đố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 3


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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.
2.2.4

Quá trình truyền nhận dữ liệu.

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 4


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

Đị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 5


Đo Lường Điều Khiển Bằng Máy Tính


GVHD: ThS. Huỳnh Minh Ngọc

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:

1
4

T 1 IN
R 1O U T


C 1+

T2O U T
T 2 IN
R 2O U T
R 2 IN

C 2+

11
12
7
10
9
8

10u
C 2-

VC C

C 1-

G N D

M A X232A
10u

Trang 6


V+

3

V-

5

2

10u

T1O U T
R 1 IN

6

C O M 1

1
6
2
7
3
8
4
9
5


10u

16
15

TX
RX

1
2

VC C

R S232_O

U 17
14
13


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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 7


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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

Trang 8


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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 9


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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
;**************************************************
SERIAL2:
CJNE A,#2,SERIAL3
SJMP CHEDO2
CHEDO2:
CLR P1.5
Trang 10



Đo Lường Điều Khiển Bằng Máy Tính
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 11

GVHD: ThS. Huỳnh Minh Ngọc


Đo Lường Điều Khiển Bằng Máy Tính
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:
DJNZ R3,DELAY3
DJNZ R2,DELAY2
DJNZ R1,DELAY1
RET
TABLE:
Trang 12

GVHD: ThS. Huỳnh Minh Ngọc


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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 13


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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
If MsgBox("BAN CO MUON THOAT KHONG", vbInformation + vbYesNo,
"THONG BAO") = vbYes Then
End
End If
Trang 14



Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

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
Trang 15


Đo Lường Điều Khiển Bằng Máy Tính

LED4.BackColor = vbRed
End If
i = h Mod 2
j=h\2
If i = 1 Then
LED5.BackColor = &H80000005

Else
LED5.BackColor = vbRed
End If
k = j Mod 2
l=j\2
If k = 1 Then
LED6.BackColor = &H80000005
Else
LED6.BackColor = vbRed
End If
m = l Mod 2
n=l\2
If m = 1 Then
LED7.BackColor = &H80000005
Else
LED7.BackColor = vbRed
End If
p = n Mod 2
If p = 1 Then
LED8.BackColor = &H80000005
Else
LED8.BackColor = vbRed
End If
End Sub
Private Sub START_Click()
If CHEDO1.Value = True Then
STOPCT.Enabled = True
START.Enabled = False
CHEDO2.Enabled = False
CHEDO3.Enabled = False

CHEDO4.Enabled = False
MSComm1.Output = Chr(1)
Else
If CHEDO2.Value = True Then
STOPCT.Enabled = True
START.Enabled = False
CHEDO1.Enabled = False
CHEDO3.Enabled = False
Trang 16

GVHD: ThS. Huỳnh Minh Ngọc


Đo Lường Điều Khiển Bằng Máy Tính

GVHD: ThS. Huỳnh Minh Ngọc

CHEDO4.Enabled = False
MSComm1.Output = Chr(2)
Else
If CHEDO3.Value = True Then
STOPCT.Enabled = True
START.Enabled = False
CHEDO1.Enabled = False
CHEDO2.Enabled = False
CHEDO4.Enabled = False
MSComm1.Output = Chr(4)
Else
If CHEDO4.Value = True Then
STOPCT.Enabled = True

START.Enabled = False
CHEDO1.Enabled = False
CHEDO2.Enabled = False
CHEDO3.Enabled = False
MSComm1.Output = Chr(5)
Else
MsgBox "VUI LONG CHON CHE DO DIEU KHIEN", vbInformation,
"THONG BAO"
End If
End If
End If
End If
End Sub
Private Sub STOPCT_Click()
STOPCT.Enabled = False
START.Enabled = True
CHEDO1.Value = False
CHEDO2.Value = False
CHEDO3.Value = False
CHEDO4.Value = False
CHEDO1.Enabled = True
CHEDO2.Enabled = True
CHEDO3.Enabled = True
CHEDO4.Enabled = True
TTLED1 = 255
LED1.BackColor = &H80000005
LED2.BackColor = &H80000005
LED3.BackColor = &H80000005
LED4.BackColor = &H80000005
LED5.BackColor = &H80000005

LED6.BackColor = &H80000005
Trang 17


Đo Lường Điều Khiển Bằng Máy Tính

LED7.BackColor = &H80000005
LED8.BackColor = &H80000005
MSComm1.Output = Chr(3)
End Sub
Private Sub Timer1_Timer()
If Label3.Left <= Me.Width Then
Label3.Left = Label3.Left + 300
Else
Label3.Left = -Label3.Width
End If
End Sub
Private Sub Timer2_Timer()
DONGHO.Seconds = Second(Now)
DONGHO.Hours = Hour(Now)
DONGHO.Minutes = Minute(Now)
End Sub

Trang 18

GVHD: ThS. Huỳnh Minh Ngọc




×