Nghiên cứu về vi điều khiển PIC 16F877A và một số ứng dụng - pdf 19

Download miễn phí Đồ án Nghiên cứu về vi điều khiển PIC 16F877A và một số ứng dụng



MỤC LỤC 4
LỜI MỞ ĐẦU 6
CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 7
1.1 GIỚI THIỆU KHÁI QUÁT VỀ VI ĐIỀU KHIỂN 7
1.1.1 GIỚI THIỆU CHUNG 7
1.1.2 PHÂN LOẠI 8
1.1.3 CẤU TRÚC TỔNG QUAN CỦA VDK 9
1.2 KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 9
1.2.1 PIC LÀ GÌ ? 9
1.2.2 KIẾN TRÚC PIC 10
1.2.3 RISC VÀ CISC 11
1.2.4 PIPELINING 11
1.2.5 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC 13
1.2.6 NGÔN NGỮ LẬP TRÌNH CHO PIC 13
1.2.7 MẠCH NẠP PIC 13
CHƯƠNG 2: VI ĐIỀU KHIỂN PIC16F877A 15
2.1 GIỚI THIỆU CHUNG 15
2.1.1 CÁC DẠNG SƠ ĐỒ CHÂN 15
2.1.2 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A 16
2.1.3 CHỨC NĂNG CÁC CHÂN CỦA PIC16F877A 17
2.1.4 ĐẶC ĐIỂM VI ĐIỀU KHIỂN PIC16F877A 19
2.2 TỔ CHỨC BỘ NHỚ 21
2.2.1 BỘ NHỚ CHƯƠNG TRÌNH 21
2.2.2 BỘ NHỚ DỮ LIỆU 21
2.2.3 STACK 24
2.3 CÁC CỔNG XUẤT NHẬP CỦA PIC16F877A 25
2.3.1 PORTA 25
2.3.2 PORTB 26
2.3.3 PORTC 26
2.3.4 PORTD 26
2.3.5 PORTE 27
2.4 TIMER 0 27
2.5 TIMER1 29
2.6 TIMER2 30
2.7 ADC 31
2.8 COMPARATOR 34
2.9 CCP (CAPTURE/COMPARE/PWM) 37
2.10 GIAO TIẾP NỐI TIẾP 41
2.11 CỔNG GIAO TIẾP SONG SONG PSP (PARALLEL SLAVE PORT) 43
2.12 TỔNG QUAN VỀ MỘT SỐ ĐẶC TÍNH CỦA CPU 43
2.12.1 BỘ DAO ĐỘNG (OSCILLATOR) 43
2.12.2 CÁC CHẾ ĐỘ RESET 44
2.12.3 NGẮT (INTERRUPT) 46
2.12.4 WATCHDOG TIMER (WDT) 48
2.12.5 CHẾ ĐỘ SLEEP 48
2.13 TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC 51
CHƯƠNG 3: ỨNG DỤNG PIC 16F877A XÂY DỰNG BỘ KIT THỰC HÀNH VI ĐIỀU KHIỂN 57
3.1 GIỚI THIỆU 57
3.2 TRÌNH TỰ THIẾT KẾ 57
3.3 MẠCH NGUYÊN LÝ CỦA BỘ KIT VÀ NGUYÊN TẮC VẬN HÀNH 58
3.3.1 Mạch nguyên lý 58
3.3.2 Nguyên tắc vận hành bộ kit 58
3.4 NGUYÊN LÝ HOẠT ĐỘNG CỦA TỪNG KHỐI. 59
3.4.1 Khối quét Led 7 thanh 59
3.4.2 Khối quét LED ma trận. 60
3.4.3 Khối Đo nhiệt độ hiển thị LCD 61
3.4.4 Khối bàn phím. 62
3.4.5 Điều khiển động cơ (PWM) 63
3.4.6 Hiển thị vào ra bằng LED đơn. 64
3.4.7 Khối truyền thông nối tiếp (USART). 65
3.4.8 Khối nguồn. 66
CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN

1.1 GIỚI THIỆU KHÁI QUÁT VỀ VI ĐIỀU KHIỂN
1.1.1 GIỚI THIỆU CHUNG
Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối với các bài toán và hệ thống lớn.Tuy nhiên đối với các ứng dụng nhỏ, tầm tính toán không đòi hỏi khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp phức tạp như nhau. Các khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc. Để kết nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh tường về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống được tạo ra khá phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết kế. Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để áp dụng cho các hệ thống nhỏ.
Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được gọi là Microcontroller- Vi điều khiển.
Một số đặc điểm khác nhau giữa vi xử lí và VĐK:
- Về phần cứng: VXL cần được ghép thêm các thiết bị ngoại vi bên ngoài như bộ nhớ, và các thiết bị ngoại vi khác, … để có thể tạo thành một bản mạch hoàn chỉnh. Đối với VĐK thì bản thân nó đã là một hệ máy tính hoàn chỉnh với CPU, bộ nhớ, các mạch giao tiếp, các bộ định thời và mạch điều khiển ngắt được tích hợp bên trong mạch.
- Về các đặc trưng của tập lệnh: Do ứng dụng khác nhau nên các bộ VXL và VĐK cũng có những yêu cầu khác nhau đối với tập lệnh của chúng. Tập lệnh của các VXL thường mạnh về các kiểu định địa chỉ với các lệnh cung cấp các hoạt động trên các lượng dữ liệu lớn như 1byte, ½ byte, word, double word,...Ở các bộ VĐK, các tập lệnh rất mạnh trong việc xử lý các kiêu dữ liệu nhỏ như bit hay một vài bit.
- Do VĐK cấu tạo về phần cứng và khả năng xử lí thấp hơn nhiều soi với VXL nên giá thành của VĐK cũng rẻ hơn nhiều. Tuy nhiên nó vẫn đủ khả năng đáp ứng được tất cả các yêu cầu của người dùng.
Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có chức năng đơn giản, trong máy giặt, ôtô v.v...
1.1.2 PHÂN LOẠI
 Độ dài thanh ghi
Dựa vào độ dài của các thanh ghi và các lệnh của VĐK mà người ta chia ra các loại VĐK 8bit, 16bit, hay 32bit....
Các loại VĐK 16bit do có độ dài lệnh lớn hơn nên các tập lệnh cũng nhiều hơn, phong phú hơn. Tuy nhiên bất cứ chương trình nào viết bằng VĐK 16bit chúng ta đều có thể viết trên VDK 8bit với chương trình thích hợp.
 Kiến trúc CISC và RISC
VXL hay VĐK CISC là VĐK có tập lệnh phức tạp. Các VĐK này có một số lượng lớn các lệnh nên giúp cho người lập trình có thể linh hoạt và dễ dàng hơn khi viết chương trình. VĐK RISC là VĐK có tập lệnh đơn giản. Chúng có một số lương nhỏ các lệnh đơn giản. DO đó, chúng đòi hỏi phần cứng ít hơn, giá thành thấp hơn, và nhanh hơn so với CISC. Tuy nhiên nó đòi hỏi người lập trình phải viết các chương trình phức tạp hơn, nhiều lệnh hơn.
 Kiến trúc Harvard và kiến trúc Vonneumann
Kiến trúc Harvard sử dụng bộ nhớ riêng biệt cho chương trình và dữ liệu. Bus địa chỉ và bus dữ liệu độc lập với nhau nên quá trình truyền nhận dữ liệu đơn giản hơn Kiến trúc Vonneumann sử dụng chung bộ nhớ cho chương trình và dữ liệu. Điều này làm cho VĐK gọn nhẹ hơn, giá thành nhẹ hơn.
Một số loại VĐK có trên thị trường:
- VĐK MCS-51: 8031, 8032, 8051, 8052, ...
- VĐK ATMEL: 89Cxx, AT89Cxx51..
- VĐK AVR AT90Sxxxx
- VĐK PIC 16C5x, 17C43...

/file/d/0Bz7Zv9 ... sp=sharing
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status