PC INTERACTION TECHNOLOGY - · PDF fileNguyễn Trung Tính . 2. Slide bài...
Transcript of PC INTERACTION TECHNOLOGY - · PDF fileNguyễn Trung Tính . 2. Slide bài...
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].
Web: http://www2.hcmuaf.edu.vn/?ur=phucnt.
Face book: gv dhnl phuctannguyen
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
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
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
ĐÁNH GIÁ SV
• Đồ án GTMT : 30%
( 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
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
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.
8
ADC
Máy tính
SENSOR
Tín hiệu vật
lý
DAC
BỘ TÁI
TẠO TÍN
HiỆU
Tín hiệu vật
lý
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
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
www.themegallery.com 11
* Các thiết bị nhập
www.themegallery.com 12
* Các thiết bị xuất
13
MAINBOARD PC
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Ø
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
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
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.
18
GIAO TiẾP CỔNG LPT- SONG SONG
18
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
20
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
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
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
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
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)
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)
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)
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)
29
Cổng song song (Parallel port - LPT)
Giao diện một hƣớng song song
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
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)
32
* Cổng song song (Parallel port - LPT)
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);
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)
GIAO TIẾP NỐI TIẾP- SERIAL COMMUNICATION
35
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
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.
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.
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.
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
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.
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.
Dòng cung cấp từ 10 mA đến 20 mA.
KHÁI NiỆM CHUNG
43
Truyền nhận bất đồng bộ (usart)
44
Dạng sóng truyền bất đồng bộ:
LẬP TRÌNH GIAO TIẾP
Sử Dụng :
• VPSE – virtual port serial emulator.
• Advanced serial port terminal.
• Proteus 7.
• ARDUINO-IDE ..
45
46
PHẦN MỀM TẠO CỔNG COM ẢO
47
PHẦN MỀM PROTEUS – CỔNG COM
48
QUAN SÁT CỔNG COM
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 .
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;
}
}
}
}
51
Kết quả nhập ‘1’:
52
Bai tâp nhóm: