LỜI MỞ ĐẦU
Với việc phát triển của kĩ thuật vi xữ lý hiện nay thì việc áp dụng vào thực tiễn
đời sống là một nhu cầu cần thiết của con người. Với xu hướng hiện đại hóa như hiện
nay thì việc điều khiển thiết bị bởi một hệ thống sẽ giúp việc điều khiển thiết bị đơn
giản và dễ sử dụng cho người dùng.
Nắm bắt được tình hình nhóm sinh viên chúng em lựa chọn đề tài “Điều Khiển
Thiết Bị Qua PC” nhằm nghiên cứu để cung cấp cho người dùng một hệ thống điều
khiển đơn giản mà hiệu quả, đó là hệ thống điều khiển nhiều thiết bị tại chỗ qua việc
kết nối với cổng COM máy tính, chúng ta có thể điều khiển được các thiết bị dân dụng
như đèn dây tóc, đèn huỳnh quang, và các thiết bị được được điều khiển bằng chức
năng ON/OFF.
Thông qua việc nghiên cứu vi điều khiển AT89S8252, các cổng giao tiếp máy
tính và các linh kiện điện tử, đề tài sẽ mang lại một hệ thống ổn định, chính xác và an
toàn với người sử dụng.
Với sự hướng dẫn của cô Nguyễn Lan Anh đã giúp chúng em hoàn thành tốt đề
tài này.
Trong quá trình tìm hiểu không thể không có những điều thiếu sót, mong quý
Thầy Cô và người đọc góp ý, chình sửa để đề tài của chúng em được hoàn thiện tốt
hơn.
Nhóm Sinh Viên
Trang 1
Điều khiển thiết bị qua PC Mục lục
MỤC LỤC
LỜI MỞ ĐẦU . .1
MỤC LỤC . 2
CHƯƠNG 1: DẪN NHẬP . .6
1.1 LÝ DO CHỌN ĐỀ TÀI . 6
1.3 ĐỐI TƯỢNG NGHIÊN CỨU VÀ PHẠM VI NGHIÊN CỨU . 6
1.3.1 Đối tượng nghiên cứu. .6
1.3.2 Phạm vi nghiên cứu . 6
CHƯƠNG 2: TÌM HIỂU VI ĐIỀU KHIỂN AT89S8252 . .7
2.1 MÔ TẢ . .7
2.2 CẤU TRÚC VDK AT89S8252, CHỨC NĂNG TỪNG CHÂN . .7
2.3 TỔ CHỨC BỘ NHỚ . . 11
2.3.1 RAM mục đích chung . . 12
2.3.2 RAM định vị. . 12
2.3.3 Các băng thanh ghi (Register Banks). 12
2.3.4 Các thanh ghi chức năng đặc biệt (Special Function Register). 13
2.3.4.1 Từ trạng thái chương trình (PSW: Program Status Word): . 14
2.3.4.2 Thanh ghi B: . . 16
2.3.4.3 Con trỏ Stack SP (Stack Pointer): . . 16
2.3.4.4 Hai con trỏ dữ liệu DPTR (Data Pointer) . . 16
2.3.4.5 Các thanh ghi Port (Port Register): . 16
2.3.4.6 Các thanh ghi Timer (Timer Register): . 16
2.3.4.7 Các thanh ghi Port nối tiếp (Serial Port Register): . . 17
2.3.4.8 Các thanh ghi ngắt (Interrupt Register): . . 17
2.3.4.9 Thanh ghi điều khiển nguồn PCON (Power Control Register): . . 18
2.3.4.10 Thanh ghi điều khiển bộ nhớ và kiểm soát giờ (WMCON) . . 19
2.3.4.11 Thanh ghi giao tiếp nối tiếp bên ngoài SPI (Serial Peripheral
Interface) 20
2.4 TÓM TẮT TẬP LỆNH CỦA AT89S8252 . . 21
2.4.1 Các chế độ định vị ( addressing mode ) . . 21
2.4.1.1 Sự định vị thanh ghi ( Register Addressing) . 21
2.4.1.2 Sự định địa chỉ trực tiếp ( Direct Addressing ) . . 22
2.4.1.3 Sự định vị địa chỉ gián tiếp ( Indirect Addressing) . . 22
2.4.1.4 Sự định vị địa chỉ tức thời (Immediate Addressing) . . 23
2.4.1.5 Sự định vị địa chỉ tương đối . 23
2.4.1.6 Sự định địa chỉ tuyệt đối ( Absolute Addressing) . 24
2.4.1.7 Sự định vị địa chỉ dài ( Long Addressing ) . . 24
2.4.1.8 Sự định địa chỉ phụ lục (Index Addressing ) . 24
2.4.2 Các kiểu lệnh (instruction types) . . 25
2.4.2.1 Các lệnh số học (Arithmetic Instrustion): . . 25
2.4.2.2 Các hoạt động logic (Logic Operation): . . 26
2.4.2.3 Các lệnh rẽ nhánh . . 27
2.4.2.4 Các lệnh dịch chuyển dữ liệu. . 29
2.4.2.5 Các lệnh luận lý (Boolean Instruction) . 30
2.5 HOẠT ĐỘNG CỦA PORT NỐI TIẾP AT89S8252. 31
2.5.1 Giới thiệu . . 31
2.5.2 Thanh ghi điều khiển port nối tiếp SCON (Serial Port Control Register) 32
2.5.3 Các mode hoạt động (Mode Of Operation) . . 33
2.5.4 Sự khởi động, truy xuất các thanh ghi port nối tiếp . . 34
2.5.4.1 Sự cho phép bộ thu (Recive Enable) . . 34
2.5.4.2 Bit data thứ 9 ( the 9th data bit) . . 34
2.5.4.3 Sự thêm vào bit kiểm tra chẳn lẻ Parity . . 34
2.5.4.4 Cờ ngắt . . 35
2.5.5 Sự truyền của bộ xử lý đa kênh . 35
2.5.6 Tốc độ baud của port nối tiếp . . 36
2.6 HOẠT ĐỘNG TIMER CỦA AT89S8252 . . 39
2.6.1 Giới thiệu . . 39
2.6.2 Timer 0 và Timer 1 . 39
2.6.2.1 Thanh ghi điều khiển Timer TCON (Timer Control Register) . 41
2.6.2.2 Các Mode và cờ tràn (Timer Modes And Overflow) . . 41
2.6.2.2.1 Mode Timer 13 bit (MODE 0) . . 41
2.6.2.2.2 Mode Timer 16 bit (MODE 1) . . 42
2.6.2.2.3 Mode tự động nạp 8 bit (MODE 2) . 42
2.6.2.2.4 Mode Timer tách ra (MODE 3) . . 43
2.6.2.3 Các nguồn xung clock (Clock Sources) . . 43
2.6.2.3.1 Sự bấm giờ bên trong (Interval Timing) . . 43
2.6.2.3.2 Sự đếm các sự kiện (Event Counting) . . 44
2.6.2.4 Sự bắt đầu, kết thúc và sự điều khiển các Timer (Starting, Stoping And
Controlling The Timer) . 44
2.6.2.5 Sự khởi động và truy suất các thanh ghi Timer. 44
2.6.2.6 Sự đọc thanh ghi timer trên tuyến. 45
2.6.3 Timer 2 . 45
2.6.3.1 Thanh ghi T2CON (Timer/Counter 2 Control Register) . 46
2.6.3.2 Thanh ghi T2MOD - Timer 2 Mode Control Register . 47
2.6.3.3 Chế độ Capture . 47
2.6.3.4 Chế độ Auto-Reload . 48
2.6.3.5 Chế độ Baud Rate Generator . 49
CHƯƠNG 3: TÌM HIỂU CÁC CỔNG GIAO TIẾP . 51
3.1 GIAO TIẾP CỔNG SONG SONG (CỔNG MÁY IN) . 51
3.1.1 Tên gọi . 51
3.1.2 Mức điện áp cổng . 51
3.1.3 Khoảng cách ghép nối . 51
3.1.4 Tốc độ truyền dữ liệu . 51
3.1.5 Cấu trúc cổng song song . 51
3.1.6 Các thanh ghi ở cổng song song. 53
3.2 GIAO TIẾP CỔNG NỐI TIẾP (RS232) . 53
3.2.1 Cấu trúc cổng nối tiếp. 53
3.2.2 Truyền thông nối tiếp giữa 2 nút. 56
3.3 TÌM HIỂU VỀ USB . 57
3.3.1 Khái niệm . 57
3.3.2 Kết nối qua USB . 58
3.3.3 Mở rộng cổng USB . 58
3.3.4 Các đặt tính của USB . 59
3.3.5 USB 2.0 . 60
3.3.6 USB 3.0 . 60
CHƯƠNG 4: CHUẨN TRUYỀN THÔNG NỐI TIẾP RS232 . 62
4.1 ĐẶT VẤN ĐỀ. 62
4.2 ƯU ĐIỂM CỦA GIAO DIỆN NỐI TIẾP RS232. 62
4.3 NHỮNG ĐẶC ĐIỂM CẦN LƯU Ý TRONG CHUẨN RS232. 62
4.4 CÁC MỨC ĐIỆN ÁP ĐƯỜNG TRUYỀN . 62
4.5 CỔNG RS232 TRÊN PC . 63
4.6 QUÁ TRÌNH DỮ LIỆU. 64
4.6.1 Tốc độ Baud. 65
4.6.2 Bit chẵn lẻ hay Parity bit. 65
4.7 SƠ ĐỒ KẾT NỐI . 66
CHƯƠNG 5. THIẾT KẾ MẠCH PHẦN CỨNG ĐIỀU KHIỂN . 67
5.1 KHỐI NGUỒN NUÔI VI ĐIỀU KHIỂN, MẠCH. 67
5.2 KHỐI CHUYỂN ĐỔI TÍN HIỆU RS232 THÀNH TTL DÙNG MAX232 . 68
5.2.1 Giới thiệu về MAX232 . 68
5.2.2 Sơ đồ kết nối. 68
5.3 MẠCH ĐIỀU KHIỂN ĐÓNG NGẮT TẢI AC. 69
CHƯƠNG 6: THIẾT KẾ CODE VÀ GIAO DIỆN ĐIỀU KHIỂN . 71
6.1 THIẾT KẾ CODE ĐIỀU KHIỂN VI XỬ LÝ . 71
6.1.1 Ý tưởng thiết kế . 71
6.1.2 Lưu đồ giải thuật . 72
6.1.3 Code điều khiển . 72
6.2 THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN . 75
6.3 MẠCH NGUYÊN LÝ . 83
6.4 MẠCH MÔ PHỎNG . 84
CHƯƠNG 7: HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI . 85
TÀI LIỆU THAM KHẢO . 86
PHỤ LỤC 1 . 87
PHỤ LỤC 2 . 88
Trang 5
Điều khiển thiết bị qua PC Chương 1: Dẫn Nhập
CHƯƠNG 1: DẪN NHẬP
1.1 LÝ DO CHỌN ĐỀ TÀI
Với sự phát triển không ngừng của các ngành khoa học kỹ thuật nhằn đáp ứng
ngày càng đa dạng và phong phú cho đời sống con người, việc nghiên cứu và phát
triển các sản phẩm điều khiển tự động thay thế sức lao động cùa con người là một
nhiệm vụ rất cần thiết.
Viêc giám sát và điều khiển các thiết bị từ xa qua hệ thống gồm các phần tử nối
với nhau bằng dây dẫn thông qua chuẩn RS232 đã đem lại một lợi ích hết sức to lớn
cho nhu cầu phát triển của xã hội, tiết kiệm được rất nhiều thời gian, sức lực và mang
lại hiệu quả kinh tế lớn.
Nắm bắt được tình hình quan trọng, với quyết định lựa chon đề tài “Điều khiển
thiết bị qua PC” nhằm góp phần mang lại sự tiện nghi, tiện ích cho cuộc sống ngày
nay.
1.2 MỤC ĐÍCH NGHIÊN CỨU ĐỀ TÀI
Đề tài sử dụng điều khiển các thiết bị dân dụng trong gia đình như đèn, quạt,
thông qua ngôn ngữ lập trình phổ biến hiện nay. Từ viêc tìm hiểu về các thiết bị giao
tiếp cho đến việc thiết kế mạch nhằm giúp người đọc dễ dàng tiếp nhận và muốn cung
cấp hệ thống điều khiển cho người sử dụng.
1.3 ĐỐI TƯỢNG NGHIÊN CỨU VÀ PHẠM VI NGHIÊN CỨU
1.3.1 Đối tượng nghiên cứu.
Tìm hiểu về các cổng giao tiếp: cổng nối tiếp, cổng song song, cổng USB,
chuẫn kết nối RS232, khảo sát vi điều khiển AT89S8252.
1.3.2 Phạm vi nghiên cứu.
Thực hiện viêc kết nối thiết bị điều khiển với PC thông qua RS232, điều khiển
các thiết bị dân dụng.
88 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3435 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Điều khiển thiết bị qua PC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
g thời hay còn gọi byte nối tiếp bit song song.
Cổng máy in: Lí do là hầu hết các máy in đều đƣợc nối với máy tính qua cổng
này.
Cổng Centronic: Đây là tên của một công ty đã thiết kế ra cổng này. Centronic
là tên một công ty chuyên sản xuất máy in kiểu ma trận đứng hàng đầu thế giới. Chính
công ty này đã nghĩ ra kiểu thiết kế cổng ghép nối máy in với máy tính.
3.1.2 Mức điện áp cổng
Đều sử dụng mức điện áp tƣơng thích TTL(Transiztor - Transiztor - Logic)
0V÷5V trong đó:
0V là mức logic LOW
2V÷5V là mức logic HIGH
Vì vậy khi ghép nối với cổng này ta chỉ ghép nối những thiết bị ngoại vi có mức
điện áp tƣơng thích TTL. Nếu thiết bị ngoại vi không có mức điện áp tƣơng thích TTL
thì ta phải áp dụng biện pháp ghép mức hoặc ghép cách ly qua bộ ghép nối quang.
3.1.3 Khoảng cách ghép nối
Khoảng cách cực đại giữa thiết bị ngoại vi và máy tính ghép qua cổng song
song thƣờng bị hạn chế. Lý do là hiện tƣợng cảm ứng giữa các đƣờng dẫn và điện
dung kí sinh hình thành giữa các đƣờng dẫn có thể làm biến dạng tín hiệu. Khoảng
cách giới hạn cực đại là 8m. Thông thƣờng chỉ 1,5 đến 2m vì lí do an toàn dữ liệu. Nếu
sử dụng khoảng cách ghép nối trên 3m thì các đƣờng dây tín hiệu và đƣờng dây nối
đất phải đƣợc soắn với nhau thành từng cặp để giảm thiểu ảnh hƣởng của nhiễu. Biện
pháp khác sử dụng cáp dẹt, trên đó mỗi đƣờng dữ liệu đƣợc đặt giữa hai đƣờng dây nối
đất.
3.1.4 Tốc độ truyền dữ liệu
Tốc độ truyền dữ liệu qua cổng song song phụ thuộc vào phần cứng đƣợc sử
dụng. Trên lý thuyết tốc độ có thể đạt đến 1Mb/s nhƣng với khoảng cách truyền hạn
chế trong phạm vi 1m. Với nhiều mục đích sử dụng thì khoảng cách này hoàn toàn
thỏa đáng, tuy vậy cũng có những ứng dụng đòi hỏi phải truyền trên khoảng cách xa
hơn. Trong trƣờng hợp đó ta phải nghĩ ngay đến khả năng ghép nối khác (nhƣ ghép
nối qua cổng RS232).
3.1.5 Cấu trúc cổng song song
Cổng song song có hai loại: ổ cắm 36 chân và ổ cắm 25 chân. Ngày nay, loại ổ
cắm 36 chân không còn đƣợc sử dụng, hầu hết các máy tính PC đều trang bị ổ cắm 25
chân nên ta chỉ cần quan tâm đến loại 25 chân.
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 52
Cổng song song gồm có 4 đƣờng điều khiển, 5 đƣờng trạng thái và 8 đƣờng dữ
liệu bao gồm 5 chế độ hoạt động:
Chế độ tƣơng thích (compatibility).
Chế độ nibble.
Chế độ byte.
Chế độ EPP (Enhanced Parallel Port).
Chế độ ECP (Extended Capabilities Port).
Ba chế độ đầu tiên sử dụng port song song chuẩn (SPP – Standard Parallel Port)
trong khi đó chế độ 4, 5 cần thêm phần cứng để cho phép hoạt động ở tốc độ cao hơn.
Bảng 3.1 Sơ đồ chân của máy in
CHÂN KÝ HIỆU
NGÕ
VÀO/RA
MÔ TẢ
1 STROBE RA
2 đến 9 D0 đến D9 RA Các bit dữ liệu từ D0 đến D7
10 ACK VÀO Báo nhận
11 BUSY VÀO Báo bận
12 PE VÀO Hết giấy
13 SEL VÀo Lựa chọn
14 AF RA Tự động tiếp đƣờng
15 ER VÀO Lỗi
16 INIT RA Thiết lập thiết bị
17 SELIN RA Lựa chọn đầu vào
18 đến 25 GND VÀO Nối đất
Cổng song song có ba thanh ghi có thể truyền dữ liệu và điều khiển máy in. Địa
chỉ cơ sở của các thanh ghi cho tất cả cổng LPT (line printer) từ LPT1 đến LPT4 đƣợc
lƣu trữ trong vùng dữ liệu của BIOS. Thanh ghi dữ liệu đƣợc định vị ở offset 00h,
thanh ghi trạng thái ở 01h, và thanh ghi điều khiển ở 02h. Thông thƣờng, địa chỉ cơ sở
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 53
của LPT1 là 378h, LPT2 là 278h, do đó địa chỉ của thanh ghi trạng thái là 379h hoặc
279h và địa chỉ thanh ghi điều khiển là 37Ah hoặc 27Ah. Tuy nhiên trong một số
trƣờng hợp, địa chỉ của cổng song song có thể khác do quá trình khởi động của BIOS.
BIOS sẽ lƣu trữ các địa chỉ này nhƣ sau:
Bảng 3.2: Địa chỉ cơ sở các tthanh ghi cổng song song
Địa chỉ Chức năng
0000H÷0408H Địa chỉ cơ sở của LPT1
0000H÷040AH Địa chỉ cơ sở của LPT2
0000H÷040CH Địa chỉ cơ sở của LPT3
3.1.6 Các thanh ghi ở cổng song song.
Thanh ghi dữ liệu (hai chiều):
Tín hiệu D7 D6 D5 D4 D3 D2 D1 D0
Chân số 9 8 7 6 5 4 3 2
Thanh ghi trạng thái máy in (chỉ đọc):
Tín hiệu máy BUSY
ACK
PAPER
EMPTY
SELECT ERROR IPR X X
Số chân cấm 11 10 12 13 15 - - -
Thanh ghi điều khiển máy in:
Tín hiệu
máy in
X X DIR IRQ SELECTIN INIT AUTOFEED STROBE
Số chân - - - - 17 16 14 1
x: không sử dụng
IRQ Enable: yêu cầu ngắt cứng; 1 = cho phép; 0 = không cho phép
Chú ý rằng chân BUSY đƣợc nối với cổng đảo trƣớc khi đƣa vào thanh ghi
trạng thái, các bit SELECTIN , AUTOFEED và STROBE đƣợc đƣa qua cổng đảo
trƣớc khi đƣa ra các chân của cổng máy in. Thông thƣờng tốc độ xử lý dữ liệu của các
thiết bị ngoại vi nhƣ máy in chậm hơn PC nhiều nên các đƣờng ACK , BUSY và STR
đƣợc sử dụng cho kỹ thuật bắt tay. Khởi đầu, PC đặt dữ liệu lên bus sau đó kích hoạt
đƣờng STR xuống mức thấp để thông tin cho máy in biết rằng dữ liệu đã ổn định trên
bus. Khi máy in xử lý xong dữ liệu, nó sẽ trả lại tín hiệu ACK xuống mức thấp để ghi
nhận. PC đợi cho đến khi đƣờng BUSY từ máy in xuống thấp (máy in không bận) thì
sẽ đƣa tiếp dữ liệu lên bus.
3.2 GIAO TIẾP CỔNG NỐI TIẾP (RS232)
3.2.1 Cấu trúc cổng nối tiếp.
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 54
Cổng nối tiếp đƣợc sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại
vi, có các ƣu điểm sau:
Khoảng cách truyền xa hơn truyền song song.
Số dây kết nối ít.
Có thể truyền không dây dùng hồng ngoại.
Có thể ghép nối với vi điều khiển hay PLC (Programmable Logic
Device).
Cho phép nối mạng.
Có thể tháo lắp thiết bị trong lúc máy tính đang làm việc.
Có thể cung cấp nguồn cho các mạch điện đơn giản.
Các thiết bị ghép nối chia thành 2 loại: DTE (Data Terminal Equipment) và
DCE (Data Communication Equipment). DCE là các thiết bị trung gian nhƣ MODEM
còn DTE là các thiết bị tiếp nhận hay truyền dữ liệu nhƣ máy tính, PLC, vi điều khiển,
… Việc trao đổi tín hiệu thông thƣờng qua 2 chân RxD (nhận) và TxD (truyền). 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.
Tín hiệu truyền theo chuẩn RS-232 của EIA (Electronics Industry
Associations). Chuẩn RS-232 quy định mức logic 1 ứng với điện áp từ -3V đến -25V
(mark), mức logic 0 ứng với điện áp từ 3V đến 25V (space) và có khả năng cung cấp
dòng từ 10 mA đến 20 mA. Ngoài ra, tất cả các ngõ ra đều có đặc tính chống chập
mạch. Chuẩn RS-232 cho phép truyền tín hiệu với tốc độ đến 20.000 bps nhƣng nếu
cáp truyền đủ ngắn có thể lên đến 115.200 bps.
Các phƣơng thức nối giữa DTE và DCE:
Đơn công (simplex connection): dữ liệu chỉ đƣợc truyền theo 1 hƣớng.
Bán song công ( half-duplex): dữ liệu truyền theo 2 hƣớng, nhƣng mỗi thời
điểm chỉ đƣợc truyền theo 1 hƣớng.
Song công (full-duplex): số liệu đƣợc truyền đồng thời theo 2 hƣớng.
Định dạng của khung truyền dữ liệu theo chuẩn RS-232 nhƣ sau:
Start
0 STOP
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.
Các đặc tính kỹ thuật của chuẩn RS-232 nhƣ sau:
D0 D1 D2 D3 D4 D5 D6 D7 P
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 55
Chiều dài cable cực dại 15m
Tốc độ dữ liệu cực đại 20 Kbps
Điện áp ngõ ra cực đại 25V
Điện áp ngõ ra có tải 5V đến 15V
Trở kháng tải 3K đến 7K
Điện áp ngõ vào 15V
Độ nhạy ngõ vào 3V
Trở kháng ngõ vào 3K đến 7K
Các tốc độ truyền dữ liệu thông dụng trong cổng nối tiếp là: 1200 bps, 4800
bps, 9600 bps và 19200 bps.
Sơ đồ chân cổng nối tiếp
Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân) mô
tả nhƣ bảng 4.3.
Bảng 3.3: Ý nghĩa của các chân cổng nối tiếp
D25 D9 Tín hiệu Hƣớng truyền Mô tả
1 - - - Protected ground: nối đất bảo vệ
2 3 TXD DTE → DCE Transmitted data: dữ liệu truyền
3 2 RXD DCE → DTE Received data: dữ liệu nhận
4 7 RTS DTE → DCE Request to send: DTE yêu cầu truyền dữ liệu
5 8 CTS DCE → DTE Clear to send: DCE sẵn sàng nhận dữ liệu
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 56
6 6 DSR DCE → DTE Data set ready: DCE sẵn sàng làm việc
7 5 GND - Ground: nối đất (0V)
8 1 DCD DCE → DTE Data carier detect: DCE phát hiện sóng mang
20 4 DTR DTE → DCE Data terminal ready: DTE sẵn sàng làm việc
22 9 RI DCE → DTE Ring indicator: báo chuông
23 - DSRD DCE → DTE Data signal rate detector: dò tốc độ truyền
24 - TSET DTE → DCE
Transmit Signal Element Timing: tín hiệu
định thời
15 - TSET DCE → DTE
Transmitter Signal Element Timing: tín hiệu
định thời
17 - RSET DCE → DTE
Receiver Signal Element Timing: tín hiệu
định thời
18 - LL Local Loopback: kiểm tra cổng
21 - RL DCE → DTE
Remote Loopback: Tạo ra bởi DCE khi tín
hiệu nhận
14 - STxD DTE → DCE Secondary Transmitted Data
16 - STxD DCE → DTE Secondary Received Data
19 - SRTS DTE → DCE Secondary Request To Send
13 - SCTS DCE → DTE Secondary Clear To Send
12 - SDSRD DCE → DTE Secondary Received Line Signal Detector
25 - TM Test Mode
9 - Dành riêng cho chế độ test
10 - Dành riêng cho chế độ test
11 - Không dùng
3.2.2 Truyền thông nối tiếp giữa 2 nút.
Các sơ đồ khi kết nối dùng cổng nối tiếp:
DTE1 DTE2 DTE DCE
Kết nối đơn giản trong truyền thông nối tiếp
TXD
RXD
GND
TXD
RXD
GND
TXD
RXD
GND
TXD
RXD
GND
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 57
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.
Ngoài ra, khi thực hiện kết nối giữa hai DTE, ta còn dùng sơ đồ sau:
Kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay
Khi DTE1 cần truyền dữ liệu thì cho DTR tích cực tác động lên DSR của DTE2
cho biết sẵn sàng nhận dữ liệu và cho biết đã nhận đƣợc sóng mang của MODEM (ảo).
Sau đó, DTE1 tích cực chân RTS để tác động đến chân CTS của DTE2 cho biết DTE1
có thể nhận dữ liệu. Khi thực hiện kết nối giữa DTE và DCE, do tốc độ truyền khác
nhau nên phải thực hiện điều khiển lƣu lƣợng. Quá trinh điều khiển này có thể thực
hiện bằng phần mềm hay phần cứng. Quá trình điều khiển bằng phần mềm thực hiện
bằng hai ký tự Xon và Xoff.
Ký tự Xon đƣợc DCE gởi đi khi rảnh (có thể nhận dữ liệu). Nếu DCE bận thì sẽ
gởi ký tự Xoff. Quá trình điều khiển bằng phần cứng dùng hai chân RTS và CTS. Nếu
DTE muốn truyền dữ liệu thì sẽ gởi RTS để yêu cầu truyền, DCE nếu có khả năng
nhận dữ liệu (đang rảnh) thì gởi lại CTS.
3.3 TÌM HIỂU VỀ USB
3.3.1 Khái niệm
Máy in đƣợc nối với máy tính qua cổng song song trong khi hầu hết các máy
tính chỉ đƣợc trang bị một cổng này. Sẽ rất khó khăn nếu sử dụng thêm ổ Zip, luôn đòi
hỏi tốc độ kết nối cao với máy tính và cần thiết phải dùng cổng song song.
Modem đƣợc nối với máy tính qua cổng nối tiếp giống nhƣ một vài dạng thiết
bị khác nhƣ Digital Camera, Palm Pilots trong khi mỗi máy tính thƣờng chỉ có hai
cổng nối tiếp và chúng rất chậm.
TXD
RXD
GND
RTS
CTS
DSR
DCD
DTR
TXD
RXD
GND
RTS
CTS
DSR
DCD
DTR
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 58
Các thiết bị đòi hỏi các kết nối nhanh hơn nhƣ các Card đặc biệt đƣợc cắm trực
tiếp vào khe cắm (Slot) trên bo mạch. Thực tế số lƣợng các khe cắm (Slot) là có hạn và
cần phải cài đặt các phần mềm cho thiết bị này.
Mục đích của USB là giải quyết các vấn đề của ngƣời sử dụng khi các cổng kết
nối trên không hiệu quả. USB cung cấp cho ngƣời sử dụng khả năng kết nối chuẩn, dễ
dàng với 127 thiết bị trên cùng một máy tính. Mọi thiết bị ngoại vi hiện nay đều có thể
kết nối trên cùng một phiên bản USB chẳng hạn nhƣ: máy in, máy quét ảnh, chuột,
Joystick, Digital Camera, Webcam, Modem, loa, điện thoại, Network Connection,
thiết bị lƣu trữ thông tin (ổ Zip)...
3.3.2 Kết nối qua USB
Việc nối một thiết bị với máy tính qua USB hết sức đơn giản, chỉ việc cắm các
đầu nối của thiết bị với các cổng USB trên máy tính. Nếu thiết bị đƣợc kết nối với máy
tính lần đầu, hệ điều hành sẽ tự động dò tìm và yêu cầu nạp đĩa Driver. Với thiết bị đã
đƣợc cài đặt, máy tính tự động kích hoạt và kết nối với thiết bị. Các thiết bị kết nối qua
USB có thể thiết lập hay ngắt kết nối bất kỳ lúc nào. Nhiều loại thiết bị USB đƣợc chế
tạo liền với cáp nối với hai kiểu đầu nối “A Connection” và “B Connection”.
Chuẩn USB sử dụng “A Connection” và “B Connection” trong hai trƣờng hợp
cụ thể sau:
USB Type B
Chân 1 và 4 để cấp nguồn 5 VDC.
Chân 2 và 3 là chân truyền dữ liệu.
3.3.3 Mở rộng cổng USB
Thông thƣờng các máy tính hiện nay chỉ có một hoặc hai khe cắm USB (USB
Socket). Ngày nay với đa số các thiết bị đều sử dụng USB, máy tính rất dễ bị thiếu khe
cắm. Ví dụ, trên máy tính có các thiết bị nhƣ: máy in, máy quét, Webcam,... sử dụng
USB trong khi máy tính chỉ có một cổng USB (USB Connector).
Để giải quyết vấn đề này, chỉ cần lắp thêm một USB Hub. Chuẩn USB hỗ trợ
tới 127 thiết bị và USB Hub là một trong số này. Các Hub này thƣờng có bốn cổng
nhƣng cũng có thể có nhiều hơn tuỳ thuộc từng loại. Chỉ cần cắm USB Hub vào máy
tính sau đó cắm các thiết bị hoặc Hub khác vào các cổng trên USB Hub.
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 59
Hub có hai loại: loại có cung cấp nguồn và không cung cấp nguồn điện cho
thiết bị cắm vào Hub. Chuẩn USB cho phép các thiết bị sử dụng nguồn điện từ cổng
USB. Các thiết bị nhƣ máy in, máy quét sử dụng nguồn điện riêng cung cấp từ bộ
nguồn (Power Supply) của chúng trong khi các thiết bị sử dụng rất ít điện năng nhƣ
chuột, Digital Camera lại dùng điện năng (khoảng 500mA - 5V) từ Bus.
Nếu máy tính kết nối với nhiều thiết bị sử dụng nguồn điện riêng (Máy in,
máy quét...) thì USB Hub không cần thiết phải là loại cung cấp đƣợc nguồn điện.
Nếu máy tính kết nối với nhiều thiết bị không có nguồn điện riêng (Chuột, Digital
Camera) thì Hub nhất thiết phải có khả năng cung cấp nguồn cho các thiết bị này. Trên
Hub có một bộ phận nhƣ biến thế để cung cấp dòng điện tới Bus và làm máy tính
không bị quá tải.
3.3.4 Các đặt tính của USB
Các đặc điểm của USB bao gồm:
Máy tính hoạt động nhƣ một Host.
Có tới 127 thiết bị có thể kết nối vào máy tính bao gồm cả nối trực tiếp
hay qua USB Hub.
Các cáp USB (USB Cable) của từng thiết bị có thể dài tới 5m hay 30m
với Hub.
Chuẩn USB2.x cho phép truyền dữ liệu trên Bus tới tốc độ 480 Mbps.
Một cáp USB có hai dây cung cấp điện và một đôi dây xoắn truyền dữ
liệu.
Trên dây cung cấp điện năng, điện áp có thể lên tới 500mA - 5V.
Các thiết bị sử dụng ít điện năng đƣợc cung cấp điện năng trực tiếp từ
Bus. Các Hub có thể cung cấp điện năng cho các thiết bị nối với nó từ nguồn điện
riêng của chúng.
Các thiết bị USB có khả năng hoán đổi nhanh, có thể cắm vào hay rút ra
khỏi Bus bất kỳ lúc nào.
Các thiết bị USB có thể đặt ở chế độ “ngủ” (Sleep Mode) khi máy tính
chuyển sang chế độ Power-Saving.
Các thiết bị nối với cổng USB dùng cáp USB để truyền tải dòng điện hay
dữ liệu. Khi máy tính hoạt động, nó truy vấn tới tất cả các thiết bị nối vào Bus và gán
cho mỗi thiết bị một địa chỉ. Quá trình này đƣợc gọi là liệt kê các thiết bị. Máy tính
cũng sẽ tìm ra cách truyền dữ liệu của từng thiết bị:
Interrupt: Các thiết bị nhƣ bàn phím gửi lƣợng dữ liệu rất nhỏ và ngắt
đoạn sẽ đƣợc chọn kiểu Interrupt Mode.
Bulk: Các thiết bị nhƣ máy in thƣờng nhận những gói dữ liệu lớn, dùng
kiểu Bulk Transfer Mode. Từng đoạn dữ liệu (64 Byte) đƣợc gửi tới máy in và đƣợc
kiểm tra tính chính xác.
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 60
Isochronous: Các thiết bị truyền dữ liệu theo dạng Stream nhƣ loa sẽ
dùng Isochronous Mode. Dữ liệu tức thời đƣợc truyền giữa thiết bị và máy tính và
không có cơ chế sửa lỗi.
Máy tính cũng có thể gửi đi các lệnh hay truy vấn các thông số với các gói
Control Packet. Khi một thiết bị đƣợc máy tính liệt kê, máy tính sẽ giành tới 90% băng
thông (Bandwidth) phục vụ các yêu cầu của các thiết bị kiểu Interrupt và Isochronous.
Sau khi dùng 90% của 480 Mbps băng thông, máy tính sẽ từ chối các truy nhập của
bất kỳ thiết bị kiểu Interrupt hay Isochronous nào khác. Các Control Packet và thiết bị
kiểu Bulk Transfer sẽ sử dụng khoảng 10% băng thông còn lại.
USB phân chia băng thông thành các Frame và máy tính sẽ điều khiển các
Frame này. Mỗi Frame chứa 1.500 Byte và Frame mới đƣợc sinh ra sau mỗi mili giây.
Trong một Frame, các thiết bị kiểu Isochronous và Interrupt phân chia thành các khe
nên chúng đảm bảo đƣợc băng thông cần thiết trong khi các thiết bị Bulk Transfer và
Control Packet sử dụng phần băng thông còn lại.
3.3.5 USB 2.0
Chuẩn USB2.0 xuất hiện vào tháng Tƣ năm 2000 và đƣợc nâng cấp từ USB1.1.
USB2.0 cung cấp thêm băng thông cho các ứng dụng Multimedia và lƣu trữ có tốc độ
truyền dữ liệu lớn gấp 40 lần so với USB1.1. Để việc chuyển từ chuẩn USB1.1 sang
USB2.0 thuận tiện cho cả ngƣời sử dụng và nhà sản xuất, USB2.0 đƣợc thiết kế hoàn
toàn tƣơng thích và làm việc đƣợc với cáp cũng nhƣ cổng nối của thiết bị USB nguyên
thuỷ.
USB2.0 hỗ trợ ba chế độ truyền dữ liệu: 1,5Mbps, 12Mbps và 480Mbps. Ngoài
ra USB2.0 hỗ trợ các thiết bị băng thông thấp nhƣ bàn phím và chuột cũng nhƣ các
thiết bị băng thông lớn nhƣ Webcam, máy in, máy quét ảnh và hệ thống lƣu trữ.
3.3.6 USB 3.0
USB 3.0, còn đƣợc gọi là SuperSpeed USB, là giai đoạn tiến hóa kế tiếp của
Universal Serial Bus, inarguably tiêu chuẩn giao diện phổ biến và thành công nhất
từng đƣợc tạo ra. Khi phần cứng máy tính và các thiết bị ngoại vi tiếp tục mở rộng
công suất, tốc độ, và tính di động, các giao diện kết nối với họ cũng phải nộp tiền tạm
ứng trong các khu vực này.
Xây dựng sự thành công của USB 2.0, phiên thứ ba của Universal Serial Bus
nhằm mục đích để giải quyết ba trụ cột của thiết kế giao diện:
Tốc độ - So với tốc độ 12Mbps ít ỏi của USB 1.1 và 450Mbps trung bình
của "High-Speed USB 2.0," SuperSpeed "giao diện USB 3.0 cố gắng sống lên đến tên
của nó với một lý thuyết 5.0Gbps (5.120 Mbps) của băng thông . Hiển thị độ nét cao
Blu-ray bên ngoài và ổ đĩa cứng dung lƣợng cao, USB 3.0 đƣợc thiết kế để chiếm đoạt
và mở rộng thị trƣờng đang bị chi phối bởi FireWire.
Power - Với một danh sách ngày càng mở rộng các phụ kiện và các thiết
bị cầm tay, xe buýt hỗ trợ phần cứng từ lâu đã đƣợc đẩy các giới hạn của USB 2.0 có
Điều khiển thiết bị qua PC Chƣơng 3: Tìm hiểu các cổng giao tiếp
Trang 61
thể xử lý. Đầu tiên, các đặc điểm kỹ thuật 3,0 cho phép lên đến 80% điện năng tiêu thụ
cao hơn cho các thiết bị chạy ở SuperSpeed, và thứ hai, USB 3.0 bao gồm một phiên
bản nâng cao của các kết nối USB-B đƣợc gọi là Powered-B, cho phép USB phụ kiện
để rút ra năng lƣợng từ các thiết bị ngoại vi cũng nhƣ chủ nhà.
Kết nối Crossover - Trong cố gắng để thiết lập một hệ sinh thái mạnh mẽ
hơn của các thiết bị USB, các tính năng mới đƣợc thực hiện trong đặc tả USB 3.0 cho
phép truyền thông chéo giữa phần cứng. Tƣơng tự nhƣ thông số kỹ thuật FireWire và
Ethernet, mới SuperSpeed USB bao gồm một phƣơng pháp thiết lập truyền thông của
host-to-host (tức là từ máy tính đến máy tính) thông qua một USB chéo với cáp USB.
Ngoài ra, USB 3.0 đƣợc xây dựng trên "USB On-The-Go" nguyên tắc cho phép các
thiết bị cầm tay (nhƣ điện thoại thông minh) để hoạt động nhƣ thiết bị USB hoặc một
máy chủ USB, tăng đáng kể tính năng thiết lập và khả năng sử dụng của họ với các
thiết bị USB.
Điều khiển thiết bị qua PC Chƣơng 4: Chuẩn truyền thông nối tiếp RS232
Trang 62
CHƢƠNG 4: CHUẨN TRUYỀN THÔNG NỐI TIẾP RS232.
4.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.Nó 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 độ
20kbit/s đôi khi là tốc độ 115kbit/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. Chúng đƣợc dùng ghép nối cho chuột, modem, thiết bị đo lƣờng...Trên
main máy tính có loại 9 chân hoặc lạ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.
4.2 Ƣ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á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.
4.3 NHỮNG ĐẶC ĐIỂM CẦN LƢU Ý TRONG CHUẨN RS232.
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ừ 3000 ôm - 7000 ôm.
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à 100kbps (ngày nay có thể lớn hơn).
Các lối vào phải có điện dung nhỏ hơn 2500pF.
Trở kháng tải phải lớn hơn 3000 ôm nhƣng phải nhỏ hơn 7000 Ôm.
Độ 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 nếu chúng ta không sử model.
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.
4.4 CÁC MỨC ĐIỆN ÁP ĐƢỜNG TRUYỀN.
Điều khiển thiết bị qua PC Chƣơng 4: Chuẩn truyền thông nối tiếp RS232
Trang 63
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. Do đó ngay từ đầu tiên ra đời nó đã
mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tƣơng thích TTL để
mô tả các mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn 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 kBd .
4.5 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 4 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).
Ta xét sơ đồ chân cổng Com 9 chân:
Điều khiển thiết bị qua PC Chƣơng 4: Chuẩn truyền thông nối tiếp RS232
Trang 64
Hình 4.1 Kí hiệu chân và hình dạng của cổng COM DB9
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.
Còn DB25 bây giờ hầu hết các main mới ra đều không có cổng này nữa. Nên
tôi không đề cập đến ở đây.
4.6 QUÁ TRÌNH DỮ LIỆU.
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 the . 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
Điều khiển thiết bị qua PC Chƣơng 4: Chuẩn truyền thông nối tiếp RS232
Trang 65
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.
4.6.1 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ị họ 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 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.
4.6.2 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 để cho thấy số lƣợng các
bit "1" đƣợc gửi trong một khung truyền là chẵn hay lẻ.
Điều khiển thiết bị qua PC Chƣơng 4: Chuẩn truyền thông nối tiếp RS232
Trang 66
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.
4.7 SƠ ĐỒ KẾT NỐI
Có rất nhiều mạch giao tiếp của RS232 giữa vi điều khiển hay các thiết bị khác.
Dƣới đây ta xét mạch chuẩn giao tiếp RS232 dùng IC Max232
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi.
Max232 là IC của hãng Maxim. Đây là IC chay ổn định và đƣợc sử dụng phổ biến
trong các mạch giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp (12K hay
10K) và tích hợp trong đó hai kênh truyền cho chuẩn RS232. Dòng tín hiệu đƣợc thiết
kế cho 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 ( hình nhƣ là 15KV). 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ỏ.
Mạch giao tiếp nhƣ sau :
Hình 4.2: Sơ đồ kết nối COM với Max232
Điều khiển thiết bị qua PC Chƣơng 5: Thiết kế mạch phần cứng điều khiển
Trang 67
CHƢƠNG 5. THIẾT KẾ MẠCH PHẦN CỨNG ĐIỀU KHIỂN
Mạch phần cứng điều khiển gồm cách khối sau đây:
Khối nguồn nuôi vi điều khiển.
Khối chuyển đổi tín hiệu RS232 thành TTL dùng MAX232.
Khối điều khiển đóng ngắt dùng MOC3020 và TRIAC.
5.1 KHỐI NGUỒN NUÔI VI ĐIỀU KHIỂN, MẠCH.
Vi điều khiển và các con linh kiện khác trong mạch đều hoạt động với nguồn
nuôi 5V. Sau đây ta xét mạch tạo nguồn 5V từ nguồn xoay chiều 220V và 50Hz nhƣ
sau:
Hình 5.1: Mạch tạo nguồn 5V từ điện áp xoay chiều 220V
Mạch nguồn gồm biến áp cách ly T1, nó có 2 công dụng:
Vừa tạo tính cách ly giữa mạch điện và đƣờng nguồn AC, giữ an toàn
cho ngƣời dùng.
Vừa dùng làm giảm áp AC, hạ mức nguồn AC 220V xuống 9V.
Dùng cầu nắn dòng 4 diode để chuyển đổi dòng AC ra dạng dòng điện xung
một pha.
Tụ C1 dùng tụ hóa lớn làm kho chứa điện, nó có 3 công dụng:
Giảm độ dợn sóng.
Nâng cao mức áp DC lên gần bằng mức volt cực đại.
Làm kho chứa điện ổn định điều kiện cấp điện cho tải.
Dùng Led đỏ với điện trở hạn dòng 1K làm đèn chỉ thị. Để có mức áp DC 5V
có độ ổn định tốt, trong mạch dùng IC ổn áp 3 chân 7805. Với loại IC ổn áp tích cực,
để tránh mạch điện trong IC không phát sinh hiện tƣợng dao động tự kích, ở ngả ra
dùng thêm tụ hóa C2 làm tụ lọc, có thể dùng thêm tụ lọc nhỏ C3 để lọc bỏ các tín hiệu
nhiễu tần cao nhiễm vào đƣờng nguồn. Điều cần nhớ: IC 7805 phải cho gắn trên lá
nhôm làm nguội.
Điều khiển thiết bị qua PC Chƣơng 5: Thiết kế mạch phần cứng điều khiển
Trang 68
5.2 KHỐI CHUYỂN ĐỔI TÍN HIỆU RS232 THÀNH TTL DÙNG
MAX232.
5.2.1 Giới thiệu về 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 (T1in và
T2in ) thành mức T1out , T2out ở phía truyền và chuyển đổi R1in , R2in thành R1out , R2out ở
phía nhận với mức điện áp là +5V đến +10V hoặc +10V đến -10V. Đồng thời giá trị
điện dung trên MAX232 là C1=C2=C3=C4=C5=10µF.
Vi mạch MAX232 có hai bộ đệm và hai bộ nhận. Chân 9 (R2 OUT) của vi
mạch MAX232 đƣợc nối với đƣờ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 chân 10 (T2 IN) của vi mạch MAX232 nối
với đƣờng dẫn bắt tay để điều khiển quá trình nhận. Đƣờng dẫn bắt tay đƣợc nối với
cổng nối tiếp qua cầu nối, để khi không sử dụng, chúng ta có thể hổ mạch. Cách truyền
dữ liệu đơn giản nhất là chỉ dùng ba đƣờng dẫn TxD, RxD và GND.
5.2.2 Sơ đồ kết nối.
Điều khiển thiết bị qua PC Chƣơng 5: Thiết kế mạch phần cứng điều khiển
Trang 69
Hình 5.2: Mạch chuyển đổi tín hiệu TTL dùng MAX232
5.3 MẠCH ĐIỀU KHIỂN ĐÓNG NGẮT TẢI AC.
Ta có mạch điều khiển nhƣ sau:
Hình 5.3: Mạch đóng ngắt tải AC
Ta xét các linh kiện trong mạch nhƣ sau:
MOC 3021 là kinh kiện tích hợp có cấu tạo gồm 1 LED và 1 photo diot. Khi có
dòng điện nhỏ chạy qua 2 đầu của LED trong OPTO làm cho LED phát sáng, khi đó sẽ
kích cho photo diot dẫn, cho dòng điện chạy qua. MOC3021 đƣợc dùng để cách ly áp
giữa 2 khối vi xử lý và mạch công suất, đồng thời tránh nhiễu cho động cơ. Vì đôi lúc
động cơ chạy quá dòng thì dòng trả về lớn làm chết linh kiện ở mạch công suất, nếu
không có cách ly quang OPTO thì dòng điện lớn sẻ theo đƣờng mạch đến tiêu diệt vi
điều khiển và toàn bộ linh kiện khác.
Triac BTA41 là linh kiện chịu đƣợc dòng cao tới 40A, do đó chịu đƣợc công
suất cao. Dòng kích cho cực G của BTA41 khoảng 50mA. Trong mạch này, BTA41
Điều khiển thiết bị qua PC Chƣơng 5: Thiết kế mạch phần cứng điều khiển
Trang 70
dẫn trong 2 trƣờng hợp: khi điện áp trên 2 cực MT2 và G của triac đồng dấu so với cực
MT1.
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 71
CHƢƠNG 6: THIẾT KẾ CODE VÀ GIAO DIỆN ĐIỀU KHIỂN
6.1 THIẾT KẾ CODE ĐIỀU KHIỂN VI XỬ LÝ
6.1.1 Ý tƣởng thiết kế
Khi cổng COM truyền một kí tự trong bảng mã ASCII, vi điều khiển sẽ
nhận kí tự đó, lƣu vào thanh ghi để so sánh. Cứ mỗi lần nhận 1 chuỗi dữ liệu sẽ so
sánh, đúng dữ liệu nào thì sẽ có một phƣơng thức điều khiển mạch riêng. Cụ thề
nhƣ sau:
Kí tự „a‟ mở đèn 1.
Kí tự „b‟ tắt đèn 1.
Kí tự „c‟ mở đèn 2.
Kí tự „d‟ tắt đèn 2.
Kí tự „e‟ mở đèn 3.
Kí tự „f‟ tắt đèn 3.
Kí tự „g‟ mở đèn 4.
Kí tự „h‟ tắt đèn 4.
Kí tự „i‟ mở đèn 5.
Kí tự „j‟ tắt đèn 5.
Kí tự „k‟ mở đèn 6.
Kí tự „l‟ tắt đèn 6
Kí tự „m‟ mở đèn 7.
Kí tự „n‟ tắt đèn 7.
Kí tự „o‟ mở đèn 8.
Kí tự „p‟ tắt đèn 8.
Kí tự „q‟ tắt hết các đèn.
Sau mỗi lần so sánh nó sẽ xóa dữ liệu trong biến gán để nhận dữ liệu so sánh
tiếp theo.
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 72
6.1.2 Lƣu đồ giải thuật
Hình 6.1: Lƣu đồ giải thuật code điều khiển
6.1.3 Code điều khiển
Viết bằng trình hợp ngữ, ta dƣợc code điều khiển nhƣ sau:
org 00h
mov SCON, #50h //truyền dữ liệu 8 bit, 1 bit stop cho phép thu
mov TMOD, #20h //chọn Timer 1, chế độ 2 (tự động nạp lại)
mov TH1, #0FDh //chọn tốc độ Baud 9600
setb TR1 //khởi động Timer 1
jmp main
org 0FFh
main:
jnb RI, $ //chờ đến khi nhận dữ liệu cuối cùng
clr RI //chờ sẵn cho 1 byte kế tiếp
mov A, SBUF //gán dữ liệu cho thanh ghi A
mo_den1:
cjne A, #'a', tat_den1 //so sánh, nếu A= „a‟ thì mở đèn 1
clr P1.0 nếu sai thì nhảy xuống lệnh tiếp theo
jmp main
tat_den1:
cjne A, #'b', mo_den2 //so sánh, nếu A= „b‟ thì tắt đèn 1
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 73
setb P1.0
jmp main
mo_den2:
cjne A, #'c', tat_den2 //so sánh, nếu A= „c‟ thì mở đèn 2
clr P1.1
jmp main
tat_den2:
cjne A, #'d', mo_den3 //so sánh, nếu A= „d‟ thì tắt đèn 2
setb P1.1
jmp main
mo_den3:
cjne A, #'e', tat_den3 //so sánh, nếu A= „e‟ thì mở đèn 3
clr P1.2
jmp main
tat_den3:
cjne A, #'f', mo_den4 //so sánh, nếu A= „f‟ thì tắt đèn 3
setb P1.2
jmp main
mo_den4:
cjne A, #'g', tat_den4 //so sánh, nếu A= „g‟ thì mở đèn 4
clr P1.3
jmp main
tat_den4:
cjne A, #'h', mo_den5 //so sánh, nếu A= „h‟ thì tắt đèn 4
setb P1.3
jmp main
mo_den5:
cjne A, #'i', tat_den5 //so sánh, nếu A= „i‟ thì mở đèn 5
clr P1.4
jmp main
tat_den5:
cjne A, #'j', mo_den6 //so sánh, nếu A= „j‟ thì tắt đèn 5
setb P1.4
jmp main
mo_den6:
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 74
cjne A, #'k', tat_den6 //so sánh, nếu A= „k‟ thì mở đèn 6
clr P1.5
jmp main
tat_den6:
cjne A, #'l', mo_den7 //so sánh, nếu A= „l‟ thì tắt đèn 6
setb P1.5
jmp main
mo_den7:
cjne A, #'m', tat_den7 //so sánh, nếu A= „m‟ thì mở đèn 7
clr P1.6
jmp main
tat_den7:
cjne A, #'n', mo_den8 //so sánh, nếu A= „n‟ thì tắt đèn 7
setb P1.6
jmp main
mo_den8:
cjne A, #'o', tat_den8 //so sánh, nếu A= „o‟ thì mở đèn 8
clr P1.7
jmp main
tat_den8:
cjne A, #'p', reset_mach //so sánh, nếu A= „p‟ thì tắt đèn 8
setb P1.7
jmp main
reset_mach:
cjne A, #'q', main //so sánh, nếu A= „q‟ thì tắt hết đèn.
setb P1.0
setb P1.1
setb P1.2
setb P1.3
setb P1.4
setb P1.5
setb P1.6
setb P1.7
jmp main
end
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 75
6.2 THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN
Dùng ngôn ngữ lập trình C# của bộ Visual Studio 2008 để tạo ra một bộ form
điều khiển với giao diện dễ nhìn và dễ sử dụng cho ngƣời điều khiển.
Đầu tiên mở Visual Studio 2008, chọn new project.
Sau đó chon Windows Forms Application và đặt tên cho chúng. Đƣa đến cho
chúng ta một giao diện lập trình Form.
Sau đó xây dựng thành biểu form điều khiển.
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 76
Bằng cách dùng những Lable, Button, Checkbox, Combobox, Piturebox trên
thanh Toolbox kéo thả vào nơi thiết kế form.
Sau đó đổi tên thuộc tính, tên hiển thị nhƣ trên form.
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 77
Và cuối cùng ta viết code vào để điều khiển bằng cách click double chuột vào
từng thành phần của form.
Và sao đây là toàn bộ code của chƣơng trình nhƣ sau:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Xml;
namespace Giao_dien
{
public partial class Form1 : Form
{
SerialPort P = new SerialPort();
string InputData = string.Empty;
delegate void SetTextCallback(string text);
public Form1()
{
InitializeComponent();
string[] ports = SerialPort.GetPortNames();
Cbcom.Items.AddRange(ports);
P.ReadTimeout = 1000;
string [] BaudRate = { "1200", "2400", "4800", "9600", "19200",
"38400", "57600", "115200" };
Cbbaud.Items.AddRange (BaudRate);
string[] Databits = {"6", "7", "8" };
Cbdata.Items.AddRange(Databits);
string[] Parity = { "None", "Odd", "Even" };
Cbparity.Items.AddRange(Parity);
string[] Stopbit = { "1", "1.5", "2" };
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 78
Cbstop.Items.AddRange(Stopbit);
}
private void Cbcom_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{ P.Close();
}
P.PortName = Cbcom.SelectedItem.ToString();
}
private void Cbbaud_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{ P.Close();
}
P.BaudRate = Convert.ToInt32(Cbbaud.Text);
}
private void Cbdata_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{
P.Close();
}
P.DataBits = Convert.ToInt32(Cbdata.Text);
}
private void Cbparity_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{
P.Close();
}
switch (Cbparity.SelectedItem.ToString())
{
case "Old":
P.Parity = Parity.Odd;
break;
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 79
case "None":
P.Parity = Parity.None;
break;
case "Even":
P.Parity = Parity.Even;
break;
}
}
private void Cbstop_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{
P.Close();
}
switch (Cbstop.SelectedItem.ToString())
{
case "1":
P.StopBits = StopBits.One;
break;
case "1.5":
P.StopBits = StopBits.OnePointFive;
break;
case "3":
P.StopBits = StopBits.Two;
break;
}
}
private void Form1_Load(object sender, EventArgs e)
{
Cbcom.SelectedIndex = 0;
Cbbaud.SelectedIndex = 3;
Cbdata.SelectedIndex = 2;
Cbparity.SelectedIndex = 0;
Cbstop.SelectedIndex = 0;
}
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 80
private void ketnoi_Click(object sender, EventArgs e)
{
try
{
P.Open();
ngatketnoi.Enabled = true;
ketnoi.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show("Don't connect!", "Information",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ngatketnoi_Click(object sender, EventArgs e)
{
P.Close();
ketnoi.Enabled = true;
ngatketnoi.Enabled = false;
}
private void exit_Click(object sender, EventArgs e)
{
DialogResult kq = MessageBox.Show("Do you want to exit the
program?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (kq == DialogResult.Yes)
{
this.Close();
}
}
private void Ck_den1_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den1.Checked) P.Write("a");
else P.Write("b");
}
private void Ck_den2_CheckedChanged(object sender, EventArgs e)
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 81
{
if (Ck_den2.Checked) P.Write("c");
else P.Write("d");
}
private void Ck_den3_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den3.Checked) P.Write("e");
else P.Write("f");
}
private void Ck_den4_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den4.Checked) P.Write("g");
else P.Write("h");
}
private void Ck_den5_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den5.Checked) P.Write("i");
else P.Write("j");
}
private void Ck_den6_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den6.Checked) P.Write("k");
else P.Write("l");
}
private void Ck_den7_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den7.Checked) P.Write("m");
else P.Write("n");
}
private void Ck_den8_CheckedChanged(object sender, EventArgs e)
{
if (Ck_den1.Checked) P.Write("o");
else P.Write("p");
}
private void reset_Click(object sender, EventArgs e)
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 82
{
P.Write("q");
if (Ck_den1.Checked) Ck_den1.Checked = false;
if (Ck_den2.Checked) Ck_den2.Checked = false;
if (Ck_den3.Checked) Ck_den3.Checked = false;
if (Ck_den4.Checked) Ck_den4.Checked = false;
if (Ck_den5.Checked) Ck_den5.Checked = false;
if (Ck_den6.Checked) Ck_den6.Checked = false;
if (Ck_den7.Checked) Ck_den7.Checked = false;
if (Ck_den8.Checked) Ck_den8.Checked = false;
}
}
}
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 83
6.3 MẠCH NGUYÊN LÝ
Q6
BTA41 A1A2G
Q4
BTA41 A1A2G
R17
330
C6
10uF
P1
CONNECTOR DB9
5
9
4
8
3
7
2
6
1
U10
MOC3021
1
2
6
4
J1
LOAD
1
2
C12
0.05uF
Q7
BTA41 A1A2G
J6
LOAD
1
2
C13
0.01uF
U6
MOC3021
1
2
6
4
C7
10uF
R27 470
U5
MOC3021
1
2
6
4
R8
39
J3
LOAD
1
2
C8
10uF
C9
10uF
R14360
J2
LOAD
1
2
Q8
BTA41 A1A2G
R21
330
R29
330
Q2
BTA41 A1A2G
V1
VAC 220V 50 Hz
R23
470
C11
0.01uF
Q1
BTA41 A1A2G
R7 470
R24
39
U3
MOC3021
1
2
6
4
C19
0.01uF
C10
0.05uF
U9
MOC3021
1
2
6
4
R13
330
C21
0.01uF
R25
330
R20
39
C18
0.05uF
C17
0.01uF
R3 470
U1
AT89S8252
9
18
19
2
0
29
30
31
40
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTAL2
XTAL1
G
N
D
PSEN
ALE/PROG
EA/VPP
VCC
P1.0/T2
P1.1/T2-EX
P1.2
P1.3
P1.4/SS
P1.5/MOSI
P1.6/MISO
P1.7/SCK
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
R5
330
C15
0.01uF
R28
39
R2 360
C16
0.05uF
C1
0.01uF
U4
MAX232
1
3
4
5
1
6
1
5
2
6
12
9
11
10
13
8
14
7
C1+
C1-
C2+
C2-
V
C
C
G
N
DV+
V-
R1OUT
R2OUT
T1IN
T2IN
R1IN
R2IN
T1OUT
T2OUT
Y1
12 MHz
R4
39
R19
470
R18360
C20
0.05uF
U7
MOC3021
1
2
6
4
R1
330
R9
330
R32
39
R26 360
0
U2
MOC3021
1
2
6
4
C3 30uF
V2
VDC 5V
J4
LOAD
1
2
C2 30uF
R33 360
R22360
R16
39
U8
MOC3021
1
2
6
4
J8
LOAD
1
2
R30 360R31 470
Q5
BTA41 A1A2G
C5
0.01uF
R12
39
C14
0.05uF
R15
470
C4
0.05uF
R10 360
R11 470
J7
LOAD
1
2
Q3
BTA41 A1A2G
C22
0.05uF
J5
LOAD
1
2
Điều khiển thiết bị qua PC Chƣơng 6: Thiết kế code và giao diện điều khiển
Trang 84
6.4 MẠCH MÔ PHỎNG
Điều khiển thiết bị qua PC Chƣơng 7: Hƣớng phát triển của đề tài
Trang 85
CHƢƠNG 7: HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Đề tài nghiên cứu việc áp dụng kĩ thuật vi xử lý đối với các thiết bị dân dụng
công suất thấp và vừa, việc điều khiển chỉ trong phạm vi hẹp, vì thế chúng ta cần cải
tiến thêm trong tƣơng lai.
Hiện tại việc điều khiển chỉ đƣợc thực hiện tại một vị trí với điều kiện máy tính
có cổng COM, vì thế việc điều khiển chƣa đƣợc linh hoạt. Để hoàn thiện hơn hệ thống,
chúng ta có thể nghiên cứu thêm việc điều khiển qua các sóng điện từ, sóng AM, FM,
Bluetooth, wireless và ngay cả Internet.
Từng bƣớc nâng cao công suất tải tiêu thụ, áp dụng thêm những tiến bộ của kĩ
thuật vi xử lý vào mạch giúp hoạt động tốt hơn, ổn định hơn. Đồng thời nghiên cứu
thêm việc thiết kế giao diện cho dễ điều khiển.
Từng bƣớc áp dụng kĩ thuật vi điều khiển vào đời sống, giúp ngƣời đọc, ngƣời
sử dụng nắm bắt kịp thời những tiến bộ, giúp sinh viên từng bƣớc hoàn thiện đƣợc
kiến thức nền tảng và nâng cao khả năng nghiên cứu của mình.
Điều khiển thiết bị qua PC Tài liệu tham khảo
Trang 86
TÀI LIỆU THAM KHẢO
Tống Văn Ơn, Họ Vi Điều Khiển 8051, MK PUB
Ths Nguyễn Hữu Duy Khang, KS: Trần Hữu Danh, Lập Trình Hệ
Thống, ĐH Cần Thơ.
Phạm Văn Cƣờng, Lập Trình Hệ Thống Và Điểu Khiển Thiết Bị, Học
Viện Công Nghệ Bƣu Chính Viễn Thông.
Lê Vũ Hà, Giáo Trình Kỹ Thuật Điều Khiển, Đại Học Quốc Gia Thanh
Phồ Hồ Chí Minh.
Kenneth Ayala (Author), 8051 Microcontroller: Architecture,
Programming And Applications.
Diễn Đàn dientuvietnam.com, ...
Điều khiển thiết bị qua PC Phụ lục 1
Trang 87
PHỤ LỤC 1
LIỆT KÊ HÌNH
Hình 2.1: Sơ đồ chân AT89S8252 .........................................................................................8
Hình 2.2 Dao động trên chip với thạch anh ..........................................................................9
Hình 2.3: Cấu trúc bộ nhớ trên AT89S8252 ...................................................................... 11
Hình 2.4: Bản đồ các thanh ghi đặc biệt............................................................................. 14
Hình 2.5: Sơ đồ khối Port nối tiếp ...................................................................................... 32
Hình 2.6: Sơ đồ bộ xử lý đa kênh AT89S8252 ................................................................. 36
Hình 2.7: Timer 2 trong chế độ Capture............................................................................. 48
Hình 2.8: Timer 2 trong chế độ Auto Reload .................................................................... 49
Hình 2.9: Timer 2 trong chế độ Auto-Reload .................................................................... 49
Hình 2.10: Timer 2 trong chế độ Baud Rates Generator .................................................. 50
Hình 4.1 Kí hiệu chân và hình dạng của cổng COM DB9............................................... 64
Hình 4.2: Sơ đồ kết nối COM với Max232........................................................................ 66
Hình 5.1: Mạch tạo nguồn 5V từ điện áp xoay chiều 220V ............................................ 67
Hình 5.2: Mạch chuyển đổi tín hiệu TTL dùng MAX232 ............................................... 69
Hình 5.3: Mạch đóng ngắt tải AC ....................................................................................... 69
Hình 6.1: Lƣu đồ giải thuật code điều khiển ..................................................................... 72
Điều khiển thiết bị qua PC Phụ lục 2
Trang 88
PHỤ LỤC 2
LIỆT KÊ BẢNG
Bảng 2.1: Chức năng chuyển đổi ở Port 1 ............................................................................8
Bảng 2.2: Các chức năng chuyển đổi ở Port 3......................................................................9
Bảng 2.3: Tóm tắt thanh ghi PSW ...................................................................................... 14
Bảng 2.4: Tóm tắt thanh ghi IE (Interrupt Register)......................................................... 17
Bảng 2.5: Tóm tắt thanh ghi PCON .................................................................................... 18
Bảng 2.6: Thanh ghi điều khiển bộ nhớ và Watchdog ..................................................... 19
Bảng 2.7: Thanh ghi điều khiển SPI ................................................................................... 20
Bảng 2.8: Thanh ghi trạng thái SPI ..................................................................................... 21
Bảng 2.9: Tóm tắt thanh ghi SCON .................................................................................... 33
Bảng 2.10: Bảng MODE hoạt động của Port nối tiếp. ..................................................... 33
Bảng 2.11: Tóm tắt tốc độ Baud phổ biến ......................................................................... 38
Bảng 2.12: Các thanh ghi truy suất Timer 0 và Timer 1 .................................................. 39
Bảng 2.13: Tóm tắt hoạt động thanh ghi TMOD .............................................................. 40
Bảng 2.14: Hoạt động 2 bít M0 và M1 ............................................................................... 40
Bảng 2.15: Tóm tắt hoạt động thanh ghi TCON ............................................................... 41
Bảng 2.16: Hoạt động Timer 2 ............................................................................................ 46
Bảng 2.17: Chức năng từng bít T2CON............................................................................. 46
Bảng 3.1 Sơ đồ chân của máy in ......................................................................................... 52
Bảng 3.2: Địa chỉ cơ sở các tthanh ghi cổng song song ................................................... 53
Bảng 3.3: Ý nghĩa của các chân cổng nối tiếp................................................................... 55
Các file đính kèm theo tài liệu này:
- Điều khiển thiết bị qua PC.pdf