USART đồng bộ.

Một phần của tài liệu đồ án tốt nghiệp đếm và phân loại sản phẩm (Trang 27 - 33)

USART đồng bộ được kích hoạt bằng cách set bit SYNC và chỉ hoạt động kiểu bán song công (half-duplex). Cổng giao tiếp vẫn là chân RC7/RX/DT và RC6/TX/CK và được cho phép bởằng cách set bit SPEN. USART đồng bộ có 2 chế độ hoạt động là Master được chọn bằng cách set bit CSRC TXSTA<7> và Slave được chọn bằng cách xóa bit CSRC TXSTA<7>. Điểm khác biệt duy nhất giữa hai

chế độ này là ở chế độ Master sẽ lấy xung clock từ bộ tạo xung baud BRG còn chế độ Slave thì lấy xung clock từ bên ngoài qua chân RC6/TX/CK.

Các thanh ghi liên quan tới quá trình truyền nhận dữ liệu bằng USART:

- Thanh ghi INTCON (địa chỉ 0Bh, 8Bh,10Bh, 18Bh): cho phép tất cả các ngắt.

- Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF.

- Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE.

- Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữ liệu (chân RC7/RX/DT và RC6/TX/CK).

- Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền.

- Thanh ghi TXSTA (địa chỉ 98h): thanh ghi xác lập thông số cho việc truyền.

- Thanh ghi SPBRG (địa chỉ 99h): xác định tốc độ baud.

2.2.7 I2C

PIC16F877A có bộ giao tiếp đồng bộ MSSP (Master Synchronous Serial Port). Bộ giao tiếp này họat động theo 2 kiểu là SPI (Serial Peripheral Interface) và I²C.

Bộ MSSP ở kiểu I2C có thể hoạt động ở dạng chủ (Master) và tớ (Slave), sử dụng chân RC3/SCK/SCL làm chân Serial clock (SCL) và chân RC4/SDI/SDA làm chân Serial data (SDA). Ta phải cài đặt chế độ xuất nhập cho hai chân này ở thanh ghi TRISC <4:3>.

Giao tiếp I2C sử dụng 6 thanh ghi trong PIC16F877A là:

- MSSP Control Register (SSPCON): điều khiển MSSP.

- MSSP Control Register 2 (SSPCON2): điều khiển MSSP.

- MSSP Status Register (SSPSTAT): chứa trạng thái hoạt động của MSSP.

- Serial Receive/Transmit Buffer Register (SSPBUF): bộ đệm.

- MSSP Address Register (SSPADD): chứa địa chỉ giao diện MSSP. Thanh ghi SSPCON, SSPCON2 cho phép đọc và ghi. Thanh ghi SSPSTAT chỉ cho đọc và ghi ở 2 bit đầu.

Thanh ghi SSPBUF chứa dữ liệu truyền nhận và là thanh ghi đệm cho thanh ghi SSPSR.

Thanh ghi SSPADD chứa địa chỉ của thiết bị ngoại vi cần truy xuất dữ liệu của I2C khi hoạt động ở slave mode. Ở master mode, thanh ghi SSPADD chứa giá trị tạo ra tốc độ baud cho xung clock dùng cho truyền nhận.

Bộ MSSP hoạt động khi bit cho phép SSPEN (SSPCON<5>) được set, bốn bit cuối của thanh ghi SSPCON dùng để chọn chế độ hoạt động cho I2C là:

- I2C Master mode, clock = OSC/4 (SSPADD + 1)

- I2C Slave mode (7-bit địa chỉ)

- I2C Slave mode (10-bit địa chỉ)

- I2C Slave mode (7-bit địa chỉ) với cho phép ngắt do start và stop bit.

- I2C Slave mode (10-bit địa chỉ) với cho phép ngắt do start và stop bit.

- I2C Firmware Controlled Master mode.

2.2.8 Ngắt.

PIC16F877A có 15 nguồn ngắt được điều khiển bởi thanh ghi INTCON, ngoài ra mỗi ngắt còn được điều khiển bởi một bit cho phép và cờ ngắt riêng. Các cờ ngắt vẫn hoạt động bình thường khi thỏa mãn điều kiện ngắt, không phụ thuộc vào các bit cho phép.

Hình2.2.13 :Sơ đồ logic của tất cả các ngắt trong PIC16F877A.

- Ngắt trên chân INT - Ngắt tràn Timer 0 - Ngắt tràn Timer 1 - Ngắt tràn Timer 2

- Ngắt thay đổi trạng thái các chân trên Port B - Ngắt so sánh điện thế

- Ngắt Port song song - Ngắt USART

- Ngắt nhận dữ liệu - Ngắt truyền dữ liệu

- Ngắt chuyển đổi A/D - Ngắt màn hình LCD

- Ngắt hòan tất ghi EEPROM - Ngắt moduleCCS

- Ngắt module SSP.

Bit điều khiển của ngắt RB0/INT nằm trong thanh ghi INTCON, thanh ghi này còn chứa bit cho phép ngắt toàn cục GIE (Global Interrupt Enable) INTCON<7> , bit cho phép ngắt ngoại vi PEIE (Peripheral Interrupt Enable) INTCON<6>. Bit điều khiển các ngắt khác nằm trong thanh ghi PIE1 và PIE2, cờ ngắt nằm trong thanh ghi PIR1 và PIR2. Trong một thời điểm chỉ có 1 chương trình ngắt được thực thi, chương trình ngắt kết thúc bằng lệnh RETFIE (Return from

Interrupt) để trở về chương trình chính.

Khi chương trình ngắt được thực thi, bit GIE tự động được xóa, địa chỉ tiếp theo của chương trình chính được cất vào stack và bộ đếm chương trình chỉ đến địa chỉ 0004h. Khi lệnh RETFIE được thực thi thì bit GIE được tự động set để tiếp tục cho phép các ngắt.

Trước khi thực thi chương trình ngắt, nội dung một số thanh ghi SFR như là STATUS, PCLATH cần được lưu lại và nạp lại các nội dung đó sau khi thực thi xong chương trình ngắt. Ta phải làm như vậy vì trong khi thực hiện chương trình ngắt, nội dung các thanh ghi này có thể thay đổi và khi trở vể chương trình chính, chương trình chính có thể hoạt động không chính xác.

Bên cạnh đó mỗi ngắt còn có một bit điều khiển và cờ ngắt riêng. Các cờ ngắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt xảy ra bất chấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt vẫn phụ thuôc vào bit GIE và các bit điều khiển khác. Bit điều khiển ngắt RB0/INT và TMR0 nằm trong thanh ghi

INTCON, thanh ghi này còn chứa bit cho phép các ngắt ngoại vi PEIE. Bit điều khiển các ngắt nằm trong thanh ghi PIE1 và PIE2. Cờ ngắt của các ngắt nằm trong thanh ghi PIR1 và PIR2.

Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chương trình ngắt được kết thúc bằng lệnh RETFIE. Khi chương trình ngắt được thực thi, bit GIE tự động được xóa, địa chỉ lệnh tiếp theo của chương trình chính được cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h. Lệnh RETFIE được dùng để thoát khỏi chương trình ngắt và quay trở về chương trình chính, đồng thời bit GIE cũng sẽ được set để cho phép các ngắt hoạt động trở lại. Các cờ hiệu được dùng để kiểm tra ngắt nào đang xảy ra và phải được xóa bằng chương trình trước khi cho phép ngắt tiếp tục hoạt động trở lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt xảy ra.

Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi trạng thái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt nào xảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời đểm xảy ra ngắt.

3.1 ĐIỆN TRỞ

Điện trở là một linh kiện điện tử được dùng rất phổ biến trong công nghiệp điện và điện tử, trị số từ 1 ohm tới hàng chục M ohm.

Một phần của tài liệu đồ án tốt nghiệp đếm và phân loại sản phẩm (Trang 27 - 33)

Tải bản đầy đủ (DOCX)

(144 trang)
w