Cổng vào ra

Một phần của tài liệu [Khóa luận]thiết kế hệ thống thước đo tuyến tính (Trang 31 - 38)

2. Cho điểm của cỏn bộ chấm phản biện (điểm ghi bằng số và chữ).

1.2.8.Cổng vào ra

Một số chõn của cỏc cổng vào/ra được tớch hợp với những thiết bị ngoại vi. Nhỡn chung khi thiết bị ngoại vi hoạt động, cỏc chõn cú thể khụng sử dụng với mục đớch làm chõn vào ra.

1.2.8.1. Cổng A và thanh ghi TRISA.

Cổng A là cổng hai chiều với độ rộng đường truyền là 6 bit. Để điều khiển việc truy xuất dữ liệu người ta dựng thanh ghi TRISA. Nến đặt bit TRISA=1 thỡ lỳc này cổng A sẽ cú cỏc chõn là chõn vào. Và ngược lại sẽ là cỏc chõn xuất. Việc đọc cổng A chớnh là đọc trạng thỏi cỏc chõn, trong đú việc xuất phải qua việc xuất cỏc chốt của cổng. Cỏc chõn của cổng A chủ yếu được sử dụng với mục đớch chớnh là nhận tớn hiệu tương tự hoặc làm chõn vào/ra. Riờng chõn RA4 cú thể đa hợp với chõn vào bộ Timer0 và khi đú nú trở thành chõn RA4/TOCKI. Chõn này như một đầu vào Schmitt Trigger và nú mở một đầu ra. Cỏc chõn khỏc của cổng A là chõn vào với bộ TTL. Việc điều khiển cỏc chõn này thụng qua việc đặt hay xoỏ cỏc bit của thanh ghi ADCON1. Thanh ghi TRISA điều khiển trực tiếp cỏc chõn của cổng A, khi sử dụng cỏc chõn này để nhận tớn hiệu tương tự vào ta phải chắc chắn rằng cỏc bit của thanh ghi TRISA đó được đặt rồi.

Sơ đồ khối chõn RA3ữRA0, chõn RA5 và của chõn RA4/TOCKI của cổng A( hỡnh 1.6 ).

1.2.8.2 Cổng B và thanh ghi TRISB.

Cổng B là cổng hai chiều với độ rộng đường truyền là 8 bit. Tương ứng với nú để điều khiển trực tiếp dữ liệu ta sử dụng thanh ghi TRISB. Nếu đặt bit TRISB=1 thỡ lỳc này cỏc chõn của cổng B được định nghĩa là chõn vào. Nếu xoỏ bit TRISB=0 thỡ lỳc này cỏc chõn của cổng B được định nghĩa là chõn ra. Nội dung của chốt ra cú thể chọn trờn mỗi chõn.

Cỏc chõn của cổng B cú thể đa hợp với cỏc chương trỡnh vận hành bằng điện ỏp thấp. Đú là cỏc chõn sau: RB3/PGM, RB6/PGC, RB7/PGD. Sự thay đổi hoạt động của những chõn này được miờu tả ở trong phần đặc tớnh nổi bật. Mỗi chõn của cổng B sẽ cú một khả năng dừng bờn trong nhưng yếu. Điều này được trỡnh bày ở việc xoỏ bớt RBPU (bit 7 của thanh ghi OPTION_REG). Khả năng dừng này sẽ tự động tắt đi khi cỏc chõn của cổng được định nghĩa là chõn ra. Khả năng dừng này sẽ tự động mất khi ta RESET. Bốn chõn của cổng B, từ RB7 đến RB4 cú đặc tớnh là ngắt khi thay đổi trạng thỏi. Chỉ những chõn được định dạng là những chõn vào thỡ ngắt này mới tồn tại. Một vài chõn RB7ữRB4 được định dạng như chõn ra, nú thi hành ngắt trờn sự thay đổi so sỏnh. Chõn vào RB7ữRB4 được so sỏnh với giỏ trị cũ của chốt ở lần đọc cuối cựng của cổng B. Sự ghộp đụi khụng khớp chõn ra của RB7ữRB4 bằng lệnh OR làm phỏt ra ngắt với cờ bớt RBIF của thanh ghi INTCON. Ngắt này cú thể khởi động thiết bị từ trạng thỏi SLEEP.

1.2.8.3 Cổng C và thanh ghi TRISC.

Cổng C là cổng hai chiều với độ rộng đường truyền là 8 bit. Tương ứng với việc điều khiển nú là thanh ghi TRISC. Nếu đặt bit TRISC=1 thỡ tương ứng với

chõn của cổng C là chõn vào. Nếu ta xoỏ bit TRISC=0 thỡ tương ứng với nú chõn của cổng C là chõn ra. Đặt nội dung của chốt ra cú thể đặt trờn chõn chọn. Cổng C đa hợp với việc vận hành thiết bị ngoại vi. Chõn của cổng C thụng qua bộ đệm Schmitt Trigger đầu vào.Khi chế độ I2C hoạt động, thỡ cỏc chõn của cổng PORTC<4:3> cú thể được sắp xếp với mức I2C thường hoặc với mức SMBUS bằng cỏch sử dụng bit CKE (SSPSTAT<6>) là bit 6 của thanh ghi SSPSTAT.Khi vận hành cỏc thiết bị ngoại vi bằng việc xỏc định bit TRIS của mỗi chõn cổng C. Một số phần phụ cú thể ghi đố lờn bit TRIS làm cho chõn này sẽ trở thành chõn ra, trong khi đú thỡ một số phần phụ khỏc lại ghi đố lờn bit TRIS làm cho chõn này trở thành chõn vào. Từ khi những bit TRIS ghi đố thỡ trong việc tỏc động trong cỏc thiết bị ngoại vi là cú thể, những lệnh đọc - sửa - ghi (BSF, BCF, XORWF) với thanh ghi TRISC như là nơi gửi tới sẽ được trỏnh. Người sử dụng nờn đề cập tới việc phõn chia kết nối cỏc thiết bị ngoại vi cho việc đặt chớnh xỏc cỏc bit TRIS.

1.2.8.4 Cổng D và thanh ghi TRISD.

Cổng D cú 8 bit cú bộ đệm đầu vào Schmitt Trigger. Mỗi chõn được sắp xếp riờng lẻ như đầu vào hoặc đầu ra. Cổng D cũng cú thể được sắp xếp như là một cổng vi xử lý 8 bớt (cổng phụ song song) bằng việc đặt bit điều khiển PSPMODE (TRISE<4>) và trong chế độ này vựng đệm đầu vào là TTL.

Hỡnh 1.9. Sơ đồ khối cổng D.

1.2.8.5. Cổng E và thanh ghi TRISE.

Cổng E cú 3 chõn là RE0/RD/AN5, RE1/WR/AN6, RE2/CS/AN7. Cỏc chõn này cú thể sắp xếp riờng lẻ là cỏc đầu vào hoặc đầu ra, và cỏc chõn cú vựng đệm đầu vào là cỏc mạch Schmitt Trigger.

Cổng vào/ra E trở thành đầu vào điều khiển cho cổng vi xử lý khi bit PSPMODE (TRISE<4>) được đặt. Và trong chế độ này phải chắc chắn rằng cỏc

bit TRISE<2:0> được đặt (cỏc chõn được định dạng là cỏc đầu vào số), thanh ghi ADCON1 phải được định dạng cho việc số vào/ra và vựng đệm đầu vào là TTL.

Cỏc chõn cổng E cũng được tớch hợp với cỏc đầu vào tương tự và trong trường hợp này cỏc chõn sẽ đọc là “0”.

Thanh ghi TRISE điều khiển trực tiếp cỏc chõn RE, ngay cả khi chỳng được dựng là cỏc đầu vào tương tự.

Hỡnh 1.10. Sơ đồ khối của cổng E.

Một phần của tài liệu [Khóa luận]thiết kế hệ thống thước đo tuyến tính (Trang 31 - 38)