SlideShare a Scribd company logo
1 of 8
USART
 Universal Synchronous Asynchronous Receiver
Transmitter
 Synchronous:
giao tiếp với các thiết bị ngoại vi như các IC A/D, D/A,
EEPROMs
 Asynchronous:
giao tiếp với máy tính PC
USART trong PIC16F877A
5 thanh ghi quan trọng:
 2 thanh ghi chức năng TXSTA, RCSTA
 2 thanh ghi dữ liệu RCREG, TXREG
 Thanh ghi tốc độ Baud: SPBRG
TXSTA
CSRC: Clock Source Select bit
Chế độ bất đồng bộ: không quan tâm
Chế độ đồng bộ: 1->chế độ Master( clock từ BRG)
0->chế độ Slave( clock từ bên ngoài)
TX9 : 9-bit Transmit Enable bit: chọn chế độ truyền 9 bit: ( =1: 9 bit, =0: 8 bit )
TXEN : Transmit Enable bit
=1: cho phép truyền , =0: cấm
SYNC : USART Mode Select bit
Chọn chế độ truyền đồng bộ hay không đồng bộ( =1: đồng bộ, =0: không đồng bộ )
BRGH : High Baud Rate Select bit
Chỉ hoạt động ở chế độ bất đồng bộ: chọn tốc độ cao hay thấp ( =1 HIGH, =0: LOW )
TRMT : Transmit Shift Register Status bit
bít báo trạng thái của bộ đệm: =1: TSR rỗng( dữ liệu đã được truyền xong ), =0: TSR đầy
( dữ liệu còn trong bộ đệm của UART )
TX9D : 9th bit of Transmit Data, can be Parity bit
giá trị của bít thứ 9 trong chế độ truyền 9 bit.
RCSTA
Bit 7 SPEN Serial Port Enable bit( = 1 Cho phép cổng giao tiếp USART )
Bit 6 RX9 9-bit Receive Enable bit( = 1 nhận 9 bit dữ liệu, = 0 nhận 8 bit dữ liệu)
Bit 5 SREN Single Receive Enable bit
Ỡ chế độ USART bất đồng bộ: bit này không cần quan tâm.
Ở chế độ USART Master đồng bộ:( = 1 cho phép chức năng nhận 1 byte dữ liệu (8 bit hoặc 9 bit))
Bit 4 CREN Continous Receive Enable bit
Ở chế độ bất đồng bộ:( = 1 cho phép nhận 1 chuỗi dữ liệu liên tục)
Ở chế độ đồng bộ:(= 1 cho phép nhận dữ liệu cho tới khi xóa bit CREN, = 0 không cho phép nhận
chuỗi dữ liệu)
Bit 3 ADDEN Address Detect Enable bit
Ở chế độ USART bất đồng bộ 9 bit
ADDEN = 1 cho phép xác nhận địa chỉ, khi bit RSR<8> được set thì ngắt được cho phép thực
thi và giá trị trong buffer được nhận vào.
ADDEN = 0 không cho phép xác nhận địa chỉ, các byte dữ liệu được nhận vào và bit thứ 9 có
thể được sử dụng như là bit parity.
Bit 2 FERR Framing Eror bit( = 1 xuất hiện lỗi “Framing- sai bit Stop” trong quá trình truyền nhận dữ
liệu
Bit 1 OERR Overrun Error bit(= 1 xuất hiện lỗi “Overrun- tràn”)
Bit 0 RX9D
Bit này chứa bit dữ liệu thứ 9 của dữ liệu truyền nhận
TXREG , RCREG , SPBRG
TXREG: chứa dữ liệu truyền đi trong quá trình truyền
RCREG: lưu dữ liệu từ ngoài vào trong quá trình nhận
SPBRG: thiết lập tốc độ baud
(BRGH=0) ( BRGH=1 )
Quá trình truyền và nhận
Quá trình nhận dữ liệu :
Nhận biết lúc nào có dữ liệu truyền tới:
 Kiểu Polling: liên tục kiểm tra cờ RCIF( thanh ghi
PIR1) nếu =1 thì đọc dữ liệu
 Kiểu dùng ngắt: được thiết lập bằng cách cho RCIE=
1 để cho phép ngắt. Tức là mỗi khi có dữ liệu truyền tới
RCREG thì sinh ra một ngắt
1. Khởi tạo tốc độ baud: ở thanh ghi SPBRG.
2. Cho phép quá trình truyền không đồng bộ bắng cách
thiết lập SPEN = 1, SYNC= 0
3. Cho phép ngắt quá trình nhận dữ liệu: RCIE=1
4. Cho phép nhận dữ liệu : CREN = 1
5. Cho phép ngắt toàn cục băng việc GIE =1, PEIE = 1
( GIE, PEIE trong thanh ghi INTCON )
6. Xử lý các phần khác chương trình khi có ngắt xảy ra
thì xử lý dữ liệu
Quá trình truyền và nhận
1. Khởi tạo tốc độ baud: ở thanh ghi SPBRG
2. Cho phép quá trình truyền không đồng bộ bắng
cách thiết lập SPEN = 1, SYNC= 0
3. Cho phép truyền dữ liệu bằng cách thiết lập bít
TXEN = 1
4. Khi cần truyền dữ liệu chỉ cần Load dữ liệu đó lên
TXREG
Quá trình truyền dữ liệu

More Related Content

Viewers also liked

Shanghai mediabook
Shanghai mediabookShanghai mediabook
Shanghai mediabook
C-media
 
Websites for free keek followers
Websites for free keek followersWebsites for free keek followers
Websites for free keek followers
mandy365
 
certify issuing of CoC
certify issuing of CoCcertify issuing of CoC
certify issuing of CoC
Leonid Piven
 

Viewers also liked (9)

International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Proyecto til
Proyecto tilProyecto til
Proyecto til
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Shanghai mediabook
Shanghai mediabookShanghai mediabook
Shanghai mediabook
 
Websites for free keek followers
Websites for free keek followersWebsites for free keek followers
Websites for free keek followers
 
Mamita 2
Mamita 2Mamita 2
Mamita 2
 
certify issuing of CoC
certify issuing of CoCcertify issuing of CoC
certify issuing of CoC
 
Hepatitis B
Hepatitis BHepatitis B
Hepatitis B
 
Trivia Night Questions and Answers
Trivia Night Questions and AnswersTrivia Night Questions and Answers
Trivia Night Questions and Answers
 

Similar to Bai 6

Chương 3 - Tầng liên kết dữ liệu.pptx.pdf
Chương 3 - Tầng liên kết dữ liệu.pptx.pdfChương 3 - Tầng liên kết dữ liệu.pptx.pdf
Chương 3 - Tầng liên kết dữ liệu.pptx.pdf
ZPayDestroy
 
KTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng QuátKTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng Quát
David Nguyen
 

Similar to Bai 6 (14)

Bài 1 ĐO LƯỜNG VÀ ĐIỀU KHIỂN VỚI ARDUINO V2.pdf
Bài 1 ĐO LƯỜNG VÀ ĐIỀU KHIỂN VỚI ARDUINO V2.pdfBài 1 ĐO LƯỜNG VÀ ĐIỀU KHIỂN VỚI ARDUINO V2.pdf
Bài 1 ĐO LƯỜNG VÀ ĐIỀU KHIỂN VỚI ARDUINO V2.pdf
 
Bao cao thuc tap pic18 f4520
Bao cao thuc tap pic18 f4520Bao cao thuc tap pic18 f4520
Bao cao thuc tap pic18 f4520
 
Msptieuluan
MsptieuluanMsptieuluan
Msptieuluan
 
Cau truc phan cung pic16 f8xx
Cau truc phan cung pic16 f8xxCau truc phan cung pic16 f8xx
Cau truc phan cung pic16 f8xx
 
Chương 3 - Tầng liên kết dữ liệu.pptx.pdf
Chương 3 - Tầng liên kết dữ liệu.pptx.pdfChương 3 - Tầng liên kết dữ liệu.pptx.pdf
Chương 3 - Tầng liên kết dữ liệu.pptx.pdf
 
Assembly
AssemblyAssembly
Assembly
 
Vi xu ly_4_2
Vi xu ly_4_2Vi xu ly_4_2
Vi xu ly_4_2
 
Đồ án asembly thiết kế bộ đếm sản phẩm 6 kênh dùng on chip 89c51.doc
Đồ án asembly thiết kế bộ đếm sản phẩm 6 kênh dùng on chip 89c51.docĐồ án asembly thiết kế bộ đếm sản phẩm 6 kênh dùng on chip 89c51.doc
Đồ án asembly thiết kế bộ đếm sản phẩm 6 kênh dùng on chip 89c51.doc
 
Họ vi xử lí 8086 intel
Họ vi xử lí 8086 intelHọ vi xử lí 8086 intel
Họ vi xử lí 8086 intel
 
Vi xu ly_4_2
Vi xu ly_4_2Vi xu ly_4_2
Vi xu ly_4_2
 
KTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng QuátKTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng Quát
 
Chuong2
Chuong2Chuong2
Chuong2
 
Wishbone.pptx
Wishbone.pptxWishbone.pptx
Wishbone.pptx
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 7 truyền thông điểm điểm
Lập trình PLC S7 1200 tiếng Việt-Chuong 7 truyền thông điểm điểmLập trình PLC S7 1200 tiếng Việt-Chuong 7 truyền thông điểm điểm
Lập trình PLC S7 1200 tiếng Việt-Chuong 7 truyền thông điểm điểm
 

Bai 6

  • 1. USART  Universal Synchronous Asynchronous Receiver Transmitter  Synchronous: giao tiếp với các thiết bị ngoại vi như các IC A/D, D/A, EEPROMs  Asynchronous: giao tiếp với máy tính PC
  • 2. USART trong PIC16F877A 5 thanh ghi quan trọng:  2 thanh ghi chức năng TXSTA, RCSTA  2 thanh ghi dữ liệu RCREG, TXREG  Thanh ghi tốc độ Baud: SPBRG
  • 3. TXSTA CSRC: Clock Source Select bit Chế độ bất đồng bộ: không quan tâm Chế độ đồng bộ: 1->chế độ Master( clock từ BRG) 0->chế độ Slave( clock từ bên ngoài) TX9 : 9-bit Transmit Enable bit: chọn chế độ truyền 9 bit: ( =1: 9 bit, =0: 8 bit ) TXEN : Transmit Enable bit =1: cho phép truyền , =0: cấm SYNC : USART Mode Select bit Chọn chế độ truyền đồng bộ hay không đồng bộ( =1: đồng bộ, =0: không đồng bộ ) BRGH : High Baud Rate Select bit Chỉ hoạt động ở chế độ bất đồng bộ: chọn tốc độ cao hay thấp ( =1 HIGH, =0: LOW ) TRMT : Transmit Shift Register Status bit bít báo trạng thái của bộ đệm: =1: TSR rỗng( dữ liệu đã được truyền xong ), =0: TSR đầy ( dữ liệu còn trong bộ đệm của UART ) TX9D : 9th bit of Transmit Data, can be Parity bit giá trị của bít thứ 9 trong chế độ truyền 9 bit.
  • 4. RCSTA Bit 7 SPEN Serial Port Enable bit( = 1 Cho phép cổng giao tiếp USART ) Bit 6 RX9 9-bit Receive Enable bit( = 1 nhận 9 bit dữ liệu, = 0 nhận 8 bit dữ liệu) Bit 5 SREN Single Receive Enable bit Ỡ chế độ USART bất đồng bộ: bit này không cần quan tâm. Ở chế độ USART Master đồng bộ:( = 1 cho phép chức năng nhận 1 byte dữ liệu (8 bit hoặc 9 bit)) Bit 4 CREN Continous Receive Enable bit Ở chế độ bất đồng bộ:( = 1 cho phép nhận 1 chuỗi dữ liệu liên tục) Ở chế độ đồng bộ:(= 1 cho phép nhận dữ liệu cho tới khi xóa bit CREN, = 0 không cho phép nhận chuỗi dữ liệu) Bit 3 ADDEN Address Detect Enable bit Ở chế độ USART bất đồng bộ 9 bit ADDEN = 1 cho phép xác nhận địa chỉ, khi bit RSR<8> được set thì ngắt được cho phép thực thi và giá trị trong buffer được nhận vào. ADDEN = 0 không cho phép xác nhận địa chỉ, các byte dữ liệu được nhận vào và bit thứ 9 có thể được sử dụng như là bit parity. Bit 2 FERR Framing Eror bit( = 1 xuất hiện lỗi “Framing- sai bit Stop” trong quá trình truyền nhận dữ liệu Bit 1 OERR Overrun Error bit(= 1 xuất hiện lỗi “Overrun- tràn”) Bit 0 RX9D Bit này chứa bit dữ liệu thứ 9 của dữ liệu truyền nhận
  • 5. TXREG , RCREG , SPBRG TXREG: chứa dữ liệu truyền đi trong quá trình truyền RCREG: lưu dữ liệu từ ngoài vào trong quá trình nhận SPBRG: thiết lập tốc độ baud (BRGH=0) ( BRGH=1 )
  • 6. Quá trình truyền và nhận Quá trình nhận dữ liệu : Nhận biết lúc nào có dữ liệu truyền tới:  Kiểu Polling: liên tục kiểm tra cờ RCIF( thanh ghi PIR1) nếu =1 thì đọc dữ liệu  Kiểu dùng ngắt: được thiết lập bằng cách cho RCIE= 1 để cho phép ngắt. Tức là mỗi khi có dữ liệu truyền tới RCREG thì sinh ra một ngắt
  • 7. 1. Khởi tạo tốc độ baud: ở thanh ghi SPBRG. 2. Cho phép quá trình truyền không đồng bộ bắng cách thiết lập SPEN = 1, SYNC= 0 3. Cho phép ngắt quá trình nhận dữ liệu: RCIE=1 4. Cho phép nhận dữ liệu : CREN = 1 5. Cho phép ngắt toàn cục băng việc GIE =1, PEIE = 1 ( GIE, PEIE trong thanh ghi INTCON ) 6. Xử lý các phần khác chương trình khi có ngắt xảy ra thì xử lý dữ liệu
  • 8. Quá trình truyền và nhận 1. Khởi tạo tốc độ baud: ở thanh ghi SPBRG 2. Cho phép quá trình truyền không đồng bộ bắng cách thiết lập SPEN = 1, SYNC= 0 3. Cho phép truyền dữ liệu bằng cách thiết lập bít TXEN = 1 4. Khi cần truyền dữ liệu chỉ cần Load dữ liệu đó lên TXREG Quá trình truyền dữ liệu