(NB) Giáo trình Kỹ thuật vi điều khiển (Nghề Điện tử dân dụng): Phần 2 do CĐ nghề Vĩnh Long biên soạn nhằm trình bày kiến thức cơ bản về cổng nối tiếp, ngắt và phần mềm hợp ngữ. Để hiểu rõ hơn, mời các bạn tham khảo chi tiết nội dung giáo trình này.
BÀI 5: CỔNG NỐI TIẾP Mục tiêu: - Trình bày cấu tạo chế độ làm việc cổng truyền thông nối nội dung học; - Thực cổng truyền thông nối tiếp yêu cầu kỹ thuật; - Thực thu phát liệu nối tiếp 8051 đạt yêu cầu kỹ thuật Nội dung: Mở đầu Máy tính truyền liệu theo hai phương pháp: truyền liệu song song truyền liệu nối tiếp ❖ Truyền song song: Sử dụng nhiều dây dẫn để truyền liệu thiết bị có khoảng cách gần (khoảng vài mét) Phương pháp cho phép truyền liệu với tốc độ cao nhờ sử dụng nhiều dây dẫn để truyền liệu đồng thời nên thời điểm truyền nhiều bit thông tin khoảng cách truyền có nhiều hạn chế ❖ Truyền nối tiếp: Sử dụng dây dẫn để truyền liệu (một dây phát dây thu về) thiết bị có khoảng cách xa (khoảng vài trăm mét trở lên) Phương pháp truyền liệu với tốc độ chậm (so với phương pháp truyền song song) sử dụng dây dẫn để truyền liệu nên thời điểm truyền bit thông tin khoảng cách truyền khơng bị hạn chế phương pháp song song Chip 8051 có port nối tiếp (serial port) với tính sau: 140 ❖ Lưu ý: Ở trường hợp đặc trưng thứ hai liệu thứ không bị CPU đọc xong liệu thứ trước liệu thứ hai nhận đầy đủ 2.Thanh ghi điều khiển Các ghi chức đặc biệt port nối tiếp: ❖ SBUF (Serial Buffer Register): ghi đệm port nối tiếp ❖ SCON (Serial Control Register): ghi điều khiển port nối tiếp Đại lượng đặc trưng cho tốc độ truyền liệu nhanh hay chậm tốc độ baud (baud rate) hay gọi tần số hoạt động port nối tiếp giá trị cố định hay thay đổi tùy theo yêu cầu người lập trình Khi chế độ tốc độ baud thay đổi sử dụng, định thời cung cấp xung clock tốc độ baud ta phải lập trình cho phù hợp Ở phiên chip 8031/8052, định thời lập trình để cung cấp xung clock tốc độ baud Chế độ làm việc + Thanh ghi SBUF Thanh ghi SBUF (Serial Buffer Register): dùng để lưu giữ liệu cần phát liệu nhận Việc ghi liệu vào ghi SBUF nạp liệu để phát việc đọc liệu từ ghi SBUF truy xuất liệu thu Thanh ghi SBUF bao gồm ghi: Thanh ghi phát (bộ đệm phát): dùng để lưu giữ liệu cần phát Thanh ghi thu (bộ đệm thu): dùng để lưu giữ liệu nhận Cấu trúc ghi SBUF: 141 Ví dụ: Các lệnh ghi liệu vào SBUF đọc liệu từ SBUF MOV SBUF, #45H ;Phát giá trị 45H qua port nối tiếp MOV SBUF, #”D” ;Phát giá trị 44H qua port nối tiếp MOV SBUF, A ;Phát nội dung A qua port nối tiếp MOV A, SBUF ;Đọc liệu thu từ port nối tiếp + Thanh ghi SCON Thanh ghi SCON (Serial Control Register): chứa bit dùng để điều khiển chế độ hoạt động báo trạng thái port nối tiếp Cấu trúc ghi SCON: 142 Các chế độ port nối tiếp: Trước sử dụng port nối tiếp cần phải: Ví dụ: Khởi động port nối tiếp chế độ 1, cho phép port thu liệu từ chân RxD sẵn sàng phát liệu từ chân TxD Giải Ta dùng lệnh: MOV SCON, #52H Giải thích: SM0 = 0, SM1 = → cho phép port hoạt động chế độ REN = → cho phép port nối tiếp phép thu liệu 143 TI = → chuẩn bị port nối tiếp sẵn sàng phát liệu qua chân TxD RI = → chuẩn bị port nối tiếp sẵn sàng thu liệu qua chân RxD 3.1.Thanh ghi dịch bit + Chế độ – Thanh ghi dịch bit: Quá trình phát liệu: ❖ Quá trình khởi động: Ghi liệu cần phát vào SBUF Việc phát liệu bắt đầu: Dữ liệu từ SBUF dịch chân RxD đồng thời với xung clock dịch bit gởi chân TxD (mỗi bit truyền chân RxD chu kỳ máy) 144 ❖ Giản đồ thời gian phát liệu: Quá trình thu liệu: ❖ Quá trình khởi động: Set bit cho phép thu (REN=1) → Xóa cờ ngắt thu (RI=0) Việc thu liệu bắt đầu: Các xung clock dịch bit gởi chân TxD liệu từ thiết bị bên dịch vào chân RxD xung clock dịch bit (việc dịch liệu vào chân RxD xảy cạnh lên xung clock dịch bit) ❖ Giản đồ thời gian thu liệu: Ứng dụng: Một ứng dụng khả thi chế độ (chế độ ghi dịch bit) mở rộng thêm ngõ cho chip 8051 Một vi mạch ghi dịch nối tiếp – song song nối với chân TxD RxD chip 8051 để cung cấp thêm đường xuất (xem hình vẽ bên dưới) Các ghi dịch bit khác ghép cascade với ghi dịch bit để mở rộng thêm 145 3.2 Chế độ UART bit có tốc độ baud thay đổi + Chế độ – UART bit có tốc độ baud thay đổi: Trong chế độ 1, port nối tiếp 8051 hoạt động thu phát khơng đồng bit có tốc độ baud thay đổi (UART -Universal Asynchronous Receiver Transmitter) UART thu phát liệu nối tiếp với ký tự liệu đứng trước bit START (logic 0) đứng sau bit STOP (logic 1) Thỉnh thoảng, bit chẵn lẽ (Parity bit) chèn vào bit liệu sau bit stop Hoạt động chủ yếu UART biến đổi liệu phát từ song song thành nối tiếp biến đổi liệu thu từ nối tiếp thành song song Hình vẽ khng dạng liệu sử dụng chế độ UART: Khuông dạng liệu sử dụng chế độ UART bit: 146 Quá trình phát liệu: ❖ Quá trình khởi động: Ghi liệu cần phát vào SBUF Việc phát liệu bắt đầu: Dữ liệu từ SBUF dịch chân TxD (theo thứ tự: Start bit → bit data (D0 D7) → Stop bit) → cờ TI=1 ❖ Tốc độ baud: người lập trình thiết lập qui định tốc độ tràn Timer ❖ Thời gian bit đường truyền: nghịch đảo tốc độ baud (1 / Baud rate) ❖ Cờ ngắt phát TI = 1: bit stop xuất chân TxD Quá trình thu liệu: ❖ Quá trình khởi động: Một chuyển trạng thái từ mức xuống mức chân RxD (tức xuất bit Start) Việc thu liệu bắt đầu: bit liệu dịch vào SBUF (theo thứ tự: D0→D1→…→D7) → Stop bit (bit thứ 9) đưa vào bit RB8 (thuộc ghi SCON) → cờ RI=1 147 ❖ Tốc độ baud: người lập trình thiết lập qui định tốc độ tràn Timer ❖ Hai điều kiện bắt buộc để thực trình thu liệu trên: • RI = → Yêu cầu có nghĩa chip 8051 đọc xong liệu trước xố cờ RI • (SM2 = Stop bit = 1) SM2 = → áp dụng chế độ truyền thông đa xử lý u cầu có nghĩa khơng set cờ RI chế độ truyền thông đa xử lý bit liệu thứ ❖ Cờ ngắt thu RI = 1: bit liệu nạp vào SBUF Lưu ý: Trường hợp tín hiệu nhiễu xuất đường truyền (làm cho đường truyền xuất mức thấp) dẫn đến làm cho thu nhận dạng sai, cho xuất START bit (logic 0) tiến hành thực q trình thu liệu, từ dẫn đến kết nhận vào không Để tránh điều xảy đường truyền có chuyển trạng thái từ xuống 0, thu yêu cầu mức phải trì đường truyền khoảng thời gian xác định Nếu không đảm bảo thế, thu giả sử nhận nhiễu thay nhận START bit hợp lệ Lúc thu thiết lập lại, quay trạng thái nghỉ chờ chuyển trạng thái từ xuống đường truyền 3.3.UART bit với tốc độ baud cố định (Tương tự UART bit, khác số bit liệu bit) 148 Khuông dạng liệu sử dụng chế độ UART bit: 3.4.Chế độ UART với tốc độ baud cố định + Chế độ – UART bit có tốc độ baud thay đổi: (Tương tự UART bit, khác tốc độ baud thay đổi) Khuông dạng liệu sử dụng chế độ UART bit: Khởi tạo truy suất ghi PORT nối tiếp Trong chế độ truyền liệu nối tiếp 8051 nêu trên thực tế sử dụng, để thực việc thu phát liệu nối tiếp chip 8051 với thiết bị 149 230 231 232 Các điều khiển ASSEMBLER 233 Hoạt động liên kết 234 235 236 MACRO 237 238 239 240 241 Bài tập 242 Giải thích đoạn chương trình sau: Câu hỏi ơn tập 243 TÀI LIỆU THAM KHẢO Họ vi điều khiển 8051, Tống Văn On, NXB Lao động – xã hội Vi xử lý, Nguyễn Đình Phú, trường đại học sư phạm kỹ thuật 244 ... "Z" "0" – "9" Sơ đồ mạch điện mô phỏng: 173 33p X2 TXD P2.0S21 P2.1S 22 P2.2S23 P2.3S24 P2.4S25 P2.5S26 P2.6S27 P2.7S28 RTS CTS 10 11 12 13 14 15 16 17 XTAL2 P2.7S P2.6S P2.5S Q4 R13 Q5 R14 Q6 R15... P2.3S24 P2.4S25 P2.5S26 P2.6S27 P2.7S28 P0.7S RP3 PSEN ALE EA 21 P2.0M 22 P2.1M 23 P2.2M 24 P2.3M 25 P2.4M 26 P2.5M 27 P2.6M 28 P2.7M 19 XTAL1 KEY5 +5V 10K KEY4 +5V KEY3 KEY2 KEY1 +5V KEY0 +5V... 10u C 1- C1+ P3 R2OUT R2IN T2IN R1OUT T1OUT R1IN T1IN JR1 PS2 J78 10 J79 VCC TXD RXD J80 J81 GND 13 11 R83 10K -DATA +DATA USB2-PC U34 MAX2 32 VCC JR2 PS2 USB R84 10K J 82 CLOCK DATA PS2 -2 - PC C43