1
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: phucpfiev1@gmail.com.
phucnt@hcmuaf.edu.vn
2
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: phucpfiev1@gmail.com.
phucnt@hcmuaf.edu.vn.
Website:http://www2.hcmuaf.edu.vn/?ur=phucnt
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ị .
3
MỤC ðÍCH MÔN HỌC
VẬT LIỆU HỌC TẬP
1. Lập Trình ghép nối máy tính- Ngô Diên Tâp.
2. Visual Basic và giao tiếp máy tính – Hồ Thanh Tâm, Bộ Môn ðiều Khiển Tự ðộng –ðHNL tphcm.
3
V V V
VẬT LI T LI T LI T LIỆU H U H U H U HỌC T C T C T C TẬP P P P
PC :
PROTEUS 7.6. .
VB6: LẬP TRÌNH GIAO DIỆN.
VPSE : VIRTUAL COM
PIC-C : LẬP TRÌNH PIC.
PIC-KIT: NẠP CODE.
PHẦN CỨNG:
BOARD VðK PIC 16F877 + RS 232 (SV chếtạo)
CÁP USB-COM (SV ñược mượn , tựtrang bị). 5
ðÁNH GIÁ SV ðÁNH GIÁ SV ðÁNH GIÁ SV ðÁNH GIÁ SV
Tinh Thần + Chuyên Cần: 10%.
ðồ án GTMT : 40% ( làm trong các tuần thực hành, chia nhóm 5 SV )
Thi cuối kỳ : 50%, ñồ án >=5.
Thời gian bảo vệ ñồ án :
tuần 11 của học kỳ (6/5-13/5).
6
ðÁNH GIÁ MÔN H ðÁNH GIÁ MÔN H ðÁNH GIÁ MÔN H ðÁNH GIÁ MÔN HỌC C C C
Vừa dễ, Vừa Khó.
Rất ít SV phải học lại.
Hay, bổ ích cho ngành cơ ñiện tử:phần ño lường , giám sát , ñiều khiển bằng máy tính.
7
KI KI KI
KIẾN TH N TH N TH N THỨC ð C ð C ðẠT ð C ð T ð T ð T ðƯỢC SAU MÔN H C SAU MÔN H C SAU MÔN H C SAU MÔN HỌC C C 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ử.
5
9
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 VI ðIỀU KHIỂN PIC-16F877.
3. GIỚI THIỆU PROTEUS - MÔ PHỎNG VỚI PIC16F877.
4. KẾT HỢP VB6 – PROTEUS TRONG MÔ PHỎNG GIAO TIẾP RS232.
5. KIỂM TRA GIỚI THIỆU ðỒ ÁN GIAO TIẾP MÁY TÍNH.
10
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 CH CH
CHƯƠNGNGNGNG 1: 1: 1: M1: MMMỞððððẦUUUU
www.themegallery.com 11
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.
1. 1.
1. KIKIKIKIẾNNNN TRÚCTRÚCTRÚCTRÚC MÁYMÁYMÁYMÁY TÍNHTÍNHTÍNHTÍNH
7
www.themegallery.com 13
*
CácCácCácCác thithithiếtttt bthi bbbịnhnhnhnhậppppwww.themegallery.com 14
*
CácCácCácCác thithithiếtttt bthi bbbịxuxuxuxuấtttt15
MAINBOARD PC
*
2. 2. 2. 2. CCCấuC uu trỳcutrỳctrỳctrỳc chungchungchungchung ccccủaaa mammmộtttt khkhkhkhốiiii ghộpghộpghộpghộp nnnnốiiii/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 Giải mã
địa chỉ
9
www.themegallery.com 17
*
3. 3. 3. 3. CácCácCácCác phphphươngph ngngng pháppháppháp traopháptraotrao ñtraoñññổiiii tintintintin3.1 Trao ñổi tuần tự theo chương trình
3.2 Trao ñổi DMA
www.themegallery.com 18
*
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 19
*
TraoTraoTraoTrao ññññổiiii bbbbằngngngng ngngngngắtttt*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.
GIAO TIẾP QUA RÃNH CẮM
11
GIAO TIẾP QUA SLOT
Các loại rãnh cắm:
•Rãnh cm 8 bit theo chun ISA (Idustry Standard Architechure).
•Rãnh cắm 16 bit theo chuẩn ISA(Industry Standard Architechure).
•Rãnh cắm PS/2 16 bit theo chuẩn MCA (Micro Channel Architechure)
•Rãnh cắm PS/2 32 bít theo chuẩn MCA.
•Rãnh cắm 32 bit theo chuẩn EISA.
•32 bit theo chuẩn VELA.
•32 bit theo chun PCI.
GIAO TIẾP QUA SLOT
22
RÃNH CẮM THEO CHUẨN ISA:
Ra ñời năm 1980: PC 8086 , gọi là rãnh cắm bus PC. Bao gồm :
•Rãnh cắm 8 bít.
•Có 2 mặt , gồm 62 tiếp ñiểm.
•Dùng ñể cắm card 8 bít .
23
RÃNH CẮM THEO CHUẨN ISA:
Phát triển thành ISA 16bit cho máy AT
Có thể truy cập 1024 ñịa chỉ ngoại vi từ 000-3FF
ISA 16bit vận tốc 3-5Mbytes/s
Rãnh cắm ISA có màu ñen trên mainboard gồm:
• 62 chân (trao ñổi dữ liệu 8 bit)
• 36 chân (hỗ trợ thêm khi cần dữ liệu 16 bit)
13
RÃNH CẮM THEO CHUẨN ISA- 8 bít :
25
CÁC ðƯỜNG DẪN QUAN TÂM
26
CÁC ðƯỜNG DẪN QUAN TÂM
27
Gắn Card ISA , xuất nhập 8 bít bao gồm:
•Giải mã ñịa chỉ.
•Chốt dữ liệu ra.
•Mạch ñệm dữ liệu vào.
CẤU TRÚC MỘT CARD ISA
15
GiẢI MÃ ðỊA CHỈ
Cắm card vào máy tính , máy tính xác ñịnh ñịa chỉ của card ñể bắt ñầu trao ñổi dữ liệu.
Dự trữ một vùng trong bộ nhớ máy tính ñể ñịnh ñịa chỉ card từ 300 ñến 3FF : cho các card mở rộng.
29
Trong card , vùng quy ước ñịa chỉ ứng với một số trạng thái của một số chân của IC trên card, gọi là IC giải mã.
IC giải mã so sánh trạng thái các chân với các bus ñịa chỉ , nếu các trạng thái ñó giống nhau , vi mạch phát tín hiệu thông báo kết qua giải mã cho phép truyền dữ liệu.
IC giải mã thường dùng là 74HC688, 74HC138.
GiẢI MÃ ðỊA CHỈ
30
GIẢI MÃ ðỊA CHỈ
31
THIẾT KẾ MẠCH GIAO TIẾP VỚI RÃNH ISA
VI MẠCH 8255.
VI MẠCH 74HC688 VI MẠCH 74HC245
17 THIẾT KẾ MẠCH GIAO TiẾP VỚI RÃNH ISA
VI MẠCH 8255:
Có 24 chân lập trình ñược.
ðiện áp TTL.
Các chân riêng lẻ , xóa ñược từng bit.
33
VI MẠCH 8255:
34
VI MẠCH 74HC688
THIẾT KẾ MẠCH GIAO TiẾP VỚI RÃNH ISA
So sánh ñịa chỉ từ A2 ñến A9: so sánh với bus trên rãnh.
nếu trùng : phát tín hiệu mức thấp chân 19,báo hiệu ñịa chỉ ñã ñược giải mã.
35
VI MẠCH 74HC245 GiẢI MÃ ðỊA CHỈ.
ðỆM DỮ LiỆU VÀO RA 2 CHIỀU : Các mức tín hiệu trên ñường dẫn dữ liệu không bị ảnh hưởng quá mạnh.
THIẾT KẾ MẠCH GIAO TiẾP VỚI RÃNH ISA
19
CARD GIAO TIẾP 8255
37
Selftest program, can perform self-check any time.
Insert to pc slot (AT bus interface).
Control IC 8255A * 2 and IC 8253 * 1.
16 LED I/O displays.
48 programmalbe I/O lines.
Schematic circuit attached.
Card address selectable.
Can be connected to Opto Relay CARD (Co5) or Terminal Block .
CARD 8255
38
HOẠT ðỘNG MẠCH GIAO TiẾP 8255
Khi có sự ñồng nhất ñịa chỉ , chân 19 của IC 74hc688 phát tín hiệu low , kích hoạt vi mạch 8255, làm cho bộ ñệm 74hc 245 kích hoạt , dữ liệu ñược trao ñổi từ PC qua card 8255
39
VÍ DỤ
Cho card 8255 ñược nối với máy tính qua giao tiếp ISA hoặc PCI.
Cho ñịa chỉ cơ sở của 8255 là 300h.Port B của 8255 ñược nối với dãy 8 led từ portB0 ñến portB7.Hãy thiết lập các thông số và viết chương trình ñiều khiển dãy led chạy từ trái sang phải.
21
41
Dùng thư viện port.dll.
Do BA = 300h, ðịa chỉ PORTB: 301h.
ðịa chỉ control word : 303h.
Port B : port xuất , port A,C : chọn là port xuất : mode 0.
Vậy cần ghi vào thanh ghi control word : 80h.
Ta sẽ lập trình cho ñèn sáng từ trái qua phải như sau:
SOLVE:
42
#include <dos.h>
#include <string.h>
#define portB 0x301
#define controlWord 0x303 Void light_led(void) {
Outport(controlWord, 0x80);
Delay_ms(1000);
While (true) {
Outportb(portB,0x80);
Delay_ms(100);
Outportb(portB,0x40);
Delay_ms(100);
Outportb(portB,0x20);
Delay_ms(100);
Outportb(portB,0x10) Delay_ms(100);
} }
Outportb(portB,0x08);
Delay_ms(100);
Outportb(portB,0x04);
Delay_ms(100);
Outportb(portB,0x02);
Delay_ms(100);
Outportb(portB,0x01) Delay_ms(100);
Code C :
RÃNH CẮM ISA :
•RÃNH CẮM 8 BÍT .
•TRUY XUẤT ðỊA CHỈ THÔNG QUA IC GiẢI MÃ.
•DÙNG ðỂ CẮM CARD ISA : CARD GIAO TiẾP 8255.
Các thành phần 1 card ISA:
IC giải mã ñịa chỉ : IC 74HC138, 74HC 688.
IC 8255 mở rộng 24 cổng.
IC ñệm dữ liệu : 74HC 245.
IC chốt dữ liệu : 74HC 373.
TÓM TẮT
43
CARD PCI- 32 BIT WINDOW.
23
GIAO TIẾP QUA RÃNH CẮM PCI
PCI: Peripheral Component Interconnect
Màu trắng trên mainboard cho phép giao tiếp ngoại vi 32 hay 64 bit
Vận tốc nhanh 132 Mbytes/s
45
CÁC CARD PCI –ADVANCE TECH
46
47
CARD PCI-ADVANCE TECH
Tích hợp sẵn các bộ ñiều khiển: PID, Fuzzy, Neural network..
Giao tiếp tốc ñộ nhanh.
Giao diện bằng phần mềm trực quan , thân thiện , dễ
25
49
GIAO TIẾP CỔNG LPT- SONG SONG
49
www.themegallery.com 50
CC
CCổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)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
51
CC
CCổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)LPT)
Cấu trúc và cách trao ñổi dữtrên cổng song song
27
www.themegallery.com 53
C C C
Cổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)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 54
CC
CCổngngngng song song song song songsongsongsong (Parallel port (Parallel port (Parallel port ---- LPT)(Parallel port LPT)LPT)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 55
C C C
Cổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)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 Inputxuấ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, Errortớ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
CC
CCổngngngng song song song song songsongsongsong (Parallel port (Parallel port (Parallel port ---- LPT)(Parallel port LPT)LPT)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)
29
www.themegallery.com 57
C C C
Cổngngngng song song song song songsongsongsong (Parallel port (Parallel port (Parallel port ---- LPT)(Parallel port LPT)LPT)LPT)
Các thanh ghi ởcổng song song Thanh ghi du liÖu(ñịa chỉ378H)
58
CC
CCổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)LPT) Các thanh ghi ởcổng song song
Thanh ghi tr¹ng th¸i(ñịa chỉ379H)
www.themegallery.com 59
C C C
Cổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)LPT)
Các thanh ghi ởcổng song song Thanh ghi ®iÒu khiÓn (ñịa chỉ37AH)
CC
CCổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)LPT)
Giao diện một hướng song song
31
61
C C C
Cổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)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
62
VÍ DỤ:
C0 C1 C2 C3 D0 D1 D2 D3 D4 D5 D6 D7
LPT VIRTUAL
2 3 4 5 6 7 8 9
LPT1
LPT02
330 330 330 330 330 330 330 330
*
63
*
*
CCCCổngngngng song song song song songsongsong (Parallel port song(Parallel port (Parallel port (Parallel port ---- LPT)LPT)LPT)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 :
33
65
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
*
CCổngCC ngng song ngsong song song songsongsongsong (Parallel port (Parallel port (Parallel port ---- LPT)(Parallel port LPT)LPT)LPT)GIAO TIẾP NỐI TIẾP
66
CH CHCH
CHƯƠNGNGNGNG 3: 3: 3: 3: GHÉPGHÉPGHÉP NGHÉPNNNỐIIII TRAOTRAOTRAOTRAO ððððỔIIII TIN TIN TIN TIN NNNNỐIIII TITITITIẾPPPP
www.themegallery.com 67
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 3.1 3.1
3.1 KHÁIKHÁIKHÁI NIKHÁINININIỆMMMM VVVVỀTRUYTRUYTRUYTRUYỀNNN TIN NTIN TIN NTIN NNNỐIIII TITITITIẾPPPP
*Khái nim:
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.
35
69
Ư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.
70
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.
CC
CCỔNGNGNG NNGNNỐIIII TIN TITITIẾPPP ((((P
SERIAL PORT SERIAL PORT
))))Chư viếttắt Chức năng
TD (Chân 3) Transmit Data Serial Data Output (TXD) - ðầu ra của dữ liệu RD (Chân 2) Receive Data Serial Data Input (RXD) - Dư liệuñượcnhậpvào
CTS (Chân 8) Clear to Send Báorằng Modemsằnsàng traoñổi dư liệu.
DCD(Chân1) Data Carrier Detect
Khi nào modem phát hiện ra tín hiệu mang dữliệu từ một modem kết thúc khác của the phone line, thì Line này trở thành tích cực.
DSR(Chân 6) Data Set Ready Thông báo với UART rằng the modem sẵn sàng thiết lập một mối liên kết .
DTR(Chân 4) Data Terminal Ready
ðây là sự ñối lập với DSR. Báo với the Modem rằng the UART sẵn sàng ñểliên kết .
RTS(Chân 7) Request To Send
Thông báo cho the Modem rằng the UART sẵn sàng ñểtrao ñổi dữ liệu.
RI(Chân 9) Ring Indicator Goes active when modem detects a ringing signal from the PSTN.
71
Ý nghĩa các chân tín hiệu
3.2 3.2
3.2 3.2 CCCCỔNGNGNG NNGNNỐIIII TIN TITITIẾPPP ((((P
SERIAL PORT SERIAL PORT SERIAL PORT SERIAL PORT----RS232 RS232 RS232 RS232
))))*
ðượ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:37 3.1 3.1
3.1 3.1 KHÁIKHÁIKHÁIKHÁI NININIỆMNI MM VMVVVỀTRUYTRUYỀNTRUYTRUY NNN TIN TIN TIN TIN NNNỐIIII TIN TITIẾPTI PPP
73 73
*
Các phng thc truyn tin:*Phng thc ñ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).
*Phng thc 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.
*Phng thc 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
74
TRUYỀN NHẬN BẤT ðỒNG BỘ (USART)
75
Dạng sóng truyền bất ñồng bộ:
LẬP TRÌNH CHO CỔNG NỐI TIẾP TRONG VB
Dùng MSCOMM CONTROL..TRONG VB:
Project, Component , mscomm control..
39 LẬP TRÌNH CHO CỔNG NỐI TiẾP TRONG VB
MSCOMM1.COMMPORT=1: chọn cổng truyền.
MSCOMM1.SETTINGS=“9600,N,8,1”: chế ñộ truyền.
MSCOMM1.PORTOPEN=TRUE: mở cổng.
MSCOMM1.RTHRESHOLD=1:tạo sự kiện oncom..
MSCOMM1.PORTOPEN=FALSE: ñóng cổng truyền.
MSCOMM1.HANDSHARKING= PROTOCOL.
77
BẬT TẮT TỪNG LED TỪ VB
78
RA0/AN0 2
RA1/AN1 3
RA2/AN2/VREF-/CVREF 4
RA4/T0CKI/C1OUT 6
RA5/AN4/SS/C2OUT 7
RE0/AN5/RD 8
RE1/AN6/WR 9
RE2/AN7/CS 10
OSC1/CLKIN 13
OSC2/CLKOUT 14
RC1/T1OSI/CCP2 16 RC2/CCP1 17 RC3/SCK/SCL 18
RD0/PSP0 19 RD1/PSP1 20 RB7/PGD 40 RB6/PGCRB5RB4 393837 RB3/PGMRB0/INTRB2RB1 36353433
RD7/PSP7 30 RD6/PSP6 29 RD5/PSP5 28 RD4/PSP4 27 RD3/PSP3 22 RD2/PSP2 21 RC7/RX/DT 26 RC6/TX/CKRC5/SDO 2524 RC4/SDI/SDA 23 RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI 15
MCLR/Vpp/THV 1
U1
PIC16F877A
R1 220RR2 220RR3 220RR4
220RR5 220RR6
220RR9 220RR7 220R
ERROR 3 TXD 2 RXD 8 CTS 7 RTS 6 DSR
4 DTR 1 DCD
9 RI P1
COMPIM D1 LED-YELLOW D2 LED-YELLOW D3 LED-YELLOW D4 LED-YELLOW D5 LED-YELLOW D6 LED-YELLOW D7 LED-YELLOW D8 LED-YELLOW
CODE VB6
79 Private Sub Form_Load()
i = 0
' cai dat thong so cho cong com...." COMFIG FOR COM PORT "
With MSComm1
.CommPort = 2 'cong COM 2
.Settings = "9600,N,8,1" 'Baudrate=9600,Ko KT chan le,frame 8 bit,1 bit stop .InBufferSize = 1024 'Bo dem 1024 byte thi day
.InputLen = 0 'Doc toan bo gia tri bo dem
.RThreshold = 1 'Cho phep ngat khi su kien Receiver o MSCOMM .SThreshold = 0 'Ko cho phep ngat khi su kien Send o MMSCOMM .OutBufferSize = 512
.InputMode = comInputModeText .PortOpen = True 'Mo cong COM End With.
End Sub.
Private Sub MSComm1_OnComm() Dim StringIn As String
If MSComm1.CommEvent = comEvReceive Then StringIn = MSComm1.Input
Text2.Text = StringIn
If StringIn = "1" Then // kiểm tra ký tự cổng nối tiếp là1..
Shape1.FillColor = vbRed End If
CODE GUI - MATHLAB
SerPIC = serial('COM2');
set(SerPIC,'BaudRate',9600);
set(SerPIC,'DataBits',8);
set(SerPIC,'Parity','none');
set(SerPIC,'StopBits',1);
set(SerPIC,'FlowControl','none');
fopen(SerPIC);
%*-*-*-*-*-*-
fprintf(SerPIC,'%s','4');% gui mot ky tu tu PC ra cong COM..
% sscanf(serPic,'%c'): doc mot ky tu tu COM vao PC..
41
81
#include <16f877a.h>
#device 16f877a*16ADC=10
#include <C:\Program Files\PICC\Drivers\DEFS_16F877A.h>
#include <string.h>
#include <stdlib.h>
#fuses nowdt,nolvp,noprotect,xt,put
#use delay(clock=12000000)
#use fast_io(b)
#use fast_io(c)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,) int x;
int chuc,dv;
#int_RDA void ngat_RDA() {
char data;
data=getc();
switch (data) {
case '1':
{ RB0=1;
PIC- SERIAL PORT
82
void main() {
enable_interrupts(int_RDA);
enable_interrupts(global);
set_tris_b(0);
set_tris_a(0b1);
set_tris_c(0x80);
set_tris_d(0);
PORTB=0;
porta=0;
portc=0;
portd=0;
while (1) {
delay_us(1000);
} }
SERIAL PORT – PIC
L L L
LẬP P P P TRÌNH TRÌNH TRÌNH TRÌNH GIAO GIAO GIAO TI GIAO TI TIẾP TI P P P
Sử Dụng :
VPSE – virtual port serial emulator.
Proteus 7.
PIC –CCSC, Hitech-C, MPLAB.
83