1. Trang chủ
  2. » Thể loại khác

Chapter10 CacDacTrungDacBiet GT V2q

20 190 1

Đ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 20
Dung lượng 0,92 MB

Nội dung

Chương 10: đặc trưng đặc biệt PIC 18F4550 CHƯƠNG 10: CÁC ĐẶC TRƯNG ĐẶC BIỆT CỦA PIC 18F4550 Các VĐK PIC 18F2455/2550/4450/4550 có nhiều đặc trưng đặc biệt:  Lựa chọn khối dao động  Các kiểu reset: reset khởi động nguồn (POR), định thời khởi động nguồn (PWRT), định thời khởi tạo dao động (OST), brown-out reset  Các ngắt  Bộ định thời canh gác (WDT)  Giám sát lỗi xung clock  Khởi động hai tốc độ  Bảo vệ mã  Nhận dạng VĐK  Lập trình VĐK Nội dung chương giải thích đầy đủ ý nghĩa bit cấu hình, hướng dẫn cách thiết lập bit cấu hình hai cách Cách thứ nhất, dùng phương pháp gián tiếp cách sử dụng phần mềm PICkit (hoặc PICkit 3) Microchip để đặt bit cấu hình theo yêu cầu Cách thứ hai, dùng phương pháp trực tiếp cách thiết lập bit cấu hình viết mã chương trình, chương hướng dẫn cách thiết lập bit cấu hình MPLAB C18 Lưu ý, để hiểu kỹ chương này, phải đọc hiểu nội dung chương trước, nội dung hai chương liên quan đến tổ chức dao động cho VĐK Ngoài ra, nhiều người tìm hiểu lập trình cho VĐK, thường họ không để ý tới đặc trưng đặc biệt trên, nên nạp mã cho VĐK khơng thi hành theo thiết kế 10.1 CÁC BIT CẤU HÌNH Các bit cấu hình PIC 18F4550 lập trình (được đọc 0) khơng lập trình (được đọc 1) để lựa chọn cấu hình chip khác Các bit xếp vị trí nhớ chương trình có địa 0x300000 Người dùng lưu ý địa 0x300000 vượt ngồi khơng gian nhớ chương trình người dùng Thực tế, phụ thuộc vào khơng gian nhớ cấu hình (0x300000 đến 0x3FFFFF), truy xuất cách đọc ghi bảng 401 Chương 10: đặc trưng đặc biệt PIC 18F4550 Bảng 10.1: bit cấu hình nhận dạng chip Thanh ghi CONFIG1L Hình 10.1: ghi CONFIG1L Bit 7-6 – không sử dụng, đọc Bit – USBDIV: bit chọn xung clock USB (được sử dụng với kiểu tốc độ full USB; UCFG.FSEN = 1) = Nguồn clock USB lấy từ 96 MHz PLL chia = Nguồn clock USB lấy trực tiếp từ khối dao động khơng sử dụng chia sau (postscaler) Bit 4-3 – CPUDIV: bit chọn tần số xung clock hệ thống từ chia sau Áp dụng cho chế độ dao động XT, HS, EC, ECIO 11 = FOSC/4 10 = FOSC/3 01 = FOSC/2 00 = FOSC (không dùng chia sau) Áp dụng cho chế độ dao động XTPLL, HSPLL, ECPLL, ECPIO 11 = 96MHz (PLL)/6 10 = 96MHz (PLL)/4 01 = 96MHz (PLL)/3 402 Chương 10: đặc trưng đặc biệt PIC 18F4550 00 = 96MHz (PLL)/2 Bit 2-0 – PLLDIV: bit chọn chia PLL prescaler 111 = Chia cho 12 (ngõ vào dao động 48 MHz) 110 = Chia cho 10 (ngõ vào dao động 40 MHz) 101 = Chia cho (ngõ vào dao động 24 MHz) 100 = Chia cho (ngõ vào dao động 20 MHz) 011 = Chia cho (ngõ vào dao động 16 MHz) 010 = Chia cho (ngõ vào dao động 12 MHz) 001 = Chia cho (ngõ vào dao động MHz) 000 = Không dùng prescaler (ngõ vào dao động MHz điều khiển PLL trực tiếp) Thanh ghi CONFIG1H Hình 10.2: ghi CONFIG1H Bit – IESO: bit chuyển dao động ngoại/nội = Cho phép chuyển dao động = Không cho phép Bit – FCMEN: bit cho phép giám sát xung clock khơng an tồn (fail-safe) = Cho phép = Vô hiệu Bit 5-4 – không sử dụng, đọc Bit 3-0 – FOSC: bit chọn dao động(1) 111x = Dao động HS, PLL phép (HSPLL) 110x = Dao động HS 1011 = Dao động nội, HS sử dụng USB (INTHS) 1010 = Dao động nội, XT sử dụng USB (INTXT) 1001 = Dao động nội, chân RA6 thành chức CLKO, EC sử dụng USB (INTCKO) 1000 = Dao động nội, chân RA6 giữ chức port, EC sử dụng USB (INTIO) 403 Chương 10: đặc trưng đặc biệt PIC 18F4550 0111 = Dao động EC, PLL phép, chân RA6 thành chức CLKO (ECPLL) 0110 = Dao động EC, PLL phép, chân RA6 giữ chức port (ECPIO) 0101 = Dao động EC, chân RA6 thành chức CLKO (EC) 0100 = Dao động EC, chân RA6 giữ chức port (ECIO) 001x = Dao động XT, PLL phép (XTPLL) 000x = Dao động XT (XT) Ghi (1): VĐK khối USB sử dụng dao động chọn làm nguồn xung clock chúng chế độ XT, HS, EC Khối USB dùng dao động XT, HS EC định làm nguồn clock cho VĐK dùng khối dao động nội Thanh ghi CONFIG2L Hình 10.3: ghi CONFIG2L Bit 7-6 – không sử dụng, đọc Bit – VREGEN: bit cho phép điều chỉnh nguồn nội USB = Cho phép = Vô hiệu Bit 4-3 – BORV: bit điện reset brown-out(1) 11 = Thiết lập nhỏ = Thiết lập lớn Bit 2-1 – BOREN: bit cho phép reset brown-out(2) 11 = Reset brown-out cho phép phần cứng (SBOREN bị vô hiệu) 10 = Reset brown-out cho phép phần cứng bị vô hiệu chế độ Sleep 01 = Reset brown-out cho phép điều khiển phần cứng (SBOREN cho phép) 00 = Reset brown-out bị vô hiệu phần cứng phần mềm Bit – ̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝐏𝐖𝐑𝐓𝐄𝐍: bit cho phép sử dụng định thời khởi nguồn = Vô hiệu PWRT 404 Chương 10: đặc trưng đặc biệt PIC 18F4550 = Cho phép PWRT Ghi chú: (1) Xem mục 28.0 "đặc tính điện" từ thơng số kỹ thuật PIC 18F4550 từ nguồn Microchip (2) PWRT tách rời với reser brown-out, cho phép đặc trưng để điều khiển cách độc lập Thanh ghi CONFIG2H Hình 10.4: ghi CONFIG2H Bit 7-5 – khơng sử dụng, đọc Bit 4-1 – WDTPS: bit chọn tỷ lệ chia sau cho định thời canh gác 1111 = : 32,768 1110 = : 16,384 1101 = : 8,192 1100 = : 4,096 1011 = : 2,048 1010 = : 1,024 1001 = : 512 1000 = : 256 0111 = : 128 0110 = : 64 0101 = : 32 0100 = : 16 0011 = : 0010 = : 0001 = : 0000 = : Bit – WDTEN: bit cho phép định thời canh gác hoạt động = WDT phép 405 Chương 10: đặc trưng đặc biệt PIC 18F4550 = WDT bị vô hiệu Thanh ghi CONFIG3H Hình 10.5: ghi CONFIG3H Bit – MCLRE: bit cho phép tích cực chân ̅̅̅̅̅̅̅̅ MCLR ̅̅̅̅̅̅̅̅ cho phép; chân ngõ vào RE3 bị vô hiệu = MCLR = chân ngõ vào RE3 cho phép; ̅̅̅̅̅̅̅̅ MCLR bị vô hiệu Bit 6-3 – không sử dụng, đọc Bit – LPT1OSC: bit cho phép dao động Timer1 hoạt động công suất thấp = Timer1 cấu hình để hoạt động cơng suất thấp = Timer1 cấu hình để hoạt động công suất cao Bit – PBADEN: bit cho phép sử dụng A/D PORTB (Ảnh hưởng trạng thái reset ADCON1 ADCON1 điều khiển cấu hình chân PORTB) = Các chân PORTB cấu hình thành kênh ngõ vào tương tự sau tác động Reset = PORTB cấu hình thành I/O số sau tác động Reset Bit – CCP2MX: bit ghép kênh CCP2 = Ngõ vào/ngõ CCP2 ghép với RC1 = Ngõ vào/ngõ CCP2 ghép với RB3 Thanh ghi CONFIG4L Hình 10.6: ghi CONFIG4L Bit – ̅̅̅̅̅̅̅̅̅̅ 𝐃𝐄𝐁𝐔𝐆: bit cho phép gỡ rối = Vô hiệu gỡ rối, RB6 RB7 định làm chân I/O đa = Cho phép gỡ rối, RB6 RB7 định sử dụng mạch gỡ rối Bit – XINST: bit cho phép sử dụng tập lệnh mở rộng = Mở rộng tập lệnh kiểu định vị mục cho phép 406 Chương 10: đặc trưng đặc biệt PIC 18F4550 = Vô hiệu Bit – ICPRT (In-Circuit Debug/Programming Port; ICPORT): bit cho phép ICPORT = Cho phép = Vô hiệu Bit 4-3 – không sử dụng, đọc Bit – LVP: bit cho phép ICSP nguồn đơn = Cho phép = Vô hiệu Bit – không sử dụng, đọc Bit – STVREN: bit cho phép reset tràn ngăn xếp = Tràn ngăn xếp thực reset = Tràn ngăn xếp không thực reset Thanh ghi CONFIG5L Hình 10.7: ghi CONFIG5L Bit 7-4 – không sử dụng, đọc Bit – CP3: bit bảo vệ mã(1) = Mã khối (0x006000 – 0x007FFF) không bảo vệ = Mã khối (0x006000 – 0x007FFF) bảo vệ Bit – CP2: bit bảo vệ mã = Mã khối (0x004000 – 0x005FFF) không bảo vệ = Mã khối (0x004000 – 0x005FFF) bảo vệ Bit – CP1: bit bảo vệ mã = Mã khối (0x002000 – 0x003FFF) không bảo vệ = Mã khối (0x002000 – 0x003FFF) bảo vệ Bit – CP0: bit bảo vệ mã = Mã khối (0x000800 – 0x001FFF) không bảo vệ = Mã khối (0x000800 – 0x001FFF) bảo vệ 407 Chương 10: đặc trưng đặc biệt PIC 18F4550 Thanh ghi CONFIG5H Hình 10.8: ghi CONFIG5H Bit – CPD: bit bảo vệ mã EEPROM liệu = EEPROM liệu không bảo vệ = EEPROM liệu bảo vệ Bit – CPB: bit bảo vệ mã khối boot = Khối boot (0x000000 – 0x0007FF) không bảo vệ = Khối boot (0x000000 – 0x0007FF) bảo vệ Bit 5-0 – không sử dụng, đọc Thanh ghi CONFIG6L Hình 10.9: ghi CONFIG6L Bit 7-4 – khơng sử dụng, đọc Bit – WRT3: bit bảo vệ ghi(1) = Khối (0x006000 – 0x007FFF) không chống ghi = Khối (0x006000 – 0x007FFF) chống ghi Bit – WRT2: bit bảo vệ ghi = Khối (0x004000 – 0x005FFF) không chống ghi = Khối (0x004000 – 0x005FFF) chống ghi Bit – WRT1: bit bảo vệ ghi = Khối (0x002000 – 0x003FFF) không chống ghi = Khối (0x002000 – 0x003FFF) chống ghi Bit – WRT0: bit bảo vệ ghi = Khối (0x000800 – 0x001FFF) không chống ghi = Khối (0x000800 – 0x001FFF) chống ghi 408 Chương 10: đặc trưng đặc biệt PIC 18F4550 Thanh ghi CONFIG6H Hình 10.10: ghi CONFIG6H Bit – WRTD: bit bảo vệ ghi EEPROM liệu = EEPROM liệu không chống ghi = EEPROM liệu chống ghi Bit – WRTB: bit bảo vệ ghi khối boot = Khối boot (0x000000 – 0x0007FF) không chống ghi = Khối boot (0x000000 – 0x0007FF) chống ghi Bit – WRTC: bit bảo vệ ghi ghi cấu hình = Các ghi cấu hình (0x300000 – 0x3000FF) không chống ghi = Các ghi cấu hình (0x300000 – 0x3000FF) chống ghi Bit 4-0 – khơng sử dụng, đọc Thanh ghi CONFIG7L Hình 10.11: ghi CONFIG7L Bit 7-4 – không sử dụng, đọc Bit – EBTR3: bit bảo vệ đọc bảng(1) = Khối (0x006000 – 0x007FFF) không bảo vệ từ hành động đọc bảng thi hành khối khác = Khối (0x006000 – 0x007FFF) bảo vệ từ hành động đọc bảng thi hành khối khác Bit – EBTR2: bit bảo vệ đọc bảng = Khối (0x004000 – 0x005FFF) không bảo vệ từ hành động đọc bảng thi hành khối khác = Khối (0x004000 – 0x005FFF) bảo vệ từ hành động đọc bảng thi hành khối khác Bit – EBTR1: bit bảo vệ đọc bảng 409 Chương 10: đặc trưng đặc biệt PIC 18F4550 = Khối (0x002000 – 0x003FFF) không bảo vệ từ hành động đọc bảng thi hành khối khác = Khối (0x002000 – 0x003FFF) bảo vệ từ hành động đọc bảng thi hành khối khác Bit – EBTR0: bit bảo vệ đọc bảng = Khối (0x000800 – 0x001FFF) không bảo vệ từ hành động đọc bảng thi hành khối khác = Khối (0x000800 – 0x001FFF) bảo vệ từ hành động đọc bảng thi hành khối khác Thanh ghi CONFIG7H Hình 10.12: ghi CONFIG7H Bit – không sử dụng, đọc Bit – EBTRB: bit bảo vệ đọc bảng khối boot = Khối boot (0x000000 – 0x0007FF) không bảo vệ từ hành động đọc bảng thi hành khối khác = Khối boot (0x000000 – 0x0007FF) bảo vệ từ hành động đọc bảng thi hành khối khác Bit 5-0 – không sử dụng, đọc Thanh ghi DEVID1 (Device ID) Hình 10.13: ghi DEVID1 Bit 7-5 – DEVID: bit nhận dạng chip 011 = PIC18F2455 010 = PIC18F2550 001 = PIC18F4455 000 = PIC18F4550 Bit 4-0 – REV: bit nhận dạng lại 410 Chương 10: đặc trưng đặc biệt PIC 18F4550 Thanh ghi DEVID2 Hình 10.14: ghi DEVID2 Bit 7-0 – DEV: bit nhận dạng chip Các bit sử dụng với bit DEV ghi để nhận biết phần số 0001 0010 = PIC18F2455/2550/4455/4550 10.2 BỘ ĐỊNH THỜI CANH GÁC Với PIC 18F2455/2550/4450/4550, định thời canh gác WDT nhận xung điều khiển từ nguồn INTRC Khi WDT cho phép, nguồn xung clock tích cực Chu kỳ WDT danh định ms độ ổn định tương tự dao động INTRC Chu kỳ ms WDT nhân postscaler 16-bit Ngõ chia sau WDT lựa chọn dồn kênh, điều khiển bit ghi CONFIG2H Dải chu kỳ định sẵn từ ms đến 131.072 s (2.18 phút) WDT chia sau WDT xố có kiện sau xảy ra: lệnh SLEEP CLRWDT thi hành, bit IRCF (OSCON) bị thay đổi hay lỗi xung clock xảy Hình 10.15: sơ đồ khối WDT Thanh ghi điều khiển định thời canh gách (WDTCON) Thanh ghi WDTCON đọc ghi, chứa bit điều khiển mà cho phép điều khiển phần mềm khơng quan tâm đến bit cấu hình cho phép WDT, áp dụng bit cấu hình vơ hiệu WDT Hình 10.16: ghi WDTCON Bit 7-1 – không sử dụng, đọc 411 Chương 10: đặc trưng đặc biệt PIC 18F4550 Bit – SWDTEN: bit cho phép WDT điều khiển phần mềm = Cho phép WDT hoạt động = Tắt WDT 10.3 LẬP TRÌNH CHO PIC 18F4550 10.3.1 Kiểm tra lập trình bảo vệ mã Bảo vệ mã nhớ chương trình Bộ nhớ lập trình người dùng phân chia khối Trong đó, khối boot có dung lượng kbyte Mỗi khối có bit bảo vệ mã: bit bảo vệ mã (CPn), bit bảo vệ ghi (WRTn) bit đọc bảng khối (EBTRn) Hình 10.17: nhớ chương trình có bảo vệ mã (PIC 18F2455/2550/4455/4550) Bảng 10.2: tóm tắt ghi bảo vệ mã Địa 0x300008 0x300009 0x30000A 0x30000B 0x30000C 0x30000D Thanh ghi CONFIG5L CONFIG5H CONFIG6L CONFIG6H CONFIG7L CONFIG7H Bit CPD WRTD - Chú thích: “-”: khơng sử dụng 412 Bit CPB WRTB EBTRb Bit WRTC - Bit - Bit CP3 WRT3 EBTR3 - Bit CP2 WRT2 EBTR2 - Bit CP1 WRT1 EBTR1 - Bit CP0 WRT0 EBTR0 - Chương 10: đặc trưng đặc biệt PIC 18F4550 Bảo vệ mã nhớ chương trình Bộ nhớ chương trình đọc hay ghi vị trí sử dụng lệnh đọc ghi bảng Nhãn nhận dạng VĐK thấy đọc bảng Các ghi cấu hình đọc ghi lệnh đọc ghi bảng Ở chế độ hoạt động thông thường, bit CPn không ảnh hưởng trực tiếp Các bit CPn ngăn cấm việc đọc ghi từ bên ngồi Một khối nhớ người dùng bảo vệ từ hành động ghi bảng bit WRTn = tương ứng Nếu muốn bảo vệ đọc bảng khối nhớ cần đặt bit EBTRn = tương ứng Lệnh đọc bảng mà thi hành từ vị trí ngồi khối không cho phép để đọc làm cho kết đọc tồn Hình 10.18: ví dụ ghi bảng bảng không phép Bảo vệ mã nhớ EEPROM liệu Toàn liệu EEPROM bảo vệ từ đọc ghi bên bit CPD WRTD Bit CPD ngăn cấm bên việc đọc ghi liệu EEPROM, bit WRTD ngăn cấm bên bên ghi liệu vào EEPROM Bảo vệ ghi cấu hình Các ghi cấu hình bảo vệ ghi Bit WRTC giám sát bảo vệ ghi cấu hình Ở chế độ thi hành bình thường, WRTC đọc WRTC ghi nhờ hoạt động ICSP lập trình bên ngồi 10.3.2 Mạch lập trình PIC Sơ đồ mạch nguyên lý hình 10.19 sơ đồ mạch thực tế test thử nghiệm, kết lập trình cho dòng PIC chạy ổn định Kit lập trình hồn tồn tương thích với 413 Chương 10: đặc trưng đặc biệt PIC 18F4550 PICkit hãng Microchip, nên người dùng co thể tải phần mềm firmware từ website Microchip để nạp mã cho kit Kit lập trình giới thiệu có ưu điểm: tương thích với PICkit Microchip (người dùng sử dụng phần mềm firmware có sẵn Microchip mà khơng phải cực cơng viết lại), khơng sử dụng nguồn điện ngồi, linh kiện hồn toàn mua thị trường nước (cả linh kiện dán ghim chân), sơ đồ mạch đơn giản nhiều so với PICkit hãng, mạch nhỏ gọn giá thành rẻ nhiều so với hãng, mạch chạy ổn định Hướng dẫn cách sử dụng kit này, người dùng tham khảo trực tiếp từ cách sử dụng PICkit Microchip Trong sơ đồ mạch có đầu kết nối ICSP, người dùng chọn kiểu đầu kết nối khác để thuận tiện thiết kế sử dụng JP1 Vpp Vdd GND PGD PGC AXU ICSP R2 4K7 5V D2 2K7 4K7 R16 4K7 10K 20 RB2/AN8/INT2/VMO RA2/AN2/Vref -/CVref RB3/AN9/CCP2/VPO RA3/AN3/Vref + RB4/AN11/KBI0 RA4/T0CKI/C1OUT/RCV RB5/KBI1/PGM RA5/AN4/SS/HLVDIN/C2OUT RB6/KBI2/PGC C2 C3 OSC1/CLKI RB7/KBI3/PGD RC0/T1OSO/T13CKI OSC2/CLKO/RA6 RC1/T1OSI/CCP2/UOE 15pF RC2/CCP1 23 R5 10K ICSP 24 Q2 MMBT3904 25 R8 100 26 27 D3 D1 ZHCS1000 5V R11 330 L1 680uH 28 RED Y1 20MHz 10 Q3 MMBT3906 22 RB1/AN10/INT1/SCK/SCL RA1/AN1 21 K RB0/AN12/INT0/FLT0/SDI/SDA RA0/AN0 JP2 NC R17 100 15pF 47uF A R13 100 R9 100K R15 4K7 100 R6 10K VDD U1 R10 C1 SS14 R12 R4 R3 MCLR/Vpp/RE3 RC4/D-/VM Vusb Vss RC6/TX/CK RC7/RX/DT/SDO 12 R1 1K D4 GREEN Q1 MMBT3904 13 5V 15 16 Q4 17 MMBT3904 18 R14 22K R7 330 14 19 PIC18F2550 Vss RC5/D+/VP 11 C4 S1 100nF 5V JP3 C5 100nF USB Hình 10.19: sơ đồ nguyên lý kit lập trình cho PIC Hình 10.20 giao diện PICkit từ hãng Microchip tải miễn phí phần mềm từ hãng 414 Chương 10: đặc trưng đặc biệt PIC 18F4550 Hình 10.20: giao diện PICkit Microchip 10.4 VÍ DỤ THIẾT LẬP CÁC BIT CỦA CÁC THANH GHI CẤU HÌNH Ví dụ 10.1: Hãy thiết lập bit cấu hình từ thiết kế có u cầu: sử dụng PIC 18F4550; chế độ dao động HS với FCK = FOSC/4; sử dụng mạch reset cứng bên ngoài; LED nối với PORTD; chân PORTB ngõ vào tương tự Giải pháp: Đặt bit cấu hình điển hình từ yêu cầu theo bảng 10.3 Chủ yếu thiết lập bit cấu hình liên quan với thiết kế ghi cấu hình từ CONFIG1 đến CONFIG4 Bảng 10.3: thiết lập bit cấu hình theo ví dụ 10.1 Thanh ghi cấu hình Bit Bit Bit Bit Bit Bit Bit Bit Các bit cài đặt CONFIG1L - - USBDIV CPUDIV1 CPUDIV0 PLLDIV2 PLLDIV1 PLLDIV0 01 1000 CONFIG1H IESO FCMEN - - FOSC3 FOSC2 FOSC1 FOSC0 00 1100 CONFIG2L - - VREGEN BORV1 BORV0 BOREN1 BOREN0 ̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝐏𝐖𝐑𝐓𝐄𝐍 01 1110 CONFIG2H - - - WDTPS3 WDTPS2 WDTPS1 WDTPS0 WDTEN -1 1110 CONFIG3H MCLRE - - - - LPT1OSC PBADEN CCP2MX - -011 CONFFIG4L ̅̅̅̅̅̅̅̅̅̅ 𝐃𝐄𝐁𝐔𝐆 XINST ICPRT - - LVP - STVREN 100- -0-1 415 Chương 10: đặc trưng đặc biệt PIC 18F4550 CONFIG5L - - - - CP3 CP2 CP1 CP0 1111 CONFIG5H CPD CPB - - - - - - 11 CONFIG6L - - - - WRT3 WRT2 WRT1 WRT0 1111 CONFIG6H WRTD WRTB WRTC - - - - - 111- CONFIG7L - - - - EBTR3 EBTR2 EBTR1 EBTR0 1111 CONFIG7H - EBTRB - - - - - - -1 DEVID1 DEV2 DEV1 DEV0 REV4 REV3 REV2 REV1 REV0 Manufacturer DEVID2 DEV10 DEV9 DEV8 DEV7 DEV6 DEV5 DEV4 DEV3 2455/2550 /4455/4550 Cách lập trình bit cấu hình cho VĐK có cách:  Cách 1: đặt tồn bit cấu hình từ giao diện PICkit (như hướng dẫn bảng 10.3)  Cách 2: đặt tồn bit cấu hình lập trình MPLAB IDE (lập trình C18 Assembly) Sau đây, hướng dẫn lập trình bit cấu hình cho PIC 18F4550 ví dụ 10.1 theo cách dùng C18 sau: #include // CONFIG1L #pragma CONFIG USBDIV = #pragma CONFIG CPUDIV = #pragma CONFIG PLLDIV = // CONFIG1H #pragma CONFIG IESO = #pragma CONFIG FCMEN = #pragma CONFIG FOSC = 12 // CONFIG2L #pragma CONFIG VREGEN = #pragma CONFIG BORV = #pragma CONFIG BOREN = #pragma CONFIG PWRTEN = // CONFIG2H #pragma CONFIG WDTPS = 15 #pragma CONFIG WDTEN = 416 Chương 10: đặc trưng đặc biệt PIC 18F4550 // CONFIG3H #pragma CONFIG MCLRE = #pragma CONFIG LPT1OSC = #pragma CONFIG PBADEN = #pragma CONFIG CCP2MX = // CONFIG4L #pragma CONFIG DEBUG = #pragma CONFIG XINST = #pragma CONFIG ICPRT = #pragma CONFIG LVP = #pragma CONFIG STVREN = void main(void) { … } Ví dụ 10.2: Hãy thiết lập bit cấu hình từ thiết kế có u cầu: sử dụng PIC 18F4550; chế độ dao động HS với FCK = FOSC/4; sử dụng mạch reset cứng bên ngoài; PORTB ngõ vào số Giải pháp: Đặt bit cấu hình điển hình từ yêu cầu theo bảng 10.4 Trong ví dụ này, lưu ý bit PBADEN Bảng 10.4: thiết lập bit cấu hình theo ví dụ 10.2 Thanh ghi cấu hình Bit Bit Bit Bit Bit Bit Bit Bit Các bit cài đặt CONFIG1L - - USBDIV CPUDIV1 CPUDIV0 PLLDIV2 PLLDIV1 PLLDIV0 01 1000 CONFIG1H IESO FCMEN - - FOSC3 FOSC2 FOSC1 FOSC0 00 1100 CONFIG2L - - VREGEN BORV1 BORV0 BOREN1 BOREN0 ̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝐏𝐖𝐑𝐓𝐄𝐍 01 1110 CONFIG2H - - - WDTPS3 WDTPS2 WDTPS1 WDTPS0 WDTEN -1 1110 CONFIG3H MCLRE - - - - LPT1OSC PBADEN CCP2MX - -001 CONFFIG4L ̅̅̅̅̅̅̅̅̅̅ 𝐃𝐄𝐁𝐔𝐆 XINST ICPRT - - LVP - STVREN 100- -0-1 417 Chương 10: đặc trưng đặc biệt PIC 18F4550 Ví dụ 10.3: Hãy thiết lập bit cấu hình ghi CONFIG1H từ thiết kế có yêu cầu: sử dụng PIC 18F4550; sử dụng dao động nội; chân RA6 ngõ số; (CONFIG1H: FOSC = 1000) Giải pháp: Đặt bit cấu hình ghi cấu hình CONFIG1H để có giá trị sau: CONFIG1H = 0b00001000 = 0x08 10.5 BÀI TẬP (1) Cho biết giá trị ghi cấu hình CONFIG1H thiết kế có u cầu: sử dụng thạch anh ngồi, chế độ dao động HS (2) Cho biết giá trị ghi cấu hình CONFIG1H thiết kế có u cầu: sử dụng mạch dao động cộng hưởng ngoài, chế độ dao động XT (3) Từ tập (2), viết đoạn mã MPLAB C18 để thiết lập bit cấu hình (4) Hãy xác định bit cấu hình để PIC 18F4550 cung cấp xung clock cho khối USB trực tiếp từ khối dao động sơ cấp (5) Hãy xác định bit cấu hình để PIC 18F4550 cung cấp xung clock tần số 48 MHz cho khối USB từ khối dao động sơ cấp, PLL prescaler có hệ số 12 (6) Hãy xác định bit cấu hình để PIC 18F4550 cung cấp xung clock tần số 48 MHz cho khối USB từ khối dao động sơ cấp, PLL prescaler có hệ số (7) Trong tập (6), dao động ngồi có tần số 25 MHz cung cấp cho khối dao động sơ cấp khơng? Vì sao? (8) Hãy xác định bit cấu hình để PIC 18F4550 cung cấp xung clock cho khối ngoại vi với yêu cầu thiết kế: hoạt động với chế độ dao động HS, không sử dụng chia sau dao động (oscillator postscaler) (9) Trong tập (8), tần số XTAL = 12 MHz Hãy cho biết xung clock cung cấp cho khối ngoại vi có tần số bao nhiêu? (10) Hãy xác định bit cấu hình để PIC 18F4550 cung cấp xung clock cho khối ngoại vi với yêu cầu thiết kế: hoạt động với chế độ dao động HS, FCK = FOSC/4 (11) Hãy xác định bit cấu hình để PIC 18F4550 cung cấp xung clock cho khối ngoại vi với yêu cầu thiết kế: hoạt động với chế độ dao động HS, FCK = FOSC/3 (12) Hãy xác định bit cấu hình để PIC 18F4550 cung cấp xung clock cho khối ngoại vi với yêu cầu thiết kế: hoạt động với chế độ dao động HS, FCK = FOSC/2 418 Chương 10: đặc trưng đặc biệt PIC 18F4550 (13) Hãy xác định tần số dao động bên cung cấp cho khối dao động sơ cấp biết yêu cầu thiết kế: sử dụng khối USB với PLL prescaler có hệ số 10 (14) Hãy xác định tần số dao động bên cung cấp cho khối dao động sơ cấp biết yêu cầu thiết kế: sử dụng khối USB với PLL prescaler có hệ số (15) Hãy xác định tần số dao động bên cung cấp cho khối dao động sơ cấp biết yêu cầu thiết kế: sử dụng khối USB với PLL prescaler có hệ số 419 Chương 10: đặc trưng đặc biệt PIC 18F4550 420

Ngày đăng: 21/12/2017, 12:18

TỪ KHÓA LIÊN QUAN

w