1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

hoạt động của cổng nối tiếp tỏng 8051

31 188 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 539,74 KB

Nội dung

GV LÊ TIẾN DŨNG Bộ môn Tự ñộng hóa – Khoa ðiện Trường ðại học Bách khoa – ðại học ðà Nẵng Email: ltdung@udn.vn CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP NỘI DUNG CHƯƠNG 1.Cơ sở truyền tin nối tiếp 2.Các ghi dùng truyền thông nối tiếp 8051 3.Lập trình truyền thông nối tiếp cho 8051 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Cơ sở truyền tin nối tiếp Máy tính thường truyền liệu theo phương pháp: song song nối tiếp Truyền liệu song song thường dùng nhiều ñường dây dẫn cách xa vài met Phương pháp cho phép truyền liệu với tốc ñộ cao nhờ dùng nhiều dây dẫn ñể truyền liệu ñồng thời, khoảng cách truyền bị hạn chế GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Cơ sở truyền tin nối tiếp ðể truyền liệu ñi xa thường dùng phương pháp truyền nối tiếp, phương pháp truyền liệu theo bit ðể truyền tin nối tiếp, người ta sử dụng ñường liệu thay cho bus liệu bit truyền tin song song Nhờ không làm giá thành hạ nhiều mà mở khả ñể máy tính cách xa truyền thông với GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Cơ sở truyền tin nối tiếp Truyền tin có phương pháp: ðồng dị Phương pháp ñồng chuyển lần khối liệu (các ký tự), phương pháp dị truyền byte Bộ vi ñiều khiển 8051 ñược xây dựng sẵn thu phát dị tổng hợp UART (Universal Asynchronous Receiver Transmitter) GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Cơ sở truyền tin nối tiếp - Truyền ñơn công: Máy phát có phát liệu, bên máy thu có thu liệu - Truyền song công: Mỗi bên ñều vừa phát, vừa thu liệu Truyền song công có loại: song công hoàn toàn bán song công + Bán song công: Tại thời ñiểm liệu truyền chiều + Song công hoàn toàn: Dữ liệu truyền hai chiều ñồng thời GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Truyền thông nối tiếp không ñồng Dữ liệu tới ñầu thu ñường truyền tín hiệu nối tiếp ðể xác ñịnh ñược nội dung liệu ñầu phát ñầu thu phải có quy tắc thống gọi giao thức (Protocol) Giao thức ñó quy ñịnh: Dữ liệu ñược xếp nào, có bit tạo thành kí tự, bắt ñầu kết thúc liệu, GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP ðịnh khung liệu Ở phương pháp không ñồng bộ, kí tự ñược bố trí vào bit khởi ñộng bit dừng, người ta gọi cách thức ñịnh khung (frame) Bit khởi ñộng có bit, bit dừng có bit Bit khởi ñộng có giá trị (mức thấp), bit dừng có giá trị cao (mức 1) GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP ðịnh khung liệu GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP ðịnh khung liệu Trên hình vẽ khung truyền ký tự "A" mã ASCII, có mã Hexa 41H, mã nhị phân truyền ñi 0100 0001, ñược ñịnh khung bit khởi ñộng bit dừng Trình tự truyền ký tự bắt ñầu với bit khởi ñộng, bit có trọng số nhỏ D0, tiếp bit lại cho ñến bit có trọng số lớn D7, cuối bit dừng ñể báo ñã kết thúc ký tự "A" 10 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Thanh ghi SCON Trong chế ñộ trên, quan tâm ñến chế ñộ Ở chế ñộ 1, liệu ñược ñịnh khung gồm bit liệu, bit Start, bit Stop ñể tương thích với cổng COM IBM PC máy tính khác Chế ñộ cho phép tốc ñộ baud thay ñổi Timer 8051 thiết lập 17 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Thanh ghi SCON 18 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Thanh ghi SCON REN Là bit cho phép thu (Receive Enable), bit SCON.4 Khi bit REN mức cao cho phép 8051 nhận liệu chân RxD Như vậy, muốn 8051 vừa phát vừa thu liệu bit REN phải ñược ñặt lên Nếu REN = thu bị khóa 19 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Thanh ghi SCON TI RI Cờ ngắt phát (Transmit Interrupt) cờ ngắt thu (Receive Interrupt) ðây bit cờ quan trọng ghi SCON Khi 8051 kết thúc việc phát ký tự 8-bit cờ TI ñược bật ñể báo vi ñiều khiển sẵn sàng phát byte Bit TI ñược bật bắt ñầu bit Stop (truyền xong) 20 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Thanh ghi SCON Khi 8051 nhận ñược liệu nối tiếp qua chân RxD tiến hành tách bit Start Stop ñể lấy bit liệu ñặt vào ghi SBUF Sau trình hoàn tất, cờ RI ñược bật ñể báo vi ñiều khiển ñã nhận ñược byte cần phải ñược cất ñi chỗ khác không bị Cờ RI ñược set ñang tách bit Stop (ngay vừa nhận xong) 21 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Lập trình truyền thông nối tiếp cho 8051 Tốc ñộ baud ðể thực truyền liệu lỗi máy tính PC hệ 8051 tốc ñộ baud hệ 8051 phải phù hợp với tốc ñộ baud cổng COM máy tính PC Tốc ñộ baud cổng COM: 100, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 Quan hệ tần số thạch anh Tốc ñộ baud 8051 chu kỳ máy 12 chu kỳ dao ñộng thạch anh Vậy tần số chu kỳ máy 1/12 tần số dao ñộng thạch anh Nếu XTAL = 11,0592MHz tần số chu kỳ máy là: 11,0592MHz : 12 = 921,6kHz 22 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Lập trình truyền thông nối tiếp cho 8051 Quan hệ tần số thạch anh Tốc ñộ baud 8051 Mạch UART truyền nối tiếp 8051 lại chia tần số chu kỳ máy cho 32 lần trước ñưa ñến Timer ñể tạo tốc ñộ baud Do vậy, 921,6kHz : 32 = 28,8kHz tần số ñược dùng ñể xác ñịnh tốc ñộ baud 23 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Lập trình truyền thông nối tiếp cho 8051 Muốn Timer ñặt tốc ñộ baud phải ñược lập trình mode 2, ñó chế ñộ 8-bit tự ñộng nạp lại ðể có tốc ñộ baud tương thích với PC ta phải nạp TH1 theo giá trị cho bảng sau ñây 24 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP a) Trình tự lập trình 8051 truyền liệu nối tiếp 1- Nạp vào ghi TMOD giá trị 20H: Sử dụng ñịnh thời Timer 1, mode (tự ñộng nạp lại bit) 2- Nạp giá trị bảng cài ñặt tốc ñộ baud cho ghi TH1 ñể thiết lập tốc ñộ baud truyền nối tiếp (XTAL=11,0592MHz) 3- Nạp vào ghi SCON giá trị 50H: Chọn chế ñộ nối tiếp Mode 1, ñịnh khung 8-bit data, Start, Stop 4- Bật TR1=1 khởi ñộng Timer 5- Ghi byte ký tự cần truyền vào SBUF 6- Xóa cờ TI (CLR TI) kết thúc truyền 25 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Ví dụ Truyền liên tục chữ "YES" với tốc ñộ 9600 baud giải MOV MOV MOV SETB AGAIN: MOV ACALL MOV ACALL MOV ACALL SJMP TRANS: MOV HERE: JNB CLR RET TMOD,#20 TH1,# -3 SCON,#50H TR1 A,#"Y" TRANS A,#"E" TRANS A,#"S" TRANS AGAIN SBUF,A TI,HERE TI ; Timer 1, mode ; Tốc ñộ 9600 baud ; Cho phép thu, mode ; Truyền ký tự Y ; Truyền ký tự E ; Truyền ký tự S ;Tiếp tục lặp lại 26 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP * Trình tự thực 8051 truyền ký tự qua TxD 1- Ghi byte ký tự cần truyền vào SBUF 2- Truyền bit Start 3- Truyền ký tự bit 4- Truyền bit Stop Trong truyền bit Stop bật cờ TI=1 ñể báo ký tự ñã truyền xong vi ñiều khiển sẵn sàng ñể truyền byte Thông qua việc kiểm tra cờ TI kiểm soát việc nạp liệu vào ghi SBUF Nếu nạp byte vào SBUF trước cờ TI ñược bật phần liệu byte trước chưa truyền hết bị Ngay sau truyền xong ký tự (kiểm tra lệnh JNB TI, ) cờ TI cần ñược xóa người lập trình nhờ lệnh "CLR TI" ñể báo byte truyền 27 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Trình tự lập trình 8051 nhận liệu nối tiếp 1- Nạp giá trị 20H vào TMOD: Chọn Timer 1, mode (8-bit auto reload) 2- Nạp tốc ñộ baud vào TH1 (XTAL = 11,0592MHz) 3- Nạp giá trị 50H vào ghi SCON: Chọn mode (ñịnh khung 8-bit data, Start, Stop), cho phép nhận 4- Bật TR1 = ñể khởi ñộng Timer 5- Bit cờ RI ñược kiểm tra lệnh "JNB RI,xx" ñể xác ñịnh xem toàn ký tự ñã ñược nhận chưa 6- Khi RI ñược thiết lập SBUF ñã có byte Nội dung cần ñược lưu vào nơi an toàn 7- Xóa cờ ngắt RI lệnh "CLR RI" 8- Quay trở bước ñể nhận ký tự 28 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Ví dụ Lập trình cho 8051 ñể nhận byte liệu nối tiếp ñặt chúng vào cổng P1 Tốc ñộ baud 4800, bit liệu bit Stop Giải MOV MOD MOV SETB HERE: JNB MOV MOV CLR SJMP TMOD,#20H TH1,# -6 SCON,#50H TR1 RI, HERE A,SBUF P1,A RI HERE ; Timer 1, mode ; Tốc ñộ 4800 ; Cho phép thu, mode UART ; Khởi ñộng Timer ; ðợi nhận hết toàn ký tự ; Cất ký tự vào ghi A ; Gửi cổng P1 ; Xóa cờ RI ñể sẵn sàng nhận ký tự tiếp ; Tiếp tục nhận liệu 29 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP * Trình tự thực 8051 nhận ký tự qua RxD 1- Nhận bit Start báo bit sau ñó bit liệu ñầu tiên cần nhận 2- Ký tự 8-bit ñược nhận bit Khi bit cuối ñược nhận hình thành byte ñược ñặt vào SBUF 3- Ngay nhận ñược bit Stop 8051 bật RI=1 ñể báo toàn ký tự ñã ñược nhận xong cần ñược cất ñi trước có byte nhận ghi ñè lên Thông qua việc kiểm tra trạng thái cờ RI=1 mà ta xác ñịnh ñược ký tự ñã ñược nhận nằm SBUF Cần lại nội dung SBUF vào nơi an toàn số ghi hay nhớ trước bị Sau nội dung SBUF ñược cất vào nơi an toàn cờ RI cần ñược xóa người lập trình lệnh "CLR RI" ñể cho phép chuyển vào SBUF ký tự vừa nhận ñược Nếu không thực bước ký tự bị 30 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 THANK YOU ! SEE YOU IN NEXT CHAPTER 31 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 [...]... DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP 3 Lập trình truyền thông nối tiếp cho 8051 Tốc ñộ baud ðể thực hiện truyền dữ liệu không có lỗi giữa máy tính PC và hệ 8051 thì tốc ñộ baud của hệ 8051 phải phù hợp với tốc ñộ baud của cổng COM máy tính PC Tốc ñộ baud của cổng COM: 100, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 Quan hệ giữa tần số thạch anh và Tốc ñộ baud của 8051 1 chu kỳ máy bằng... 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP 2 Các thanh ghi dùng trong truyền thông nối tiếp của 8051 a) Thanh ghi SBUF SBUF là thanh ghi 8-bit ñược dùng cho truyền thông nối tiếp của 8051 ðể byte dữ liệu ñược truyền qua ñường TxD thì cần ñặt dữ liệu trong thanh ghi SBUF Tương tự, SBUF lưu một byte dữ liệu khi nó ñược nhận qua ñường RxD của 8051 SBUF có thể ñược mọi thanh ghi của 8051 truy cập MOV SBUF,#"A"... 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Chuẩn RS232 cổng DB-9 Kết nối ñơn giản nhất giữa PC và bộ Vi ñiều khiển qua RS232 yêu cầu tối thiểu những chân sau: 12 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Nối ghép 8051 với RS232 13 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT... của thạch anh Vậy tần số của chu kỳ máy bằng 1/12 tần số của dao ñộng thạch anh Nếu XTAL = 11,0592MHz thì tần số chu kỳ máy là: 11,0592MHz : 12 = 921,6kHz 22 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP 3 Lập trình truyền thông nối tiếp cho 8051 Quan hệ giữa tần số thạch anh và Tốc ñộ baud của 8051 Mạch UART truyền nối tiếp. .. of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP 2 Các thanh ghi dùng trong truyền thông nối tiếp của 8051 a) Thanh ghi SBUF Khi byte dữ liệu ñược ghi vào thanh ghi SBUF thì byte sẽ ñược ñịnh khung dữ liệu với bit Start và Stop và ñược truyền nối tiếp qua chân TxD Tương tự như vậy, khi các bit ñược nhận nối tiếp từ RxD thì 8051 mở khung, loại trừ các bit Start và Stop ñể... Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP 2 Các thanh ghi dùng trong truyền thông nối tiếp của 8051 b) Thanh ghi SCON Thanh ghi ñiều khiển nối tiếp ðịnh ñịa chỉ bit SM0 và SM1: Các bit D7 và D6 của thanh ghi SCON, dùng ñể xác ñịnh chế ñộ khung dữ liệu bằng cách xác ñịnh số bit của một ký tự và các bit Start và Stop 16 GV Lê Tiến Dũng Automation... Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Thanh ghi SCON 18 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP b) Thanh ghi SCON REN Là bit cho phép thu (Receive Enable), bit SCON.4 Khi bit REN ở mức cao thì nó cho phép 8051 nhận dữ liệu trên chân RxD Như vậy, nếu muốn 8051 vừa phát vừa thu dữ liệu thì bit... DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP a) Trình tự lập trình 8051 truyền dữ liệu nối tiếp 1- Nạp vào thanh ghi TMOD giá trị 20H: Sử dụng bộ ñịnh thời Timer 1, mode 2 (tự ñộng nạp lại 8 bit) 2- Nạp giá trị trong bảng cài ñặt tốc ñộ baud cho thanh ghi TH1 ñể thiết lập tốc ñộ baud truyền nối tiếp (XTAL=11,0592MHz) 3- Nạp vào thanh ghi SCON giá trị 50H: Chọn chế ñộ nối tiếp Mode 1, ñịnh khung... thì trong SBUF ñã có 1 byte Nội dung của nó cần ñược lưu vào một nơi an toàn 7- Xóa cờ ngắt RI bằng lệnh "CLR RI" 8- Quay trở về bước 5 ñể nhận ký tự tiếp theo 28 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP Ví dụ Lập trình cho 8051 ñể nhận các byte dữ liệu nối tiếp và ñặt chúng vào cổng P1 Tốc ñộ baud là 4800, 8 bit dữ... mode 2 ; Tốc ñộ 4800 ; Cho phép thu, mode 1 của UART ; Khởi ñộng Timer 1 ; ðợi nhận hết toàn bộ ký tự ; Cất ký tự vào thanh ghi A ; Gửi ra cổng P1 ; Xóa cờ RI ñể sẵn sàng nhận ký tự tiếp ; Tiếp tục nhận dữ liệu 29 GV Lê Tiến Dũng Automation Department, Faculty of Electrical Engineering – DUT / 2007 CHƯƠNG 5: HOẠT ðỘNG CỦA CỔNG NỐI TIẾP * Trình tự thực hiện của 8051 khi nhận ký tự qua RxD 1- Nhận bit

Ngày đăng: 30/10/2015, 18:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w