Điều khiển thiết bị qua PC

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.

pdf88 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3448 | Lượt tải: 3download
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:

  • pdfĐiều khiển thiết bị qua PC.pdf
Luận văn liên quan