1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Vi xử lý-Chương 2 pptx

21 500 4

Đ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

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 1,77 MB

Nội dung

1 CHƯƠNG 2 CẤU TRÚC PHẦN CỨNG PIC 16F877A 1. Cấu trúc tổng quát của PIC16F877A  8K x 14 words Flash ROM.  368 x 8 Bytes RAM.  256 x 8 Bytes EEPROM.  5 Port xuất/nhập (A, B, C, D, E) tương ứng 33 chân.  2 Bộ định thời 8 bit Timer 0 và Timer 2.  1 Bộ định thời 16 bit Timer 1, có thể hoạt động ở chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung clock ngoài.  2 Bộ CCP Capture/ Compare/ PWM. (Bắt Giữ/ So Sánh/ Điều Biến Xung)  1 Bộ biến đổi Analog to Digital 10 bit, 8 ngõ vào. 2 1. Cấu trúc tổng qt của PIC16F877A  1 Bộ định thời giám sát (Watch Dog Timer).  Giao tiếp song song 8 bit (PSP).  Giao tiếp nối tiếp(MSSP,USART).  15 Nguồn ngắt (Interrupt).  Chế độ tiết kiệm năng lượng (Sleep Mode).  Nạp chương trình bằng cổng nối tiếp ( ICSP™ )  Tập lệnh gồm 35 lệnh có độ dài 14 bit.  Tần số hoạt động tối đa 20 MHz. 2. Sơ đồ và chức năng các chân PIC16F877A PIC16F877A là họ Vi điều khiển có 40 chân(dạng PDIP) 3 2. Sơ đồ và chức năng các chân PIC16F877A PIC16F877A là họ vi điều khiển có 40 chân (dạng TQFP) 2. Sơ đồ và chức năng các chân PIC16F877A Cấu tạo tổng quát của PIC16F877A 4  Port A gồm 6 chân từ RA5-RA0.  Việc ghi các giá trị vào thanh ghi TRISA sẽ qui định các chân của PortA. Nếu bằng 0: ngõ Output, bằng 1: ngõ Input.  Chân RA0/AN0  RA0: Xuất/ nhập số  AN0: Ngõ vào tương tự kênh 0  Chân RA1/AN1  RA1: Xuất/ nhập số  AN1: Ngõ vào tương tự kênh 1 2.1 PORTA và thanh ghi TRISA  Chân RA2/AN2/VREF-/CVREF  RA2: Xuất/ nhập số  AN2: Ngõ vào tương tự kênh 2  VREF-: Ngõ vào điện áp chuẩn (thấp) của bộ A/D  CVREF: Điện áp tham chiếu ngõ ra bộ so sánh  Chân RA3/AN3/VREF+  RA3: Xuất/ nhập số  AN3: Ngõ vào tương tự kênh 3  VREF+: Ngõ vào điện áp chuẩn (cao) của bộ A/D 2.1 PORTA và thanh ghi TRISA 5  Chân RA4/T0CKI/C1OUT  RA4: Xuất/ nhập số  T0CKI: Ngõ vào xung clock bên bên ngoài cho Timer0  C1OUT: Ngõ ra bộ so sánh 1  Chân RA5/AN4/SS/C2OUT  RA5: Xuất/ nhập số  AN4: Ngõ vào tương tự kênh 4  SS : ngõ vào chọn lựa SPI  C2OUT: Ngõ ra bộ so sánh 2 2.1 PORTA và thanh ghi TRISA  Port B gồm 8 chân từ RB7-RB0.  Việc ghi các giá trị vào thanh ghi TRISB sẽ qui định các chân của PortB. Nếu bằng 0: ngõ Output, bằng 1: ngõ Input.  RB0/INT:  RB0: Xuất/ nhập số  INT: ngõ vào nhận tín hiệu ngắt RB0  RB1: xuất/nhập số  RB2: xuất/nhập số  RB3/PGM:  RB3: xuất/nhập số  PGM: chân cho phép lập trình điện áp thấp ICSP 2.2 PORTB và thanh ghi TRISB 6  RB4: xuất/nhập số  RB5: xuất/nhập số  RB6/PGC:  RB6: xuất/nhập số  PGC: mạch gỡ rối và xung clock lập trình ICSP  RB7/PGD:  RB7: xuất/nhập số  PGD: mạch gỡ rối và dữ liệu lập trình ICSP 2.2 PORTB và thanh ghi TRISB  Port C gồm 8 chân từ RC7-RC0.  Việc ghi các giá trị vào thanh ghi TRISC sẽ qui định các chân của PortC. Nếu bằng 0: ngõ Output, bằng 1: ngõ Input.  RC0/T1OSO/T1CKI:  RC0: Xuất/ nhập số  T1OSO: ngõ ra bộ dao động Timer1  T1CKI: ngõ vào xung clock bên ngoài Timer1  RC1/T1OSI/CCP2:  RC1: Xuất/ nhập số  T1OSI: ngõ vào bộ dao động Timer1  CCP2: ngõ vào Capture 2, ngõ ra so sánh 2, ngõ ra PWM2 2.3 PORTC và thanh ghi TRISC 7  RC2/CCP1:  RC2: Xuất/ nhập số  CCP1: ngõ vào Capture 1, ngõ ra so sánh 1, ngõ ra PWM1  RC3/SCK/SCL:  RC3: Xuất/ nhập số  SCK: Ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra chế độ SPI  SCL: Ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra chế độ I2C  RC4/SDI/SDA:  RC4: Xuất/ nhập số  SDI: Ngõ vào data SPI  SDA: Xuất/ nhập dữ liệu I2C  RC5/SDO:  RC5: Xuất/ nhập số  SDO: Ngõ ra data SPI 2.3 PORTC và thanh ghi TRISC  RC6/TX/CK:  RC6: Xuất/ nhập số  TX: Truyền bất đồng bộ USART  CK: Xung đồng bộ USART  RC7/RX/DT:  RC7: Xuất/ nhập số  RX: Nhận bất đồng bộ USART  DT: Dữ liệu đồng bộ USART 2.3 PORTC và thanh ghi TRISC 8 2.4 PORTD và thanh ghi TRISD  Port D gồm 8 chân từ RD7-RD0.  Các giá trị thanh ghi TRISD sẽ qui định các chân của PortD. Nếu bằng 0: ngõ Output, bằng 1: ngõ Input.  Ngoài chức năng là Port xuất / nhập, Port D còn được cấu hình như một Port vi xử lý 8 bit (parallel slave port) bằng cách set bit PSPMODE (TRISE<4>).  RD0/PSP0:  RD0: Xuất/nhập số  PSP0: Dữ liệu Port tớ song song  Các chân còn lại PORTD giống RD0.  Port E gồm 3 chân từ RE2-RE0.  Các giá trị thanh ghi TRISE sẽ qui định các chân của PortE. Nếu bằng 0: ngõ Output, bằng 1: ngõ Input.  RE0 /RD/AN5:  RE0: Xuất/ nhập số  RD: cho phép đọc dữ liệu song song từ các ngoại vi  AN5: Ngõ vào tương tự kênh 5 2.5 PORTE và thanh ghi TRISE 9  RE1 /WR/AN6:  RE1: Xuất/ nhập số  WR: cho phép ghi dữ liệu song song từ các ngoại vi  AN6: Ngõ vào tương tự kênh 6  RE2 /CS/AN7:  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 7 2.5 PORTE và thanh ghi TRISE 2.6 Chân OSC1- OSC2 PIC 16F877A có bộ dao động hoạt động ở 4 trường hợp - LP Low Power Crystal - XT Crystal/Resonator - HS High Speed Crystal/Resonator - RC Resistor/Capacitor RC LP, XT, HS 10 2.7 Chân MCLR (Master Reset) - Chân MCLR\ là chân reset ở mức thấp. - Đa hợp với chân Vpp là chân nhận điện áp trong chế độ lập trình cho PIC. 2.8 Chân cấp nguồn PIC 16F877A hoạt động với điện áp +5V. - Hai chân VDD (số 11 và 32) nối với cực dương nguồn 5V - Hai chân VSS (số 12 và 31) nối với Mass Tất cả 4 chân này đều phải được kết nối thì PIC mới hoạt động. 3. Tổ chức bộ nhớ PIC16F877A bao gồm 3 khối bộ nhớ riêng biệt: - Bộ nhớ chương trình (Program Memory) - Bộ nhớ dữ liệu (Data Memory) - Bộ nhớ dữ liệu EEPROM (EEPROM data Memory) [...]... xảy ra Ngắt 3 .2 B nh d li u Bộ nhớ dữ liệu được chia thành 4 Bank: Bank 0, Bank 1, Bank 2 và Bank 3 Mỗi Bank có dung lượng là 128 byte bao gồm: vùng Ram đa mục đích , vùng Ram chứa các thanh ghi chức năng đặc biệt SFRs (Special Function Registers ) Các Bank này được lựa chọn bởi 2 bit RP1 và RP0 nằm trong thanh ghi STATUS RP1 RP0 0 0 Bank Bank 0 0 1 Bank 1 1 0 Bank 2 1 1 Bank 3 11 3 .2 B nh d li u Vùng... Bit cho phép ngắt ngoại vi 1: cho phép ngắt ngoại vi 0: không cho phép GIE Bit cho phép ngắt toàn cục 1: cho phép các ngắt 0: cấm các ngắt d Thanh ghi PIE1 Bao gồm các bit cho phép các ngắt ngoại vi( chú ý PEIE=1) Bit TMR1IE Chức năng Bit cho phép ngắt tràn Timer1 1: cho phép ngắt khi xảy ra khi tràm Timer1 0: không cho phép TMR2IE Bit cho phép ngắt tràn Timer2 bởi thanh ghi PR2 1: cho phép ngắt 0: không... 1: cho phép ngắt 0: không cho phép ngắt e Thanh ghi PIR1 Bao gồm các cờ cho phép từng ngắt ngoại vi Bit Chức năng TMR1IF Cờ báo tràn ở ngắt Timer1 1: khi xảy ra tràn Timer1 0: không xảy ra tràn Timer1 TMR2IF Cờ báo tràn ở ngắt Timer2 bởi thanh ghi PR2 1: khi xảy ra tràn Timer2 0: không xảy ra tràn Timer2 CCP1IF Cờ báo ngắt CCP1( ở chế độ so sánh và bắt giữ) -So sánh: 1: khi giá trị so sánh thanh ghi... Chức năng Cờ báo ngắt của quá trình ghi/đọc port song song 1: khi hoạt động ghi/đọc xảy ra 0: không xảy ra 17 f Thanh ghi PIE2 Gồm các Bit cho phép Ngắt ngoại vi CCP2, ngắt do bộ s sánh, ngắt do xung đột đường truyền SSP, ngắt khi ghi EEPROM Bit CCP2IE Chức năng Bit cho phép ngắt CCP2 1: cho phép 0: không cho phép BCLIE Bit cho phép ngắt khi có sự xung đột đường truyền 1: cho phép 0: không cho phép EEIE... ghi vào EEPROM 1: cho phép 0: không cho phép CMIE Bit cho phép ngắt ở bộ so sánh 1: cho phép 0: không cho phép g Thanh ghi PIR2 Gồm các cờ ngắt ở ngắt ngoại vi CCP2, ngắt do bộ s sánh, ngắt do xung đột đường truyền SSP, ngắt khi ghi EEPROM Bit CCP2IF Chức năng Cờ báo ngắt CCP2 Chế độ so sánh: 1: khi giá trị so sánh ở thanh ghi TMR1 được thỏa Chế độ bắt giữ: 1: khi có sự bắt nhịp ở thanh ghi TMR1 xảy... SLEEP(chế độ nghĩ-nguồn thấp) 12 a Thanh ghi STATUS(tt) Bit TO\ Chức năng (Time-out) Bit báo trạng thái WDT 1: Ở trạng thái nguồn bình thường, hoặc sau lệnh CLRWDT, SLEEP 0: Khi WDT đi vào hoạt động và thời gian chờ được tính RP1, 2 bit chọn bank thanh ghi (dùng địa chỉ trực tiếp) RP0 RP1RP0=00,01,10,11 chọn bank 0,1 ,2, 3 IRP Bit chọn bank thanh ghi(dùng địa chỉ gián tiếp) 1: Chọn bank 2, 3 0: Chọn bank 0,1 b... gián tiếp thông qua thanh ghi FSR (File Select Register) Vùng RAM chứa các thanh ghi chức năng đặc biệt, các thanh ghi này được truy xuất bởi CPU và các hàm chức năng ngoại vi để điều khiển hoạt động của các thiết bị ngoại vi 3 .2. 1 Các thanh ghi ch c năng đ c bi t a Thanh ghi STATUS Bit C Chức năng Cờ nhớ(Carry/Borrow bit) dùng cho phép cộng trừ 1: Phép cộng có nhớ và phép trừ có mượn tại bit 7 0:... thứ 9 sẽ ghi chồng lên data lần thứ 1,… 3 .2. 2 Thanh ghi W và t p thanh ghi F Thanh ghi W (Working Register): là thanh ghi đa dụng dùng để truy xuất dữ liệu Tập thanh ghi F (Register File): F được chỉ định là 1 ô nhớ hay thanh ghi trong bộ nhớ dữ liệu dụ: MOVLW 0x06 ;Đưa giá trị 06h vào W MOVWF 85H ;Chuyển giá trị th.ghi W vào th.ghi TRISA (TRISA = 85H) 21 ... nhưng có thể ghi gián tiếp vào thanh ghi PCH thông qua thanh ghi PCLATH Khi reset thì 5 thanh ghi này bị xóa Hình bên trình bày cách thức thanh ghi PC được nạp giá trị thông qua lệnh CALL hoặc lệnh GOTO 20 j Ngăn x p (stack) PIC16F877A có gồm 8 ngăn xếp có độ rộng 13 bit, con trỏ ngăn xếp không thể Ghi hay Đọc Địa chỉ của PC được cất vào ngăn xếp khi thực hiện lệnh CALL hay khi Ngắt xảy ra Dữ liệu của... Thanh ghi OPTION Bao gồm các Bit thiết lập bộ chia tỉ lệ cho WDT/Timer0, Ngắt ngoài RB0, Timer0 và chế độ có điện trở treo ở PortB Bit PS0 Chöùc naêng Bit chọn lựa hệ số tỉ lệ của bộ chia Prescaler PS1 PS2 PSA Bit gán bộ chia tỉ lệ(Prescaler Assignment bit) 1: bộ chia được gán cho WDT 0: bộ chia được gán cho TIMER 13 b Thanh ghi OPTION Bit T0SE Chức năng Bit chọn kiểu tác động Timer0(TMR0 Source Edge Select . Ngõ vào tương tự kênh 1 2. 1 PORTA và thanh ghi TRISA  Chân RA2/AN2/VREF-/CVREF  RA2: Xuất/ nhập số  AN2: Ngõ vào tương tự kênh 2  VREF-: Ngõ vào điện. Timer1  RC1/T1OSI/CCP2:  RC1: Xuất/ nhập số  T1OSI: ngõ vào bộ dao động Timer1  CCP2: ngõ vào Capture 2, ngõ ra so sánh 2, ngõ ra PWM2 2. 3 PORTC và thanh

Ngày đăng: 18/03/2014, 14:20

TỪ KHÓA LIÊN QUAN

w