CỔNG NỐI TIẾP

Một phần của tài liệu Thiết kế bộ KIT thực hành vi điều khiển 8051 (Trang 49)

2.7.1. Giới thiệu

AT89S52 có một cổng nối tiếp trên chip có thể hoạt động ở nhiều chế độ khác nhau với các tốc độ khác nhau. Chức năng chủ yếu của cổng nối tiếp là thực hiện chuyển đổi song song sang nối tiếp với dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhập để có thể giao tiếp với máy tính qua cổng nối tiếp hoặc các thiết bị tương tự.

Cổng nối tiếp có thể hoạt động song song (thu phát đồng thời) và đệm lúc thu cho phép một ký tự sẽ được thu và được giữ trong khi ký tự thứ hai được nhận. Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được thu đầy đủ thì dữ liệu sẽ không bị mất.

Hình 2.20. Sơ đồ khối cổng nối tiếp của 8051 2.7.2. Các thanh ghi của cổng nối tiếp

Có hai thanh ghi chức năng đặc biệt cho phép phần mền truy xuất đến cổng nối tiếp là SBUF và SCON.

Thanh ghi điều khiển cổng nối tiếp (SCON)

Thanh ghi điều khiển cổng nối tiếp (SCON) ở địa chỉ 98H là thanh ghi có định địa chỉ bit, chứa các bit trạng thái và các bit điều khiển liên quan đến cổng nối tiếp. Các bit điều khiển đặt ở chế độ hoạt động cho cổng nối tiếp, các bit trạng thái báo cáo kết thúc việc phát hoặc thu một ký tự. Các bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể được lập trình để tạo ngắt.

Bit SCON.7 SCON.6 SCON.5 SCON.4 SCON.3 SCON.2 SCON.1 SCON.0 Ký hiệu SM0 SM1 SM2 REN TB8 RB8 TI RI Mô tả

Serial Mode 0 - Bit 0 chọn chế độ cho cổng nối tiếp Serial Mode 1 - Bit 1 chọn chế độ cho cổng nối tiếp SM0SM1=00:cổng nối tiếp hoạt động ở chế độ 0 SM0SM1=01: cổng nối tiếp hoạt động ở chế độ 1 SM0SM1=10: cổng nối tiếp hoạt động ở chế độ 2 SM0SM1=11: cổng nối tiếp hoạt động ở chế độ 3 Serial Mode 2 – Bit 2 chọn chế độ cho cổng nối tiếp.Bit này cho phép truyền thông đa xử lý.

Receive Enable – Bit cho phép thu, REN phải được đặt bằng 1 để cho phép nhận các ký tự.

Trasmitted Bit 8- Bit truyền thứ 9, sử dụng trong chế độ UART 9 bit.

Received Bit 8 –Bit nhận thứ 9, sử dụng trong chế độ UART 9 bit.

Transmitted interrupt – cờ ngắt truyền, TI được đặt bằng 1 bởi phần cứng khi kết thúc việc truyền một ký tự, TI được xóa bằng phần mềm.

Received interrupt – cờ ngắt truyền, RI được đặt bằng 1 bởi phần cứng khi kết thúc việc nhận một ký tự, RI được xóa bằng phần mềm.

Thanh ghi đệm truyền nhận ở cổng nối tiếp (SBUF)

Thanh ghi này có chức năng đệm các ký tự khi chúng được nhận về từ cổng nối tiếp hoặc được truyền đi từ cổng nối tiếp, việc truyền nhận qua cổng nối tiếp thực chất là việc truy xuất thanh ghi này.

2.7.3. Các chế độ hoạt động 2.7.3.1. Chế độ 0 2.7.3.1. Chế độ 0 2.7.3.1. Chế độ 0 2.7.3.1. Chế độ 0

Chế độ 0 là chế độ mà cổng nối tiếp được dùng như một thanh ghi dịch 8 bit. Dữ liệu được truyền/nhận nối tiếp trên chân RXD, chân TXD được dùng để phát xung clock dịch bit. Khi truyền/nhận các byte dữ liệu 8 bit, bit có giá trị thấp nhất (LSB) được truyền/nhận trước tiên và bit MSB được truyền/nhận sau cùng.

Hình 2.21. Hoạt động của cổng nối tiếp ở chế độ 0

Việc truyền dữ liệu được bắt đầu bằng việc ghi một byte dữ liệu vào SBUF còn việc nhận dữ liệu được bắt đầu khi bit REN đã được đặt ở mức một và cờ thu RI bằng 0 tốc độ Baud ở chế độ 0 cố định bằng Fosc/12.

2.7.3.2. Chế độ 1

Trong chế độ 1, cổng nối tiếp hoạt động như một bộ UART 8 bit có tốc độ thay đổi. Dữ liệu được truyền nối tiếp trên chân TXD và nhận nối tiếp trên chân RXD, chế độ này cung cấp cho AT89S52 một công cụ giao tiếp với máy tính qua cổng COM.

Với chế độ 1, 1 khung truyền sẽ gồm 10 bit, ngoài 8 bit dữ liệu ra còn có 1 bit start (ở mức thấp) và 1 bit stop (ở mức cao), LSB cũng được truyền trước, MSM được truyền sau.

Hình 2.22. Giản đồ truyền nhận dữ liệu ở chế độ 0

H ình 2.24. Giản đồ truyền nhận dữ liệu ở chế độ 2 và 3

Hình 2.25. Dùng Timer 1, 2 cung cấp tốc độ baud cho cổng nối tiếp

Hình 2.26. Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp (TCLK=RCLK=0)

Hình 2.27. Dùng Timer 1 cung cấp tốc độ baud cho cổng nối tiếp 2.7.3.3. Chế độ 2

Ở chế độ 2, cổng nối tiếp hoạt động như một bộ UART 9 bit, một khung truyền sẽ gồm 11 bit, trong đó bắt đầu là bit start, tiếp theo là 8 bit dữ liệu, tiếp theo là bit dữ liệu thứ 9 (là bit TB8 nếu là khung truyền, là bit RB8 nếu là khung nhận), cuối cùng là bit stop. Chế độ này thường được dùng khi cần chèn thêm bit kiểm tra chẵn lẻ vào trong khung truyền để giảm bit lỗi đường truyền.

Hình 2.28. Tốc độ baud của chế độ 2 2.7.3.4. Chế độ 3

Chế độ 3 là sự kết hợp của chế độ 1 và chế độ 2, nghĩa là cổng nối tiếp hoạt động như là một UART 9 bit và tốc độ baud của UART là thay đổi giống như chế độ 1.

PHẦN III: NỘI DUNG THIẾT KẾ

CHƯƠNG I: GIỚI THIỆU CÁC MODUL VÀ CÁC LINH KIỆN DÙNG TRONG MẠCH

1. KHỐI NGUỒN

Hình 3.1. Sơ đồ khối nguồn

Cung cấp nguồn nuôi 5V cho toàn mạch.

2. KHỐI GHÉP NỐI VỚI MÁY TÍNH QUA CỔNG COM

2.1. Cổng nối tiếp (COM)

Cổng nối tiếp là một giao diện rất phổ biến trên máy tính, cổng này có tên gọi khác là cổng COM. Nó được sử dụng khá rộng rãi và thuận tiện cho việc ghép nối máy tính với thiết bị ngoài. Khoảng cách truyền của cổng nối tiếp được cải thiện hơn so với cổng song song do mức chênh lệch điện áp là khá lớn.

Việc truyền dữ liệu qua cổng COM được tiến hành theo cách nối tiếp. Nghĩa là các bit dữ liệu được truyền đi nối tiếp nhau trên một đường dẫn. Loại truyền này có khả năng dùng cho những ứng dụng có yêu cầu truyền khoảng cách lớn hơn, bởi vì các khả năng gây nhiễu là nhỏ đáng kể hơn khi dùng một cổng song song (cổng máy in).

Cổng COM không phải là một hệ thống bus nó cho phép dễ dàng tạo ra liên kết dưới hình thức điểm với điểm giữa hai máy cần trao đổi thông tin với nhau, một thành viên thứ ba không thể tham gia vào cuộc trao đổi thông tin này.

Sơ đồ chân cổng COM.

Hình 3.3. Sơ đồ chân của cổng COM

Ý nghĩa các chân tín hiệu:

- Chân 1 (DCD) : Tín hiệu phát hiện mang dữ liệu. - Chân 2 (RxD) : Nhận dữ liệu.

- Chân 3 (TxD) : Truyền dữ liệu.

- Chân 4 ( DTR) : Dữ liệu cuối sẵn sàng. - Chân 5 ( GND) : Nối đất.

- Chân 7 ( RTS) : Tín hiệu yêu cầu gửi.

- Chân 8 ( CTS) : Tín hiệu yêu cầu xóa để gửi tiếp. - Chân 9 ( RI) : Ring Indicator.

2.2. IC MAX232

Bộ vi điều khiển AT89S52 có khả năng giao tiếp với thế giới bên ngoài thông qua cổng nối tiếp. Vấn đề trở ngại duy nhất khi giao tiếp với máy tính là mức logic ở bộ vi điều khiển và ở cổng COM của máy tính khác nhau, cụ thể như sau:

Bảng 3.1. So sánh điện áp của các mức logic giữa RS232 và TTL

Đối tượng Mức logic Mức điện áp tương ứng

Cổng COM 1 -12V đến -3V

0 +3V đến +12V

Vi điều khiển 1 +5V

0 0V

Khắc phục vấn đề này, người ta sử dụng vi mạch MAX232 để chuyển đổi mức điện áp giữa hai chuẩn. Vi mạch này có chứa hai bộ chuyển đổi mức logic từ TTL sang RS232 và ngược lại.

Hình 3. 4. Sơ đồ chân và hình ảnh thực tế của MAX 232 3. KHỐI VI ĐIỀU KHIỂN

Hình 3.5. Sơ đồ khối vi điều khiển 3.1.Mạch tạo dao động

Hình 3.6. Sơ đồ mạch tạo dao động của 8051

AT89S52 có một bộ chia tần bên trong chip, bộ này sẽ cấp xung clock cho các khối trên chip từ nguồn dao động bên ngoài qua 2 chân XTAL1 và XTAL2 .

Bộ chia tần có thể hoạt động ở hai chế độ :

- Chế độ X1: ( chế độ mặc định): Ở chế độ này tần số thạch anh được chia 12 lần, nghĩa là một lệnh được thực hiện trong một chu kì máy và tần số thạch anh là 12 MHz thì thời gian thực hiện lệnh đó sẽ là 12 (us).

- Chế độ X2: Ở chế độ này tần số thạch anh được chia 6 lần , chế độ này được đặt bằng cách đặt các bit ở thanh ghi CLKCON0 và thanh ghi CLKCON1.

3.2. Mạch reset

Hình 3.7. Sơ đồ mạch reset của 8051

Có 4 cách để reset AT89S52 lần lượt là: reset khi cấp nguồn, reset bởi WDT, reset bằng phần mềm, reset bằng mạch ngoài qua chân RST.

Trong một hệ thống gồm nhiều vi mạch khả trình thì một mạch reset tích hợp cả 2 cách reset khi bật nguồn và reset bởi mạch ngoài thường được sử dụng.

4. KHỐI QUÉT LED MA TRẬN 8x8

4.1. IC 74HC595

74HC595 là IC ghi dịch 8bit kết hợp chốt dữ liệu. Đầu vào nối tiếp, đầu ra song song.

Chức năng: Thường dùng trong các mạch quét led 7 đoạn, led matrix… để tiết kiệm số chân VĐK tối đa. Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà không IC nào có thể làm được bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau.

Sơ đồ chân IC 74HC595

Hình 3.9. Sơ đồ chân và hình ảnh thực tế của IC 74HC595

Giải thích ý nghĩa hoạt động của một số chân quan trọng:

- Chân 14: Đầu vào dữ liệu nối tiếp. Tại một thời điểm xung clock chỉ đưa vào được 1 bit.

- QA=>QH: Trên các chân (15,1,2,3,4,5,6,7): Xuất dữ liệu khi chân 13 tích cực ở mức thấp và có một xung tích cực ở sườn âm tại chân chốt 12.

- Chân 13: Chân cho phép tích cực ở mức thấp (0). Khi ở mức cao tất cả các đầu ra của 74HC595 trở về trạng thái cao trở, không có đầu ra nào được cho phép.

- Chân 9: Chân dữ liệu nối tiếp. Nếu dùng nhiều 74HC595 mắc nối tiếp nhau thì chân này đưa vào đầu vào con tiếp theo khi đã dịch đủ 8bit.

- Chân 11: Chân vào xung clock. Khi có 1 xung clock tích cực ở sườn dương thì một bit được dịch vào IC.

- Chân 12: Xung clock chốt dữ liệu. Khi có 1 xung clock tích cực ở sườn dương thì cho phép xuất dữ liệu trên các chân output.

- Chân 10: Khi chân này ở mức thấp (0) thì dữ liệu sẽ bị xóa trên chip.

4.2. LED MATRIX 8X8

4.2.1. Sơ đồ nguyên lý của ma trận led 8x8

Hình 3.10. Sơ đồ chân và hình ảnh thực tế của Led Matrix 8x8

Các led trên cùng một hàng được nối chân dương với nhau. Các led trên cùng một cột được nối chân âm với nhau.

Trạng thái của mỗi led được quyết định bởi tín hiệu điện áp 5v đưa vào đồng thời cả 2 chân.

VD : Để led sáng thì điện áp 5v phải đưa vào chân dương còn chân âm nối mass. Led tắt thì không có điện áp nối vào chân dương.

4.2.2. Cách quét LED ma trận 8x8

Tại một thời điểm thì chỉ có trạng thái của một điểm ảnh được xác định. Để xác định các trạng thái và địa chỉ điểm ảnh tiếp theo thì các điểm ảnh còn lại sẽ

chuyển về trạng thái tắt( led đang sáng sẽ chuyển về trạng thái tắt dần ). Vì thế hiển thị được toàn bộ hình ảnh của ma trận led ta có thể quét ma trận led nhiều lần với tốc độ quét rất lớn( lớn hơn nhiều lần thời gian kịp tắt của đèn).

Mắt người chỉ nhận biết được tối đa 24 hình/s. Do đó nếu tốc độ quét rất lớn thì sẽ không nhận ra được sự thay đổi của đèn mà sẽ thấy được toàn bộ hình ảnh cần hiển thị.

5. KHỐI GIAO TIẾP LCD

Hình 3.11. Sơ đồ khối giao tiếp LCD

LCD được sử dụng trong đề tài là loại hiển thị kí tự ( character LCD) kích cỡ 16x2. Mỗi kí tự được tạo bởi một ma trận các điểm sáng kích thước 5x7 hoặc 5x10.

5.1. Ý nghĩa các chân của LCD hiển thị ký tự

Hầu hết các module LCD hiển thị ký tự được thiết kế dựa trên bộ điều khiển HD 44780 của Hitachi nên chúng có tập lệnh và chân tương thích nhau.

Bảng 3.2. Bảng chức năng các chân của module LCD có tối đa 80 ký tự

Chân số Ký Hiệu Mức Logic I/O Chức năng

1 Vss - - Nguồn cung cấp (GND)

2 Vcc - - Nguồn cung cấp (+5V)

3 Vee - I Điện áp vào để điều chỉnh độ

tương phản

4 RS 0/1 I Lựa chọn thanh ghi

0= Thanh ghi lệnh 1= Thanh ghi dữ liệu

5 R/W 0/1 I 0= Ghi vào LCD module

1= Đọc từ LCD module

6 E 1.1 →0 I Tín hiệu cho phép

7 DB0 0/1 I/O Data bus line 0 (LSB)

8 DB1 0/1 I/O Data bus line 1

9 DB2 0/1 I/O Data bus line 2

10 DB3 0/1 I/O Data bus line 3

11 DB4 0/1 I/O Data bus line 4

12 DB5 0/1 I/O Data bus line 5

13 DB6 0/1 I/O Data bus line 6

14 DB7 0/1 I/O Data bus line 7 (MSB)

5.2. Nguyên tắc hiển thị ký tự trên LCD

1. Xóa toàn bộ màn hình. 2. Đặt chế độ hiển thị.

3. Đặt vị trí con trỏ ( Nơi bắt đầu của ký tự hiển thị). 4. Hiển thị ký tự.

Các bước 3 và 4 có thể được lặp đi lặp lại nhiều lần nếu cần hiển thị nhiều ký tự .

Mỗi khi thực hiện ghi lệnh hoặc ghi dữ liệu hiển thị lên LCD đều phải kiểm tra cờ bận. Tuy nhiên có một số loại LCD không cho phép kiểm tra cờ bận vì vậy bộ VĐK cần phải chủ động phân phối thời gian khi ra lệnh cho LCD.

Chế độ hiển thị mặc định sẽ là hiển thị dịch, vị trí con trỏ mặc định sẽ là đầu dòng thứ nhất.

Để điều khiển hoạt động của LCD nên sử dụng Port 2 hoặc Port 1 cho việc xuất nhập dữ liệu. Các chân tạo tín hiệu điều khiển RS, RW, EN_LCD có thể chọn tùy ý trong các chân của Port còn lại.

6. KHỐI ADC0804

Hình 3.13. Sơ đồ khối chuyển đổi A/D

Thực hiện chuyển đổi tín hiệu tương tự thành tín hiệu số.  ADC0804

Chíp ADC 0804 là bộ chuyển đổi tương tự sang số thuộc họ ADC 0800 từ hãng National Semiconductor. Nó cũng được nhiều hãng khác sản xuất, làm việc với +5V và có độ phân giải là 8 bít. Ngoài độ phân giải thì thời gian chuyển đổi cũng là một yếu tố quan trọng khác khi đánh giá một bộ ADC. Thời gian chuyển đổi được định nghĩa như là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số nhị phân. Trong ADC 0804 thời gian chuyển đổi thay đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK và CLK IN nhưng không thể nhanh hơn 110s.

Sơ đồ chân và chức năng các chân của IC ADC0804

Hình 3.14. Sơ đồ chân và hình ảnh thực tế của IC ADC0804

- Chân - chọn chíp: Là một đầu vào tích cực mức thấp được sử dụng để kích hoạt chíp ADC 8004. Để truy cập ADC 8004 thì chân này phải ở mức thấp.

- Chân (đọc): Đây là một tín hiệu đầu vào được tích cực mức thấp. Các bộ ADC chuyển đổi đầu vào tương tự thành số nhị phân tương đương với nó và giữ nó trong một thanh ghi trong. được sử dụng để nhận dữ liệu được chuyển đổi ở đầu ra của ADC 8004. Khi CS = 0 nếu một xung cao xuống thấp được đưa đến chân thì đầu ra số 8 bít được hiển diện ở các chân dữ liệu D0 - D7. Chân cũng

Một phần của tài liệu Thiết kế bộ KIT thực hành vi điều khiển 8051 (Trang 49)