Tìm hiểu về vi điều khiển pic 18f4520 và hoạt động timer của nó

38 2.6K 15
Tìm hiểu về vi điều khiển pic 18f4520 và hoạt động timer của nó

Đ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

Ketnooi.com nghiệp giáo dục Đại học Công Nghiệp Hà Nội Khoa điện tử ***o0o*** BÁO CÁO THỰC TẬP Đề tài : Tìm hiểu vi điều khiển pic 18F4520 hoạt động timer Giáo viên hướng dẫn : Phạm Văn Chiến Sinh viên thực : Phạm Danh Trường Hà nội ngày 15-12-2010 MỤC LỤC CHƯƠNG I : TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 1.1 PIC là gì 1.2 TẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC?? 1.3 KIẾN TRÚC PIC 1.4 RISC và CISC 1.5 PIPELINING 1.6 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC 1.7 NGÔN NGỮ LẬP TRÌNH CHO PIC 1.8 MẠCH NẠP PIC CHƯƠNG II TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 18f4520 10 1.Sơ đồ chân vi điều khiển pic18f4520 12 2.Các thông số vi điều khiển pic18f4520 12 3.Sơ đồ khối vi điều khiển pic18f4520 13 CHƯƠNG III : TÌM HIỂU VỀ HOẠT ĐỘNG TIMER0 .16 .16 1.TIMER0 MODULE 16 1.1 Hoạt động Timer0 17 1.2 Các Timer0 Đọc Ghi 16-Bit Mode 18 1.3 Prescaler ("bộ chia"or " bộ đếm gộp trước" ) .19 1.4 Chuyển mạch prescaler 19 1.5 Ngắt Timer0 19 2.TIMER1 MODULE 20 2.1 Hoạt động timer1 21 2.2 Đọc / ghi 16-bit timer1 22 2.3 Tạo dao động Timer1 23 2.4 Ngắt Timer1 26 3.TIMER2 MODULE 26 3.1 Hoạt động Timer2 .27 3.2 Ngắt Timer2 28 3.3 Đầu Timer2 28 4.TIMER3 MODULE 29 4.1 Hoạt động Timer3 30 4.2 Đọc / ghi Timer3 16-Bit mode 32 4.3 Sử dụng tạo dao động timer1 nguồn đồng hồ Timer3 33 4.4 Ngắt Timer3 33 4.5 Dùng Timer3 đặc biệt kích hoạt CCP 33 CHƯƠNG IV : TÌM HIỂU VỀ BỘ SO SÁNH ĐIỆN ÁP .34 1.Bộ so sánh tham chiếu điện áp 34 2.Cấu hình so sánh tham chiếu Điện áp 34 3.Điện áp tham chiếu xác / lỗi 36 4.Thời gian hoạt động ngủ 37 5.Tác dụng ảnh hưởng Reset 37 Connection Considerations( Xem xét kết nối ) 37 Trang | CHƯƠNG I : TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 1.1 PIC là gì PIC viết tắt “Programable Intelligent Computer”, tạm dịch “máy tính thông minh khả trình” hãng Genenral Instrument đặt tên cho vi điều khiển họ PIC1650 thiết kế để dùng làm thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển sau 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 1.2 TẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC?? Hiện thị trường có nhiều họ vi điều khiển 8051, Motorola 68HC, AVR, ARM, Ngoài họ 8051 hướng dẫn cách môi trường đại học, thân người viết chọn họ vi điều khiển PIC để mở rộng vốn kiến thức phát triển ứng dụng công cụ nguyên nhân sau:     Họ vi điều khiển tìm mua dễ dàng thị trường Việt Nam Giá thành không đắt Có đầy đủ tính vi điều khiển hoạt động độc lập Là bổ sung tốt kiến thức ứng dụng cho họ vi điều khiển mang tính truyền thống: họ vi điều khiển 8051  Số lượng người sử dụng họ vi điều khiển PIC Hiện Việt Nam giới, họ vi điều khiển sử dụng rộng rãi Điều tạo nhiều thuận lợi trình tìm hiểu phát triển ứng dụng như: số lượng tài liệu, số lượng ứng dụng mở phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm dẫn gặp khó khăn,…  Sự hỗ trợ nhà sản xuất trình biên dịch, công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,…  Các tính đa dạng vi điều khiển PIC, tính không ngừng phát triển Trang | 1.3 KIẾN TRÚC PIC Cấu trúc phần cứng vi điều khiển thiết kế theo hai dạng kiến trúc: kiến trúc Von Neuman kiến trúc Havard Tổ chức phần cứng PIC thiết kế theo kiến trúc Havard Điểm khác biệt kiến trúc Havard kiến trúc Von-Neuman cấu trúc nhớ liệu nhớ chương trình Đối với kiến trúc Von-Neuman, nhớ liệu nhớ chương trình nằm chung nhớ, ta tổ chức, cân đối cách linh hoạt nhớ chương trình nhớ liệu Tuy nhiên điều có ý nghĩa tốc độ xử lí CPU phải cao, với cấu trúc đó, thời điểm CPU tương tác với nhớ liệu nhớ chương trình Như nói kiến trúc Von-Neuman không thích hợp với cấu trúc vi điều khiển Đối với kiến trúc Havard, nhớ liệu nhớ chương trình tách thành hai nhớ riêng biệt Do thời điểm CPU tương tác với hai nhớ, tốc độ xử lí vi điều khiển cải thiện đáng kể Một điểm cần ý tập lệnh kiến trúc Havard tối ưu tùy theo yêu cầu kiến trúc vi điều khiển mà không phụ thuộc vào cấu trúc liệu Ví dụ, vi điều khiển dòng 16F, độ dài lệnh 14 bit (trong liệu tổ chức thành byte), kiến trúc Von-Neuman, độ dài lệnh bội số Trang | byte (do liệu tổ chức thành byte) Đặc điểm minh họa cụ thể hình 1.1 1.4 RISC và CISC Như trình bày trên, kiến trúc Havard khái niệm so với kiến trúc VonNeuman Khái niệm hình thành nhằm cải tiến tốc độ thực thi vi điều khiển Qua việc tách rời nhớ chương trình nhớ liệu, bus chương trình bus liệu, CPU lúc truy xuất nhớ chương trình nhớ liệu, giúp tăng tốc độ xử lí vi điều khiển lên gấp đôi Đồng thời cấu trúc lệnh không phụ thuộc vào cấu trúc liệu mà linh động điều chỉnh tùy theo khả tốc độ vi điều khiển Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh họ vi điều khiển PIC thiết kế cho chiều dài mã lệnh cố định (ví dụ họ 16Fxxxx chiều dài mã lệnh 14 bit) cho phép thực thi lệnh chu kì xung clock ( ngoại trừ số trường hợp đặc biệt lệnh nhảy, lệnh gọi chương trình … cần hai chu kì xung đồng hồ) Điều có nghĩa tập lệnh vi điều khiển thuộc cấu trúc Havard lệnh hơn, ngắn hơn, đơn giản để đáp ứng yêu cầu mã hóa lệnh số lượng bit định Vi điều khiển tổ chức theo kiến trúc Havard gọi vi điều khiển RISC (Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn Vi điều khiển thiết kế theo kiến trúc Von-Neuman gọi vi điều khiển CISC (Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp mã lệnh số cố định mà bội số bit (1 byte) 1.5 PIPELINING Đây chế xử lí lệnh vi điều khiển PIC Một chu kì lệnh vi điều khiển bao gồm xung clock Ví dụ ta sử dụng oscillator có tần số MHZ, xung lệnh có tần số MHz (chu kì lệnh us) Giả sử ta có đoạn chương trình Trang | sau:       TCY0: đọc lệnh TCY1: thực thi lệnh 1, đọc lệnh TCY2: thực thi lệnh 2, đọc lệnh TCY3: thực thi lệnh 3, đọc lệnh TCY4: lệnh lệnh thực thi theo qui trình thực thi chương trình (lệnh thực thi phải lệnh label SUB_1) nên chu thi lệnh dùng để đọc lệnh label SUB_1 Như xem lênh cần chu kì xung clock để thực thi TCY5: thực thi lệnh SUB_1 đọc lệnh SUB_1 Quá trình thực tương tự cho lệnh chương trình Thông thường, để thực thi lệnh, ta cần chu kì lệnh để gọi lệnh đó, chu kì xung clock để giải mã thực thi lệnh Với chế pipelining trình bày trên, lệnh xem thực thi chu kì lệnh Đối với lệnh mà Trang | trình thực thi làm thay đổi giá trị ghi PC (Program Counter) cần hai chu kì lệnh để thực thi phải thực việc gọi lệnh địa ghi PC tới Sau xác định vị trí lệnh ghi PC, lệnh cần chu kì lệnh để thực thi xong 1.6 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC Các kí hiệu vi điều khiển PIC:  PIC12xxxx: độ dài lệnh 12 bit  PIC16xxxx: độ dài lệnh 14 bit  PIC18xxxx: độ dài lệnh 16 bit     C: PIC có nhớ EPROM (chỉ có 16C84 EEPROM) F: PIC có nhớ flash LF: PIC có nhớ flash hoạt động điện áp thấp LV: tương tự LF, kí hiệu cũ Bên cạnh số vi điệu khiển có kí hiệu xxFxxx EEPROM, có thêm chữ A cuối flash (ví dụ PIC16F877 EEPROM, PIC16F877A flash) Ngoài có thêm dòng vi điều khiển PIC dsPIC Ở Việt Nam phổ biến họ vi điều khiển PIC hãng Microchip sản xuất Cách lựa chọn vi điều khiển PIC phù hợp: Trước hết cần ý đến số chân vi điều khiển cần thiết cho ứng dụng Có nhiều vi điều khiển PIC với số lượng chân khác nhau, chí có vi điều khiển có chân, có vi điều khiển 28, 40, 44, … chân Cần chọn vi điều khiển PIC có nhớ flash để nạp xóa chương trình nhiều lần Tiếp theo cần ý đến khối chức tích hợp sẵn vi điều khiển, chuẩn giao tiếp bên Sau cần ý đến nhớ chương trình mà vi điều khiển cho phép Ngoài thông tin cách lựa chọn vi điều khiển PIC tìm thấy sách “Select PIC guide” nhà sản xuất Microchip cung cấp Trang | 1.7 NGÔN NGỮ LẬP TRÌNH CHO PIC Ngôn ngữ lập trình cho PIC đa dạng Ngôn ngữ lập trình cấp thấp có MPLAB (được cung cấp miễn phí nhà sản xuất Microchip), ngôn ngữ lập trình cấp cao bao gồm C, Basic, Pascal, … Ngoài có số ngôn ngữ lập trình phát triển dành riêng cho PIC PICBasic, MikroBasic,… 1.8 MẠCH NẠP PIC Đây dòng sản phẩm đa dạng dành cho vi điều khiển PIC Có thể sử dụng mạch nạp cung cấp nhà sản xuất hãng Microchip như: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II Có thể dùng sản phẩm để nạp cho vi điều khiển khác thông qua chương trình MPLAB Dòng sản phẩm thống có ưu nạp cho tất vi điều khiển PIC, nhiên giá thành cao thường gặp nhiều khó khăn trình mua sản phẩm Ngoài tính cho phép nhiều chế độ nạp khác nhau, có nhiều mạch nạp thiết kế dành cho vi điều khiển PIC Có thể sơ lược số mạch nạp cho PIC sau: JDM programmer: mạch nạp dùng chương trình nạp Icprog cho phép nạp vi điều khiển PIC có hỗ trợ tính nạp chương trình điện áp thấp ICSP (In Circuit Serial Programming) Hầu hết mạch nạp hỗ trợ tính nạp chương trình WARP-13A MCP-USB: hai mạch nạp giống với mạch nạp PICSTART PLUS nhà sản xuất Microchip cung cấp, tương thích với trình biên dịch MPLAB, nghĩa ta trực tiếp dùng chương trình MPLAB để nạp cho vi điều khiển PIC mà không cần sử dụng chương trình nạp khác, chẳng hạn ICprog P16PRO40: mạch nạp Nigel thiết kế tiếng Ông thiết kế chương trình nạp, nhiên ta sử dụng chương trình nạp Icprog Mạch nạp Universal Williem: mạch nạp chuyên dụng dành cho PIC P16PRO40 Trang | Các mạch nạp kể có ưu điểm lớn đơn giản, rẻ tiền, hoàn toàn tự lắp ráp cách dễ dàng, thông tin sơ đồ mạch nạp, cách thiết kế, thi công, kiểm tra chương trình nạp dễ dàng tìm download miễn phí thông qua mạng Internet Tuy nhiên mạch nạp có nhược điểm hạn chế số vi điều khiển hỗ trợ, bên cạnh mạch nạp cần sử dụng với chương trình nạp thích hợp Trang | CHƯƠNG II TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 18f4520 Bộ vi điều khiển ghi tắt Micro-controller mạch tích hợp chip lập trình được, dùng để điều khiển hoạt động hệ thống Theo tập lệnh người lập trình, vi điêu khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian tiến hành đóng mở cấu Trong thiết bị điện điện tử vi điều khiển điều khiển hoạt động ti vi, máy giặt, đầu đọc lase, lò vi ba, điện thoại …Trong hệ thống sản xuất tự động, vi điều khiển sử dụng robot, hệ thống đo lường giám sát Các hệ thống thông minh vai trò vi điều khiển ngày quan trọng Hiện thị trường có nhiều họ vi điều khiển như: 6811 Motorola, 8051 Intel, Z8 Zilog, PIC Microchip Technology … Trong đề tài nghiên cứu pic18f4520 có nhiều ưu điểm loại vi điều khiển : ADC 10 BÍT, PWM 10 BÍT, EEPROM 256 BYTE, COMPARATER, …ngoài trường đại học giới đặc biệt nước Châu Âu hầu hết xem PIC môn học môn vi diều khiển nói bạn thấy phổ biến rộng rãi Ngoài PIC nhiều nhà sản xuat phần mềm tạo ngôn ngữ hổ trợ cho việc lập trình ngôn ngữ Asembly :MPLAB, CCSC, HTPIC, MIRKROBASIC,… Hiện có nhiều dòng PIC có nhiều khác biệt phần cứng, điểm qua vài nét sau : • 8/16 bít CPU, xây dựng theo kiến trúc kiến trúc Harvard sửa đổi, với tập lệnh rút gọn (do PIC thuộc loại RISC) • Flash Rom tuỳ chọn 256 byte đến 256 kbybe • Các cổng xuất/nhập (mức lôgic thường từ 0v đến 5v, ứng với mức logic 1) • 8/16 bít timer • Các chuẩn giao tiếp ngoại vi nối tiếp đồng bộ/ không đồng Trang | 10 2.3.1 Sử dụng time1 nguồn CLOCK Các dao động timer1 có sẵn nguồn lượng xung chế độ quản lý Bằng cách thiết lập bit chọn xung , SCS (OSCCON ), tới '01 ', công tắc chuyển sang mode SEC_RUN; CPU thiết bị ngoại vi có tốc độ từ dao động timer1 Nếu bit IDLEN (OSCCON ) xoá dẫn SLEEP thực thi, thiết bị nhập vào mode SEC_IDLE Thêm chi tiết có mục 3.0 "Power-Chế độ quản lý" Bất dao động timer1 cung cấp nguồn đồng hồ, hệ thống xung timer1 trạng thái cờ, T1RUN (T1CON ), thiết lập Điều sử dụng để xác định mode clocking hành điều khiển Nó có nguồn xung sử dụng Clock Fail-Safe Monitor Nếu hình Clock kích hoạt dao động timer1 bị lỗi cung cấp xung đồng hồ, bit T1RUN cho biết đồng hồ cung cấp dao động timer1 nguồn khác 2.3.2 Lựa chọn nguồn điện cho TIMER1 Các dao động timer1 hoạt động hai cấp độ khác biệt tiêu thụ điện Trang | 24 dựa cấu hình thiết bị Khi bit LPT1OSC cấu hình thiết lập, dao động timer1 hoạt động mode công suất thấp Khi LPT1OSC không thiết lập, timer1 hoạt động mức lượng cao Điện tiêu thụ cho mode cụ thể tương đối ổn định, không phân biệt mode hoạt động thiết bị Cấu hình mặc định timer1 chế độ lượng cao Khi công suất thấp timer1 mode có xu hướng nhạy cảm tới nhiễu, môi trường tiếng ồn cao gây số bất ổn định dao động Lựa chọn công suất thấp, đó, tốt cho ứng dụng nhiễu 2.3.3 Lưu ý thiết kế dao động TIMER1 Các vi mạch dao động timer1 thu hút lượng trình hoạt động Do tính chất công suất thấp dao động, nhạy cảm tới tín hiệu nhanh chóng thay đổi gần Các vi mạch dao động, thể hình 12-3, nên đặt gần tốt với vi điều khiển Không nên có mạch qua phạm vi vi mạch dao động khác với VSS VDD Một vi mạch tốc độ cao phải đặt gần tor-oscilla (chẳng hạn pin CCP1 đầu so sánh mode PWM, dao động cách sử dụng pin OSC2), vòng bảo vệ nối đất vi mạch dao động, hình 04/12, hữu ích sử dụng PCB mặt bổ sung tới nối mặt đất Trang | 25 2.4 Ngắt Timer1 Những cặp ghi TMR1 (TMR1H: TMR1L) số gia từ 0000h tới FFFFh cuộn qua tới 0000h Các ngắt timer1, kích hoạt, tạo tràn, chốt bit cờ ngắt, TMR1IF (PIR1 ) Điều ngắt kích hoạt hay vô hiệu hóa cách thiết lập xoá bit timer1 Cho phép ngắt, TMR1IE (PIE1 ) TIMER2 MODULE Trang | 26 Các module Timer2 kết hợp tính sau đây: • 8-Bit Timer giai đoạn ghi (TMR2 PR2, tương ứng) • đọc ghi (cả ghi) • Phần mềm lập trình prescaler (1:1, 01:04 1:16) • Phần mềm lập trình postscaler (1:1 thông qua 1:16) • ngắt TMR2 để phù hợp PR2 • Tùy chọn dùng xung nhịp thay đổi cho MSSP module Module điều khiển thông qua ghi T2CON (Register 13-1), cho phép vô hiệu hóa đếm thời gian cấu hình prescaler postscaler Timer2 ngắt cách xóa bit điều khiển, TMR2ON (T2CON ), để giảm thiểu điện tiêu thụ Một sơ đồ khối đơn giản mô-đun hiển thị Hình 13-1 3.1 Hoạt động Timer2 Trang | 27 Trong hoạt động bình thường, TMR2 tăng lên từ 00h xung nhịp (FOSC / 4) Một truy cập 4-bit / prescaler xung nhịp vào cho đầu vào trực tiếp, chiaby-4 phân chia-by16 tùy chọn prescale; lựa chọn prescaler điều khiển bit, T2CKPS (T2CON ) Giá trị TMR2 so với ghi giai đoạn, PR2, chu trình xung nhịp Khi hai giá trị phù hợp, parator com-tạo tín hiệu phù hợp đầu hẹn Tín hiệu xác định lại giá trị TMR2 để 00h vào chu trình ổ đĩa postscaler xuất / counter (xem Phần 13,2 "Timer2 ngắt") Việc ghi TMR2 PR2 hai đọc ghi trực tiếp Việc ghi TMR2 xóa Reset thiết bị, ghi PR2 tạo giá trị đầu FFh Cả hai đếm prescaler postscaler xoá kiện sau đây: • ghi vào ghi TMR2 • ghi vào ghi T2CON • Thiết lập lại thiết bị (Power-on Reset, MCLR Reset, Watchdog Timer Thiết lập lại Brown-out Reset) TMR2 không bị xóa T2CON ghi 3.2 Ngắt Timer2 Timer2 tạo thiết bị tùy ý ngắt Các tín hiệu đầu Timer2 (TMR2 để phù hợp PR2) pro-vides đầu vào cho đầu 4-bit truy cập / postscaler Truy cập tạo cờ ngắt TMR2 bám vào TMR2IF (PIR1 ) Có nhiều lựa chọn postscale 16 (từ 01:01 đến 01:16 bao gồm) Có thể lựa chọn với bit điều khiển postscaler, T2OUTPS (T2CON ) 3.3 Đầu Timer2 Đầu unscaled TMR2 dùng chủ yếu cho module CCP, mà dùng thời gian cho hoạt động vào chế độ PWM Timer2 tùy ý sử dụng mã nguồn chuyển đổi xung cho hoạt động mô-đun MSSP chếđộ SPI Thông tin Add-tional quy Trang | 28 định Mục 17,0 "Master đồng Serial Port(MSSP) Module" TIMER3 MODULE Các module đếm thời gian Timer3 / truy cập kết hợp tính này: • Phần mềm lựa chọn thao tác đếm thời gian16-bit truy cập • đọc ghi 8-bit cho phép ghi (TMR3H TMR3L) • xung nhịp lựa chọn mã nguồn (bên hay bên ngoài) với xung nhịp điện timer1 tùy chọn dao động bên • ngắt-on-tràn • Module thiết lập kích hoạt đặc biệt CCP Một sơ đồ khối đơn giản mô-đun Timer3 thể hình 14-1 Một sơ đồ khối hoạt động mô-đun chế độ đọc ghi / thể hình 14-2 Trang | 29 Các module Timer3 điều khiển thông qua ghi T3CON(Register 14-1) Nó lựa chọn mã nguồn đồng hồ cho môđun CCP (xem phần 15.1.1 "CCP Modules Timer lực"để biết thêm thông tin) bit RD16: 16-Bit Đọc / ghi Kích hoạt chế độ bit = Cho phép ghi đọc / ghi Timer3 bit-16 thao tác = Cho phép ghi đọc / ghi Timer3 hai hoạt động 8-bit bit 6,3 T3CCP : Timer3 timer1 để CCPx bit Kích hoạt 1x = Timer3 thu / so sánh với mã nguồn xung cho mô-đun CCP 01 = Timer3 thu / so sánh mã nguồn xung cho CCP2; Timer1 thu / so sánh xung mã nguồn cho CCP1 00 = timer1 thu / so sánh mã nguồn xung cho CCP module bit 5-4 T3CKPS : Timer3 đầu vào Clock prescale 11 = 01:08 giá trị prescale 10 = 01:04 giá trị prescale 01 = 01:02 giá trị prescale 00 = 01:01 giá trị prescale bit T3SYNC: Timer3 bên điều khiển đầu vào bit đồng Clock (Không thể sử dụng xung điện đến từTimer1/Timer3.) Khi TMR3CS = 1: = Không đồng hóa đầu vào xung bên = Đồng hóa xung bên đầu vào Khi TMR3CS = 0: Bit bỏ qua Timer3 sử dụng xung bên khiTMR3CS = bit TMR3CS: Timer3 Clock Nguồn Chọn bit = xung nhập từ timer1 dao động T13CKI(trên cạnh tăng sau giảm biên thứ nhất) = bên xung (FOSC / 4) bit TMR3ON: Timer3 Ngày bit = Bật Timer3 = Dừng Timer3 4.1 Hoạt động Timer3 Trang | 30 Timer3 hoạt động ba chế độ: • Timer • truy cập đồng • Số lượt truy cập không đồng Các chế độ hoạt động xác định bit chọn xung,TMR3CS (T3CON ) Khi TMR3CS xóa (= 0), Timer3 gia tăngtrên chu kỳ lệnh bên (FOSC / 4) Khi bit đặt, số giaTimer3 tất biên tăng đầu vào timer1 bên dao động timer1, kích hoạt Như với timer1, RC1/T1OSI RC0/T1OSO / T13CKI chân trở thành đầu vào dao động timer1 kích hoạt Điều có nghĩa giá trị TRISC bỏ qua chânđược đọc "0" Trang | 31 4.2 Đọc / ghi Timer3 16-Bit mode Timer3 cấu hình đọc ghi cho bit-16 (xem hình 14-2).Khi điều khiển RD16 bit (T3CON ) thiết lập, địa củaTMR3H ánh xạ tới đệm Timer3 ghi byte cao Một đọc từ TMR3L tải nội dung Timer3 byte cao vào đệm ghi Timer3 Byte cao Điều cung cấp cho người dùng khả đọc xác tất timer1 16 bit mà xác định xem đọc bytecao hay không, đọc byte thấp Một ghi vào byte cao Timer3 phải thực thông qua đệm TMR3H ghi Các byte Timer3 cao được cập nhật với các nội dung của TMR3H ghi xảy cho TMR3L Điều giúp người sử dụng ghi tất 16 bit cho hai byte cao thấp Timer3 lúc Các byte cao của Timer3 không trực tiếp thể đọc hoặc ghi ở chế độ này Tất cả đọc và ghi phải được thực hiện thong qua việc ghi Timer3 Ghi choTMR3H không xóa các prescaler Timer3 Prescaler là chỉ bị xóa ghi cho TMR3L Trang | 32 4.3 Sử dụng tạo dao động timer1 nguồn đồng hồ Timer3 Có thể được sử dụng nguồn xung clock của Timer3 Các bộ dao động Timer1 được kích hoạt bằng cách thiết lập T1OSCEN (T1CON ) Để sử dụng nó là nguồn clock Timer3, các bit TMR3CS cũng cần được thiết lập Như ghi nhận, điều này cũng được cấu hình cho Timer3 tăng dần mỗi góc lên của nguồn dao động Các bộ dao động Timer1 được mô tả phần “Timer1 Module” 4.4 Ngắt Timer3 Những ghi TMR3 (TMR3H: TMR3L) gia tăng từ 0000h tới FFFFh và tràn cho 0000h Các Timer3 bị ngắt, nếu được kích hoạt, được tạo về tràn và được chốt ở bít cờ ngắt, TMR3IF (PIR2 ) Điều này ngắt có thể được kích hoạt hay vô hiệu hóa bằng cách thiết lập hoặc xóa bit cho phép ngắt Timer3, TMR3IE(PIE2 ) 4.5 Dùng Timer3 đặc biệt kích hoạt CCP Nếu một các mô-đun CCP được cấu hình để sử dụng Timer3 và tới tạo một trường hợp đặc biệt của Trigger so sánh (CCP1M hoặc CCP2M =1011), tín hiệu này sẽ thiết lập lại Timer3 Nó khởi động A / D conver-sion A / Dmodule kích hoạt (xem phần 15.3.4 " Special Event Trigge " biết thêm chi tiết) Module cần cấu định thời đồng để tận dụng tính Khi sử dụng theo cách này, CCPRxH: CCPRxL ghi trở thành ghép nối thời hạn ghi Timer3 Nếu Timer3 chạy chế độ truy cập không đồng bộ, các thao rác Reset sẽ không thể hoạt động Trong trường hợp có ghi vào Timer3 trùng với một trường hợp đặc biết Trigger của một mô đun CCP, ghi sẽ được ưu tiên Trang | 33 CHƯƠNG IV : TÌM HIỂU VỀ BỘ SO SÁNH ĐIỆN ÁP Bộ so sánh tham chiếu điện áp Các tham chiếu so sánh điện áp mạng điện trở bậc thang 16-tap cung cấp điện áp tham chiếu lựa chọn Mặc dù mục đích cung cấp tài liệu tham khảo cho so sánh tương tự, sử dụng độc lập chúng Một sơ đồ khối module hiển thị hình 21-1 Các bậc thang điện trở phân đoạn để cung cấp hai dãy giá trị CVREF có chức điện xuống để tiết kiệm lượng tham chiếu không bị sử dụng Cung cấp tham chiếu module cung cấp từ hai thiết bị VDD / VSS điện áp tham chiếu Cấu hình so sánh tham chiếu Điện áp Các module điện áp tham chiếu điều khiển thông qua việc ghi CVRCON (Register 21-1) Các tham chiếu so sánh hai dãy điện áp cung cấp công suất đầu -volt, với 16 mức độ khác Phạm vi sử dụng lựa chọn Trang | 34 bit CVRR (CVRCON ) Sự khác biệt dãy kích thước bước lựa chọn với bit chọn CVREF (CVR ), với độ phân giải phạm vi cung cấp tốt Các phương trình sử dụng để tính toán đầu điện áp tham chiếu so sánh sau: If CVRR = 1: CVREF = ((CVR)/24) x CVRSRC If CVRR = 0: CVREF = (CVRSRC x 1/4) + (((CVR)/32) x CVRSRC) Các tham chiếu so sánh điện áp cung cấp đến từ hai VDD VSS, từ bên VREF + VREF-được ghép với RA2 RA3 Các nguồn điện chọn bit CVRSS (CVRCON ) Thời gian chỉnh lý điện áp tham chiếu so sánh phải xem xét thay đổi CVREF (xem bảng 26-3 Mục 26,0 "Đặc điểm điện") bit CVREN: Kích hoạt tính so sánh điện áp tham chiếu bit = CVREF mạch cấp nguồn = CVREF mạch nguồn bit CVROE: Kích hoạt tính so sánh VREF bit (1) = CVREF cấp điện áp đầu chân RA2/AN2/VREF-/CVREF = CVREF điện áp ngắt kết nối từ chân RA2/AN2/VREF-/CVREF bit CVRR: Khoảng lựa chọn so sánh VREF bit = to 0.667 CVRSRC, với kích thước bước CVRSRC/24 (thấp nhiều) Trang | 35 = 0.25 CVRSRC to 0.75 CVRSRC, với kích thước bước CVRSRC/32 (cao tầm) bit bit 3-0 CVRR = 1: CVRSS: Nguồn lựa chọn so sánh VREF bit = so sánh nguồn tham chiếu, CVRSRC = (VREF +) - (VREF-) = so sánh nguồn tham chiếu, CVRSRC = VDD - VSS CVR3:CVR0: lựa chọn giá trị so sánh VREF bit (0 ≤ (CVR) ≤ 15) Khi CVREF = ((CVR)/24) • (CVRSRC) When CVRR = 0: CVREF = (CVRSRC/4) + ((CVR)/32) • (CVRSRC) Lưu ý 1: CVROE ghi đèTRISA bit thiết lập Hình 21-1: BỘ SO SÁNH ĐIỆN ÁP THAM CHIẾU SƠ ĐỒ BLOCK Điện áp tham chiếu xác / lỗi Các tham chiếu điện áp đầy đủ không nhận việc xây dựng module Các bóng bán dẫn đầu cuối mạng điện trở bậc thang (hình 21-1) giữ CVREF khỏi tiếp cận đường ray nguồn tham khảo-ence Các tham chiếu điện áp có nguồn gốc từ nguồn tham chiếu, vậy, thay đổi đầu CVREF biến động Trang | 36 nguồn Các thử nghiệm tuyệt đối xác điện áp tham chiếu tìm thấy mục 26,0 " Đặc tính Điện " Thời gian hoạt động ngủ Khi thiết bị đánh thức từ Sleep thông qua ngắt thời gian Watchdog Timer ngoài, nội dung ghi CVRCON không bị ảnh hưởng Để giảm thiểu mức tiêu thụ chế độ ngủ, tham chiếu điện áp nên vô hiệu hóa Tác dụng ảnh hưởng Reset Reset vô hiệu hóa thiết bị tham chiếu cách xóa điện áp bit, CVREN (CVRCON ) Reset ngắt kết nối tham chiếu khỏi chân RA2 cách xóa bit, CVROE (CVRCON ) lựa chọn phạm vi cao điện áp cách xóa bit, CVRR (CVRCON ) Giá trị CVR bit chọn xóa Connection Considerations( Xem xét kết nối ) Các module tham chiếu điện áp hoạt động cách độc lập module so sánh Đầu máy phát điện tham chiếu kết nối với chân RA2 bit CVROE thiết lập Cho phép tham chiếu điện áp đưa vào RA2 cấu đầu vào kỹ thuật số gia tăng mức tiêu thụ Kết nối RA2 đầu kỹ thuật số CVRSS kích hoạt tăng mức tiêu thụ thời Các chân RA2 sử dụng đầu ổ đĩa đơn giản D/A với khả hạn chế Do dung lượng ổ đĩa bị hạn chế hành, đệm sử dụng vào đầu điện áp tham chiếu cho kết nối từ bên cho VREF Hình 21-2 hiển thị ví dụ đệm kỹ thuật Trang | 37 Trang | 38 [...]... ghi 16-bit timer1 Timer1 có thể được cấu hình cho bit-16 đọc và vi t (xem hình 12-2) Khi điều khiển RD16 bit (T1CON ) được thiết lập, địa chỉ của TMR1H được sắp xếp tới có bộ đệm đăng ký byte cao của timer1 Một đọc từ TMR1L sẽ tải về nội dung của byte cao của Trang | 22 timer1 vào bộ đệm timer1 byte cao Điều này cung cấp cho người dùng khả năng đọc một cách chính xác tất cả 16 bit của timer1 mà... năng lượng thấp cho bộ vi điều khiển trong hoạt động quản lý điện năng Timer1 cũng có thể được sử dụng để cung cấp cho Real-Time Clock (RTC) với các tính năng ứng dụng Timer1 được điều khiển thông qua ghi T1CON Control (Đăng ký 01/12) Nó cũng bao gồm các timer1 Cho phép tạo dao động bit (T1OSCEN) Timer1 có thể được kích hoạt hay vô hiệu hóa bằng cách cài đặt hoặc xoá bit điều khiển, TMR1ON (T1CON )... nhớ nội EEPROM - có thể ghi/ xoá lên tới hàng triệu lần • Modul điều khiển động cơ, đọc encoder • Hỗ trợ giao tiếp USB • Hỗ trợ điều khiển Ethernet • Hỗ trợ giao tiếp CAN • Hỗ trợ giao tiếp LIN • Hỗ trợ giao tiếp IRDA DSP những tính năng xử lý tín hiệu số Trang | 11 1 Sơ đồ chân vi điều khiển pic1 8f4520 2 Các thông số về vi điều khiển pic1 8f4520 • CPU tốc độ cao có 75 cấu trúc lệnh, nếu được cho phép... độ hoạt động được xác định bởi các bit chọn xung,TMR3CS (T3CON ) Khi TMR3CS là xóa (= 0), Timer3 gia tăngtrên mỗi chu kỳ lệnh bên trong (FOSC / 4) Khi bit được đặt, số giaTimer3 trên tất cả biên tăng trong đầu vào timer1 bên ngoài hoặc bộ dao động trong timer1 , nếu được kích hoạt Như với timer1 , các RC1/T1OSI và RC0/T1OSO / T13CKI chân trở thành đầu vào khi bộ dao động timer1 được kích hoạt Điều. .. Oscillator khác nhau 3 Sơ đồ khối của vi điều khiển pic1 8f4520 Trang | 13 Trang | 14 4 Sơ đồ khối bộ nhớ dữ liệu pic1 8f4520 Trang | 15 CHƯƠNG III : TÌM HIỂU VỀ HOẠT ĐỘNG TIMER0 1 TIMER0 MODULE Các module Timer0 kết hợp các tính năng sau đây: • • • • • • Phần mềm hoạt động như là một lựa chọn bộ đếm thời gian hoặc truy cập vào cả hai bit-8 hoặc chế độ 16-bit có thể đọc và ghi thanh ghi chuyên dụng 8-bit,... TMR1CS là xoá (= 0), timer1 số gia trên tất cả các chỉ dẫn bên trong chu trình (FOSC / 4) Khi bit được thiết lập, timer1 số gia trên mỗi cạnh tăng của đầu vào timer1 xung nhịp bên ngoài hoặc bộ dao động trong timer1 , nếu được kích hoạt Khi timer1 được kích hoạt, các RC1/T1OSI và RC0 / T1OSO/T13CKI chân trở thành đầu vào Điều này có nghĩa các giá trị của TRISC được bỏ qua và các chân được đọc... ngắt-on-tràn Vi c ghi T0CON (Register 01/11) điều khiển tất cả các khía cạnh của hoạt động của mô-đun, bao gồm cả vi c lựa chọn prescale.Cả hai đều có thể đọc và ghi Một sơ đồ khối đơn giản của các mô-đun Timer0 ở chế độ 8-bit được thể hiện trong hình 11-1 Hình 11-2 cho thấy một sơ đồ khối đơn giản của các mô-đun Timer0 ở chế độ 16-bit REGISTER 11-1: T0CON: TIMER0 CONTROL REGISTER bit 7 bit 6 bit 5 TMR0ON: Timer0 ... được cung cấp bởi các bộ dao động timer1 hoặc một nguồn khác 2.3.2 Lựa chọn nguồn điện cho TIMER1 Các bộ dao động timer1 có thể hoạt động ở hai cấp độ khác biệt về tiêu thụ điện năng Trang | 24 dựa trên cấu hình thiết bị Khi bit LPT1OSC cấu hình được thiết lập, các bộ dao động timer1 hoạt động trong một mode công suất thấp Khi LPT1OSC không được thiết lập, timer1 hoạt động ở mức năng lượng cao hơn... được và cũng không thể xin lệnh (xem hình 11-2) TMR0H được updated với các nội dung của byte cao của Timer0 trong một đọc của TMR0L Điều này cung cấp khả năng đọc tất cả 16 bit của Timer0 mà không cần phải xác minh rằng đọc của byte cao và thấp là có giá trị, do Rollover giữa kế tiếp lần đọc của byte cao và thấp Tương tự, một ghi cho các byte cao của Timer0 cũng phải được thực hiện thông qua vi c ghi... RD16: 16-Bit Đọc / ghi Kích hoạt chế độ bit 1 Cho phép = ghi đọc / ghi của timer1 hoạt động 16-bit một 0 Cho phép = ghi đọc / ghi của timer1 trong hai hoạt động 8-bit Trang | 20 bit 6 bit 5-4 bit 3 T1RUN: timer1 hệ thống Clock trạng thái bit 1 = xung nhịp thiết bị có nguồn gốc từ bộ dao động timer1 0 = xung nhịp thiết bị có nguồn gốc từ một nguồn khác T1CKPS : timer1 đầu vào Clock prescale Chọn bit

Ngày đăng: 02/06/2016, 15:47

Từ khóa liên quan

Mục lục

  • CHƯƠNG I : TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC

    • 1.1 PIC là gì

    • 1.2 TẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC??

    • 1.3 KIẾN TRÚC PIC

    • 1.4 RISC và CISC

    • 1.5 PIPELINING

    • 1.6 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC

    • 1.7 NGÔN NGỮ LẬP TRÌNH CHO PIC

    • 1.8 MẠCH NẠP PIC

    • CHƯƠNG II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 18f4520

      • 1. Sơ đồ chân vi điều khiển pic18f4520

      • 2. Các thông số về vi điều khiển pic18f4520

      • 3. Sơ đồ khối của vi điều khiển pic18f4520

      • CHƯƠNG III : TÌM HIỂU VỀ HOẠT ĐỘNG TIMER0

        • 1. TIMER0 MODULE

          • 1.1 Hoạt động Timer0

          • 1.2 Các Timer0 Đọc và Ghi trong 16-Bit Mode

          • 1.3 Prescaler ("bộ chia"or " bộ đếm gộp trước" )

          • 1.4 Chuyển mạch prescaler

          • 1.5 Ngắt Timer0

          • 2. TIMER1 MODULE

            • 2.1 Hoạt động timer1

            • 2.2 Đọc / ghi 16-bit timer1

            • 2.3 Tạo dao động Timer1

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

Tài liệu liên quan