intTypePromotion=1
ADSENSE

Đồ án cơ điện: tìm hiểu về điều khiển PIC

Chia sẻ: Nguyễn Huy Công | Ngày: | Loại File: DOCX | Số trang:16

388
lượt xem
131
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Techology thế hệ PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc General – Instrument. PIC là viết tắt của “Programmable Intelligent Computer” là một sảm phẩm của hang Gênral Intruments đặt cho dòng sản phẩm đầu tiên là PIC 1650. Tại thời điểm đó PIC1650 được dung để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy, người ta cũng gọi PIC với cái tên “Peripheral Interface Controller” bộ điều khiển giao tiếp ngoại...

Chủ đề:
Lưu

Nội dung Text: Đồ án cơ điện: tìm hiểu về điều khiển PIC

  1. Đồ án cơ điện: tìm hiểu về điều khiển PIC
  2. MỤC LỤC 1.Tổng quan về vi đi ều khi ển PIC .......................................................................................................... 3 2. Một số đặc tính của vi đi ều khiển PIC ................................................................................................ 3 Các đặc tính ngoại vi. ............................................................................................................... 4 a. Các đặc tính về tương tự ........................................................................................................... 4 b. C. Các đặc tính đặc biệt của vi điều khiển: ........................................................................................ 4 D. Công nghệ CMOS:....................................................................................................................... 5 III. VI ĐIỀU KHIỂN PIC 16F877A ........................................................................................................... 6 1.Tổng quát về PIC16F877A. ............................................................................................................... 6 a. Giới thiệu: .................................................................................................................................... 6 Sơ đồ khối: ............................................................................................................................... 6 c. Sơ đồ chân và chức năng các chân. ........................................................................................... 7 d. 2. TỔ CHỨC BỘ NHỚ: .................................................................................................................... 12 Cấu trúc bộ nhớ chương trình.................................................................................................. 12 a. B. Cấu trúc bộ nhớ dữ liệu: ............................................................................................................ 13 C. File thanh ghi kết quả tổng quát: ................................................................................................ 13 d. Các thanh ghi có chức năng đặc bi ệt .......................................................................................... 17
  3. 1.Tổng quan về vi điều khiển PIC PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Techology thế hệ PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc General – Instrument PIC là viết tắt của “Programmable Intelligent Computer” là một sảm phẩm của hang Gênral Intruments đặt cho dòng sản phẩm đầu tiên là PIC 1650. Tại thời điểm đó PIC1650 được dung để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy, người ta cũng gọ i PIC vớ i cái tên “Peripheral Interface Controller” bộ điều khiển giao tiếp ngoại vi. CP1600 là một CPU mạnh nhưng lai yếu về các hoạt động xuất nhập vì vậy PIC 8 bit được phát triển vào khoảng năm 1975 để hỗ trợ cho hoạt động xuất nhập của CP1600 PIC ROOM để chứa mã, mặc dù khái niệm RISC chưa được sử dụng thời bấy giờ ,nhưng PIC thực sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh với một chu kì máy- gồm 4 chu kì của bộ điều khiển vào ra lập trình. Năm 1985 General Intruments bán công nghệ các vi điện tử của họ, và chủ sở hữu mới huỷ bỏ hầu hết các dự án- lúc đó đã quá lỗ i thời . Tuy nhiên PIC được bổ sung EEPROM để tạo thành 1 bộ điều khiển vào ra lập trình. Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt các module ngoại vi tích hợp sẵn ( như USART, PWM, ADC…) với bộ nhớ chương tr ình từ 521 Word đến 32K Word. 2. Một số đặc tính của vi điều khiển PIC Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng nhưng chúng ta có thể điểm qua một vài nét như sau:  Là CPU 8/16 bit, xây dựng theo kiến trúc Harvard có sửa đổi.  Có bộ nhớ Flash và ROM có thể tuỳ chọn từ 256 byte đến 256Kbyte  Có các cổng xuất nhập (I/O ports)  Có timer 8/16 bit.  Có các chuẩn giao tiếp nố i tiếp đồng bộ/ không đồng bộ USART  Có các bộ chuyển đổi ADC 10/12 bit.  Có các bộ so sánh điện áp (Voltage Comparators).  Có các khối Capture/Compare/PWM.  Có hỗ trợ giao tiếp LCD. Có MSSP Peripheral dung cho các giao tiếp I2C, SPI, và I2S.   Có bộ nhớ nộ i EEPROM- có thể ghi/xoá lêm tới 1triệu lần  Có khối điều khiển động cơ, đọc Encoder.
  4.  Có hỗ trợ giao tiếp USB.  Có hỗ trợ điều khiển Ethernet.  Có hỗ trợ giao tiếp CAN. Đặc điểm thực thi tốc độ cao CPU RISC của họ vi điều khiển PIC16F7XA là :  Chỉ gồ m 35 lệnh đơn .  Tất cả các lệnh là 1 chu kì ngoại trừ chương trình con là 2 chu kì.  Tốc độ hoạt động : *DC-20MHz ngõ vào xung clock. *DC-200ms chu kì lệnh.  Dung lượng của bộ nhớ chương trình Flash là 8Kx14Words.  Dung lượng của bộ nhớ dữ liệu RAM là 386x8bytes.  Dung lượng của bộ nhớ dữ liệu EEPROM là 256x8bytes. a. Các đặc tính ngoại vi.  Timer0: Là bộ nhớ định thời timer/counter 8 bit có bộ chia trước.  Timer1: Là bộ nhớ định thời timer/counter 16bit có bộ chia trước,có thể đếm khi CPU đang ở chế độ ngủ với nguồn xung từ tụ thạch anh hoặc nguồn xung bên ngoài.  Timer2: bộ định thời timer/counter 8 bit, chia trước và postscaler.  Hai khố i Capture, Compare, PWM.  Capture có độ rộng 16 bit, độ phân giải 12.5ns  Compare có độ rộng 16-bit, độ phân giải 200ns  Độ phân giải lớn nhất của PWM là 10-bit Các đặc tính về tương tự b.  Có 8 kênh chuyển đổ i tín hiệu tương tự thành tín hiệu số ADC 10-bit.  Có reset BOR (Brown-Out Reset).  Khố i so sánh điện áp tương tự:  Hai bộ so sánh tương tự.  Khố i tạo điện áp chuẩn VREF t ích hợp bên trong có thể lập trình.  Đa hợp ngõ vào lập trình từ ngõ vào của CPU với điện áp chuẩn bên trong.  Các ngõ ra của bộ so sánh có thể truy xuất bên ngoài. C. Các đặc tính đặc biệt của vi điều khiển:  Bộ nhớ chương trình Enhanced Flash cho phép xoá và nghi 100000 lần.  Bộ nhớ dữ liệu EEPROM cho phép xoá và nghi 1000000 lần.  Bộ nhớ EEPROM có thể lưu giữ liệu hơn 40 năm và có thể tự lập trình lại duới sự điều khiển của phần mềm.  Mạch lập trình nố i tiếp ICSP thong qua 2 chân (In-Circuit Serial Programming).  Nguồi sử dụng là nguồn đơn 5v cấp cho mạch lập trình nố i tiếp.
  5.  Có Watchdog Timer (WDT) với bộ dao đông RC tích hợp sẵn trên Chip.  Có thể lập trình bảo mật.  Có thể hoạt động ở chế độ Sleep để tiết kiệm năng lượng.  Có thể lựa chọn bộ dao động.  Có mạch điện gỡ rối ICD (In-Circuit Debug) thong qua 2 chân. D. Công nghệ CMOS: Công nghệ CMOS có các đặc tính : Công suất thấp, công nghệ bộ nhớ Flash/ EEPROM tốc độ cao. Điện áp hoạt động từ 2V đến 5.5V và tiêu tốn năng lượng thấp. Phù hợp với nhiệt độ làm việc trong công nghiệp và trong thương mại. Bảng 2-1 trình bày tóm tắt cấu trúc của 4 loại PIC 16F87X Program Memory Data MSSP Device SRAM I/O 10-Bit CCP Timers Byte #Single Words (Byte) A/D(ch) (PWM) SPI Master USART 8/16- Comparators I2C Instructions bit PIC16F873A 7.2K 4096 192 22 5 2 Yes Yes Yes 2/1 2 PIC16F874A 7.2K 4096 192 33 8 2 Yes Yes Yes 2/1 2 PIC16F876A 14.3K 8192 368 22 5 2 Yes Yes Yes 2/1 2 PIC16F877A 14.3K 8192 368 33 8 2 Yes Yes Yes 2/1 2 Bảng 1. Các vi điều khiển họ PIC16F87X. Hình 2-1 Trình bày sơ đồ chân của các loại PIC16F Hình 1. Sơ đồ chân họ PIC16F87XA.
  6. III. VI ĐIỀU KHIỂN PIC 16F877A 1.Tổng quát về PIC16F877A. a. Giới thiệu: PIC16F877A có 40/44 chân với cấu trúc như sau:  Có 5 port xuất nhập.  Có 8 kênh chuyển đổ i A/D.  Được bổ xung các port tử song song.  Có bộ nhớ gap nố i so với PIC16F873A/PIC16G874A.  Bảng 2-2 sẽ tóm tắt đặc điểm PIC16F877A: Đặc điểm PIC16F877A Tần số hoạt động DC-20MHz Reset (và Delay) POR,BOR (PWRT,OST) Bộ nhớ chương trình Flash (14-bit Word) 8K Bộ nhớ dữ liệu (Byte) 368 Bộ nhớ dữ liệu EEPROM( byte) 256 Các nguồn ngắt 15 Các port xuất nhập Các Port A,B,C,D,E Timer 3 Các module capture/compare/ PWM 2 Giao tiếp nố i tiếp MSSP,USART Giao tiếp song song PSP Module A/D 10 bit 8 kênh ngõ vào Bộ so sánh tương tự 2 Tập lệnh 35 lệnh Số chân 40 chân PDIP 44 chân PLCC 44 chân TQFP 44 chân QFN Bảng 2. Tóm tắt đặc điểm PIC16F877A c. Sơ đồ khối: Hình 2-2 trình bày sơ đồ khối của PIC16F877A, sơ đồ khối của chân PIC gồm các khố i:  Khố i ALU- Arithmetic Logic Unit.  Khố i bộ nhớ chứa trương trình- Flash Program Memory.  Khố i bộ nhớ chứa dữ liệu EEPROM- Data EEPROM  Khố i bộ nhớ file thanh ghi RAM- RAM file register.
  7.  Khố i giải mã lệnh và điều khiển- Instruction Decode Control  Khố i thanh ghi đặc biệt.  Khố i ngoại vi timer  Khố i giao tiếp nối tiếp.  Khố i chuyển đổi tín hiệu tương tự sang số- ADC.  Khố i các port xuất nhập. d. Sơ đồ chân và chức năng các chân. Sơ đồ chân của PIC gồm nhiều loại nhưng ở đây khảo sát loại PIC 40 chân như hình 2.3
  8. Hình 2. Sơ đồ khối PIC16F87XA
  9. Chức năng của các chân như sau:Gõ biểu thức vào đây.  Chân OSC1/CLKI(13): Là ngõ vào kết nối với dao động thạch anh hoặc ngõ vào chân xung clock bên ngoài.  OSC1: Ngõ vào dao động thạch anh hoặc ngõ vào nguồn xung ở bên ngoài. Ngõ vào có mạch Schmitt Trigger nễu sử dụng dao động RC.  CLKI: Ngõ vào nguồn xung bên ngoài.  Chân OSC2/CLKO (14):Ngõ ra dao động thạch anh hoặc ngõ ra cấp xung clock.  OSC2: Ngõ ra dao động thạch anh. Kết nối đến thạch anh hoặc bộ cộng hưởng. CLKO: Ở chế độ RC, ngõ ra của OSC2, bằng tần sỗ của OSC1 và chính là tốc  độ của chu kì lệnh. Hình 3. Sơ đồ chân  ChânMCLR/VPP (1): Có hai chức năng:  MCLR: Là ngõ vào reset tích cực mức thấp.  Vpp: Khi lập trình cho PIC thì đóng vai trò là ngõ vào nhận điện áp lập trình.  Chân RA0/AN0 (2): Có hai chức năng :  RA0: Xuất/ nhập số.  AN0: Ngõ vào ra tương tự của kênh thứ 0.  Chân RA1/ AN1 (3)  RA1: Xuất/ nhập số.  AN1: Ngõ vào ra tương tự của kênh thứ 1.
  10.  Chân RA2/AN2/VREF-/CVREF(4):  RA2: Xuất/ nhập số.  AN2: Ngõ vào ra tương tự của kênh thứ 2.  VR EP-: Ngõ vào điện áp chuẩn (thấp) của bộ A/D.  CVREF: Điện áp tham chiếu VRÈ ngõ ra bộ so sánh.  Chân RA3/AN3/VREF+ (5):  RA3: Xuất/ nhập số.  AN3: Ngõ vào ra tương tự của kênh thứ 3.  VREF+: Ngõ vào điện áp chuẩn (cao) của bộ A/D.  Chân RA4/T0CKI/C1OUT (6):  RA4: Xuất nhập số- mở khi được cấu tạo là ngõ ra.  T0CKI: Ngõ vào xung clock bên ngoài cho timer 0.  C1OUT: Ngõ ra bộ so sánh 1.  Chân RA5/AN4/SS/C2OUT (7):  RA5: Xuất nhập sô.  AN4: Ngõ vào tương tự kênh thứ 4.  SS: Ngõ vào chon lựa SPI phụ  C2OUT: Ngõ ra bộ so sánh 2.  Chân RB0/INT (33):  RB0: Xuất /nhập số.  INT: Ngõ vào nhận tín hiệu ngắt ngoài.  Chân RB1 (34): Xuất nhập số.  Chân RB2 (35): Xuất nhập số.  Chân RB3/PGC:  RB3. Xuất /nhập số.  PGC:Chân cho phép lập trình điện áp thấp ICSP.  Chân RB4 (37) RB5 (38): Xuất nhập số  Chân RB6/ PGC (39) :  RB6: Xuất nhập số.  PGC: Mạch gỡ rối và xung clock lập trình ICSP.  Chân RB7/ PGD (40):  RB7: Xuất nhập số  PGD: Mạch gỡ rối dữ liệu lập trình  Chân RC0/T1OCO/T1CKI (15):  RC0: Xuất nhập số.  T1OCO: Ngõ vào bộ dao động Timer 1.  T1CKI: Ngõ vào xung clock bên ngoài timer1.  Chân RC1/T1OSI/CCP2 (16):  RC1: Xuất/ nhập số.  T1OSI: Ngõ vào bộ dao động Timer1.
  11.  CCP2: Ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.  Chân RC2/ CCP1 (17).  RC2: Xuất / nhập số.  CCP1: Ngõ vào Capture1, ngõ ra compare1, ngõ ra PWM1  Chân RC3/ SCK/ SCL(18):  RC3: Xuất/ nhập số.  SCK: : Ngõ vào xung clock nố i tiếp đồng bộ/ ngõ ra của chế độ SPI.  SCL: Ngõ vào xung clock nố i tiếp đồng bộ / ngõ ra của chế độ I2C.  Chân RC4/SDI/SDA (23):  RC4: Xuất/ nhập số.  SDI: dữ liệu vào SPI  SDA: Xuất/ nhập dữ liệu I2C.  Chân RC5/SDO(24):  RC5: Xuất/ nhập số.  SDO: Dữ liệu ra SPI.  Chân RC6/TX/CK (26):  RC6: Xuất/ nhập số.  TX: Truyền bất đồng bộ USART.  CK: Xung đồng bộ USART.  Chân RC7/RX/DT (27):  RC7: Xuất/ nhập số.  RX: Nhận bất đồng bộ USART.  DT: Dữ liệu đồng bộ USART.  Chân RD0/ PSP0 (19):  RD0: Xuất/ nhập số.  PSP0 : Dữ liệu port tớ song song.  Chân RD1/ PSP1 (20):  RD1: Xuất/ nhập số.  PSP1 : Dữ liệu port tớ song song  Các chân RD2/ PSP2 (21); RD3/ PSP3 (22); RD4/ PSP4(27); RD5/ PSP5(28); RD6/ PSP6(29); RD7/ PSP7 (30) Tương tự chân 19,20.  Chân RE0/RD/AN5 (8):  RE0: Xuất/ nhập số.  RD: Điều khiển đọc port tớ song song  AN5: Ngõ vào tương tựu 5.  Chân RE1/WR/AN6 (9).  RE1: Xuất/ nhập số.  WR: Điều khiển ghi port tớ song song.  AN6: Ngõ vào tương tự kênh thứ 6.  Chân RE2/CS/AN7 (10).
  12.  RE2: Xuất/ nhập số.  CS: Chip chọn lựa điều khiển port tớ song song.  AN7: Ngõ vào tương tự kênh thứ 7.  Chân VDD(11,32) và VSS(12.31): Là các chân nguồn của PIC. 2. TỔ CH Ứ C B Ộ NH Ớ : Có 3 khối bộ nhớ trong PIC 16F877A. Bộ nhớ chương trình và bộ nhớ dữ liệu được mô tả chi tiết trong phần này. Khố i bộ nhớ dữ liệu EEPROM được mô tả chi tiết ở phần sau. a. Cấu trúc bộ nhớ chương trình PIC16F877A có bộ đếm chương trình 13 bit có thể quản lý bộ nhớ chương trình có dung lượng là 8K Word x 14bit (1KWord=14bit). Khi PIC bị reset thì thanh ghi PC có giá trị là 0000h hay còn vector ngắt có địa chỉ 0004H
  13. Hình 4. Sơ đồ bộ nhớ chương trình và ngăn xếp. B. Cấu trúc bộ nhớ dữ liệu: Bộ nhớ dữ liệu được phân chia thành nhiều Bank và những thanh ghi chức năng đặc biệt. Hai bit RP1RP0- bit trạng thái thứ 6 và thứ 5 được dung để chọn bank như bảng 2-3. Mỗi bank có thể mở rộng lên đến địa chỉ 7Fh (tương đương với 128byte). Các ô nhớ có địa chỉ thấp của mỗ i bank được dành cho các thanh nghi chức năng đặc biệt. Trên các thanh nghi chức năng đặc biệt là cá thanh ghi đa dụng – xem như bộ nhớ RAM. Tất cả các bank thanh ghi đều chứa những thanh ghi đặc biệt. RP1:RP0 Bank 00 0 01 1 10 2 11 3 Bảng 3 Lựa chọn bank thanh ghi C. File thanh ghi kết quả tổng quát: File thanh ghi có thể được truy xuất trực tiếp hoặc gián tiếp qua file thanh ghi đặc biệt
  14. Hình 5: Sơ đồ file thanh ghi Quy ước: (1) Các ô nhớ tô màu xám là chưa thiế kế nếu đọc sẽ có giá trị là 0. (2) Các dấu (*) không phải là thanh ghi vật lý.
  15. Chú ý: (1) Những thanh ghi này không có trong PIC16F876A. (2) Những thanh ghi này đựoc bảo vệ. Bảng liệt kê những thanh ghi nằm trong bank thứ 0 được trình bày trong bảng 2-4. Bảng 4. Tóm tắt các thanh ghi đặc biệt. Quy ước: x = Không xác định, u = không thay đổi, q= giá trị tuỳ thuộc vào điều kiện, = chưa sử dụng nếu đọc sẽ có giá trị 0, r = dự trữ. -
  16. Chú ý: (1) Byte cao của thanh ghi PC không thể truy xuất trực tiếp. PCLATH chứa các bit PC, nộ i dung của thanh ghi này sẽ chuyển cho byte cao của thanh ghi PC. (2) Các bit PSPIE được dự trữ cho PIC16F873A/876A. (3) Các thanh ghi có thể địa chỉ hoá bất kỳ bank nào. (4) POSTD, PORTE, TRISD và TRISE không có trong PIC16F873A/876A nếu đọc sẽ có giá trị 0. (5) Bit thứ 4 của thanh ghi EEADRH chỉ được dùng cho PIC16F876A/877A. Bảng liệt kê những thanh ghi nằm trong bank thứ1 được trình bày trong bảng 2-5 Bảng 5. Tóm tắt các thanh nghi đặc biệt
  17. Bảng liệt kê những thanh nghi nằm trong bank thứ 2 được trình bày trong bảng 2-6. Bảng 6: Tóm tắt các thanh ghi đặc biệt d. Các thanh ghi có chức năng đặc biệt Những thanh ghi chức năng đặc biệt là những thanh ghi được sử dụng bởi CPU và những khố i ngoại vi để điều khiển hoạt động theo yêu cầu của CPU. Những thanh ghi này xem như RAM t ĩnh
  18. Thanh ghi trạng thái status TGTT chứa trạng tháu của khố i ALU, trạng thái Reset và các bit chọn bộ nhớ dữ liệu. STATUS REGISTER (ADDRESS 03h, 83h,103h, 183h) R/W-0 R/W-0 R/W-0 R-1 R-1 RW-x RW-x RW-x IRP RP1 RP0 TO PD Z DC C Bit 7 bit 0 IRP: bit lựa chọn thanh ghi (dùng địa chỉ gián tiếp). Bit 7 1= bank 2,3 (100h-1FFh) 0= bank 0,1 (00h-FFh) Bit 6-5 RP1:RP0: các bit lựa chọn thanh ghi (dùng địa chỉ trực tiếp) 11= back 3 (180h-1FFh) 10= bank 2 (100h-FFh) 01=bank 1 (80h-FFh) 00= bank 0 (00h- 7Fh) Mỗi bank là 128 byte. TO: Time-out bit (Bit thời gian chờ). Bit 4 1= sau khi mở nguồn, lệnh CLRWDT hoăc SLEEP. 0= thời gian chờ của WDT được thực hiện. PD: Power-down bit (bit tắt nguồn). Bit 3 1= sau khi mở nguồn bằng lệnh CLRWDT 0= sau khi thực hiện SLEEP BIT 2 Z: Zero bit (bit0). 1= khi kết quả bằng 0 0= khi kết quả khác 0 DC : Digit carry/borrow bit ( các lệnh ADDWF, ADDLW, SUBLW, SUBWF) Bit 1 (bit tràn/ mượn)
  19. 1= khi công 4 bit thấp bị tràn. 0= khi cộng 4 bit thấp không bị tràn. Bit 0 : C: Carry/borrow bit (các lệnh ADDWF, ADDLW, SUBLW, SUBWF) 1= khi kết quả phép toán có tràn. 0= khi kết quả phép toán không bị tràn. Chú ý: Nếu phép toán trừ thì trạng thái của cờ DC và C thì ngược lại và cụ thể như sau: nếu phép trừ lớn hơn 0 thì cờ C bằng 1, nếu kết quả trừ nhỏ hơn 0 thì cờ C bằng 0. Quy ước: R= bít có thể đọc, W= bit có thể ghi, U= bit chưa sử dụng đọc là 0. Quy ước : -n= giá trị tuỳ thuộc POR, ‘1’= bit bị SET, ‘0’= bit bị xoá ,x= bit không xác định. Thanh ghi OPTION_REC Là thanh ghi có thể đọc/ghi, thanh ghi này có những bit điều khiển khác nhau để thiết lập bộ chia trước cho Timer0/WDT, ngắt INT bên ngoài, Timer0 và treo PORTB. OPTION_REG REGISTER (ADDRESS 81h,181h)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2