CHƯƠNG 2– TÌM HIỂU VỀ PIC16F877A
2.10.1.2.2. Nhận Dữ Liệu USART Đồng Bộ MASTER.
Cấu trúc khối truyền là không đổi so với giao diện bất đồng bộ, kể cả các cờ hiệu, ngắt nhận và các thao tác trên các thành phần đó. Điểm khác biệt duy nhất là giao diện này cho phép hai chế độ nhận dữ liệu, đó là chỉ nhận 1 word dữ liệu (Set bit SCEN) hay nhận một chuỗi dữ liệu (Set bit CREN) cho tới khi ta Clear bit CREN. Nếu cả hai bit đều được Set, bit điều khiển CREN sẽ được ưu tiên.
Các bước tiến hành khi nhận dữ liệu băng giao diện USART đồng bộ Master mode:
- Thiết lập tốc độ Baud (đưa giá trị thích hợp vào thanh ghi SPBRG và bit BRGH).
- Cho phép cổng giao tiếp USART bất đồng bộ (Set bit SYNC, SPEN và CSRC).
- Clear bit CREN và SREN.
- Nếu dữ liệu cần truyền nhận có định dạng 9 bit, Set bit RX9
- Nếu chỉ nhận 1 từ Word, Set bit SREN, nếu nhận 1 chuỗi Word dữ liệu, Set bit CREN.
- Sau khi dữ liệu được nhận, bit RCIF sẽ được set và ngắt được kích hoạt (nếu bit RCIE được Set).
- Đọc giá trị thanh ghi RCSTA để đọc bit dữ liệu thứ 9 và kiểm tra xem quá trình nhận dữ liệu có bị lỗi không.
- Đọc 8 bit dữ liệu từ thanh ghi RCREG.
- Nếu quá trình truyền nhận có lỗi xẩy ra, xóa lỗi bằng cách xóa bit CREN.
- Nếu sử dụng ngắt nhận cần Set bit GIE và PEIE (thanh ghi INTCON).
Các thanh ghi liên quan đến quá trình nhận dữ liệu bằng giao diện USART đồng bộ Master mode:
- Thanh ghi INTCON (địa chỉ: 0Bh, 8Bh, 10Bh, 18Bh): chứa các bit cho phép toàn bộ các ngắt (bit GIER và PEIE).
- Thanh ghi PIR1 (địa chỉ: 0Ch): chứa cờ hiệu RCIE.
- Thanh ghi PIE1 (địa chỉ: 8Ch): chứa bit cho phép ngắt RCIE. Thanh ghi RCSTA (địa chỉ: 18h): xác định các trạng thái trong quá trình nhận dữ liệu.
- Thanh ghi RCREG (địa chỉ: 1Ah): chứa dữ liệu nhận được. - Thanh ghi TXSTA (địa chỉ: 98h): chứa các bit điều khiển SYNC
và BRGH.
- Thanh ghi SPBRG (địa chỉ: 99h): điều khiển tốc độ Baud.