Professional Documents
Culture Documents
Bai Giang Tuan 14 15
Bai Giang Tuan 14 15
Hồ Chí Minh
Môn học
Các chân liên quan đến chức năng giao tiếp nối tiếp :
Sơ đồ truyền nhận 8 bit theo giao thức song song và nối tiếp
EUSART
Các thông số cơ bản trong truyền nhận nối tiếp :
Baud rate (tốc độ baud ): để truyền nhận nối tiếp xảy ra thành công thì các thiết bị phải thống nhất với nhau về khoảng
thời gian giành cho một bit truyền, hay nói cách khác là tốc độ truyền phải được cài đặt giống nhau, tốc độ này gọi là
tốc độ baud. Tốc độ baud là số bit truyền trong 1 giây. Ví dụ nếu tốc độ baud là 9600 thì thời gian giành cho một bit
truyền là 1/9600(s).
Frame (khung truyền ) : Khung truyền quy định về số bit trong mỗi lần truyền , các bit báo như start , stop , các bit
kiểm tra như parity , ngoài ra số lượng các bit trong một dữ liệu cũng được quy định bởi khung truyền . Hình trên mô tả
ví dụ về một khung truyền theo UART, khung truyền này được bắt đầu bằng một start bit , tiếp theo là 8 bit, sau đó là
1bit parity dùng để kiểm tra dữ liệu và cuối cùng là 2 bits stop .
Start bit : start bit là bit đầu tiên được truyền trong một frame , bit này có nhiệm vụ báo cho thiết bị nhận biết rằng có
một gói dữ liệu sắp được truyền tới. Start bit là bit bắt buộc phải có trong một khung truyền .
Data : là số dữ liệu mà chúng ta cần phải truyền nhận , data có thể là gói 8 bit hay 9 bit tùy theo yêu cầu truyền nhận
mà ta quy định .Trong truyền thông nối tiếp UART , bit có trọng số nhỏ nhất LSB(Least significant bit ) sẽ được truyền
trước, sau đó bit có trọng số lớn nhất sẽ được truyền sau cùng MSB (Most signnificant bit ).
EUSART
Các thông số cơ bản trong truyền nhận nối tiếp :
Parity bit : parity dùng để kiểm tra dữ liệu truyền có đúng không, có hai loại parity là parity chẳn (event parity )
và parity lẻ (odd parity ) .
Stop bit : stop bit là một hoặc các bit báo cho thiết bị rằng các bit đã được gởi xong. Sau khi nhận được stop bit,
thiết bị nhận sẽ tiến hành kiển ra khung truyền để đảm bảo tính chính xác của dữ liệu. Stop bit là bit bắt buộc
xuất hiện trong khung truyền .
EUSART
Sơ đồ khối bộ truyền UART
EUSART
Dữ liệu cần truyền được đặt vào thanh ghi TXREG, baudrate được tạo ra, khi bit TXEN được gán bằng một, dữ
liệu từ thanh ghi TXREG đi vào thanh ghi TSR đồng thời baud rate tác động đến thanh ghi TSR, đẩy dữ liệu cần
truyền ra bộ điệm, sau đó xuất ra chân TX và đi ra ngoài .
Bit TXIF dùng để báo trạng thái trong thanh ghi TXREG, nếu có dữ liệu trong thanh ghi TXREG thì bít này sẽ có
tín hiệu là 1, ngược lại sau khi dữ liệu đã được truyền xuống thanh ghi TSR thì bít TXIF được xóa về không. Tương
tự như bit TXIF, bit TRMT dùng để báo trạng thái của thanh ghi TSR. Quá trình truyền cũng có thể tạo ra ngắt truyền,
mỗi khi dữ liệu truyền đã kết thúc bằng việc đặt bit TXIF=1.
Ngoải ra bộ truyền còn có thể truyền với chế độ 9 bit bằng việc cho bit TX9 =1, và dữ liệu của bit thứ 9 do bit
TX9D quy định .
EUSART
Thanh ghi quy định chế độ truyền :
Bài 3 : Viết chương trình truyền nhận UART của vi điều khiển với máy tính, hiển thị kết quả lên lcd theo sơ đồ
phần cứng
Yêu cầu : Truyền một chuỗi số (tối đa 5 chữ số xxxxx) từ máy tính xuống vi điều khiển, vi điều khiển hiển thị số vừa
nhận được từ máy tính lên lcd, đồng thời gởi lại máy tính số vừa nhận cộng thêm 10. Thạch anh 4Mhz hoặc 20Mhz,
baud 9600, truyền nhận 8-bit, phần cứng kết nối lcd theo thư viện lcd.h .
EUSART
Bài 4 : Viết chương trình truyền nhận giữa vi điều khiển và máy tinh với các yêu cầu sau :
Máy tính truyền xuống vi điều khiển kí tự ‘S’ , động cơ start.
Máy tính truyền xuống vi điều khiển kí tự ‘P’ , động cơ stop.
Máy tính truyền xuống vi điều khiển kí tự ‘B-xxx’ , động cơ quay thuận, với xxx là độ rộng xung PWM 8 bit .
Máy tính truyền xuống vi điều khiển kí tự ‘F-xxx’ , động cơ quay nghịch, với xxx là độ rộng xung PWM 8 bit .
EUSART
Bài 5 : Viết chương trình truyền nhận giữa máy tính và vi điều khiển với yêu cầu sau : máy tính hiển thị vận tốc
động cơ trên Terminal, baud 9600, Fosc = 4Mhz hoặc 20Mhz.