Khái quát về vi điều khiển PIC16F877A

Một phần của tài liệu thiết kế hệ thống tự động và cảnh báo thiết bị điện dân dụng từ xa (Trang 44)

a. Sơ đồ chân và sơ đồ nguyên lý của PIC16F877A

Hình 3.1: Sơ đồ chân PIC16F877A

Đây là vi điều khiển thuộc h PIC16Fxxx( 40 pin) [3]

với tập lệnh gồm 35 lệnh c độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock.

SVTH: Phạm Tiến Duẫn Trang 36 Tần số hoạt động tối đa là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8K Flash ROM, bộ nhớ dữ liệu 368 bytes RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 bytes. Số Port In/Out (I/O) là 5 Port( A, B, C, D, E) với 33 pin I/O với tính hiệu điều khiển độc lập.

Hình 3.2: Sơ đồ nguyên lý

b. Nhận xét

Từ sơ đồ chân và sơ đồ nguyên lý ở trên, ta rút ra các nhận x t ban đầu như sau:

- PIC16F877A có tất cả 40 chân

- 40 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân GND, 2 chan thạch anh và một chân d ng để RESET vi điều khiển.

- 5 port của PIC16F877A bao gồm : + PORTB : 8 chân

+ PORTD : 8 chân + PORTC : 8 chân

SVTH: Phạm Tiến Duẫn Trang 37 + PORTA : 6 chân

+ PORT E : 3 chân

c. Khái quát về chức năng của các port trong vi điều khiển PIC16F877A PORTA

PORTA gồm có 6 chân. Các chân của PortA, ta lập trình để có thể thực hiện được chức năng “hai chiều” : xuất dữ liệu từ vi điều khiển ra ngoại vi và nhập dữ liệu từ ngoại vi vào vi điều khiển.

Việc xuất nhập dữ liệu ở PIC16F877A khác với h 8051. Ở tất cả các PORT của PIC16F877A, ở mỗi th i điểm chỉ thực hiện được một chức năng: xuất hoặc nhập. Để chuyển từ chức năng này nhập qua chức năng xuất hay ngược lại, ta phải xử lý bằng phần mềm, không như 8051 tự hiểu lúc nào là chức năng nhập, lúc nào là chức năng xuất.

Trong kiến trúc phần cứng của PIC16F877A, ngư i ta sử dụng thanh ghi TRISA ở địa chỉ 85H để điều khiển chức năng I/O trên. Muốn xác lập các chân nào của PORTA là nhập input thì ta set bit tương ứng chân đ trong thanh ghi TRISA. Ngược lại, muốn chân nào là output thì ta clear bit tương ứng chân đ trong thanh ghi TRISA. Điều này hoàn toàn tương tự đối với các PORT còn lại

Ngoài ra, PORTA còn có các chức năng quan tr ng sau :

- Ngõ vào Analog của bộ ADC : thực hiện chức năng chuyển từ Analog sang Digital

- Ngõ vào điện thế so sánh

- Ngõ vào xung Clock của Timer0 trong kiến trúc phần cứng : thực hiện các nhiệm vụ đếm xung thông qua Timer0…

SVTH: Phạm Tiến Duẫn Trang 38

PORTB

PORTB c 8 chân. Cũng như PORTA, các chân PORTB cũng thực hiện được 2 chức năng : input và output. Hai chức năng trên được điều khiển bới thanh ghi TRISB. Khi muốn chân nào của PORTB là input thì ta set bit tương ứng trong thanh ghi TRISB, ngược lại muốn chân nào là output thì ta clear bit tương ứng trong TRISB.

Thanh ghi TRISB còn được tích hợp bộ điện trở kéo lên có thể điều khiển được bằng chương trình.

PORTC

PORTC c 8 chân và cũng thực hiện được 2 chức năng input và output dưới sự điều khiển của thanh ghi TRISC tương tự như hai thanh ghi trên.

Ngoài ra PORTC còn có các chức năng quan tr ng sau :

- Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng

- Bộ PWM thực hiện chức năng điều xung lập trình được tần số, duty cycle: sử dụng trong điều khiển tốc độ và vị trí của động cơ v.v…. (adsbygoogle = window.adsbygoogle || []).push({});

- Tích hợp các bộ giao tiếp nối tiếp I2C, SPI, SSP, USART

PORTD

PORTD c 8 chân. Thanh ghi TRISD điều khiển 2 chức năng input và output của PORTD tương tự như trên. PORTD cũng là cổng xuất dữ liệu của chuẩn giao tiếp song song PSP (Parallel Slave Port).

PORTE

PORTE c 3 chân. Thanh ghi điều khiển xuất nhập tương ứng là TRISE. Các chân của PORTE có ngõ vào analog. Bên cạnh đ PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP.

SVTH: Phạm Tiến Duẫn Trang 39

d. Tại sao sử dụng PIC16F877A mà không dùng 8051 cho đề tài

Trong chương trình đào tạo của Trư ng Đại H c Giao Thông Vận Tải – cơ sở 2, tác giả được h c về vi điều khiển 8051. H vi điều khiển 8051 là một h vi điều khiển điển hình, phổ biến, dễ sử dụng và lập trình, rất phù hợp với sinh viên mới bắt đầu làm quen đến lập trình cho vi điều khiển. Tuy nhiên, cũng trong quá trình nghiên cứu các chip điều khiển thuộc h 8051 (điển hình là 89C51, 89052… , tác giả nhận thấy nó có những nhược điểm cơ bản sau đây :

- Bộ nhớ Ram nội c dung lượng thấp, chỉ c 128 bytes. Điều này gây trở ngại lớn khi thực hiện các dự án lớn với vi điều khiển 8051. Để khắc phục ta phải mở rộng thêm làm hạn chế số chân dành cho các ứng dụng của vi điều khiển.

- Số lượng các bộ giao tiếp với ngoại vi được tích hợp sẵn trong 8051 ít, không có các bộ ADC, PWM, truyền dữ liệu song song…. Khi muốn sử dụng các chức năng này, ta phải sử dụng thêm các IC bên ngoài, gây tốn kém và khó thực hiện vì dễ bị nhiễu nếu không biết cách chống nhiễu tốt.

- Ngoài ra còn một số hạn chế khác như số lượng Timer của 8051 ít, chỉ có 2 Timer. Chính điều này làm cho giải thuật khi viết chương trình gặp kh khăn. Những nhược điểm căn bản trên của 8051, tác giả đ quyết định không dùng vi điều khiển này cho đề tài “Thiết kế hệ thống tự động và cảnh báo các thiết bị điện dân dụng từ xa” của mình.

Với kỳ v ng dựa trên nền tảng kiến thức tiếp thu được khi h c vi điều khiển 8051, tác giả rất muốn tự bản thân tìm hiểu một h vi điều khiển mới mạnh hơn, đầy đủ tính năng hơn để trước mắt là phuc vụ tốt cho đồ án, sau nữa là cho các dự án trong tương lai nếu tác giả có dịp sử dụng vi điều khiển trong dự án của mình.

SVTH: Phạm Tiến Duẫn Trang 40 Trong quá trình tìm kiếm một h vi điều khiển mới thỏa yêu cầu như tác giả đ trình bày trên. Tác giả nhận thấy PIC của hãng Microchip là một lựa ch n lý tưởng. Chỉ cần xem xét qua các port và chức năng của các port mà tác giả đ trình bày ở mục trên, ta cũng dễ dàng nhận ra những ưu điểm vượt trội của vi điều khiển này so với 8051.

Giá của PIC16F877A được bán trên thị hiện trư ng là 70.000 vnđ, cao hơn 2 lần giá một con chip h 8051. Tuy nhiên với mục đích nâng cao kiến thức, nâng cao khả năng tự tìm tòi, h c hỏi qua các kênh thông tin giáo dục khác nhau, nhằm phục vụ mục đích lâu dài sau này, thì đây là một sự lựa ch n hoàn toàn xác đáng. Và trên thực tế, trong một th i gian tương đối ngắn, tác giả đ nắm vững được khối lượng kiến thức cơ bản nhất để sử dụng tốt cho đề tài của mình.

Trên đây là phần giải thích l do tác giả ch n vi điều khiển PIC16F877A cho đồ án của mình.

Sang phần tiếp theo của báo cáo đồ án, tác giả sẽ đi sâu giới thiệu những nội dung mà tác giả đ nghiên cứu được để phục vụ cho việc thực hiện đồ án của mình.

Một phần của tài liệu thiết kế hệ thống tự động và cảnh báo thiết bị điện dân dụng từ xa (Trang 44)