luận văn nghiên cứu và thiết kế bộ kit pic 16f877a

70 747 7
luận văn nghiên cứu và thiết kế bộ kit pic 16f877a

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ LUẬN VĂN TỐT NGHIỆP Đề tài: Nghiên cứu về vi điều khiển PIC 16F877A một số ứng dụng. Cụ thể: Nghiên cứu thiết kế bộ KIT PIC 16F877A GV hướng dẫn : SV thực hiện : Lớp : Điện Tử 1 K2 Khoa : Điện Tử Trường : Đại học Công Nghiệp Hà Nội LUẬN VĂN TỐT NGHIỆP SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 2 LUẬN VĂN TỐT NGHIỆP BỘ CÔNG THƯƠNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI Độc lập - Tự do - Hạnh phúc THỰC TẬP TỐT NGHIỆP ĐẠI HỌC Họ tên học sinh : TRẦN XUÂN CHIẾN Lớp : ĐIỆN TỬ 1 K2 Khoá : 2…… Khoa, Trung tâm : ĐIỆN TỬ Tên đề tài: Nghiên cứu về vi điều khiển PIC 16F877A một số ứng dụng. Cụ thể: Nghiên cứu thiết kế bộ KIT PIC 16F877A Giáo viên hướng dẫn : PHẠM THỊ QUỲNH TRANG NỘI DUNG YÊU CẦU TT Nội dung 1 Tổng quan về vi điều khiển 2 Giới thiệu về PIC 16F877A 3 Ứng dụng PIC 16F877A xây dựng bộ kit thực hành vi điều khiển 4 Ngày giao đề tài : …………………………………. Ngày hoàn thành : …………………………………. GIÁO VIÊN HƯỚNG DẪN TRƯỞNG KHOA SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 3 LUẬN VĂN TỐT NGHIỆP Đánh giá nhận xét của GV hướng dẫn SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 4 LUẬN VĂN TỐT NGHIỆP MỤC LỤC LỜI MỞ ĐẦU Ngày nay kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật trong dân dụng. Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng. Vi điều khiển không những góp phần vào kỹ thuật điều khiển mà còn góp phần to lớn vào việc phát triển thông tin. Chính vì các lý do trên, việc tìm hiểu, khảo sát vi điều khiển là điều mà các sinh viên ngành điện mà đặc biệt là chuyên ngành kỹ thuật điện-điện tử phải hết sức quan tâm. Đó chính là một nhu cầu cần thiết cấp bách đối với mỗi sinh viên, đề tài này được thực hiện chính là đáp ứng nhu cầu đó. Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành sử dụng đươc lại là một điều rất phức tạp. Phần công việc xử lý chính vẫn phụ thuộc vào con người, đó chính là chương trình hay phần mềm. Nếu không có sự tham gia của con người thì hệ thống vi điều khiển cũng chỉ là một vật vô tri. Do vậy khi nói đến vi điều khiển cũng giống như máy tính bao gồm 2 phần là phần cứng phần mềm. Mặc dù vi điều khiển đã đi được những bước dài như vậy nhưng để tiếp cận được với kỹ thuật này không thể là một việc có được trong một sớm một chiều. Để tìm hiểu bộ vi điều khiển một cách khoa học mang lại hiệu quả cao làm nền tản cho việc xâm nhập vào những hệ thống tối tân hơn. Việc trang bị những kiến thức về vi điều khiển cho sinh viên là hết sức cần thiết. Xuất phát từ thực tiển này em đã đi đến quyết định Thiết kế bộ Kit Vi Điều Khiển PIC 16F877A nhằm đáp ứng nhu cầu ham muốn học hỏi của bản than giúp cho các bạn sinh viên dễ tiếp cận hiểu sâu hơn về VĐK PIC. Trong quá trình thực hiện đề tài vẫn còn nhiều sai sót, mong nhận được nhiều ý kiến đóng góp từ cô các bạn. Em chân thành cảm ơn! Hà nội, ngày 19 tháng 4 năm 2011 Sinh viên SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 5 LUẬN VĂN TỐT NGHIỆP Trần Xuân Chiến SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 6 LUẬN VĂN TỐT NGHIỆP 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ý, 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 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 chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập đ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ấ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ớ 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Đ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ớ, 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 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Đ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 SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 7 LUẬN VĂN TỐT NGHIỆP hoặc một vài bit. - Do VĐK cấu tạo về phần cứng 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 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 RISC VXL hoặc 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 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, 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 kiến trúc Vonneumann Kiến trúc Harvard sử dụng bộ nhớ riêng biệt cho chương trình dữ liệu. Bus địa chỉ 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 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 SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 8 LUẬN VĂN TỐT NGHIỆP 1.1.3 CẤU TRÚC TỔNG QUAN CỦA VDK  CPU: Là trái tim của hệ thống. Là nơi quản lí tất cả các hoạt động của VĐK. Bên trong CPU gồm: - ALU là bộ phận thao tác trên các dữ liệu - Bộ giải mã lệnh điều khiển, xác định các thao tác mà CPU cần thực hiện - Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi - Thanh ghi PC, lưu giũ địa chỉ của lệnh kế tiếp cần thực thi - Một tập các thanh ghi dùng để lưu thông tin tạm thời  2. ROM: ROM là bộ nhớ dùng để lưu giữ chương trình. ROM còn dùng để chứa số liệu các bảng, các tham số hệ thống, các số liệu cố định của hệ thống. Trong quá trình hoạt động nội dung ROM là cố định, không thể thay đổi, nội dung ROM chỉ thay đổi khi ROM ở chế độ xóa hoặc nạp chương trình.  RAM: RAM là bọ nhớ dữ liệu. Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu trữ các kết quả trung gian kết quả cuối cùng của các phép toán, xử lí thông tin. Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong các thao tác thu phát, chuyển đổi dữ liệu.  BUS: BUS là các đường dẫn dùng để di chuyển dữ liệu. Bao gồm: bus địa chỉ, bus dữ liệu , bus điều khiển  BỘ ĐỊNH THỜI: Được sử dụng cho các mục đích chung về thời gian.  WATCHDOG: Bộ phận dùng để reset lại hệ thống khi hệ thống gặp “bất thường”.  ADC: Bộ phận chuyển tín hiệu analog sang tín hiệu digital. Các tín hiệu bên ngoài đi vào VDK thường ở dạng analog. ADC sẽ chuyển tín hiệu này về dạng tín hiệu digital mà VDK có thể hiểu được. SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 9 LUẬN VĂN TỐT NGHIỆP 1.2 KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 1.2.1 PIC LÀ GÌ ? PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm từ đó hình thành nên dòng vi điều khiển PIC ngày nay. 1.2.2 KIẾN TRÚC PIC Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc: kiến trúc Von Neuman kiến trúc Havard. Hình 1.1: Kiến trúc Havard kiến trúc Von-Neuman Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Havard. Điểm khác biệt giữa kiến trúc Havard kiến trúc Von-Neuman là cấu trúc bộ nhớ dữ liệu bộ nhớ chương trình. Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu bộ nhớ chương trình nằm chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ chương trình bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của CPU phải rất cao, vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình. Như vậy có thể nói kiến trúc Von-Neuman không thích hợp với cấu trúc của một vi điều khiển. Đối với kiến trúc Havard, bộ nhớ dữ liệu bộ nhớ chương trình tách ra thành hai bộ nhớ riêng biệt. Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể. SV: TRẦN XUÂN CHIẾN LỚP: ĐIỆN TỬ 1 K2 10 [...]... 2.3: Tóm tắt đặc điểm của VDK PIC 16F877A SV: TRẦN XN CHIẾN LỚP: ĐIỆN TỬ 1 K2 21 LUẬN VĂN TỐT NGHIỆP 2.2 TỔ CHỨC BỘ NHỚ Cấu trúc bộ nhớ của vi điều khiển PIC1 6F877A bao gồm bộ nhớ chương trìn (Program memory) bộ nhớ dữ liệu (Data Memory) 2.2.1 BỘ NHỚ CHƯƠNG TRÌNH Bộ nhớ chương trình của vi điều khiển PIC1 6F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1 word = 14 bit) được phân thành nhiều trang... CHƯƠNG 2: VI ĐIỀU KHIỂN PIC1 6F877A 2.1 GIỚI THIỆU CHUNG 2.1.1 CÁC DẠNG SƠ ĐỒ CHÂN SV: TRẦN XN CHIẾN LỚP: ĐIỆN TỬ 1 K2 15 LUẬN VĂN TỐT NGHIỆP Hình 2.1 Vi điều khiển PIC1 6F877A /PIC1 6F874A các dạng sơ đồ chân 2.1.2 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC1 6F877A SV: TRẦN XN CHIẾN LỚP: ĐIỆN TỬ 1 K2 16 LUẬN VĂN TỐT NGHIỆP Hình 2.2 Sơ đồ khối vi điều khiển PIC1 6F877A Hình 2.2 là sơ đồ khối của PIC 16F877A, gồm các khối:... chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector) Bộ nhớ chương trình khơng bao Hình 2.4 Bộ nhớ chương trình PIC1 6F877A gồm bộ nhớ stack khơng được địa chỉ hóa bởi bộ đếm chương trình Bộ nhớ stack sẽ được đề cập cụ thể trong phần sau 2.2.2 BỘ NHỚ DỮ LIỆU Bộ nhớ dữ liệu của PICbộ nhớ EEPROM được chia ra làm nhiều bank Đối với PIC1 6F877A bộ nhớ dữ liệu được chia ra làm 4 bank Mỗi bank có dung... 1Fh) ADCON1 (địa chỉ 9Fh): xác lập các thơng số cho bộ chuyển đổi AD - PORTA (địa chỉ 05h) TRISA (địa chỉ 85h): liên quan đến các ngõ vào analog ở PORTA - PORTE (địa chỉ 09h) TRISE (địa chỉ 89h): liên quan đến các ngõ vào analog ở PORTE 2.8 COMPARATOR Bộ so sánh bao gồm hai bộ so so sánh tín hiệu analog được đặt ở PORTA Ngõ vào bộ so sánh là các chân RA3:RA0, ngõ ra là hai chân RA4 RA5... độ dài lệnh 16 bit C: PICbộ nhớ EPROM (chỉ có 16C84 là EEPROM) F: PICbộ nhớ flash LF: PICbộ nhớ flash hoạt động ở điện áp thấp LV: tương tự như LF, đây là kí hiệu cũ Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash (ví dụ PIC1 6F877 là EEPROM, còn PIC1 6F877A là flash) Ngồi ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC Ở Việt Nam phổ biến... AN 0,1,2: ngõ vào tương tự của kênh thứ 0,1,2 Chân RA2/AN2/VREF-/CVREF+(4): xuất nhập số/ ngõ vào tương tự của kênh thứ 2/ nhõ vào điện áp chuẩn thấp của bộ AD/ ngõ vào điện áp chẩn cao của bộ AD • Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào tương tự kênh 3/ ngõ vào điện áp chuẩn (cao) của bộ AD • Chân RA4/TOCK1/C1OUT(6): xuất nhập số/ ngõ vào xung clock bên ngồi cho Timer 0/ ngõ ra bộ so sánh 1 •... số/ ngõ vào bộ giao động Timer1/ ngõ vào xung clock bên ngồi Timer 1 • Chân RC1/T1OSI/CCP2(16) : xuất nhập số/ ngõ vào bộ dao động Timer 1/ ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2 • Chân RC2/CCP1(17): xuất nhập số/ ngõ vào Capture1 ,ngõ ra compare1, ngõ ra PWM1 • Chân RC3/SCK/SCL(18): xuất nhập số/ ngõ vào xung clock nối tiếp đồng bộ, ngõ ra chế độ SPI./ ngõ vào xung clock nối tiếp đồng bộ, ngõ... ĐIỆN TỬ 1 K2 23 LUẬN VĂN TỐT NGHIỆP Hình 2.5 Sơ đồ bộ nhớ dữ liệu PIC1 6F877A 1 THANH GHI CHỨC NĂNG ĐẶC BIỆT SFR Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập điều khiển các khối chức năng được tích hợp bên trong vi điều khiển Có thể phân thanh ghi SFR làm hai lọai: thanh ghi SFR liên quan đến các chức năng bên trong (CPU) thanh ghi SRF dùng để thiết lập điều khiển các... thực hiện tiếp chương trình theo đúng qui trình định trước Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa chỉ hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên giá trị cất vào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị 6 cất vào Stack lần thứ 2 Cần chú ý là khơng có cờ hiệu nào cho biết... bởi hai bộ chia tần số prescaler postcaler độc lập, tuy nhiên cạnh tác động vẫn được cố định là cạnh lên Timer1 có quan hệ với khối CCP, trong khi Timer2 được kết nối với khối SSP Một vài so sánh sẽ giúp ta dễ dàng lựa chọn được Timer thích hợp cho ứng dụng 2.7 ADC ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương tự số PIC1 6F877A có 8 ngõ vào analog (RA4:RA0 RE2:RE0) . BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ LUẬN VĂN TỐT NGHIỆP Đề tài: Nghiên cứu về vi điều khiển PIC 16F877A và một số ứng dụng. Cụ thể: Nghiên cứu và thiết kế bộ KIT PIC. : 2…… Khoa, Trung tâm : ĐIỆN TỬ Tên đề tài: Nghiên cứu về vi điều khiển PIC 16F877A và một số ứng dụng. Cụ thể: Nghiên cứu và thiết kế bộ KIT PIC 16F877A Giáo viên hướng dẫn : PHẠM THỊ QUỲNH. đến quyết định Thiết kế bộ Kit Vi Điều Khiển PIC 16F877A nhằm đáp ứng nhu cầu ham muốn học hỏi của bản than và giúp cho các bạn sinh viên dễ tiếp cận và hiểu sâu hơn về VĐK PIC. Trong quá trình

Ngày đăng: 23/04/2014, 17:19

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan