đồ án thiết kế chế tạo và điều khiển tay máy, chương 9 ppsx

8 476 13
đồ án thiết kế chế tạo và điều khiển tay máy, chương 9 ppsx

Đang tải... (xem toàn văn)

Thông tin tài liệu

Thiết kế, chế tạo và điều khiển tay máy Trang 67 9 ĐIỀU KHIỂN BẰNG CỔNG NỐI TIẾP 9.1 GIỚI THIỆU Ghép nối dùng qua cổng nối tiếp là một trong những kỹ thuật được dùng rộng rãi nhất để ghép nối, giao tiếp giữa các thiết bò với nhau. Qua cổng nối tiếp có thể ghép nối chuột, modem, máy in, bộ biến đổi A/D, các thiết bò đo lường hoặc để giao tiếp giữa các chip, … Cách ghép nối này sử dụng phương pháp truyền thông theo kiểu nối tiếp, trong đó ở một thời điểm chỉ có 1 bit được gửi đi/nhận về trên một đường dẫn. Đặc điểm này khác so với phương pháp truyền thông theo kiểu song song, trong đó nhiều bit được gửi đi đồng thời. Ưu điểm chính của kiểu truyền nối tiếp so với kiểu truyền song song là tiết kiệm dây dẫn, truyền đi được xa, khả năng chống nhiễu tốt hơn. Nhưng lại có khuyết điểm là tốc độ truyền chậm hơn. Luận văn này dùng truyền thông nối tiếp để giao tiếp giữa máy PC với bộ phát hồng ngoại, và dùng để giao tiếp giữa AT89C2051 và AT90S2313 để điều khiển động cơ. Chương này sẽ trình bày về cách thiết lập và phương pháp điều khiển cổng nối tiếp. 9.2 GIAO TIẾP VỚI MÁY VI TÍNH Máy tính được giao tiếp với vi xử lý AT89C2051 bằng chuẩn RS-232. GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 68 9.2.1 Chuẩn giao tiếp RS-232 9.2.1.1 Các yêu kỹ thuật của chuẩn RS-232 Các yêu cầu về điện được qui đònh trong RS- 232C như sau: + Mức logic 1: nằm trong khoảng -3V÷ -12V. + Mức logic 0: nằm trong khoảng +3V ÷ +12V. + Trở kháng tải về phía bộ nhận của mạch phải lớn hơn 3000(Ω) và phải nhỏ hơn 7000(Ω). + Tốc độ truyền / nhận dữ liệu cực đại là 100 Kbit/giây. + Các lối vào của bộ nhận phải có điện dung nhỏ hơn 2,500 pF. + Độ dài của cáp nối giữa máy tính và thiết bò ghép nối qua cổng nối tiếp không được vượt quá 15m nếu không sử dụng modem. + Các giá trò tốc độ truyền dữ liệu chuẩn là : 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800,…,56600, 115200 BAUD. 9.2.1.2 Sơ đồ chân ra trên PC Hầu hết các máy tính cá nhân được chế tạo gần đây đều có hai cổng nối tiếp RS-232, đôi khi có 3-4 cổng. Cổng đầu tiên có tên là COM1 tiếp theo là COM2, COM3, COM4. Có hai kiểu đầu nối được sử dụng cho cổng nối tiếp RS-232 là loại 25 chân và 9 chân. P2 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 P1 5 9 4 8 3 7 2 6 1 RI GND GND TXD CTS DTR DCD RI RTS DTR RTS RXD RXD DCD DSR DSR CTS TXD Hình 9.1 Sơ đồ chân của DB9 và DB25 của RS-232 Đối với đầu nối 25 chân, trong một số trường hợp có sử dụng chân số 1 để nối với vỏ kim loại của cáp truyền để hạn chế nhiễu, thông thường thì cáp truyền chỉ bọc nhựa. Khi đó chân 1 sẽ được nối với đất mass của thiết bò, chân này khác với chân số 7 là chân mass của tín hiệu. Tiêu chuẩn RS- 232C qui đònh rõ việc sử dụng đầu nối thống nhất để tất cả các sản phẩm đều tương thích với nhau. Cho nên thứ tự và chức năng của các chân đã được qui đònh rất cụ thể và phải tuân thủ một cách nghiêm ngặt. GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 69 Bảng dưới đây chỉ ra tất cả các đường dẫn được nối với các chân trên DB9 và DB25. Bảng 9.1 Các chân và chức năng DB2 5 DB9 Tên gọi Vào/ra Chức năng 1 - FG Frame ground (đất vỏ máy) - Chân này thường được nối với vỏ bọc kim của dây cáp, với vỏ máy, với đai bao ngoài hoặc đất thật sự 2 3 TxD Transmit data ⇐ Truyền dữ liệu 3 2 RxD Receive Data ⇒ Nhận dữ liệu 4 7 RTS 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. 5 8 CTS Clear to send ⇒ Xóa để gửi; bộ nhận đặt đường này lên mức hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận dữ liệu. 6 6 DSR Data set ready ⇒ Dữ liệu sẵn sàng; tính hoạt động giống như CTS, nhưng được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu. 7 5 SG Signal ground - Mass của tín hiệu 8 1 DCD Data carrier detect ⇒ Phát hiện tín hiệu mang dữ liệu 20 4 DTR Data terminal ready ⇐ Đầu cuối dữ liệu sẵn sàng; tính hoạt động giống với RTS nhưng được kích hoạt bởi bộ nhận khi muốn truyền dữ liệu. 22 9 RI Ring Indicate ⇒ Báo chuông, cho biết là bộ nhận đang nhận tín hiệu rung chuông + Ghi chú: ⇒ lối vào; ⇐ lối ra. GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 70 9.2.2 Các thanh ghi và đòa chỉ Chúng ta cần phải thiết lập các thông số cho cổng nối tiếp trước khi muốn sử dụng nó. Những thiết lập này được thực hiện trong vùng BIOS của máy tính và tùy vào cổng nối tiếp sử dụng mà ta dùng các đòa chỉ cơ sở tương ứng. Các đòa chỉ cơ sở này được cho trong bảng dưới. Bảng 9.2 Đòa chỉ các cổng COM COM 1 COM 2 COM 3 COM 4 HEX 3F8 2F8 3E8 2E8 DEC 1016 760 1000 744 UART có tổng cộng là 12 thanh ghi, qua đó tất cả các chức năng nhập vào và xuất ra nối tiếp có thể được điều khiển. Các thanh ghi được trao đổi qua 7 đòa chỉ, trong đó có những đòa chỉ được sắp xếp 2 lần. Bảng sau đây giới thiệu tất cả các thanh ghi. Nhưng trong luận văn này chúng ta chỉ sử dụng một số thanh ghi trong số này. Bảng 9.3 Đòa chỉ offset các thanh ghi Offset DLAB Đọc/Ghi Ký hiệu Tên =0 Ghi - Thanh ghi đệm truyền =0 Đọc - Thanh ghi đệm nhận +0 =1 Đọc/Ghi - Thanh ghi tốc độ BAUD (byte thấp) =0 Đọc/Ghi IER Thanh ghi cho phép ngắt +1 =1 Đọc/Ghi - Thanh ghi tốc độ BAUD (byte cao) +2 - Đọc IIR Thanh ghi nhận dạng ngắt - Ghi FCR Thanh ghi điều khiển FIFO +3 - Đọc/Ghi LCR Thanh ghi điều khiển đường dẫn +4 - Đọc/Ghi MCR Thanh ghi điều khiển MODEM +5 - Đọc LSR Thanh ghi trạng thái đường dẫn +6 - Đọc MSR Thanh ghi trạng thái MODEM +7 - Đọc/Ghi - Thanh ghi Scratch Việc truy nhập trực tiếp lên thanh ghi diễn ra qua đòa chỉ thanh ghi, được tính bằng cách lấy tổng của đòa chỉ cơ sở của giao diện và độ lệch Offset của thanh ghi trong UART, cụ thể là: Đòa chỉ cơ sở + Offset = Đòa chỉ thanh ghi Như đã nói ở trên, chúng ta chỉ sử dụng một số thanh ghi và sẽ được trình bày sau đây. 9.2.2.1 Thanh ghi cho phép ngắt (IER) GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 71 Bảng 9.4 Chức năng từng bit của thanh ghi IER Bit Chức năng 7 - 6 - 5 Cho phép chế độ nguồn giảm 4 Cho phép chế độ nghỉ 3 Cho phép ngắt modem 2 Cho phép ngắt nhận 1 Cho phép ngắt truyền 0 Cho phép nhận dữ liệu khi có ngắt Vì ta không dùng ngắt nối tiếp nên chúng ta ghi giá trò 0 vào thanh ghi này. 9.2.2.2 Thanh ghi điều khiển đường dẫn (LCR) Thanh ghi này được dùng hai lần để thiết lập thông số truyền của cổng. Việc này được kiểm soát bằng bit DLAB. Thanh ghi này được mô tả như sau. Bảng 9.5 Chức năng từng bit của thanh ghi LCR Bit 7 1 DLAB 0 Truy xuất đến các bộ đệm và các thanh ghi cho phép ngắt Bit 6 Cho phép Break Bit 3,4 và 5 Bit 5 Bit 4 Bit 3 Chọn Parity X X 0 No Parity 0 0 1 Parity lẻ 0 1 1 Parity chẳn 1 0 1 Parity cao 1 1 1 Parity thấp Bit 2 Độ dài của stop-bit 0 1 stop-bit 1 2 stop bit đối với khung truyền 6,7,8 bit hay1,5 stop bit với khung truyền 5 bit Bit 1 Bit 0 Khung dừ liệu 0 0 5 bit 0 1 6 bit 1 0 7 bit Bit 0 và bit 1 1 1 8 bit GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 72 Sau khi có các hiểu biết về chuẩn RS-232 và cổng nối tiếp của máy PC, phần tiếp theo sẽ trình bày phương thức thiết lập giao tiếp giữa máy PC và chip AT89C2051. 9.2.3 Giao tiếp giữa PC với AT89C2051 9.2.3.1 Khung truyền dữ liệu Bảng dưới chỉ ra khung truyền một byte dữ liệu mà chúng ta dùng để giao tiếp giữa máy tính và chip AT89C2051. Bảng 9.6 Khung truyền dữ liệu Khung truyền dữ liệu 19200 BAUD 1 stop bit No parity 8 bytes 9.2.3.2 Sơ đồ MẠCH nối AT89C2051 với RS232 Chúng ta sử dụng một IC MAX 232 để ghép mức điện áp. Chương trình điều khiển đơn giản có thể được viết một cách dễ dàng khi nắm vững hoạt động của bộ vi xử lý AT89C2051. 1uF 1uF 10k 1uF A T89C2051 1 5 4 12 13 14 15 16 17 18 19 2 3 6 7 8 9 11 RST/VPP XTAL1 XTAL2 P1.0/AIN0 P1.1/AIN1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.7 33p 33p 0 11.059M 1uF COM PC 0 VCC 10uF MAX232/SO 1 3 4 5 2 6 9 10 8 7 C1+ C1- C2+ C2- V+ V- R2OUT T2IN R2IN T2OUT 0 1 2 3 0 Hình 9.2 Ghép nối tiếp AT89C2051 với PC qua MAX2 Dữ liệu được máy tính truyền qua cổng COM lần lượt theo đònh dạng sau: o Byte thứ nhất + số 13 - quy đònh số thứ tự động cơ. o Byte thứ hai + số 13 – quy đònh vò trí của động cơ đó. o 255 - byte đồng bộ hóa. Chẳng hạn ví dụ nếu chúng ta muốn điều khiển động cơ thứ 3 đến vò trí góc 500 (mỗi động cơ có 560 vò trí góc) thì ta phải truyền đi là: số 3 + 13 + 500 + 13 + 255 + 13. Do mỗi lần giao tiếp nối tiếp ta chỉ có thể gửi được một byte. Trong khi dữ liệu truyền cần để xác đònh vò trí của động cơ phải là word (2 byte). Do vậy việc gửi đi ký tự có mã ASCII 13 có ý nghóa như là một “stop byte”. GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 73 Byte “255”: được gửi nhằm đồng bộ hóa các dữ liệu đã gửi đi. Khi nhận được byte này thì chip AT90S2313 mới gửi các vò trí mới tới các động cơ, còn không thì các vò trí mới này vẫn được lưu trong bộ nhớ của chip AT90S2313. 9.3 GIAO TIẾP NỐI TIẾP GIỮA AT89C2051 VÀ AT90S2313 AT89C2051 và AT90S2313 ghép nối tiếp với nhau bằng 2 chân RxD và TxD được nối chéo với nhau. Mức điện áp trên đường truyền là mức TTL. Trước khi giao tiếp nối tiếp giữa hai chip, chúng ta cần phải thiết lập tốc độ BAUD giống nhau ở hai chip. Trong luận văn này, chúng ta dùng tốc độ BAUD là 9600 cho việc truyền dữ liệu giữa hai chip. Do chip AT90S2313 vừa thực hiện việc điều khiển động cơ vừa nhận dữ liệu nối tiếp, nên để bảo đảm dữ liệu không bò mất, chúng ta sử dụng thêm một chân làm cờ bắt tay trong việc truyền nhận giữa hai chip. Dữ liệu được truyền một chiều từ AT89C2051 đến AT90S2313. 9.3.1 Thiết lập tốc độ BAUD 4800 9.3.1.1 Thiết lập tốc độ BAUD cho AT89C2051 MOV SCON,#52H ; Port nối tiếp chế độ 1. MOV TCON,#20H ; Bộ đònh thời 1, chế độ 2. MOV TH1,#-6 ; Giá trò nạp để có tốc độ BAUD là 4800. SETB TR1 ; Bộ đònh thời 1 hoạt động. 9.3.1.2 Thiết lập tốc độ BAUD cho AT90S2313 EQU BAUDR=143 EQU MYVAL =129 LDI UCR,MYVAL ;Nạp giá trò vào thanh ghi cho phép sử dụng RxD, TxD. LDI UBBR,BAUDR ;Nạp giá trò để đònh tốc độ BAUD là 4800. 9.3.2 Chương trình truyền (AT89C2051) và nhận (AT90S2313) dữ liệu 9.3.2.1 Chương trình con truyền dữ liệu viết cho AT89C2051 Transmit: JNB TI,$ CLR TI JB BUSY,$ ; Busy là chân bắt tay phần cứng. MOV SBUF,{byte cao của data} JNB TI,$ CLR TI JB BUSY,$ GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 74 MOV SBUF,{byte thấp của data} JNB TI,$ CLR TI JB BUSY,$ MOV SBUF,#13 RET Cờ Busy sẽ được set lên 1 trong AT90S2313 mỗi khi chip này vào chương trình phục vụ ngắt để điều khiển động cơ. 9.3.2.2 Chương trình con nhận dữ liệu viết cho AT90S2313 Receive: L2: Charin = 0 Again: Portb = &B11000000 SBIS USR,7 ; Chờ cho RXEN được set RJMP Again Portb = &B11110000 IN R17,UDR ; Ghi buffer vào thanh ghi R17 CPI R17,13 : So sánh với số 13 BREQ Thoat STS {temp},R17 ; Chuyển nội dung R17 vào biến temp. Shift Charin , Left , 8 Charin = Charin + Temp RJMP Again Thoat: Ret 9.4 KẾT LUẬN Chương này chúng ta đã tìm hiểu khá rõ về việc sử dụng cổng nối tiếp để giao tiếp và điều khiển; và với các tập lệnh của các họ vi xử lý đã biết chúng ta có thể dễ dàng viết một chương trình con xử lý dữ liệu theo khung truyền mong muốn. Chương tiếp chúng ta sẽ nghiên cứu một cách truyền dữ liệu khác cũng khá phổ biến hiện nay, đó là việc truyền nhận dữ liệu không dây bằng sóng hồng ngoại. GVHD: TS. NGUYỄN VĂN GIÁP SVTH: Nguyễn Nhật Tân-Nguyễn Lê Tùng . Thiết kế, chế tạo và điều khiển tay máy Trang 67 9 ĐIỀU KHIỂN BẰNG CỔNG NỐI TIẾP 9. 1 GIỚI THIỆU Ghép nối dùng qua cổng nối tiếp là. phát hồng ngoại, và dùng để giao tiếp giữa AT89C2051 và AT90S2313 để điều khiển động cơ. Chương này sẽ trình bày về cách thiết lập và phương pháp điều khiển cổng nối tiếp. 9. 2 GIAO TIẾP VỚI. Tùng Thiết kế, chế tạo và điều khiển tay máy Trang 70 9. 2.2 Các thanh ghi và đòa chỉ Chúng ta cần phải thiết lập các thông số cho cổng nối tiếp trước khi muốn sử dụng nó. Những thiết

Ngày đăng: 03/07/2014, 05:20

Từ khóa liên quan

Mục lục

  • 9

  • ĐIỀU KHIỂN BẰNG CỔNG NỐI TIẾP

  • 9.1 GIỚI THIỆU

  • Ghép nối dùng qua cổng nối tiếp là mo

  • Ưu điểm chính của kiểu truyền nối tiế

  • Luận văn này dùng truyền thông nối tie

  • 9.2 GIAO TIẾP VỚI MÁY VI TÍNH

  • Máy tính được giao tiếp với vi xử lý

  • 9.2.1 Chuẩn giao tiếp RS-232

  • 9.2.1.1 Các yêu kỹ thuật của chuẩn RS-2

  • Các yêu cầu về điện được qui đònh tr

  • + Mức logic 1: nằm trong khoảng -3V\( -12V

  • + Mức logic 0: nằm trong khoảng +3V \( +12

  • + Trở kháng tải về phía bộ nhận của

  • + Tốc độ truyền / nhận dữ liệu cực 

  • + Các lối vào của bộ nhận phải có đ

  • + Độ dài của cáp nối giữa máy tính v

  • + Các giá trò tốc độ truyền dữ liệu

  • 9.2.1.2 Sơ đồ chân ra trên PC

  • Hầu hết các máy tính cá nhân được c

  • Có hai kiểu đầu nối được sử dụng ch

  • 

  • Hình 9.1 Sơ đồ chân của DB9 và DB25 củ

  • Đối với đầu nối 25 chân, trong một so

  • Tiêu chuẩn RS- 232C qui đònh rõ việc sử

  • Bảng dưới đây chỉ ra tất cả các đươ

  • Bảng 9.1 Các chân và chức năng

  • DB25

  • DB9

  • Tên gọi

  • Vào/ra

  • Chức năng

  • 1

  • -

  • FG

  • Frame ground

  • \(đất vỏ máy\)

  • -

  • Chân này thường được nối với vỏ bo

  • 2

  • 3

  • TxD

  • Transmit data

  • (

  • Truyền dữ liệu

  • 3

  • 2

  • RxD

  • Receive Data

  • (

  • Nhận dữ liệu

  • 4

  • 7

  • RTS

  • Request to send

  • (

  • Yêu cầu gửi; bộ truyền đặt đường na

  • 5

  • 8

  • CTS

  • Clear to send

  • (

  • Xóa để gửi; bộ nhận đặt đường nà

  • 6

  • 6

  • DSR

  • Data set ready

  • (

  • Dữ liệu sẵn sàng; tính hoạt động giố

  • 7

  • 5

  • SG

  • Signal ground

  • -

  • Mass của tín hiệu

  • 8

  • 1

  • DCD Data carrier detect

  • (

  • Phát hiện tín hiệu mang dữ liệu

  • 20

  • 4

  • DTR

  • Data terminal

  • ready

  • (

  • Đầu cuối dữ liệu sẵn sàng; tính hoạt

  • 22

  • 9

  • RI

  • Ring Indicate

  • (

  • Báo chuông, cho biết là bộ nhận đang nh

  • + Ghi chú: \( lối vào; \( lối ra.

  • 9.2.2 Các thanh ghi và đòa chỉ

  • Chúng ta cần phải thiết lập các thông

  • Bảng 9.2 Đòa chỉ các cổng COM

  • COM 1

  • COM 2

  • COM 3

  • COM 4

  • HEX

  • 3F8

  • 2F8

  • 3E8

  • 2E8

  • DEC

  • 1016

  • 760

  • 1000

  • 744

  • UART có tổng cộng là 12 thanh ghi, qua đo

  • Bảng 9.3 Đòa chỉ offset các thanh ghi

  • Offset

  • DLAB

  • Đọc/Ghi

  • Ký hiệu

  • Tên

  • +0

  • =0

  • Ghi

  • -

  • Thanh ghi đệm truyền

  • =0

  • Đọc

  • -

  • Thanh ghi đệm nhận

  • =1

  • Đọc/Ghi

  • -

  • Thanh ghi tốc độ BAUD \(byte thấp\)

  • +1

  • =0

  • Đọc/Ghi

  • IER

  • Thanh ghi cho phép ngắt

  • =1

  • Đọc/Ghi

  • -

  • Thanh ghi tốc độ BAUD \(byte cao\)

  • +2

  • -

  • Đọc

  • IIR

  • Thanh ghi nhận dạng ngắt

  • -

  • Ghi

  • FCR

  • Thanh ghi điều khiển FIFO

  • +3

  • -

  • Đọc/Ghi

  • LCR

  • Thanh ghi điều khiển đường dẫn

  • +4

  • -

  • Đọc/Ghi

  • MCR

  • Thanh ghi điều khiển MODEM

  • +5

  • -

  • Đọc

  • LSR

  • Thanh ghi trạng thái đường dẫn

  • +6

  • -

  • Đọc

  • MSR

  • Thanh ghi trạng thái MODEM

  • +7

  • -

  • Đọc/Ghi

  • -

  • Thanh ghi Scratch

  • Việc truy nhập trực tiếp lên thanh ghi d

  • Đòa chỉ cơ sở + Offset = Đòa chỉ thanh ghi

  • Như đã nói ở trên, chúng ta chỉ sử d

  • 9.2.2.1 Thanh ghi cho phép ngắt \(IER\)

  • Bảng 9.4 Chức năng từng bit của thanh g

  • Bit

  • Chức năng

  • 7

  • -

  • 6

  • -

  • 5

  • Cho phép chế độ nguồn giảm

  • 4

  • Cho phép chế độ nghỉ

  • 3

  • Cho phép ngắt modem

  • 2

  • Cho phép ngắt nhận

  • 1

  • Cho phép ngắt truyền

  • 0

  • Cho phép nhận dữ liệu khi có ngắt

  • Vì ta không dùng ngắt nối tiếp nên chu

  • 9.2.2.2 Thanh ghi điều khiển đường dẫn

  • Thanh ghi này được dùng hai lần để thi

  • Bảng 9.5 Chức năng từng bit của thanh g

  • Bit 7

  • 1

  • DLAB

  • 0

  • Truy xuất đến các bộ đệm và các than

  • Bit 6

  • Cho phép Break

  • Bit 3,4 và 5

  • Bit 5

  • Bit 4

  • Bit 3

  • Chọn Parity

  • X

  • X

  • 0

  • No Parity

  • 0

  • 0

  • 1

  • Parity lẻ

  • 0

  • 1

  • 1

  • Parity chẳn

  • 1

  • 0

  • 1

  • Parity cao

  • 1

  • 1

  • 1

  • Parity thấp

  • Bit 2

  • Độ dài của stop-bit

  • 0

  • 1 stop-bit

  • 1

  • 2 stop bit đối với khung truyền 6,7,8 bit h

  • Bit 0 và bit 1

  • Bit 1

  • Bit 0

  • Khung dừ liệu

  • 0

  • 0

  • 5 bit

  • 0

  • 1

  • 6 bit

  • 1

  • 0

  • 7 bit

  • 1

  • 1

  • 8 bit

  • Sau khi có các hiểu biết về chuẩn RS-23

  • 9.2.3 Giao tiếp giữa PC với AT89C2051

  • 9.2.3.1 Khung truyền dữ liệu

  • Bảng dưới chỉ ra khung truyền một byte d

  • Bảng 9.6 Khung truyền dữ liệu

  • Khung truyền dữ liệu

  • 19200 BAUD

  • 1 stop bit

  • No parity

  • 8 bytes

  • 9.2.3.2 Sơ đồ MẠCH nối AT89C2051 với RS23

  • Chúng ta sử dụng một IC MAX 232 để ghé

  • 

  • Hình 9.2 Ghép nối tiếp AT89C2051 với PC

  • Dữ liệu được máy tính truyền qua cổn

  • Byte thứ nhất + số 13 - quy đònh số thư

  • Byte thứ hai + số 13 – quy đònh vò trí củ

  • 255 - byte đồng bộ hóa.

  • Chẳng hạn ví dụ nếu chúng ta muốn đie

  • Do mỗi lần giao tiếp nối tiếp ta chỉ có

  • Byte “255”: được gửi nhằm đồng bộ hó

  • 9.3 GIAO TIẾP NỐI TIẾP GIỮA AT89C2051 VÀ

  • AT89C2051 và AT90S2313 ghép nối tiếp với

  • Trong luận văn này, chúng ta dùng tốc đ

  • Dữ liệu được truyền một chiều từ AT

  • 9.3.1 Thiết lập tốc độ BAUD 4800

  • 9.3.1.1 Thiết lập tốc độ BAUD cho AT89C205

  • MOVSCON,#52H; Port nối tiếp chế độ 1.

  • MOVTCON,#20H; Bộ đònh thời 1, chế độ 2.

  • MOV TH1,#-6; Giá trò nạp để có tốc độ

  • SETBTR1; Bộ đònh thời 1 hoạt động.

  • 9.3.1.2 Thiết lập tốc độ BAUD cho AT90S231

  • EQUBAUDR=143

  • EQU MYVAL =129

  • LDI UCR,MYVAL;Nạp giá trò vào thanh ghi cho

  • LDI UBBR,BAUDR;Nạp giá trò để đònh tốc 

  • 9.3.2 Chương trình truyền \(AT89C2051\) va

  • 9.3.2.1 Chương trình con truyền dữ liệu vi

  • Transmit:

  • JNBTI,$

  • CLRTI

  • JBBUSY,$; Busy là chân bắt tay phần cứng

  • MOVSBUF,{byte cao của data}

  • JNBTI,$

  • CLRTI

  • JBBUSY,$

  • MOVSBUF,{byte thấp của data}

  • JNBTI,$

  • CLRTI

  • JBBUSY,$

  • MOVSBUF,#13

  • RET

  • Cờ Busy sẽ được set lên 1 trong AT90S231

  • 9.3.2.2 Chương trình con nhận dữ liệu vie

  • Receive:

  • L2:

  • Charin = 0

  • Again:

  • Portb = &B11000000

  • SBIS USR,7; Chờ cho RXEN được set

  • RJMP Again

  • Portb = &B11110000

  • IN R17,UDR; Ghi buffer vào thanh ghi R17

  • CPI R17,13: So sánh với số 13

  • BREQ Thoat

  • STS {temp},R17; Chuyển nội dung R17 vào bie

  • Shift Charin , Left , 8

  • Charin = Charin + Temp

  • RJMP Again

  • Thoat:

  • Ret

  • 9.4 KẾT LUẬN

  • Chương này chúng ta đã tìm hiểu khá ro

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan