Hệ vi xử lí - Chương 2: Cấu trúc phần cứng PIC16F877A

 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. Ví 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)

pdf39 trang | Chia sẻ: tuanhd28 | Lượt xem: 3497 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Hệ vi xử lí - Chương 2: Cấu trúc phần cứng PIC16F877A, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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ộ 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 . CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A  2 Bộ so sánh tương tự (Compartor)ï.  1 Bộ định thời giám sát (Watch Dog Timer).  1 Cổng giao tiếp song song 8 bit.  1 Port nối tiếp.  15 Nguồn ngắt (Interrupt).  Chế độ tiết kiệm năng lượng (Sleep Mode).  Nạp trương trình bằng cổng nối tiếp ( ICSP™ ) (In-Circuit Serial Programming™ -)  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. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 2. Sơ đồ và chức năng các chân PIC16F877A PIC16F877A là họ Vi điều khiển có 40 chân CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 2.1 PORTA và thanh ghi TRISA  Port A gồm 6 chân từ RA0-RA5.  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.  Riêng chân RA4 : tích hợp thêm chức năng là chân cung cấp xung clock ngoài cho Timer 0 (RA4/T0CKI).  Các chân còn lại của PortA được đa hợp với các chân ngõ vào Analog của ADC và chân ngõ vào điện áp so sánh của Bộ so sánh Comparator. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A a. Bảng chức năng Port A b. Các thanh ghi cĩ liên hệ với Port A CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 2.2 PORTB và thanh ghi TRISB  Port B gồm 8 chân từ RB7-RB0.  Các giá trị thanh ghi TRISB qui định Port B  3 chân được đa hợp với chức năng In-Circuit Debugger và Low Voltage Programming function: RB3/PGM, RB6/PGC và RB7/PGD  4 chân RB7-RB4 làm tác nhân Ngắt khi trạng thái các chân này thay đổi. (Nếu PortB là Output thì chức năng ngắt không hoạt động)  Mỗi chân Port B sẽ được treo lên Vdd khi ta xóa bit RBPU\ (OPTION). Tính năng này không có khi Port B là Input. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A a. Bảng chức năng Port B b. Các thanh ghi cĩ liên hệ với Port B CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 2.3 PORTC và thanh ghi TRISC  Port C gồm 8 chân từ RC7-RC0.  Các giá trị thanh ghi TRISC sẽ qui định các chân của PortC.  Các chân của PortC được đa hợp với các chức năng ngoại vi. Chú ý: -Vài chức năng ngọai vi sẽ ghi các giá trị 0 vào thanh ghi TRISC và mặc định là Output, nhưng một số chức năng ngoại vi khác sẽ tự động mặc định là các chân Input. - Do đó người sử dụng phải xem xét kỹ các tính năng của các hàm chức năng ngoại vi, để thiết lập các Bit thanh ghi TRISC cho chính xác. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A a. Bảng chức năng Port C b. Các thanh ghi cĩ liên hệ với Port C CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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). CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A a. Bảng chức năng Port D b. Các thanh ghi cĩ liên hệ với Port D CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A  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.  Các chân PortE đóng vai trò là các chân ngõ vào điều khiển 2.5 PORTE và thanh ghi TRISE khi sử dụng Port vi xử lý nếu bit PSPMODE (TRISE) được Set lên 1 và PortE trong trường hợp này phải là Input.  Ngoài ra, các chân của PortE còn có chức năng là các ngõ vào Analog, tại chế độ này phải cấu hình PortE là Input và khi đọc trạng thái các chân của Port E sẽ cho ta giá trị 0. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A a. Bảng chức năng Port E b. Các thanh ghi cĩ liên hệ với Port E CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A c. Thanh ghi TRISE  Bit 7 IBF: Bit trạng thái báo Buffer ngõ vào đầy. 1 = Một Word (16Bit) được nhận vào và đang được đọc bởi CPU 0 = Không Word được nhận vào  Bit 6 OBF: Bit trạng thái báo Buffer ngõ ra đầy. 1 = Buffer ngõ ra vẫn còn giữ 1 Word đã được ghi trước đó. 0 = Buffer ngõ ra đã được đọc  Bit 5 IBOV: Bit báo trạng thái Buffer ngõ vào tràn (trong chế độ port vi xử lý). 1 = Một chu kỳ ghi mới bắt đầu nhưng giá trị cũ vẫn còn trong buffer (phải được xóa bằng phần mềm). 0 = không có tràn  Bit 4 PSPMODE: Bit chọn chế độ cổng song song cho Port D. 1 = PORTD được cấu hình ở chế độ cổng song song. 0 = PORTD được cấu hình ở chế độ xuất nhập thông thường. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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 CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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) CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 3.1 Bộ nhớ chương trình - Gồm có 8K x 14 words bộ nhớ Flash ROM. - Gồm 1 thanh ghi bộ đếm chương trình 13 bit (PC). (Program Counter) - Vector Reset đặt tại 0000h khi xảy ra Reset. - Vector Ngắt đặt tại 0004h khi xảy ra Ngắt. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A a. Thanh ghi PC (Program Counter)  Có độ rộng 13bit, 8bit thấp được chứa trong thanh ghi PCL, 5 bit cao thì không thể đọc nhưng có thể ghi gián tiếp vào PCH thông qua thanh ghi PCLATH. Khi Reset thì 5 bit cao 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ị qua các lệnh CALL và GOTO. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A b. 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 Ngăn xếp được lấy ra khi thực hiện các lệnh RETURN, RETLW và RETFIE  Thanh ghi PCLATH không bị ảnh hưởng khi cất và lấy data từ Ngăn xếp.  Ngăn xếp hoạt động theo vòng kín, nghĩa là khi cất data vào ngăn xếp lần thứ 9 sẽ ghi chồng lên data lần thứ 1,. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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 RP0 và RP1 nằm trong thanh ghi STATUS. RP1 RP0 Bank 0 0 Bank 0 0 1 Bank 1 1 0 Bank 2 1 1 Bank 3 CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A  Vùng RAM đa mục đích gồm các ô nhớ 8 bit và được truy xuất trực tiếp hoặc 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. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 3.2.1 Các thanh ghi chức năng đặc biệt a. Thanh ghi STATUS Bit Chức năng C 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=ngược lại. DC Cờ nhớ phụ (Digit Carry/Borrow bit) ở phép cộng trừ 4bit thấp 1= Phép cộng có nhớ và phép trừ có mượn tại bit 3. 0= ngược lại Z Cờ Zero 1= khi kết quả các phép toán số học và phép logic bằng 0 0= ngược lại PD\ (Power-down) Bit báo chế độ nguồn giảm 1= khi chế độ nguồn bình thường hoặc sau lệnh CLRWDT 0= khi VĐK ở chế độ SLEEP (chế độ nghỉ – nguồn thấp) CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A Bit Chức năng TO\ (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. RP0 Bit chọn Bank thanh ghi (dùng địa chỉ trực tiếp) RP1 Bit chọn Bank thanh ghi (dùng địa chỉ trực tiếp) 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 CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A b. 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 Chức năng PS0 Bit lựa chọn 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 CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A Bit Chức năng T0SE Bit chọn kiểu tác động Timer0 (TMR0 Source Edge Select bit) 1= cho phép xung vào ngõ RA4/T0CKI tác động bởi cạnh lên 0= cho phép xung vào ngõ RA4/T0CKI tác động bởi cạnh xuống T0CS Bit chọn nguồn xung clock cho Timer0 (TMR0 Source Edge Select bit) 1= cho phép nhận xung clock từ chân RA4/T0CKI 0= cho phép nhận xung clock từ bộ dao động nội INTEDG Bit chọn kiểu tác động nguồn Ngắt (Interrupt Edge Select bit) 1= cho phép ngõ vào ngắt RB0/INT tác động ở cạnh lên 0= cho phép tác động ở cạnh xuống RBPU\ Bit cho phép PORTB treo R lên (PORTB Pull-up Enable bit) 1= không cho phép 0= cho phép RBxHIGH LOW CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A c. Thanh ghi INTCON Bao gồm các Cờ báo ngắt và các Bit cho phép Ngắt Timer0, Ngắt do sự thay đổi các chân PortB và Ngắt ngoài chân RB0/INT. Bit Chức năng RBIF Cờ báo khi có sự thay đổi trạng thái ở PortB 1= khi có sự thay đổi trạng thái ít nhất 1 chân tại RB7-RB4 0= khi không có sự thay đổi ở PortB INTF Cờ báo Ngắt ngoài tại chân RB0/INT 0= khi không có ngắt tại ngoài RB0/INT 1= khi có ngắt ngoài tại RB0/INT xảy ra T0IF Cờ bào tràn của Timer0 0= khi bộ đếm Timer0 chưa tràn 1= khi bộ đếm Timer0 tràn RBIE Bit cho Ngắt ngoài tại PORTB 1= cho phép xảy ra Ngắt khi trạng thái PortB thay đổi 0= không cho phép CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A Bit Chức năng INTE Bit cho phép Ngắt ngoài tại chân RB0/INT 1= cho phép Ngắt ngoài tại chân RB0/INT 0= không cho phép T0IE Bit cho phép Ngắt tràn Timer0 1= cho phép Ngắt khi tràn Timer0 0= không cho phép PEIE 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 ngắt toàn cục 1= cho phép các Ngắt 0= cấm các Ngắt CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A d. Thanh ghi PIE1 Bao gồm các Bit cho phép từng Ngắt ngoại vi. (chú ý PEIE =1) Bit Chức năng TMR1IE Bit cho phép Ngắt tràn Timer1 1= cho phép Ngắt khi xảy ra tràn 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 cho phép Ngắt CCP1IE Bit cho phép Ngắt CCP1 (ở chế độ So sánh và Bắt giữ) 1= cho phép Ngắt 0= không cho phép Ngắt SSPIE Bit cho phép Ngắt ở Port nối tiếp (Synchronous Serie Port IE) 1= cho phép ngắt bởi chế độ hoạt động Port nối tiếp 0= không cho phép CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A Bit Chức năng TXIE Bit cho phép Ngắt khi truyền dữ liệu USART 1= cho phép Ngắt 0= không cho phép Ngắt RCIE Bit cho phép Ngắt khi nhận dữ liệu USART 1= cho phép Ngắt 0= không cho phép Ngắt ADIE Bit cho phép Ngắt chuyển đổi A/D 1= cho phép Ngắt 0= không cho phép Ngắt PSPIE Bit cho phép Ngắt khi Ghi/Đọc Port song song 1= cho phép Ngắt 0= không cho phép Ngắt CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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 TMR2IF Cờ báo tràn ở Ngắt Timer2 bởi thanh ghi PR2 1= khi xảy ra tràn 0= không xảy ra tràn 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 TMR1 được thõa - Bắt giữ: 1=khi có sự bắt nhịp ở thanh ghi TMR1 xảy ra SSPIF Cờ báo Ngắt ở chế độ Port nối tiếp 1= khi các quá trình truyền/nhận ở Port nối tiếp hoàn thành *** 0= khi không xảy ra CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A Bit Chức năng TXIF Cờ báo Ngắt ở quá trình truyền USART 1= bộ đệm truyền USART còn trống 0= bộ đệm truyền USART đầy RCIF Cờ báo Ngắt ở quá trình nhận USART 1= khi đã nhận xong dữ liệu 0= khi chưa nhận xong dữ liệu ADIF Cờ báo ở Ngắt chuyển đổi A/D 1= khi quá trình chuyển đổi A/D hoàn thành 0= khi chưa hoàn thành PSPIF Cờ báo Ngắt ở quá trình Ghi/Đọc Port song song 1= khi hoạt động Ghi/Đọc xảy ra 0= không xảy ra CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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 Chức năng CCP2IE 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 Bit cho phép Ngắt ở quá trình 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 CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 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 Chức năng CCP2IF Cờ báo Ngắt CCP2 - Chế độ s 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 ra BCLIF Cờ báo Ngắt khi có sự xung đột đường truyền 1= xung đột đường truyền xảy ra ở quá trình SSP 0= không có xung đột đường truyền xảy ra ở quá trình SSP EEIF Cờ báo Ngắt ở quá trình Ghi vào EEPROM 1= khi quá trình Ghi EEPROM hoàn thành 0= khi quá trình Ghi EEPROM chưa hoàn thành CMIF Cờ báo Ngắt ở bộ so sánh 1= khi ngõ vào bộ so sánh thay đổi, 0=không thay đổi CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A h. Thanh ghi PCON Gồm các Bit kiểm tra trạng thái các chế độ Reset của PIC. Bit Chức năng BOR\ Bit trạng thái ở chế độ Brown-Out Reset 0=khi chế độ Reset Brown-Out xảy ra (được Set bằng phần mềm) 1=không xảy ra POR\ Bit trạng thái ở chế độ Power-On Reset 0= khi chế độ Reset Power-on xảy ra (được Set bằng phần mềm) 1= không xảy ra CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 3.2.2 Định địa chỉ gián tiếp, thanh ghi INDF và SFR  Thanh ghi INDF không phải là thanh ghi vật lý. Việc định địa chỉ cho thanh ghi này chính là định địa chỉ gián tiếp.  Sử dụng lệnh truy xuất thanh ghi INDF chính là truy xuất dữ liệu của ô nhớ có giá trị chứa trong thanh ghi FSR ( File Select Register ). Nghĩa là gián tiếp thông qua thanh ghi FSR.  Việc đọc thanh ghi INDF sẽ nhận kết quả là 00H.  Việc ghi vào thanh ghi INDF sẽ không có tác dụng. ( tuy nhiên các bit của thanh ghi STATUS vẫn bị ảnh hưởng )  Bit thứ 7 của thanh ghi FSR còn kết hợp với bit IRP (STATUS) để chọn Bank thanh ghi. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A Ví dụ: Xóa các ô nhớ 20h-2Fh trong RAM bằng định địa chỉ gián tiếp: MOVLW 0x20 ;đưa 20H vào W MOVWF FSR ;đưa giá trị W vào FSR NEXT CLRF INDF ;xóa t.ghi INDF INCF FSR ;tăng giá trị FSR lên 1 BTFSS FSR,4 ;kiểm tra bit4 = 1 ? GOTO NEXT ;nếu =0 thì nhảy tới CONTINUE .. NEXT. ;nếu = 1 thì bỏ qua 1 lệnh, làm lệnh kế tiếp. CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 3.2.3 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. Ví 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) CHƯƠNG 2: CẤU TRÚC PHẦN CỨNG PIC16F877A 3.4 Các thanh ghi chức năng đặc biệt

Các file đính kèm theo tài liệu này:

  • pdfchuong_2_pic_cau_truc_5854.pdf
Tài liệu liên quan