kỸ thuẬt giao tiẾp mÁy tÍnh (lý thuyết 15t – thực hành 30t

52
KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t ) PC INTERACTION TECHNOLOGY TRƢỜNG ĐẠI HỌC NÔNG LÂM TPHCM KHOA CƠ KHÍ CÔNG NGHỆ BỘ MÔN CƠ ĐiỆN TỬ GV: Th.S Nguyễn Tấn Phúc. Bộ môn : Điện Tử - Khoa : Khí Công Nghệ- ĐHNL Tel : 01267102772. Email: [email protected]. [email protected] Web: http://www2.hcmuaf.edu.vn/?ur=phucnt. Face book: dhnl thayphuc

Upload: trinhnhi

Post on 28-Jan-2017

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

KỸ THUẬT GIAO TIẾP MÁY TÍNH

(Lý thuyết 15t – Thực hành 30t )

PC INTERACTION TECHNOLOGY

TRƢỜNG ĐẠI HỌC NÔNG LÂM TPHCM

KHOA CƠ KHÍ CÔNG NGHỆ

BỘ MÔN CƠ ĐiỆN TỬ

GV: Th.S Nguyễn Tấn Phúc.

Bộ môn : Cơ Điện Tử - Khoa : Cơ Khí Công Nghệ- ĐHNL

Tel : 01267102772.

Email: [email protected].

[email protected]

Web: http://www2.hcmuaf.edu.vn/?ur=phucnt.

Face book: dhnl thayphuc

Page 2: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

Nắm được các chuẩn giao tiếp thông dụng trên máy tính.

Thiết kế và chế tạo được các vi mạch giao tiếp với máy tính (PC,Laptop ) nhằm thực hiện chức năng đo lường, điều khiển giám sát thiết bị .

2

MỤC ĐÍCH MÔN HỌC

Page 3: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

VẬT LIỆU HỌC TẬP

3

1. Hướng Dẫn Sử Dụng Cơ Bản Arduino –

Nguyễn Trung Tính .

2. Slide bài giảng – Th.S Nguyễn Tấn Phúc .

3. Taì liệu hướng dẫn cơ bản thực hành giao tiếp máy tính -

- Th.S Nguyễn Tấn Phúc

Page 4: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

VẬT LIỆU HỌC TẬP

PC :

PROTEUS 7.6. .

VPSE : VIRTUAL COM

ARDUINO- IDE

PHẦN CỨNG:

• BOARD arduino – uno chế tạo.

• CÁP USB – type A .(SV được mượn , tự trang bị).

4

Page 5: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

ĐÁNH GIÁ SV

• Kiểm tra trên lớp – điểm danh 10%

• Đồ án GTMT : 20% ( làm trong các tuần có lịch thực hành, chia nhóm 8 SV ).

• Thi cuối kỳ : 70%.

• Thời gian bảo vệ đồ án :

1. tuần 10 của học kỳ . 2. theo dõi thông báo trên facebook.

3. Thoi gian thuc hien : tuan 6-9.

5

Page 6: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

KIẾN THỨC ĐẠT ĐƢỢC SAU MÔN HỌC

Có khả năng làm được một board mạch có vi điều khiển , có khả năng giao tiếp máy tính.

Có khả năng lập trình để tạo một giao diện từ máy tính để giám sát , điều khiển các thiết bị trong hệ thống cơ điện tử.

Có khả năng làm việc nhóm với tinh thần đoàn kết cao.

Có khả năng tiếp thu các môn HK sau, làm tốt luận văn tốt nghiệp.

6

Page 7: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

7

NỘI DUNG MÔN HỌC

1. MỞ ĐẦU - GIỚI THIỆU CÁC CHUẨN GIAO TIẾP .

2. HỌC NHANH ARDUINO – UNO .

3. GIỚI THIỆU PROTEUS - MÔ PHỎNG ARDUINO .

4. LẬP TRÌNH GIAO TIẾP LCD , LED 7-SEGMENT.

5. KIỂM TRA, HƢỚNG DẪN ĐỒ ÁN GIAO TIẾP MÁY TÍNH.

Page 8: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

8

ADC

Máy tính

SENSOR

Tín hiệu vật

DAC

BỘ TÁI

TẠO TÍN

HiỆU

Tín hiệu vật

Page 9: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

Chƣơng 1: Mở đầu

www.themegallery.com 9

1. Kiến trúc máy tính

2. Cấu trúc chung của một khối khép nối

3. Các phƣơng pháp trao đổi tin

Page 10: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

1. Kiến trúc máy tính

www.themegallery.com 10

Hình 1: Kiến trúc của hệ máy tính đơn giản

Page 11: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 11

* Các thiết bị nhập

Page 12: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 12

* Các thiết bị xuất

Page 13: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

13

MAINBOARD PC

Page 14: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 14

* 2. Cấu trúc chung của một khối ghép

nối

/INTR1

/INTR2 BUS

m¸y

tÝnh

Phèi hî

®êng

d©y

Phèi hî

®êng

d©y

BUS

thiÕt bÞ

ngoµi

Ao

An

/WR

/RD

/WR

/RD

/CS1

.

.

/CSn

Xö lý ng¾t /INTR

/INTA

Thanh ghi tr¹ng

th¸i

Thanh ghi ®iÒu

khiÓn

Thanh ghi

®Öm ®äc/viÕt

Do - Dn

Hình 1.1 CÊu tróc chung cña mét khèi ghÐp nèi

Giải m·

®Þa chØ

Page 15: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 15

* 3. Các phƣơng pháp trao đổi tin

3.1 Trao đổi tuần tự theo chƣơng trình

3.2 Trao đổi DMA

Page 16: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 16

* 3.1 Trao đổi tuần tự theo chƣơng trình

ASSEMBLY PASCAL Ngôn ngữ C

IN

OUT

MOV

X:=PORT[Địa chỉ];

PORT[Địa chỉ]:=Y;

X:=import[Địa chỉ];

Outport[Địa chỉ,y];

Ngôn ngữ VB

X =Inp (Địa chỉ)

Out Địa chỉ , y

Page 17: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 17

* Trao đổi bằng ngắt

*Khi thiết bị có yêu cầu trao đổi sẽ gửi tín hiệu yêu cầu ngắt

trên máy tính(yêu cầu in ấn , gửi âm thanh..)

* Máy tính dừng chương trình đang phục vụ và yêu cầu thiết bị

ngoài trao đổi tin.

*Máy tính và thiết bị ngoài trao đổi tin theo chương trình.

* Kết thúc trao đổi, máy tính trở lại điểm dừng.

Page 18: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

18

GIAO TiẾP CỔNG LPT- SONG SONG

18

Page 19: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 19

Cổng song song (Parallel port - LPT)

* Đƣợc thiết kế bởi công ty Centronics

* Mục đích ghép nối máy in với máy tính

* Mức điện áp TTL:

* 0v là mức logic LOW.

* 2v→ +5v là mức logic HIGH.

* Khoảng cách ghép nối:

* Tối đa là 8m.

* Thông thƣờng 1,5m – 2m.

* Từ 3m trở lên sử dụng cáp dẹt, hoặc xoắn

từng cặp dây tín hiệu và dây nối đất.

* Tốc độ truyền

* Phụ thuộc vào phần cứng

* Lý thuyết 1Mb/s với khoảng cách truyền 1m

Page 20: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

20

Page 21: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 21

Cổng song song (Parallel port - LPT)

Cấu trúc và cách trao đổi dữ trên cổng song song

Sơ đồ cấu trúc cổng song song

Page 22: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 22

Cổng song song (Parallel port - LPT)

Cấu trúc và cách trao đổi dữ trên cổng song song

Sơ đồ nối dây và chiều tín hiệu giữa máy tính và máy in

Page 23: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 23

Cổng song song (Parallel port - LPT)

Cấu trúc và cách trao đổi dữ trên cổng song song

Sơ đồ nối dây và chiều tín hiệu giữa máy tính và máy in

Page 24: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 24

Cổng song song (Parallel port - LPT)

Cấu trúc và cách trao đổi dữ trên cổng song song

- Các đường điều khiển: Strobe, Auto Linefeed, Reset,

Select Input xuất ra từ máy tính và điều khiển máy in

- Các đường trạng thái: Acknowledge, Busy, Paper Empty,

Select, Error tín hiệu đưa các thông báo ngược lại từ máy

in về máy tính

- Các đường dữ liệu: Truyền các byte kí tự cần in D0 – D7

Page 25: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 25

Cổng song song (Parallel port - LPT)

Các thanh ghi ở cổng song song

* Thanh ghi du liÖu (cã ®Þa chØ c¬ së)

* Thanh ghi tr¹ng th¸i (cã ®Þa chØ cã së + 1)

* Thanh ghi ®iÒu khiÓn (cã ®Þa chØ cã së + 2)

Page 26: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 26

Cổng song song (Parallel port - LPT)

Các thanh ghi ở cổng song song

Thanh ghi du liÖu (địa chỉ 378H)

Page 27: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

27

Cổng song song (Parallel port - LPT)

Các thanh ghi ở cổng song song

Thanh ghi tr¹ng th¸i (địa chỉ 379H)

Page 28: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 28

Cổng song song (Parallel port - LPT)

Các thanh ghi ở cổng song song

Thanh ghi ®iÒu khiÓn (địa chỉ 37AH)

Page 29: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

29

Cổng song song (Parallel port - LPT)

Giao diện một hƣớng song song

Page 30: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

30

Cổng song song (Parallel port - LPT)

Giao diện một hƣớng song song:

* Viết chương trình (sử dụng inpout32.dll)

Out32 Val("&H địa chỉ "), x : lệnh xuất dữ liệu

x = Inp32 Val("&H địa chỉ ") : lệnh nhập dữ liệu

* Viết chương trình (sử dụng io.dll)

Call PortOut(&H địa chỉ,x) : lệnh xuất dữ liệu

x = PortIn(&H địa chỉ): lệnh nhập dữ liệu

Page 31: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

31

VÍ DỤ:

C0

C1

C2

C3

D0

D1

D2

D3

D4

D5

D6

D7

LP

T V

IRT

UA

L

2

3

4

5

6

7

8

9

LPT1

LPT02

330

330

330

330

330

330

330

330

* Cổng song song (Parallel port - LPT)

Page 32: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

32

* Cổng song song (Parallel port - LPT)

Page 33: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

www.themegallery.com 33

* Cổng song song (Parallel port - LPT)

Giao diện một hƣớng song song

* Viết chương trình (sử dụng inpout32.dll)

Private Declare Sub Out32 Lib "inpout32.dll" (ByVal

portaddress As Integer, ByVal value As Integer)

Private Declare Function Inp32 Lib "inpout32.dll"

(ByVal portaddress As Integer) As Integer

Ví dụ: muốn led sáng từ phải sang trái :

Private Sub Command1_Click()

Out32 Val(&h378), Val(&01);

Delay_ms(1000);

Out32 Val(&h378), Val(&02);

Delay_ms(1000);

Page 34: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

34

Out32 Val(&h378), Val(&01);

Delay_ms(1000);

Out32 Val(&h378), Val(&02);

Delay_ms(1000);

Out32 Val(&h378), Val(&04);

Delay_ms(1000);

Out32 Val(&h378), Val(&08);

Delay_ms(1000);

End Sub

* Cổng song song (Parallel port - LPT)

Page 35: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

GIAO TIẾP NỐI TIẾP- SERIAL COMMUNICATION

35

Page 36: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

Chƣơng 3: Ghép nối trao đổi tin nối tiếp

www.themegallery.com 36

2.1. Khối ghép nối song song đơn giản, các vi mạch đệm, chốt

3.2. Cổng nối tiếp

3.1. Khái niệm về truyền tin nối tiếp

Page 37: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

3.1 Khái niệm về truyền tin nối tiếp

37

*Khái niệm:

Truyền tin nối tiếp là phương thức truyền tin trong đó

các bit mang thông tin được truyền kế tiếp nhau trên một

đường dẫn vật lý. Tại một thời điểm phía bên truyền cũng như

bên nhận chỉ có thể truyền/nhận được 1 bit.

Page 38: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

38

ƢU ĐIỂM TRUYỀN NỐI TIẾP(so với parallel port )

- Khoảng cách truyền xa hơn song song.

- Sơ Đồ kết nối ít chân.

- Có thể truyền hồng ngoại.

- Có thể ghép với VĐK hoặc PLC.

- Cho phép nối mạng (modem).

- Cho phép tháo lắp đơn giản.

- Có thể cung cấp nguồn cho các thiết bị khác.

Page 39: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

39

KHUYẾT ĐIỂM :

* Tốc độ truyền chậm hơn.

* Máy tính xuất dữ liệu kiểu bus song song , các thiết bị

thường phải cần các khối chuyển đổi nối tiếp song song,

song song nối tiếp khi sử dụng trao đổi tin.

Page 40: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

Cổng nối tiếp (Serial port )

Chƣ viết tăt Chức năng

TD (Chân 3) Transmit Data Serial Data Output (TXD) - Đâu ra cua dư liêu

RD (Chân 2)

Receive Data Serial Data Input (RXD) - Dư liêu đươc nhâp vao

CTS (Chân 8)

Clear to Send Bao răng Modem săn sang trao đôi dư liêu.

DCD(Chân1) Data Carrier

Detect

Khi nao modem phat hiên ra tín hiêu mang dư liêu tư

môt modem kêt thuc khac cua the phone line, thi

Line nay trơ thanh tich cưc.

DSR(Chân 6)

Data Set Ready

Thông bao vơi UART răng the modem săn sang thiêt

lâp môt môi liên kêt .

DTR(Chân 4)

Data Terminal

Ready

Đây la sư đôi lâp vơi DSR. Bao vơi the Modem răng

the UART săn sang đê liên kêt .

RTS(Chân 7)

Request To

Send

Thông bao cho the Modem răng the UART săn sang

đê trao đôi dư liêu.

RI(Chân 9)

Ring Indicator

Goes active when modem detects a ringing signal

from the PSTN.

40

Ý nghĩa các chân tín hiệu

Page 41: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

3.2 Cổng nối tiếp (Serial port-RS232 )

41

* Đƣợc tích hợp trên máy tính cá nhân từ năm 1990

* Mục đích kết nối các thiết bị ngoại vi:

* Bàn phím, chuột

* Modem, máy quét …

* Mức điện áp :

* Mức 0: +3V đến +12V

* Mức 1: -12V đến -3V

* Khoảng cách ghép nối:

* Tối đa là 25m.

* Thông thƣờng 1,5m – 15m.

* Từ 15m trở lên sử dụng bộ đệm, bộ lặp.

* Tốc độ truyền đƣợc quy chuẩn :

* 300, 600, 1200, 2400, 4800, 9600, 19200,

28800, 56600.

Page 42: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

3.1 Khái niệm về truyền tin nối tiếp

42

42

*Các phương thức truyền tin:

*Phương thức đồng bộ:

Các byte chứa các bit thông tin được truyền liên tiếp trên đường truyền và chỉ được ngăn cách (phân biệt) nhau bằng bít đồng bộ khung (Syn).

*Phương thức không đồng bộ:

Các byte chứa các bit thông tin được chứa trong một khung. Một khung được bắt đầu bằng 1 bit Start, tiếp theo là các bit mang thông tin, kế tiếp là bít kiểm tra chẵn lẻ và kết thúc là bit Stop. Khoảng cách giữa các khung là 1 bit dừng bất kì, khi đó đường truyền được đặt lên mức cao.

*Phương thức lai: Đây là phương thức kết hợp của 2 phương thức trên.

Page 43: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

Dòng cung cấp từ 10 mA đến 20 mA.

KHÁI NiỆM CHUNG

43

Page 44: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

Truyền nhận bất đồng bộ (usart)

44

Dạng sóng truyền bất đồng bộ:

Page 45: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

LẬP TRÌNH GIAO TIẾP

Sử Dụng :

• VPSE – virtual port serial emulator.

• Advanced serial port terminal.

• Proteus 7.

• ARDUINO-IDE ..

45

Page 46: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

46

PHẦN MỀM TẠO CỔNG COM ẢO

Page 47: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

47

PHẦN MỀM PROTEUS – CỔNG COM

Page 48: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

48

QUAN SÁT CỔNG COM

Page 49: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

49

THAM KHẢO CÁC LỆNH ARDUINO CƠ BẢN:

Cấu trúc chƣơng trình chính:

Void setup()

{

}: đây la ham khơi tạo bắt buôc trong cac chương trinh về arduino.

Void loop(){

}: đây la ham thưc thi chương trinh bắt buôc trong arduino.- nơi chứa cac

câu lênh thưc thi .

Page 50: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

50

CHƢƠNG TRÌNH NHẬN KÝ TỰ CỔNG NỐI TIẾP

Void setup(){

Serial.begin(9600); // set tốc độ baud.

}

Void loop(){

if serial.Available() {

Char led=Serial.read();

Switch (led) {

Case ‘1’: {

digitalWrite(pin,HIGH);

Break;

}

Case ‘0’:{

digitalWrite(pin,LOW);

Break;

}

}

}

}

Page 51: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

51

Kết quả nhập ‘1’:

Page 52: KỸ THUẬT GIAO TIẾP MÁY TÍNH (Lý thuyết 15t – Thực hành 30t

52

Bai tâp nhóm: