1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

38 4,4K 28
Tài liệu đã được kiểm tra trùng lặp

Đ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 38
Dung lượng 1,16 MB

Nội dung

PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ. PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay.

Trang 1

Đại học Công Nghiệp Hà Nội

Khoa điện tử

Giáo viên hướng dẫn : Phạm Văn Chiến

Sinh viên thực hiện : Phạm Danh Trường

Hà nội ngày 15-12-2010

Trang 2

MỤC LỤC

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

1.1 PIC là gì 3

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

1.3 KIẾN TRÚC PIC 4

1.4 RISC và CISC 5

1.5 PIPELINING 5

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

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

1.8 MẠCH NẠP PIC 8

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ố về vi điều khiển pic18f4520 12

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

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

1 TIMER0 MODULE 16

1.1 Hoạt động Timer0 17

1.2 Các Timer0 Đọc và Ghi trong 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 ra 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 bộ tạo dao động timer1 là 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 bộ so sánh tham chiếu Điện áp 34

3 Điện áp tham chiếu chính xác / lỗi 36

4 Thời gian hoạt động ngủ 37

5 Tác dụng ảnh hưởng của một Reset 37

6 Connection Considerations( Xem xét kết nối ) 37

Trang | 2

Trang 3

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

1.1 PIC là gì

PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tínhthông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên củahọ

PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600

Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng

vi điều khiển PIC ngày nay

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

Hiện nay trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC,AVR, ARM, Ngoài họ 8051 được hướng dẫn một cách căn bản ở môi trường đại học,bản thân người viết đã chọn họ vi điều khiển PIC để mở rộng vốn kiến thức và phát triểncác ứng dụng trên công cụ này vì các nguyên nhân sau:

 Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam

 Giá thành không quá đắt

 Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập

 Là một sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiểnmang 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 nay tại Việt Nam cũng nhưtrên thế giới, họ vi điều khiển này được sử dụng khá rộng rãi Điều này tạo nhiềuthuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tàiliệu, số lượng các ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi,học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn,…

 Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chươngtrình từ đơn giản đến phức tạp,…

 Các tính năng đa dạng của vi điều khiển PIC, và các tính năng này không ngừngđược phát triển

Trang | 3

Trang 4

Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm chungtrong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ chươngtrình và bộ nhớ dữ liệu Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của CPU phảirất cao, vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương tác với bộ nhớ

dữ liệu hoặc bộ nhớ chương trình Như vậy có thể nói kiến trúc Von-Neuman không thíchhợp với cấu trúc của một vi điều khiển

Đối với kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai bộnhớ riêng biệt Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai bộ nhớ,như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể

Một điểm cần chú ý nữa là tập lệnh trong kiến trúc Havard có thể được tối ưu tùytheo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu Ví dụ,đối với vi điều khiển dòng 16F, độ dài lệnh luôn là 14 bit (trong khi dữ liệu được tổ chứcthành từng byte), còn đối với kiến trúc Von-Neuman, độ dài lệnh luôn là bội số của 1

Trang | 4

Trang 5

byte (do dữ liệu được tổ chức thành từng byte) Đặc điểm này được minh họa cụ thểtrong hình 1.1

1.4 RISC và CISC

Như đã trình bày ở trên, kiến trúc Havard là khái niệm mới hơn so với kiến trúc Neuman Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của một vi điềukhiển

Von-Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, bus chương trình và bus dữliệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương trình và bộ nhớ dữ liệu, giúptăng tốc độ xử lí của vi điều khiển lên gấp đôi Đồng thời cấu trúc lệnh không còn phụthuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều chỉnh tùy theo khả năng và tốcđộ của từng 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 của họ viđiều khiển PIC được thiết kế sao cho chiều dài mã lệnh luôn cố định (ví dụ đối với họ16Fxxxx chiều dài mã lệnh luôn là 14 bit) và cho phép thực thi lệnh trong một chu kì củaxung clock ( ngoại trừ một số trường hợp đặc biệt như lệnh nhảy, lệnh gọi chương trìnhcon … cần hai chu kì xung đồng hồ)

Điều này có nghĩa tập lệnh của vi điều khiển thuộc cấu trúc Havard sẽ ít lệnh hơn,ngắn hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhấtđịnh

Vi điều khiển được tổ chức theo kiến trúc Havard còn được gọi là vi điều khiểnRISC (Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn Vi điềukhiển được thiết kế theo kiến trúc Von-Neuman còn được gọi là 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 vì mã lệnhcủa nó không phải là một số cố định mà luôn là bội số của 8 bit (1 byte)

1.5 PIPELINING

Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC Một chu kì lệnh của vi điềukhiển sẽ bao gồm 4 xung clock Ví dụ ta sử dụng oscillator có tần số 4 MHZ, thì xunglệnh sẽ có tần số 1 MHz (chu kì lệnh sẽ là 1 us) Giả sử ta có một đoạn chương trình như

Trang | 5

Trang 6

 TCY0: đọc lệnh 1

 TCY1: thực thi lệnh 1, đọc lệnh 2

 TCY2: thực thi lệnh 2, đọc lệnh 3

 TCY3: thực thi lệnh 3, đọc lệnh 4

 TCY4: vì lệnh 4 không phải là lệnh sẽ được thực thi theo qui trình thực thi củachương trình (lệnh tiếp theo được thực thi phải là lệnh đầu tiên tại label SUB_1)nên chu kì thực thi lệnh này chỉ được dùng để đọc lệnh đầu tiên tại label SUB_1.Như vậy có thể xem lênh 3 cần 2 chu kì xung clock để thực thi

 TCY5: thực thi lệnh đầu tiên của SUB_1 và đọc lệnh tiếp theo của SUB_1

Quá trình này được thực hiện tương tự cho các lệnh tiếp theo của chương trình.Thông thường, để thực thi một lệnh, ta cần một chu kì lệnh để gọi lệnh đó, và mộtchu kì xung clock nữa để giải mã và thực thi lệnh Với cơ chế pipelining được trình bày ởtrên, mỗi lệnh xem như chỉ được thực thi trong một chu kì lệnh Đối với các lệnh mà quá

Trang | 6

Trang 7

trình thực thi nó làm thay đổi giá trị thanh ghi PC (Program Counter) cần hai chu kì lệnh

để thực thi vì phải thực hiện việc gọi lệnh ở địa chỉ thanh ghi PC chỉ tới Sau khi đã xácđịnh đúng vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một chu kì lệnh để thực thixong

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

Các kí hiệu của 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ó bộ nhớ EPROM (chỉ có 16C84 là EEPROM)

 F: PIC có bộ nhớ flash

 LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp

 LV: tương tự như LF, đây là kí hiệu cũBên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ

A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash)

Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC

Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất

Cách lựa chọn một vi điều khiển PIC phù hợp:

Trước hết cần chú ý đến số chân của 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, thậm chí có vi điều khiển chỉ có 8 chân,ngoài ra còn có các vi điều khiển 28, 40, 44, … chân

Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình đượcnhiều lần hơn

Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển,các chuẩn giao tiếp bên trong

Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép

Ngoài ra mọi thông tin về cách lựa chọn vi điều khiển PIC có thể được tìm thấy trongcuốn sách “Select PIC guide” do nhà sản xuất Microchip cung cấp

Trang | 7

Trang 8

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

Ngôn ngữ lập trình cho PIC rất đa dạng Ngôn ngữ lập trình cấp thấp có MPLAB(được cung

cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập trình cấp cao hơn baogồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ lập trình được phát triển dànhriêng cho PIC như PICBasic, MikroBasic,…

1.8 M CH N P PIC ẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC?? ẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC??

Đây cũng là một dòng sản phẩm rất đa dạng dành cho vi điều khiển PIC Có thể sửdụng các mạch nạp được cung cấp bởi nhà sản xuất là hãng Microchip như: PICSTARTplus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II Có thể dùng các sản phẩm này đểnạp cho vi điều khiển khác thông qua chương trình MPLAB Dòng sản phẩm chính thốngnày có ưu thế là nạp được cho tất cả các vi điều khiển PIC, tuy nhiên giá thành rất cao vàthường gặp rất nhiều khó khăn trong quá trình mua sản phẩm

Ngoài ra do tính năng cho phép nhiều chế độ nạp khác nhau, còn có rất nhiều mạchnạp được thiết kế dành cho vi điều khiển PIC Có thể sơ lược một số mạch nạp cho PICnhư sau:

JDM programmer: mạch nạp này dùng chương trình nạp Icprog cho phép nạp các

vi điều khiển PIC có hỗ trợ tính năng nạp chương trình điện áp thấp ICSP (In CircuitSerial Programming) Hầu hết các mạch nạp đều hỗ trợ tính năng nạp chương trình này.WARP-13A và MCP-USB: hai mạch nạp này giống với mạch nạp PICSTARTPLUS do nhà sản xuất Microchip cung cấp, tương thích với trình biên dịch MPLAB,nghĩa là ta có thể 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 một chương trình nạp khác, chẳng hạn như ICprog

P16PRO40: mạch nạp này do Nigel thiết kế và cũng khá nổi tiếng Ông còn thiết

kế cả chương trình nạp, tuy nhiên ta cũng có thể sử dụng chương trình nạp Icprog

Mạch nạp Universal của Williem: đây không phải là mạch nạp chuyên dụng dành choPIC như P16PRO40

Trang | 8

Trang 9

Các mạch nạp kể trên có ưu điểm rất lớn là đơn giản, rẻ tiền, hoàn toàn có thể tự lắpráp một cách dễ dàng, và mọi thông tin về sơ đồ mạch nạp, cách thiết kế, thi công, kiểmtra và chương trình nạp đều dễ dàng tìm được và download miễn phí thông qua mạngInternet Tuy nhiên các mạch nạp trên có nhược điểm là hạn chế về số vi điều khiển được

hỗ trợ, bên cạnh đó mỗi mạch nạp cần được sử dụng với một chương trình nạp thích hợp

Trang | 9

Trang 10

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

Bộ vi điều khiển ghi tắt là Micro-controller là mạch tích hợp trên một chip có thể lậptrình được, dùng để điều khiển hoạt động của hệ thống Theo các tập lệnh của người lậptrình, bộ 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 vàtiến hành đóng mở một cơ cấu nào đó

Trong các thiết bị điện và điện tử các bộ vi điều khiển điều khiển hoạt động của 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, bộ vi điềukhiển sử dụng trong robot, các hệ thống đo lường giám sát Các hệ thống càng thôngminh thì vai trò của vi điều khiển ngày càng quan trọng Hiện nay trên thị trường có rấtnhiều họ vi điều khiển như: 6811 của Motorola, 8051 của Intel, Z8 của Zilog, PIC củaMicrochip Technology …

Trong đề tài này nghiên cứu về pic18f4520 vì nó có nhiều ưu điểm hơn các loại viđiều khiển các như : ADC 10 BÍT, PWM 10 BÍT, EEPROM 256 BYTE,COMPARATER, …ngoài ra nó còn được các trường đại học trên thế giới đặc biệt là ởcác nước Châu Âu hầu hết xem PIC là 1 môn học trong bộ môn vi diều khiển nói vậy cácbạn cũng thấy sự phổ biến rộng rãi của nó Ngoài ra PIC còn được rất nhiều nhà sản xuatphần mềm tạo ra các ngôn ngữ hổ trợ cho việc lập trình ngoài ngôn ngữ Asemblynhư :MPLAB, CCSC, HTPIC, MIRKROBASIC,…

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ưngchúng ta có thể điểm qua một vài nét như sau :

 8/16 bít CPU, xây dựng theo kiến trúc trên kiến trúc Harvard sửa đổi, với tập lệnhrút gọn (do vậy PIC thuộc loại RISC)

 Flash và Rom có thể 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 0 và 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 bộ

 Bộ chuyển đổi ADC

Trang | 10

Trang 11

 Bộ so sánh điện áp

 MSSP Pripheral dùng cho các giao tiếp I2C, SPI

 Bộ 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

Trang 12

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

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

CPU tốc độ cao có 75 cấu trúc lệnh, nếu được cho phép có thể kéo dài đến 83 cấu

trúc lệnh

 Hầu hết các cấu trúc lệnh chỉ mất một chu kỳ máy, ngoại trừ lệnh rẽ nhánhchương trình mất hai chu kỳ máy

 Tốc độ làm việc: xung clock đến 40MHz, tốc độ thực thi lệnh 125ns

 Bộ nhớ chương trình ( flash program memory) là 32kbyte

 Bộ nhớ dữ liệu SRAM là 1536 byte

 Bộ nhớ dữ liệu EEPROM là 256 byte

 5 port Vào hoặc ra

 4 bộ timer

 1 capture/compare/PWM modules

Trang | 12

Trang 13

 1 enhanced capture/ compare/PWM modules

Giao tiếp nối tiếp : MSSP, enhanced USART

Cổng giao tiếp song song

13 bộ Analog to Digital module 10 bít

POR,BOR

Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:

+ Bộ nhớ Flash có khả năng ghi xoá được 100.000 lần

+ Bộ nhớ EEPROM với khả năng ghi xoá được 1.000.000 lần

+ Flash/Dữ liệu bộ nhớ EEPROM có thể lưu trữ hàng 100 năm

+ Khả năng tự nạp chương trình với sự điều khiển của phần mềm

+ Watchdog timer với bộ dao động trong

+ Chức năng bảo mật mã chương trình

+ Chế độ SLEEP

+ Có thể hoạt động với nhiều dạng Oscillator khác nhau

3 S đ kh i c a vi đi u khi n pic18f4520 ơ đồ chân vi điều khiển pic18f4520 ồ chân vi điều khiển pic18f4520 ố về vi điều khiển pic18f4520 ủa vi điều khiển pic18f4520 ều khiển pic18f4520 ển pic18f4520

Trang | 13

Trang 15

4 S đ kh i b nh d li u pic18f4520 ơ đồ chân vi điều khiển pic18f4520 ồ chân vi điều khiển pic18f4520 ố về vi điều khiển pic18f4520 ộ nhớ dữ liệu pic18f4520 ớ dữ liệu pic18f4520 ữ liệu pic18f4520 ệu pic18f4520

Trang | 15

Trang 16

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, phần mềm lập trình prescaler

 đồng hồ lựa chọn mã nguồn (bên trong hoặc bên ngoài)

 Edge chọn cho đồng hồ bên ngoài

REGISTER 11-1: T0CON: TIMER0 CONTROL REGISTER

bit 7 TMR0ON: Timer0 On/Off Control bit

1 = chạy Timer0

0 = Dừng Timer0

bit 6 T08BIT: Timer0 8-Bit/16-Bit Điều khiển bit

1 = Timer0 được cấu hình như một bộ đếm thời gian 8-bit / truy cập

0 = Timer0 được cấu hình như một bộ đếm thời gian 16-bit / truy cập

bit 5 T0CS: Đồng hồ Timer0 bit Nguồn Lựa chọn

1 = Chuyển đổi trên chân T0CKI

Trang | 16

Trang 17

0 = Chỉ dẫn bên trong chu kỳ đồng hồ (CLKO)

bit 4 T0SE: Nguồn Timer0 bit Edge Lựa chọn

1 = Tăng trên quá trình chuyển đổi từ cao đến thấp trên T0CKI pin

0 = Tăng trên quá trình chuyển đổi từ thấp đến cao trên T0CKI pin

bit 3 PSA: Timer0 Prescaler Assignment bit

1 = TImer0 Prescaler không được giao Timer0 đồng hồ đầu vào đi quaprescaler

0 = Timer0 Prescaler được phân công Timer0 đồng hồ đầu vào đến từ đầu raprescaler

bit 2-0 T0PS<2:0>: Lựa chọn Timer0 prescaler bit

1.1 Ho t đ ng Timer0 ạt động Timer0 ộ nhớ dữ liệu pic18f4520

Timer0 có thể hoạt động như là một bộ định thời hoặc ngược lại, lựa chọn với các bitT0CS (T0CON <5>) Trong chế độ hẹn giờ (T0CS = 0), các gia số module trên mỗi đồng

hồ theo mặc định, trừ khi một giá trị prescaler khác nhau được chọn (xem Phần 11,3

"prescaler") Nếu ghi TMR0 được ghi vào, độ tăng được kìm hãm đối với hai chu trìnhlệnh sau Người sử dụng có thể làm việc này bằng cách viết một giá trị điều chỉnh cho ghiTMR0

Chế độ truy cập đang chọn bằng cách thiết lập bit T0CS (= 1) Trong chế độ này, sốgia Timer0 hoặc trên tất cả các góc lên và xuống của RA4/T0CKI pin Cạnh độ tăng đượcxác định bởi các Timer0 Source Edge Select, T0SE (T0CON <4>); xoá bit này lựa chọncác góc lên Các hạn chế trên đầu vào đồng hồ bên ngoài được tính sau

Một nguồn clock bên ngoài có thể được sử dụng để cung cấp cho Timer0, tuy nhiên,

nó phải đáp ứng các yêu cầu nhất định để đảm bảo rằng đồng hồ từ bên ngoài có thể đượcđồng bộ hóa với pha bên trong đồng hồ (TOSC) Một trễ pha giữa đồng bộ và bắt đầutăng dần của bộ hẹn giờ / truy cập

Trang | 17

Trang 18

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

TMR0H không phải là byte cao thật sự của Timer0 ở chế độ 16-bit, nó thực tế làmột phiên bản có bộ đệm của byte cao của Timer0 mà không trực tiếp có thể đọc đượ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ủabyte 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 quaviệc ghi TMR0H bộ nhớ đệm Các byte cao được cập nhật với các nội dung của TMR0Hkhi ghi ra TMR0L Điều này cho phép tất cả 16 bit của Timer0 để được cập nhật cùngmột lúc

Trang | 18

Trang 19

1.3 Prescaler ("b chia"or " b đ m g p tr ộ nhớ dữ liệu pic18f4520 ộ nhớ dữ liệu pic18f4520 ếm gộp trước" ) ộ nhớ dữ liệu pic18f4520 ướ dữ liệu pic18f4520 c" )

Một truy cập 8-bit có sẵn như một prescaler cho Timer0 module Prescaler nàykhông thể trực tiếp đọc hoặc ghi, giá trị của nó được thiết lập bởi các PSA và T0PS

<2:00> bit (T0CON <3:00>) trong đó xác định việc giao prescaler và tỷ lệ prescale.Xoá các bit PSA gán các prescaler cho Timer0 module Khi nó được gán, giá trịprescale từ 1:02 đến 1:256 trong điện của 2 số gia được lựa chọn

Khi gán cho các module Timer0, tất cả chỉ dẫn ghi vào TMR0 ghi (ví dụ, CLRFTMR0, MOVWF TMR0, BSF TMR0, vv) xóa số đếm prescaler

1.4 Chuy n m ch prescaler ển pic18f4520 ạt động Timer0

Việc giao prescaler là hoàn toàn dưới sự kiểm soát phần mềm và có thể được thayđổi "on-the-fly" trong quá trình thực hiện chương trình

1.5 Ng t Timer0 ắt Timer0

Việc ngắt TMR0 được tạo ra khi ghi TMR0 tràn từ FFh đến 00h trong 8-bit mode,hoặc từ FFFFh để 0000h ở chế độ 16-bit Tràn này thiết lập bit cờ TMR0IF Việc ngắt cóthể được ẩn bằng cách xóa bit TMR0IE (INTCON <5>) Trước khi cho phép tái ngắt, cácbit TMR0IF phải được xoá trong phần mềm của những lần định kỳ ngắt

Kể từ khi Timer0 bị dừng tại mode Sleep “quá trình nghỉ”, các TMR0

ngắt không thể hoạt động bộ vi xử lý từ quá trình nghỉ

Trang | 19

Ngày đăng: 23/08/2013, 10:37

HÌNH ẢNH LIÊN QUAN

1 = Timer0 được cấu hình như một bộ đếm thời gian 8-bi t/ truy cập                       0 = Timer0 được cấu hình như một bộ đếm thời gian 16-bit / truy cập bit 5               T0CS: Đồng hồ Timer0 bit Nguồn Lựa chọn - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
1 = Timer0 được cấu hình như một bộ đếm thời gian 8-bi t/ truy cập 0 = Timer0 được cấu hình như một bộ đếm thời gian 16-bit / truy cập bit 5 T0CS: Đồng hồ Timer0 bit Nguồn Lựa chọn (Trang 16)
2.2 Đọc / ghi 16-bit timer1 - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
2.2 Đọc / ghi 16-bit timer1 (Trang 22)
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 &lt;7&gt;) đượ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 - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
imer1 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 &lt;7&gt;) đượ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 (Trang 22)
Nếu màn hình Clock được kích hoạt và các bộ dao động timer1 bị lỗi trong khi cung cấp xung đồng hồ, các bit T1RUN sẽ cho biết nếu đồng hồ đang được cung cấp bởi các bộ  dao động timer1 hoặc một nguồn khác. - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
u màn hình Clock được kích hoạt và các bộ dao động timer1 bị lỗi trong khi cung cấp xung đồng hồ, các bit T1RUN sẽ cho biết nếu đồng hồ đang được cung cấp bởi các bộ dao động timer1 hoặc một nguồn khác (Trang 24)
Các vi mạch bộ dao động, thể hiện trong hình 12-3, nên được đặt càng gần càng tốt với vi điều khiển - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
c vi mạch bộ dao động, thể hiện trong hình 12-3, nên được đặt càng gần càng tốt với vi điều khiển (Trang 25)
4.TIMER3 MODULE - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
4. TIMER3 MODULE (Trang 29)
Một sơ đồ khối đơn giản của các mô-đun Timer3 được thể hiện trong hình 14-1. Một sơ đồ khối trong hoạt động của mô-đun tại chế độ đọc ghi / được thể hiện trong hình 14-2 - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
t sơ đồ khối đơn giản của các mô-đun Timer3 được thể hiện trong hình 14-1. Một sơ đồ khối trong hoạt động của mô-đun tại chế độ đọc ghi / được thể hiện trong hình 14-2 (Trang 29)
4.2 Đọc / ghi Timer3 16-Bit mode - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
4.2 Đọc / ghi Timer3 16-Bit mode (Trang 31)
Timer3 có thể được cấu hình đọc và ghi cho bit-16 (xem hình 14-2).Khi điều khiển RD16 bit (T3CON &lt;7&gt;) được thiết lập, địa chỉ củaTMR3H được ánh xạ tới một bộ  đệm Timer3 ghi byte cao  - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
imer3 có thể được cấu hình đọc và ghi cho bit-16 (xem hình 14-2).Khi điều khiển RD16 bit (T3CON &lt;7&gt;) được thiết lập, địa chỉ củaTMR3H được ánh xạ tới một bộ đệm Timer3 ghi byte cao (Trang 31)
Module này cần được cấu hình như một bộ định thời hoặc đồng bộ để tận dụng tính năng   này - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
odule này cần được cấu hình như một bộ định thời hoặc đồng bộ để tận dụng tính năng này (Trang 33)
2.Cấu hình bộ so sánh tham chiếu Điện áp - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
2. Cấu hình bộ so sánh tham chiếu Điện áp (Trang 34)
Hình 21-1: BỘ SO SÁNH ĐIỆN ÁP THAM CHIẾU SƠ ĐỒ BLOCK - Tìm hiểu về vi điều khiển pic 18F4520 và hoạt động timer của nó
Hình 21 1: BỘ SO SÁNH ĐIỆN ÁP THAM CHIẾU SƠ ĐỒ BLOCK (Trang 35)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w