You are on page 1of 65

[Type the document title]

I.Lịch sử phát triển của vi điều khiển PIC

PIC (Programmable Interlligent Computer) là một sản phNm của hãng General
Intruments đặt cho dòng sản phNm đầu tiên của họ là PIC 1605. Vào thập kỷ 70 của thế
kỷ 20, General Intruments và Honeywell kết hợp sản xuất ra bộ vi xử lý 16 bit CP1600.
Đây là bộ vi xử lý khá mạnh vào thời điểm đó nhưng lại hạn chế về hoạt động vào/ra.
PIC 1650 được sản xuất để hỗ trợ vi xử lý CP 1600 trong các máy tính sử dụng bộ vi xử
lý này.

PIC 1650 hoạt động với tập lệnh đơn giản nằm trong ROM. Vào thời điểm đó
chưa có khái niệm về RISC(Reduced Intructions Set Code), tuy nhiên PIC 1650 thực sự
là một bộ vi điều khiển được thiết kế theo kiểu kiến trúc RISC. Tập lệnh của PIC 1650
vơi khoảng 30 lệnh và độ dài của mỗi lệnh là 14 bit. Mỗi lệnh được PIC 1650 thực hiện
trong 1 chu kỳ máy(4 chu kỳ của bộ dao động).

Năm 1985 General Intruments bán bộ phận sản xuất vi điện tử của họ và chủ sở
hữu mới hủy bỏ hầu hết các dự án liên quan( do các dự án lúc trước đó đã lỗi thời).

Năm 1989 Microchip Technology tiếp tục phát triển PIC, bắt đầu bằng việc thêm
bộ nhớ EEPROM để tạo thành một bộ điều khiển vào ra khả trình. Tiếp đến là tích hợp
các tính năng như ngắt, ADC( Analog Digital Convertr) … để tạo thành cá bộ vi điều
khiển( Micro Controller).

Đến năm 1992 Microchip Technology đã cho ra đời 6 loại chip với 3 dòng khác
nhau:

- Dòng chip có độ dài mã lệnh bằng 12 bit gồm 4 chip PIC 15C5x. Các
chip này có từ 12 đến 28 chân vào/ra.
- Dòng chip độ dài mã lệnh băng 14 bit là PIC 16C71. Bộ vi điều khiển
này đã được tích hợp thêm hai tài nguyên là ngắt ADC.
- Dòng chip độ dài mã lệnh bằng 16 bit là PIC 17C41, tuy nhiên dòng
chip này không được chú trọng phát triển vào thời điểm đó.
Cùng thời gian này hàng loạt các công cụ hỗ trợ cũng được các công ty khác nhau
cho ra đời. Điển hình là PICMASTER emulator, PIC Pro II programmer và cả trình dịch
C( C Compiler). Các công cụ này cùng với việc thay bộ nhớ OTP (one – time
programmable parts) bằng bộ nhớ EEP (Electically Erasable Parts) đã mang đến rắt nhiều
tiện lợi cho người lập trình, ví dụ như: người lập trình có thể nạp chương trình mà không
cần gỡ chip ra khỏi mạch. PIC 16C84 là bộ vi điều khiển đầu tiên có bộ nhớ kiểu EEP.

Không lâu sau đó Microchip Technology tiếp tục đưa vào bộ vi điều khiển với mã
lệnh dài 14 bit PIC16F877 tính năng gỡ rối(Flash debugging). Tính năng này cho phép

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 1
[Type the document title]

người lập trình có thể kiểm soát từng thanh ghi, từng câu lệnh trong chương trình. Nhờ
những cải tiến liên tiếp, PIC16F87 trở thành bộ vi điều khiển bán chạy nhất vào thời điểm
đó( năm 1995 đến 1998).

Đến năm 2000, Microchip Technology tái phát triển lại dòng chip có độ dài mã
lệnh bằng 16bit đã có trước đó 8 năm. Đại diện cho dòng chip này là PIC18F4520 với tốc
độ mã lệnh bằng 16bit đã có trước đó 8 năm. Đại diện cho dòng chip này là PIC18F452
với tốc độ , dung lượng bộ nhớ được cải thiện và khá nhiều tính năng được bổ sung như
các bộ định thời(timer), truyền thông nối tiếp…Dòng vi điều khiển PIC 8 bit đã dẫn đầu
số lượng bộ bán ra mỗi năm liên tục từ năm 2002 đến nay.

Trước nhu cầu về tốc độ xử lý cũng như các tính năng đặc biệt khác, Microchip
Technology tiếp tục cho ra đời các dòng vi điều khiển tiên tiến hơn như: PIC24, PIC33,
dsPIC..

Ngày nay đã có đến hàng chục dòng PIC với hàng trăm loại chip khác nhau. 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ều thuậ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ài liệu, số lượng các ứ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 được sự chỉ dẫn khi gặp khó khăn...

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 2
[Type the document title]

II. Kiến trúc phần cứng của vi điều khiển PIC

2.1. Sơ đồ khối

Hình 2.1: Sơ đồ khối của PIC 18F4520

Các khối chính trên PIC 18F4520 bao gồm:

• CPU: Tần số tối đa 40MHz, kiến trúc Havard, được sản xuất bằng công
nghệ nano Watt.
• Bộ nhớ:

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 3
[Type the document title]

 Bộ nhớ chương trình FLASH: 32K


 RAM: 1536 bytes
 Bộ nhớ dữ liệu EEPROM: 256 bytes
• Cổng vào ra: A,B,C,D,E
 Cổng A: RA0-RA7
 Cổng B: RB0-RB7
 Cổng C: RC0-RC7
 Cổng D: RD0-RD7
 Cổng E: RE0-RE3
• Định thời/đếm: 4 bộ (Timer2: 8bit; Timer0,1,3: 16 bit)
• PWM: 2 bộ (CCP1:RC2; CCP2:RC1)
• Truyền thông nối tiếp L2 module: MSSP và EUSART
Module MSSP gồm 2 module: SPI(Serial Peripheral Interface) và IC
(Intergrated Circuit)

• ADC: 13 kênh ADC với độ phân giải 10bit


2.2.Sơ đồ chân

Hình 2.2: Sơ đồ chân PIC 18F4520 dạng TQFP

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 4
[Type the document title]

Hình 2.3: Sơ đồ chân PIC 18F4520 dạng DIP

Tên chân Chân số Loại Loại Mô tả


chân bộ
PDI QF TQFP
nhớ
P N
đệm

Master clear(đầu
vào)hoặc lập trình
MCLR/VPP/RE3 1 18 18
điện áp đầu vào

Master
MCLR I ST clear(Reset)đầu
vào,chân này hoạt
động ở mức thấp,
thiết lập lại cho thiết
bị.

Lập trình điện áp


VPP P đầu vào
RE3 I ST Đầu vào số

OSC1/CLK1/RA7 13 32 30 Đầu vào của dao


động tinh thể và dao
động đồng hồ bên

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 5
[Type the document title]

ngoài

Đầu vào của dao


động tinh thể hoặc
OSC1 I ST
đầu vào dao động
đồng hồ bên ngoài.
Bộ nhớ đệm ST khi
cấu hình chế độ RC
tương tự khác

Đầu vào của nguồn


xung clock ngoài.
Luôn gắn liền với
chức năng của chân,
CLK1 I CMO
OSC1(xem chân
S
OSC1/CLK1;
OSC2/CLK0

Chân vào/ra

RA7 I/O
TTL

OSC2/CLK0/RA6 14 33 31 Đầu vào dao động


tinh thể hoặc dao
động đồng hồ bên
ngoài

OSC2 O _ Đầu ra dao động


tinh thể, liên kết tinh
thể hoặc cộng hưởng
trong chế độ dao
động tinh thể

Trong chế độ RC,


CLK0 O _ OSC2,chân đầu ra

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 6
[Type the document title]

CLK0 có ¼ tần số
củaOSC1& biểu thị
tỉ lệ chu kì lệnh

Chân vào/ra
RA6 I/O TTL

PORTA là cổng vào


ra 2 chiều

RA0/AN0 2 19 19
Vào/ra số
RA0 I/O TTL

AN0 I Analo
g
RA1/AN1 3 20 20
Vào/ra số
RA1 I/O
TTL Đầu vào tương tự 1
AN1 I
Analo
RA2/AN2/VREF- 4 21 21
g
/CVREF

RA2 Vào/ra số
I/O
AN2 Đầu vào tương tự 2
I
TTL
VREF- A/D đầu vào tham
I
Analo chiếu điện áp (mức
g thấp)
CVREF
O Analo So sánh đầu ra điện
g dáp tham chiếu

RA3/AN3/VREF+ Vào/ra số
5 22 22
RA3 Analo Đầu vào tương tự 3
I/O g
AN3 Đầu vào tham chiếu
I điện áp (mức cao)
VREF+
I

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 7
[Type the document title]

TTL

RA4/T0CKI/ 6 23 23 Analo Đầu vào xung clock


g bên ngoài
C1OUT
Analo So sánh đầu ra 1
RA4 I/O
g

C1OUT O
Vào/ra số
RA5/AN4/SS/HLVD 7 24 24
IN Đầu vào tương tự 4
ST
C2OUT SPI chọn đầu vào
I/O
RA5 Dò tìm điện áp đầu
I
_ vào mức cao/thấp
AN4
I
So sánh ngõ ra 2
SS
I
Xem chân
HLVDIN
OSC2/CLK0/RA6
TTL
O Xem chân
Analo
C2OUT OSC1/CLK1/RA7
g
RA6
TTL

Analo
RA7 g

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 8
[Type the document title]

PORTB là cổng
vào/ra 2 chiều.

RB0/INT0/FLT0/AN 33 9 8
12 Vào/ra số
I/O TTL
RB0 Ngắt ngoài 0
I ST
INT0 PWM lỗi đầu vào
I ST
cho nâng cao CCP1
FLT0
Đầu vào tương tự 12
I Analo
AN12 g
34 10 9
Vào/ra số
RB1/INT1/AN10
I/O
Ngắt ngoài 1
RB1 TTL
I
Đầu vào tương tự 10
INT1 ST
I
AN10 Analo
35 11 10
g Vào/ra số
RB2/INT2/AN8
I/O
Ngắt ngoài 2
RB2
I
TTL Đầu vào tương tự 8
INT2
I
ST
AN8
36 12 11
Analo Vào/ra số
RB3/AN9/CCP2
I/O g
Đầu vào tương tự 9
RB3
I
Đầu vào 2/so sánh
AN9
I/O TTL đầu ra 2/PWM đầu
(1) ra
CCP2
Analo
g
37 14 14
RB4/KBI0/AN11 ST Vào/ra số
I/O
RB4 Chân thay đổi ngắt
I

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI BÁO CÁO VĐK NÂNG CAO


Page 9
[Type the document title]

KBI0 I Đầu vào tương tự 11

AN11 38 15 15 TTL

RB5/KBI1/PGM I/O TTL Vào/ra số

RB5 I Analo Chân thay đổi ngắt


g
KBI1 I/O Chân cho phép lập
trình điện áp mức
PGM
thấp ICSPTM
TTL

TTL
Vào/ra số
ST
RB6/KBI2/PGC I/O
Chân thay đổi ngắt
RB6 I
Chân lập trinhg gỡ
KBI3 I/O lỗi&lập tình ICSP
dữ liệu trong vi
PGD mạch
TTL
PORTC là cổng
TTL vào/ra hai chiều.
ST

15 34 32 Vào/ra số

RC0/T1OSO/T13CKI I/O Bộ dao động đầu ra


timer1
RC0 O
Timer1/Timer3 đầu
T1OSO vào xung clock bên
ngoài
I
ST
T13CKI
_ Vào/ra số

Bộ dao động đầu


16 35 35
vào Timer1
ST
RC1/T1OSI/CCP2 I/O

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
10
[Type the document title]

RC1 I Đầu vào2/so sánh


đầu ra2/PWM2 đầu
T1OSI
ra
I/O

CCP2(2) ST
Vào/ra số
17 36 36 CMO
Đầu vào1/so sánh
S
RC2/CCP1/P1A I/O đầu ra1/PWM1 đầu
ra
RC2 I/O
ST Nâng cao đầu ra 1
CCP1

O
Vào/ra số
P1A 18 37 37
ST Đầu vào nối tiếp
RC3/SCK/SCL I/O đồng bộ xung clock/
ST đầu ra cho chế độ
RC3 I/O
SPI
SCK
_ Đầu vào nối tiếp
đồng bộ xung
clock/đầu ra cho chế
I/O
độ TMI2C
ST
SCL
ST
Vào/ra số
23 42 42
Dữ liệu SPI
RC4/SDI/SDA I/O
I2C dữ liệu vào/ra
ST
RC4 I

SDI I/O
Vào/ra số
SDA 24 43 43
Dữ liệu đầu ra SPI
RC5/SD0 I/O
ST
RC5 I/O

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
11
[Type the document title]

SD0 25 44 44 I/O Vào/ra số

RC6/TX/CK I/O I/O EUSART truyền tải


không đồng bộ
RC6 O
EUSART xung
TX ST
clock đồng bộ(xem
I/O ST liên quan đến
RX/DT)
CK

ST
Vào/ra số
26 1 1 _
Nhận EUSART
RC7/RX/DT I/O không đồng bộ
RC7 I ST EUSART dữ liệu
RX đồng bộ(xem liên
quan TX/CK)
I/O

DT
PORD là cổng vào
ST ra 2 chiều. Cổng
Slave(PSP) để giao
ST
tiếp với cổng vi xử
lý. Các chân này có
bộ đếm đầu vào
ST TTL khi PSP
module được kích
hoạt.

Vào/ra số

Cổng dữ liệu Salve


song song
19 38 38

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
12
[Type the document title]

RD0/PSP0 Vào/ra số

I/O Cổng dữ liệu Salve

RD0 I/O

PSP0 Vào/ra số

20 39 39 Cổng dữ liệu Salve

RD1/PSP1 I/O

RD1 I/O ST Vào/ra số

PSP1 21 40 40 TTL Cổng dữ liệu Salve

RD2/PSP2 I/O

RD2 I/O Vào/ra số

PSP2 22 41 41 ST Cổng dữ liệu Salve

RD3/PSP3 I/O TTL

RD3 I/O Vào/ra số

PSP3 27 2 2 ST Cổng dữ liệu Salve

RD4/PSP4 I/O TTL Tăng cường đầu ra


CCP1
RD4 I/O

PSP4 28 3 3 ST
Vào/ra số
RD5/PSP5/P1B I/O TTL
Cổng dữ liệu Salve
RD5 I/O
Tăng cường đầu ra
PSP5 O ST
CCP1
P1B TTL

30 5 5
PORE là cổng vào
RD7/PSP7/P1D I/O ST ra 2 chiều

RD5 I/O TTL

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
13
[Type the document title]

PSP7 O _ Vào/ra số

P1D Điều khiển đọc cho


cổng Slave song
song
ST
Đầu vào tương tự 5
TTL

8 25 25 _
Vào/ra số
RE0/RD/AN5 I/O
Điều khiển ghi cho
RE0 I cổng Slave song
song

Đầu vào tương tự 6


RD I

9 26 26
Vào/ra số
AN5 I/O ST
Chọn chip điều
RE1/WR/AN6 I TTL khiển cổng Slave
RE1 song song.

WR I Analo Đầu vào tương tự 7


g Xem chân
10 27 27
MCLR/VPP/RE3
AN6 I/O
ST Mát tham chiếu cho
RE2/CS/AN7 I logic & chân vòa/ra
TTL
RE2

CS I Cấp mức logic


Analo thcihs cực&chân
AN7 _ _ _ _
g vào/ra

RE3 12, 6, 6, 29 P
ST Không có kế nối
31 30,

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
14
[Type the document title]

VSS 31 TTL

11, 7,8, 7,28 P


32 28,
Analo
29
g
VDD
13
_ _
13,13, _
33,34

_
NC

• Chú thích:
TTL: TTL ứng với đầu vào

CMOS: CMOS ứng với đầu vào hoặc đầu ra

ST: Schmitt Trigger đầu vào ứng với mức độ CMOS

I: đầu vào

O:đầu ra

Power: chức năng

• Chú ý:
Mặc định cho CCP2 khi cấu hình bit,CCP2MX,được thiết lập.

Thay thế cho CCP2 khi cấu hình bit,CCP2MX, được xóa bỏ.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
15
[Type the document title]

2.3. Bộ dao động

PIC 18F4520 có thể hoạt động ở một trong 10 chế độ tạo dao động khác nhau.
Việc lựa chọn các chế độ tạo dao động nhờ các thiết bị FOSC0:FOSC1 trong thanh ghi
CONFIG1H.

Sơ đồ bộ dao động trên vi điều khiển được mô tả trên hình sau:

Hình 2.4. Sơ đồ khối bộ tạo dao động trên PIC 18F4520

2.3.1. Tạo dao động bằng thạch anh ngoài

Ở chế độ XT,LP,HS hoặc HSPLL, một bộ dao động thạch anh và 02 tụ được kết
nối với vi điều khiển(như hình 2.5) để tạo dao động cung cấp xung nhịp cho hệ thống.

Hình 2.5. Tạo dao động bằng thạch anh

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
16
[Type the document title]

Trong đó tần số của thạch anh và giá trị của tụ điện được cho như sau:

Freq OSC1 OSC2

3.58MHz 15pF 15pF

4.19MHz 15pF 15pF

4MHz 30pF 30pF

4MHz 50pF 50pF

2.3.2. Tạo dao động bằng RC ngoài

Trong chế độ RC, xung nhịp của hệ thống được cung cấp bởi mạch tạo dao động
(như hình 2.6).Tần số của xung nhịp này bằng ¼ tần số của mạch RC.

Hình 2.6. Tạo dao động bằng RC ở chế độ RC

Giá trị linh kiện: 3K<REXT<100K<20pF.

Chế độ RCIO hoàn toàn giống với chế độ RC, điểm khác duy nhất là chân OSC2
có thể sử dụng như một chân vào ra(như hình 2.7)

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
17
[Type the document title]

Hình 2.7. Tạo dao động bằng mạch RC ở chế độ RCIO

2.4.Hoạt động Reset

PIC 18F4520 có 8 kiểu reset, trong đó cách reset thông dụng nhất là reset khi bật
nguồn và reset bằng WDT.

Hình 2.8. Sơ đồ khối mạch reset trên vi điều khiển

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
18
[Type the document title]

Để reset chip khi bật nguồn, cần một mạch điện như hình 2.9

Hình 2.9. Mạch Reset khi bật nguồn

Việc chọn kiểu reset bằng thao tác bật nguồn hay WDT phụ thuộc vào bit trong
thanh ghi RCON:

R/W R/W-1 U-0 R/W-1 R-1 R-1 R/W-0


R/W-0

IPEN SBOREN - RI TO PD POR BOR

Bit7 bit 0

2.5. Tổ chức bộ nhớ

Bộ nhớ của nhớ của PIC 18F4520 gồm 3 loại:

- ộ nhớ chương trình

- Bộ nhớ RAM

- Bộ nhớ dữ liệu EPROM

Như những thiết bị kiến trúc Harvard, các dữ liệu và bộ nhớ của chương trình sử
dụng những đường bus riêng biệt, việc này cho phép chúng ta có thể truy cập cùng lúc 2
bộ nhớ. Các dữ liệu EEPROM cho các mục đích thực tế có thể coi là một thiết bị ngoại
vi. Từ nó ta có thể gửi và truy cập thông qua những thanh ghi điều khiển.

2.5.1. Tổ chức bộ nhớ chương trình

Vi điều khiển PIC18 thực hiện một bộ đếm chương trình có độ dài 21-Bit có
khoảng trống là 2Mbyte.Truy cập tới vị trí giữa bộ nhớ và 2-Mbyte địa chỉ thì tất cả các
giá trị trả về sẽ là “0” (sử dụng lệnh NOP).

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
19
[Type the document title]

PIC18F240 và PIC18F4420 từng có 16Kbytes của bộ nhớ Flash và có thể lưu trữ
8,192 đơn từ. PIC18F2520 và PIC18F4520 có 32Kbytes của bộ nhớ Flash và có thể lưu
trữ lên đến 18,284 đơn từ. PIC18 có 2 vector ngắt. Địa chỉ reset vector là 0000H và hai
vector ưu tiên ngắt là 0008H và 0018H. Sơ đồ bộ nhớ chương trình của
PIC18F2420/2520/4420/4520 được biểu diễn ở hình 2.10.

Hình 2.10 Tổ chức bộ nhớ chương trình và ngăn xếp trên PIC 18F4520

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
20
[Type the document title]

2.5.2. Tổ chức bộ nhớ dữ liệu

Trong PIC18 bộ nhớ dữ liệu được thực hiện như bộ nhớ RAM tĩnh. Mỗi thanh ghi
trong bộ nhớ dữ liệu có một địa chỉ 12Bit, cho phép đến 4.096 byte bộ nhớ dữ liệu.
Không gian của bộ nhớ được chia thành 16 bank có chứa 256 byte; PIC18 thực hiện cả
16 bank. Hình 2.11 cho thấy tổ chức bộ nhớ dữ liệu của PIC18. Bộ nhớ dữ liệu có chứa
các thanh ghi Special Function ( SFRs ) và General Puporse ( GPRs ). SFR có thể dùng
để kiểm soát trạng thái của bộ điều khiển và có chức năng ngoại vi, còn GPRs được dùng
để lưu trữ dữ liệu và các hoạt động đệm cho những ứng dụng. Bất kì 1 vị trí nào chưa
được thực hiện sẽ được đọc là ‘0’ .

Các tập lệnh và cấu trúc cho phép hoạt động trên tất cả các Bank. Bộ nhớ trực tiếp
có thể truy cập một cách trực tiếp hay gián tiếp hoặc cách đánh địa chỉ.

Để đảm bảo các thanh ghi hay sử dụng ( SFRs và GPRs ) có thể truy cập được
trong một chu kì, PIC18 đã thực hiện một Access Bank. Đây là kiểu bộ nhớ có độ lớn
256 byte được truy cập một cách nhanh chóng vào SFR và phần thấp của GPR Bank 0
mà không cần sử dụng BSR.

2.5.2.1. Thanh ghi lựa chọn Bank (BSR)

Độ lớn của bộ nhớ dữ liệu yêu cầu một chương trình định vị hiệu quả để truy cập
tới bất kì địa chỉ nào. Điều này có nghĩa là ta không cần phải cung cấp toàn bộ địa chỉ
mỗi khi đọc hoặc viết. Đối với thiết bị PIC18, điều này được thực hiện với một chương
trình bank RAM. Nó chia không gian bộ nhớ thành 16 Bank liền kề. Tùy vào câu lệnh, tại
mỗi thời điểm có thể gửi trực tiếp địa chỉ của nó đầy đủ 12bit, 8 bit thấp hoặc một con trỏ
Bank 4 bit.

Hầu hết các câu lệnh trong tập lệnh của PIC18 dùng trong các con trỏ Bank được
gọi là Bank Select Register ( BSR ). SFR chứa 4 bit địa chỉ của một vị trí cao nhất. Câu
lệnh riêng bao gồm 8 bit thấp. Chỉ có 4 bit thấp của BSR được thực hiện ( 3:0 ). 4 bit cao
là không được sử dụng và luôn đọc là ‘0’ và không được ghi vào 4 bit này. BSG có thể
gán giá trị trực tiếp bằng câu lệnh MOVLB. BSR cho biết giá trị của Bank trong bộ nhớ
dữ liệu, 8 bit trong câu lệnh hiển thị vị trí trong Bank. Mối quan hệ giữa các giá trị của
BSR và việc phân chia các Bank trong bộ nhớ dữ liệu được hiển thị trong hình 5-7. 16
thanh ghi có thể cùng chia sẻ địa chỉ theo thứ tự thấp. Người sử dụng phải lựa chọn Bank
thích hợp trước khi thực hiện một dữ liệu đọc hoặc viết. Ví dụ, Chuyển dữ liệu chương
trình tới một địa chỉ 8 bit của F9h trong khi BSR bằng 0Fh sẽ thiết lập lại bộ đếm chương
trình.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
21
[Type the document title]

Trong khi bất kì Bank nào cũng có thể được lựa chọn, chỉ những bank nào được
lựa chọn mới có thể đọc hoặc ghi vào. Việc ghi cho những bank chưa được thực hiện sẽ
được bỏ qua còn việc đọc sẽ được là ‘0’. Mặc dù vậy trạng thái của thanh ghi sẽ vẫn bị
ảnh hưởng nếu các hoạt động thành công. Sơ đồ bộ nhớ dữ liệu trong hình 5-5 cho thấy
việc thực hiện các Bank.

Trong tập lệnh của PIC18, Câu lệnh MOVFF hoàn toàn xác định địa chỉ 12-bit của
đích và thanh ghi nguồn. Khi thực hiện câu lệnh này nó bỏ qua hoàn toàn BSR. Tất cả
các câu lệnh khác bao gồm duy nhất địa chỉ có thứ tự thấp như toán hạng và phải sử dụng
BSR hoặc truy cập Bank để tìm thanh ghi đích của chúng.

Hình 2.11. Tổ chức bộ nhớ dữ liệu RAM trên PIC 18F4520

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
22
[Type the document title]

2.5.2.2. Truy cập Bank

Trong khi việc sử dụng BSR với một địa chỉ 8 bit cho phép người sử dụng có thể
xử lý toàn bộ phạm vi của bộ nhớ dữ liệu. Điều đó đồng nghĩa với việc người sử dụng
luôn luôn phải lựa chọn các Bank thích hợp. Nếu không thì sẽ bị đọc hoặc ghi sai vị trí.
Điều này sẽ trở nên tai hại nếu GRP là đích của một thao tác, nhưng một SFR sẽ được ghi
đè nên đó. Dùng lệnh AND/OR để kiểm tra sự thay đổi của BSR cho từng thao tác đọc
hoặc ghi bộ nhớ dữ liệu trở nên không hiệu quả. Để sắp xếp một cách hợp lý các truy cập
tới các vị trí của bộ nhớ, bộ nhớ dữ liệu được cấu hình với 1 Bank Access cho phép người
dùng có thể truy cập vào bộ nhớ mà không cần dùng BSR. AccessBank bao gồm 128byte
đầu tiên của bộ nhớ (00H-7Fh) và 128byte cuối cùng của bộ nhớ(80h-FFh) tại ô 15. Nửa
dưới là “Access RAM” và có GPRs. Phần trên của nó chứa các SFRs. Hai vùng này được
đặt cạch nhau trong Access Bank và có thể được gửi đi theo một địa chỉ 8 bits ( hình 5-5).
Bank Access được sử dụng bởi một tập lệnh của Pic bao gồm các bit Ram Access(sử
dụng ‘a’ làm tham số). Khi ‘a’ = 1 câu lệnh sử dụng BSR và địa chỉ 8 bit bên trong các
mã tác vụ cho địa chỉ bộ nhớ dữ liệu. Khi ‘a=0’ câu lệnh bắt buộc phải sử dụng truy cập
địa chỉ access bank, giá trị hiện tại của BSR sẽ được bỏ qua. Sử dụng cách này buộc phải
sử dụng câu lệnh cho phép địa chỉ hoạt động trong một chu kì mà không cần nhập các
BSR đầu tiên. Đối với địa chỉ 8 bit 80h và trên nữa, điều này giúp người dùng có thể sử
dụng SFRs hiệu quả hơn.

RAM Access dưới 80h dùng để chứa những giá trị dữ liệu mà người dùng có thể
sử dụng để truy cập nhanh. Ram Access cho phép hoạt động nhanh và nhiều hơn trong
bối cảnh cần phải lưu giữ và chuyển đổi các biến. Các sơ đồ của Access Bank là không
giống nhau khi mở rộng các tập lệnh.

2.5.2.3. Mục đích chung của các thanh ghi

PIC18 có thể có bộ nhớ trong GPR, đây là bộ nhớ RAM có sẵn tất cả các câu lệnh.
GPRs bắt đầu ở phía dưới của Bank (00h) và tăng dần lên trên. GPRs không được khởi
tạo khi reset nguồn và cũng không thay đổi bởi bất kì một reset nào khác.

2.5.2.4. Chức năng đặc biệt của thanh ghi

Thanh ghi có chức năng đặc biệt là thanh ghi được sử dụng bởi CPU và các
module từ bên ngoài để kiểm soát hoạt động của thiết bị. Những thanh ghi này được thực
hiện như bộ nhớ RAM tĩnh. SFR bắt đầu từ phía trên của bộ nhớ dữ liệu từ FFFH tới
F80h chiếm toàn bộ nửa trên của 15Bank. Danh sách các thanh ghi này biểu diễn ở bảng
2.12.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
23
[Type the document title]

SFR được phân làm 2 loại là : các chức năng bên trong (ALU, RESET, Ngắt ) và
các chức năng ngoại vi. Các thanh ghi phục vụ reset và ngắt sẽ được nói chi tiết mục của
chúng, còn các thanh ghi trạng thái của ALU được nói trong phần này. Thanh ghi liên
quan đến hoạt động của thiết bị có chức năng ngoại vi được nói trong chương các thiết bị
ngoại vi.

SFR có thể có trong các thiết bị ngoại vi có chức năng điều khiển. Unused chưa
được định nghĩa nếu đọc sẽ bằng ‘0’.

Hình 2.12.Phân bố địa chỉ của các thanh ghi chức năng

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
24
[Type the document title]

Hình 2.12. Tổng kết các thanh ghi của PIC 18

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
25
[Type the document title]

Thanh ghi trạng thái:

U-0 U-0 U-0 R/W-x R/W-x R/W-x R/W-x R/W-x

- - - N 0V Z DC C3

Bit7 bit 0

Bit N: =0: kết quả phép toán là số dương

=1: kết quả phép toán là số âm

OV: =0: không xáy ra tràn

=1: xảy ra tràn

Z: =0: kết quả phép toán trả về số khác 0

=1: kết quả phép toán trả về 0

DC: Bít cờ nhớ phụ

=0: không có nhớ

=1: có nhớ hoặc mượn từ bít thứ tư sang bít thứ 5 trong phép toán với số 8
bít

C: Bít cờ nhớ

=0: không có nhớ

=1: có nhớ hoặc mượn

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
26
[Type the document title]

III. Hoạt động vào ra và cấu hình phần cứng của vi điều khiển PIC 18F4520

3.1. Cấu trúc các chân vào/ra của PIC 18F4520

PIC 18F4520 có 5 cổng vào/ra là PORTA, B, D,E. Các chân được thiết lập thành
các chức năng khác nhau phụ thuộc vào các thanh ghi điều khiển:

• Thanh PORT là thanh ghi dữ liệu được định địa chỉ theo byte và theo bit
• Thanh ghi LAT là thanh ghi chốt dữ liệu đầu ra(=1 đầu ra được chốt ở mức 1;=0
đầu ra được chốt ở mức 0).
• Thanh ghi TRIS là thanh ghi hướng dữ liệu( =0 các chân tương ứng có chiều ra;=1
các chân tương ứng có chiều vào).
Cấu trúc của một chân vào/ra được mô tả trên hình 3.1:

Hình 3.1. Cấu trúc của một chân vào/ra

3.2. Cổng A

Cổng A là cổng 2 chiều 8bit, gồm có 8 chân được ký hiệu từ RA0 đến RA7. Các
chân này có thể dùng để đọc hoặc ghi từng bit hoặc cả byte.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
27
[Type the document title]

Các thanh ghi liên quan đên cổng A được biểu diễn dưới bảng sau:

PORTA: là thanh ghi chứa dữ liệu vào ra của cổng A.

LATA: là thanh ghi chốt dữ liệu đầu ra của cổng A.

TRISTB: là thanh ghi điều khiển hướng vào(hoặc ra) của cổng A.

ADCON1: là thanh ghi điều khiển A/D, thiết lập các đầu vào lá số hay tương
tự(được sử dụng để cấu hình các chân AN0 đến AN4của cổng A)

CMCON: là thanh ghi điều khiển bộ so sánh (xem phần so sánh).

CVRCON: là thanh ghi điều khiển điện áp tham chiếu của bộ so sánh( xem phần
so sánh)

Chú ý: RA6:RA7 chốt và hướng dữ liệu của chúng kết hợp cả với cấu hình bộ
phát xung

3.3. Cổng B

Cổng B là cổng hai chiều 8bit, gồm có 8 chân được kí hiệu từ RB0 đến RB7. Các
chân này có thể dùng để đọc hoặc ghi từng bít hoặc từng byte.

Các thanh ghi liên quan đến cổng B gồm có 7 thanh ghi:

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
28
[Type the document title]

PORTB: là thanh ghi chứa dữ liệu vào/ra của cổng B

LATB:là thanh ghi chốt dữ liệu đầu ra của cổng B.

TRISTB: là thanh ghi điều khiển hướng vào(hoặc ra) của cổng B.

INTCON, INTCON2, INTCON3:là các thanh ghi điều khiển hoạt động ngắt( xem
phần ngắt).

ADCON1: là thanh ghi điều khiển A/D, thiết lập đầu vào là số hay tương tự.

3.4. Cổng C

Cổng C là cổng 2 chiều 8 bit, gồm có 8 chân được kí hiệu từ RC0 đên RC7. Các
chân này có thể dùng để đọc hoặc ghi từng bit hoặc cả byte.

Có 3 thanh ghi leei quan đến cổng C:

Thanh Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


ghi

PORTC RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0

LATC PORTC thanh ghi chốt dữ liệu

TRISTC PORTC thanh gjhi hướng dữ liệu

PORTC: là thanh ghi chứa dữ liệu của cổng C.

LATC: là thanh ghi chốt dữ liệu vào/ra couar cổng C.

TRISTC: là thanh ghi điều khiển hướng vào(hoặc ra)của cổng C.

3.5. Cổng D

Cổng D là cổng 2 chiều 8 bit, gồm có 8 chân được kí hiệu từ RD0 đến RD7. Các
chân có thể đọc hoặc ghi từng bit hoặc cả byte.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
29
[Type the document title]

Có 5 thanh ghi liên quan đến cổng D:

PORTD: là thanh ghi chứa dữ liệu vào/ra của cổng D.

LATD: là thanh ghi chốt dữ liệu vào/ra của cổng D.

TRISD: là thanh ghi điều khiển hướn vào (hoặc ra) của cổng D.

TRISE: là thanh ghi hướng dữ liệu của cổng E nhưng có thên chức năng điều
khiển giao tiếp sông của cổng D(xem thêm phần giao tiếp song song).

CCP1CON: là thanh ghi điều khiển của chế độ PWM, Compare (xem phần tương
ứng).

3.6. Cổng E

Cổng E bào gồm 4 chân từ RE0 đến RE3, các chân RE):RE3 có thể thiết lập thành
đầu vào/ra dữ liệu số hay đầu vào tương tự cho bộ biến đổi A/D, đặc biệt là nó còn được
thiết lập thành các chân RD,WR, CS cho chế đọ giao tiếp song song cùng với cổng D,
riêng chân RE3 chỉ có chiều vào nó còn được thiết lập thành chân Reset phụ thuộc vào
bit cấu hình MCLRE.

Có 4 thanh ghi liên quan đến cổng E:

Thanh Bit Bit Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


ghi 7 6

PORTE - - - - RE3 RE2 RE1 RE0

LATE - - - - -

TRISE IBF OBF IBOV PSPMODE - TRISE2 TRISE1 TRISE0

ADCON1 - - VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
30
[Type the document title]

PORTE: chỉ sử dụng các bit RE0:RE2 để chứa dữ liệu vào/ra.

LATE: chỉ sử dụng các bít 0:2 đẻ chốt dữ liệu vào/ra trên các chân RE0:RE2.

TRISE: chỉ sử dụng các bít TRISE0:TRISE2 để điều khiển hướng vào ( hoặc ra)
cho 3 chân tương ứng. Các bit khác của thanh ghi này dùng cho chế độ giao tiếp song
song.

ADCON1: thanh ghi điều khiển của bộ A/D.

3.7. Giao tiếp song song (PSP – Paralell slave Port) ở cổng D và cổng E

Chế độ hoạt động này PORTD được thiết lập là các dường dữ liệu, còn các
chân của PORTE làm các chân điều khiển ghi đọc, RE0 là RD, RE1 là WR, RE2 là chân
CS.

Các thanh ghi liên quan đến PSP:

Thanh Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


ghi

PORT RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0


D

LATD PORTD thanh ghi chốt dữ liệu (đọc và ghi chốt dữ liệu)

TRISD PORTD thanh ghi hướng dữ liệu

PORT - - - - RE3 RE2 RE1 RE0


E

LATE - - - - - LATE thanh ghi chốt dữ


liệu đầu ra

TRISE IBF OBF IBOV PSPMO - TRISE TRIS TRISE0


DE 2 E1

ITCO GIE/GIE PEIE/GI TMRO INTOIE RBIE TMRO INTOI RBIF


N H EL IF IF F

PIR1 PSPIF ADIF RCIF RXIF SSPI CCPIF CCPI TMR1I


F F F

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
31
[Type the document title]

PIE1 PSPIE PSPIE RCIE RXIE SSPI CCPIE CCPI TMR1I


E E E

IPR1 PSPIP PSPIP RCIP RXIP SSPI CCPIP CCPI TMR1I


P P P

ADCO - - VCFG1 VCFG0 PCFG PCFG2 PCFG PCFG0


N1 3 1

INTCON: là thanh ghi điều khiển ngắt (xem phần ngắt)

PIR1: là thanh ghi cờ ngắt (xem phần ngắt)

PIE1 : là thanh ghi cho phép ngắt( xem phần ngắt)

Các bước để thiết lập giao tiếp như sau:

• Đặt bít PSPMODE=1 cho phép PORTD, PORTE hoạt động ở chế độ PSP.
• Đặt các bít TRISE0:TRISE2=1: đặt hướng dữ liệu có chiều vào.
• Đặt các bít từ PFCG0:PFCG3=1: (thanh ghi ADCON1) thiết lập cho các chân của
PORTE có chiều vào là tín hiệu số.

Hình 3.2. Giao tiếp song song trên PORTD và PORTE

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
32
[Type the document title]

Hình 3.3 Giản đồ xung ghi dữ liệu vào vi điều khiển qua PSP

Khi PSP nhận thành công một bytes cờ PSPIE(cờ ngắt) và cờ IBF(cờ báo nhận
thành công 1 byte) được đặt bằng 1, dữ liệu dược đặt vào bộ đệm chờ để CPU đọc.

Hình 3.4. Giản đồ xung đọc dữ liệu từ vi điều khiển qua PSP

Khi bắt đầu đọc dữ liệu từ vi điều khiển bit OBF (báo có 1 byte ở bộ đếm chờ đọ)
được xóa, kết thúc quá trình cờ ngắt PSPIF được đặt bằng 1.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
33
[Type the document title]

15.0 CAPTURE/COMPARE/PWM (CCP) MODULES


Tất cả các dòng vi điêu khiển PIC18F2420/2520/4420/4520 đều có hai bộ CCP
(Capture/Compare/PWM). Mỗi module hoạt động với các thanh ghi 16 bit có thể hoạt
động như là một 16-bit Capture register, so sánh 16-bit đăng ký hoặc PWM Master /
Slave Duty Cycle đăng ký. Trong các thiết bị 28-pin, hai mô-đun tiêu chuNn của CCP
(CCP1 và CCP2) hoạt động như mô tả trong chương này. Trong 4 /44-pin thiết bị, CCP1
được thực hiện như 1 Enhanced PPC module với tiêu chuNn Chụp và So sánh phương
thức và chế độ Enhanced PWM. Thực hiện ECCP được thảo luận trong Phần 16,0 "Tăng
cường Chụp / so sánh / PWM (ECCP), Module ". Nắm bắt và so sánh hoạt động được mô
tả trong chương áp dụng cho tất cả các tiêu chuNn và nâng cao của module CCP.
Lưu ý: Trong suốt phần này và phần 16,0 "Module nâng cao Capture / compare /
PWM (ECCP)", tài liệu tham khảo để đăng ký và bit tên cho các module Trung Cộng
được gọi để dẫn chung bằng cách sử dụng 'x' hoặc 'y' ở vị trí của cụ thể số module. Như
vậy, "CCPxCON" có thể tham khảo để đăng ký kiểm soát cho CCP1, CCP2, ECCP1.
"CCPxCON" được sử dụng trong suốt những phần tham khảo module kiểm soát đăng ký,
bất kể module CCP là một tiêu chuNn hoặc thực hiện nâng cao.

REGISTER 15-1: THANH GHI ĐIỀU KHIỂN CCPxCON: CCPx (28-PIN DEVICE)

bit 7-6 không thực hiện: là '0 '

bit 5-4 DCxB1: DCxB0: PWM Chu kỳ bit 1 và bit 0 cho CCPx Module

Chế độ Capture: Không sử dụng.

Chế độ Compare: Không sử dụng.

Chế độ PWM: Những bit này hai LSbs (bit 1 và bit 0) của chu kỳ nhiệm vụ PWM 10-bit.
Tám MSB (DCx9: DCx2) của chu kỳ nhiệm vụ được tìm thấy trong CCPRxL.

bit. 3-0 CCPxM3: Bit lụa chọn chế độ Module CCPxM0: CCPx

0000 =Tắt Capture / Compare/ PWM (khởi động lại CCPx module)

0001 = Reserved

0010 = Chế độ Compare, chuyển đổi sản lượng vào trận đấu (cài đặt bít CCPxIF)

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
34
[Type the document title]

0011 = Reserved

0100 = Chế độ Capture, lựa chọn sườn âm

0101 = Chế độ Capture, lựa chọn sườn dương

0110 = Chế độ Capture, lựa chọn sườn dương hệ số chia 4

0111 = Chế độ Capture, lựa chọn sườn dương hệ số chia 16

1000 = Chế độ Compare, khởi tạo CCPx pin thấp, so sánh trận đấu, lực lượng
CCPx pin cao (bit CCPxIF được thiết lập)

1001 = Chế độ Compare, khởi tạo CCPx pin cao, trên so sánh trận đấu, lực lượng
CCPx pin thấp (bit CCPxIF được thiết lập)

1010 = Chế độ Compare, tạo ra phần mềm gián đoạn so sánh trận đấu (bit CCPxIF
được thiết lập, CCPx pin phản ánh I / O nhà nước)

1011 = Chế độ Compare, kích hoạt sự kiện đặc biệt, thiết lập lại bộ đếm thời gian,
CCP2 trận đấu bắt đầu chuyển đổi A / D (CCPxIF bit được thiết lập)

11xx = Chế độ PWM

15.1.1 CCP MODULES AND TIMER RESOURCES


Mỗi Capture / Compare / Module PWM có liên quan với một đăng ký kiểm soát
(tổng quát, CCPxCON) và một dữ liệu đăng ký (CCPRx). Sổ đăng ký dữ liệu, lần lượt là
bao gồm hai thanh ghi 8-bit: CCPRxL (byte thấp) và CCPRxH (byte cao). Tất cả các sổ
đăng ký là cả hai có thể đọc và ghi.

15.1.1 Module CCP VÀ TÀI NGUYÊN TIMER

Các mô-đun CCP sử dụng timer 1, 2 hoặc 3, tùy thuộc vào chế độ lựa chọn. Timer1
và Timer3 có sẵn module hoặc Capture So sánh chế độ, trong khi Timer2 là có sẵn cho
các module trong chế độ PWM.

BẢNG 15-1: PHƯƠNG THỨC CCP– TÀI NGUYÊN TIMER

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
35
[Type the document title]

Việc chuyển nhượng của một bộ đếm thời gian cụ thể cho một module xác định bởi
Timer CCP cho phép bit trong T3CON đăng ký (Register 14-1). Cả hai module có thể
được hoạt động tại bất kỳ thời điểm nào và có thể chia sẻ cùng một bộ đếm thời gian tài
nguyên nếu chúng được cấu hình để hoạt động trong cùng một chế độ (Capture / So sánh
hoặc PWM) cùng một lúc. Các tương tác giữa hai mô-đun được tóm tắt trong Hình 15-1
và Hình 15-2. Trong Timer1 trong không đồng bộ Số lượt truy cập chế độ, hoạt động
chụp sẽ không làm việc.

15.1.2 CCP2 PIN GIAO

Việc chuyển nhượng pin cho CCP2 (Chụp đầu vào, So sánh và PWM đầu ra) có thể
thay đổi, dựa trên cấu hình thiết bị. Bit Cấu hình CCP2MX xác định mà pin CCP2 được
ghép để. Theo mặc định, nó là giao cho RC1 (CCP2MX 1). Nếu bit cấu hình là xóa,
CCP2 được ghép với RB3. Thay đổi giao pin của CCP2 không tự động thay đổi bất kỳ
yêu cầu cấu hình cổng pin. Người dùng luôn luôn phải xác minh rằng thích hợp Tris đăng
ký được cấu hình đúng cho CCP2 hoạt động, bất kể nó nằm ở nơi.

BẢNG 15-2: TƯƠNG TÁC GIỮA CCP1 và CCP2 NGUỒN TIMER

Lưu ý 1: Bao gồm các tiêu chuNn và nâng cao hoạt động PWM.

15.2 CHẾ ĐỘ CAPTURE

Trong chế độ Capture, đăng ký CCPRxH: CCPRxL cặp nắm bắt các giá trị 16-bit
của đăng ký TMR1 hoặc TMR3 khi một sự kiện xảy ra trên chân CCPx tương ứng.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
36
[Type the document title]

Một sự kiện được định nghĩa là một trong những điều sau đây:

• Mỗi cạnh thuộc

• Mỗi cạnh lên

• mỗi tăng 4 cạnh

• cạnh mỗi tăng lên 16

Sự kiện này được lựa chọn bởi các bit chế độ chọn, CCPxM3: CCPxM0 (CCPxCON
<03:00). Khi một ảnh chụp được thực hiện, yêu cầu gián đoạn cờ bit, CCPxIF, được thiết
lập; phải được xóa trong phần mềm. Nếu chụp khác xảy ra trước khi giá trị trong sổ đăng
ký CCPRx được đọc, nắm bắt giá trị là ghi đè bởi các giá trị mới bị bắt.

15.2.1 CẤU HÌNH CCP PIN

Trong chế độ Capture, CCPx thích hợp pin nên cấu hình như một đầu vào bằng cách
thiết lập tương ứng Tris hướng bit.

Lưu ý: Nếu RB3/CCP2 hoặc RC1/CCP2 được cấu hình như một đầu ra, ghi vào cảng có
thể gây ra một điều kiện chụp

15.2.2 CHẾ ĐỘ LỰA CHỌN TIMER1/TIMER3

Các bộ định thời được sử dụng với tính năng chụp (Timer1 và / hoặc Timer3) phải
được chạy trong chế độ hẹn giờ hoặc Đồng bộ chế độ truy cập. Lượt truy cập không đồng
bộ chế độ, hoạt động chụp sẽ không làm việc. Hẹn giờ để được được sử dụng với mỗi
mô-đun ĐCSTQ được chọn trong T3CON đăng ký (xem mục 15.1.1 "Modules CCP và
Timer Tài nguyên ").

15.2.3 PHẦN MỀM GIÁN ĐOẠN

Khi chế độ Capture được thay đổi, ảnh chụp sai lầm gián đoạn có thể được tạo ra.
Người sử dụng nên giữ CCPxIE gián đoạn cho phép bit rõ ràng để tránh ngắt sai. Bit cờ
ngắt, CCPxIF, cũng nên được xóa sau bất kỳ sự thay đổi trong chế độ điều hành.

15.2.4 PRESCALER CCP

Có bốn cài đặt prescaler trong chế độ Capture; được quy định cụ thể như là một
phần của chế độ hoạt động được lựa chọn chế độ chọn bit (CCPxM3: CCPxM0). Bất cứ
khi nào các mô-đun của CCP bị tắt, hoặc Capture chế độ là vô hiệu hóa, truy cập
prescaler được xóa. Điều này có nghĩa rằng bất kỳ Reset sẽ xóa các truy cập prescaler.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
37
[Type the document title]

Chuyển đổi từ một prescaler chụp khác may tạo ra một ngắt. Ngoài ra, truy cập prescaler
không được xóa, do đó, việc bắt giữ đầu tiên có thể là từ một prescaler không-không. Ví
dụ 15-1 cho thấy nên dùng phương pháp để chuyển đổi giữa chụp

prescalers. Ví dụ này cũng xóa prescaler chống lại và sẽ không tạo ra các "false" gián
đoạn

Ví dụ 15-1: THAY ĐỔI GIỮA CAPTURE PRESCALERS (Hiển thị CCP2)

Hình 15-1: SƠ ĐỒ PHƯƠNG THỨC HOẠT ĐỘNG CAPTURE BLOCK

15,3 CHẾ ĐỘ COMPARE

Chế độ compare, đăng ký giá trị 16-bit CCPRx liên tục so sánh với các TMR1 hoặc
TMR3

đăng ký giá trị cặp. Khi trận đấu xảy ra, pin CCPx có thể là:

• định hướng cao

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
38
[Type the document title]

• lái xuống mức thấp

• toggled (cao, thấp hoặc từ thấp đến cao)

• không thay đổi (có nghĩa là, phản ánh trạng thái của I / O chốt)

Các hành động trên pin được dựa trên giá trị của chế độ chọn bit (CCPxM3: CCPxM0).
Đồng thời, gián đoạn cờ bit, CCPxIF, được thiết lập.

15.3.1CCP PIN CONFIGURATION

Người dùng phải cấu hình pin CCPx như một đầu ra thanh toán bù trừ các bit Tris
thích hợp.

Lưu ý: Xóa đăng ký CCP2CON sẽ buộc RB3 hoặc RC1 so sánh các chốt đầu ra

(tùy thuộc vào cấu hình thiết bị) mặc định ở mức thấp. Đây không phải là PORTB hoặc
PORTC I / O dữ liệu chốt.

15.3.2 TIMER1/TIMER3 chế độ lựa chọn

Timer1 và / hoặc Timer3 phải được chạy trong chế độ hẹn giờ hoặc đồng bộ chế
độ truy cập nếu các mô-đun của CCP sử dụng các tính năng so sánh các. Lượt truy cập
không đồng bộ chế độ, so sánh các hoạt động không có thể làm việc.

15.3.3 Phần mềm gián đoạn chế độ

Khi phần mềm Tạo chế độ ngắt được chọn (CCPxM3: CCPxM0 = 1010), CCPx
tương ứng pin không bị ảnh hưởng. Một gián đoạn CCP được tạo ra khi cờ CCPxIF ngắt
được thiết lập khi bit CCPxIE là thiết lập.

15.3.4 TRIGGER SỰ KIỆN ĐẶC BIỆT

Cả hai mô-đun của ĐCSTQ được trang bị với một sự kiện đặc biệt Trigger. Đây là
một tín hiệu phần cứng nội bộ So sánh chế độ để kích hoạt các hành động bởi các module
khác. Kích hoạt sự kiện đặc biệt được kích hoạt bằng cách chọn So sánh sự kiện đặc biệt
Kích hoạt chế độ (CCPxM3: CCPxM0 = 1011).

Đối với một mô-đun ĐCSTQ, sự kiện đặc biệt Kích hoạt reset cặp Thơi gian đăng
ký cho bất cứ tài nguyên bộ đếm thời gian hiện đang được giao là cơ sở thời gian của mô-
đun. Điều này cho phép CCPRx các đăng ký để phục vụ như là một lập trình Thời gian
đăng ký hẹn giờ hoặc. Kích hoạt sự kiện đặc biệt cho CCP2 cũng có thể bắt đầu một
Chuyển đổi A / D. Để làm điều này, Chuyển đổi A / D đã phải được cho phép.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
39
[Type the document title]

Hình 15-2:SƠ ĐỒ PHƯƠNG THỨC HOẠT ĐỘNG COMPARE BLOCK

BẢNG15-3:REGISTER SASOCIATED WITH CAPTURE,COMPARE,TIMER1,TIMER3

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
40
[Type the document title]

Chú thích: - chưa thực hiện, đọc là '0 '.Ô được tô đậm không được sử dụng bởi
Capture / Compare, Timer1 hoặc Timer3.

Lưu ý 1: Những bit này được chưa thực hiện trên các thiết bị 28-pin, luôn luôn duy
trì các bit rõ ràng.

15.4 CHẾ ĐỘ PWM

Trong chế độ Pulse-Width Modulation (PWM), pin CCPx sản xuất lên đến một đầu
ra độ phân giải PWM 10-bit.Với pin CCP2 được ghép với một PORTB hoặc PORTC
chốt dữ liệu, các bit Tris thích hợp phải được dọn sạch để cho pin CCP2 một đầu ra

Lưu ý: Xóa đăng ký CCP2CON sẽ buộc sản lượng RB3 hoặc RC1 chốt (tùy thuộc
vào cấu hình thiết bị) để mặc định thấp cấp. Đây không phải là PORTB hoặc PORTC I /
O dữ liệu chốt. Hình 15-3 cho thấy một sơ đồ khối đơn giản của CCP mô-đun trong chế
độ PWM. Đối với một thủ tục bước từng bước làm thế nào để thiết lập CCP mô-đun
PWM hoạt động, xem mục 15.4.4 "Cài đặt hoạt động PWM ".

Hình 15-3: ĐƠN GIẢN PWM BLOCK SƠ ĐỒ

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
41
[Type the document title]

Một đầu ra PWM (Hình 15-4) có một cơ sở thời gian (thời gian) và một thời gian
đầu ra vẫn ở mức cao (chu kỳ nhiệm vụ). Tần số của PWM là nghịch đảo của kỳ (1/thời
gian).

15.4.1 PWM giai đoạn

Thời kỳ PWM được quy định cụ thể bằng văn bản cho các PR2 đăng ký. Thời gian
PWM có thể được tính bằng cách sử dụng theo công thức

PHƯƠNG TRÌNH 15-1:

Tần số PWM được định nghĩa là 1 khoảng thời gian PWM] /. Khi TMR2 bằng PR2, ba
sự kiện sau đây xảy ra vào chu kỳ tăng tiếp theo:

• TMR2 được xóa

• Các pin CCPx được thiết lập (ngoại lệ: nếu PWM nhiệm vụ chu kỳ = 0%, pin CCPx sẽ
không được thiết lập)

• Các chu kỳ PWM nhiệm vụ được được latched từ CCPRxL vào CCPRxH

Lưu ý: Các Timer2 postscalers (xem Phần 13,0 "Timer2 Module") không được sử
dụng trong xác định tần số PWM. Các postscaler có thể được sử dụng để có một servo
cập nhật tỷ lệ ở một tần số khác nhau hơn đầu ra PWM.

15.4.2 CHẾ ĐỘ PWM

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
42
[Type the document title]

Chu kỳ PWM nhiệm vụ được quy định cụ thể bằng văn bản cho CCPRxL đăng ký
và CCPxCON <05:04> bit. Up độ phân giải 10-bit có sẵn. CCPRxL Các chứa tám MSB
và CCPxCON <05:04> bit chứa hai LSbs. Giá trị 10-bit này được đại diện bởi CCPRxL:
CCPxCON <05:04>. Phương trình sau đây được sử dụng để tính toán chu kỳ nhiệm vụ
PWM trong thời gian:

PHƯƠNG TRÌNH 15-2:

CCPRxL và CCPxCON <05:04> có thể được ghi vào bất cứ thời gian nào, nhưng
giá trị chu kỳ nhiệm vụ không được bám vào CCPRxH cho đến khi so sánh giữa PR2 và
TMR2 xảy ra. Chế độ PWM, CCPRxH là một đăng ký chỉ đọc.

Sổ đăng ký CCPRxH và một chốt 2-bit nội bộ được sử dụng để tăng gấp đôi đệm
các chu kỳ nhiệm vụ PWM. Điều này đệm gấp đôi là điều cần thiết cho glitchless PWM
hoạt động.

Khi chốt CCPRxH và 2-bit trận đấu TMR2, nối với một đồng hồ nội bộ Q 2-bit hoặc
2 bit prescaler TMR2, pin CCPx sẽ bị xóa. PWM độ phân giải tối đa (bit) cho một PWM
cho tần số được cho bởi phương trình:

PHƯƠNG TRÌNH 15-3:

Lưu ý: Nếu chu kỳ nhiệm vụ PWM giá trị là lâu hơn giai đoạn PWM, pin CCPx sẽ
không xóa.

BẢNG 15-4: VÍ DỤ PWM TẦN SỐ VÀ NGHN QUYẾT AT 40 MHz

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
43
[Type the document title]

15.4.3 PWM AUTO-SHUTDOWN (CCP1 ONLY)

Các PWM tự động tắt máy là tính năng nâng cao của module CCP cũng có sẵn
CCP1 trong các thiết bị 28-pin. Các hoạt động của tính năng này được thảo luận chi tiết
trong Mục 16.4.7 "Enhanced PWM-Shutdown tự động". Tính năng tự động tắt máy
không có sẵn cho CCP2.

15.4.4 SETUP CHO HOẠT ĐỘNG PWM

Các bước sau đây nên được thực hiện khi cấu hình các mô-đun của ĐCSTQ cho
PWM hoạt động:

1. Đặt thời gian PWM bằng cách viết các PR2 đăng ký.

2. Thiết lập các chu kỳ PWM bằng cách viết. CCPRxL đăng ký và CCPxCON
<05:04> bit.

3. Làm cho pin CCPx đầu ra bằng cách thanh toán bù trừ bit Tris thích hợp.

4. Thiết lập giá trị TMR2, sau đó kích hoạt Timer2 bằng văn bản để T2CON.

5. Cấu hình module CCPx hoạt động PWM.

BẢNG 15-5: ĐĂNG KÍ LIÊN QUAN VỚI PWM VÀ TIMER2

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
44
[Type the document title]

Chú thích: - chưa thực hiện, là '0 '.Ô được tô đậm không được sử dụng bởi PWM
hoặc Timer2.

Lưu ý 1: Những bit này được chưa thực hiện trên các thiết bị 28-pin, luôn luôn duy
trì các bit rõ ràng.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
45
[Type the document title]

16.0 NÂNG CẤP Tụ /SO SÁNH / XUNG PWM (ECCP MODULE

Trong thiết bị PIC18F4420/4520 , CCP1 được thực hiệnnhư là một module CCP
tiêu chuN n với khả năng tăng cường PWM. Chúng bao gồm việc cung cấp cho 2 hoặc
4các kênh đầu ra, người sử dụng lựa chọn cực, dải chết kiểm soát và tự động tắt máy và
khởi động lại, các tính năng nâng cao được thảo luận chi tiết trongMục PWM 16,4
"Enhanced Mode".Tụ, so sánh và một đầu ra cua PWM chức năng của mô-đun ECCP
tương tự như mô-đun tiêu chuN n CCP. Việc kiểm soát đăng ký cho PCC tăng cường mô-
đunthể hiện trong phần 16-1. Nó không giống như thanh ghi CPxCON cua một trong hai
thiết bị PIC18F2420/ Hầu hết các bit quan trọng được thực hiện để kiểm soát chức năng
PWM.

Thanh ghi 16-1: Thanh ghi CCP1CON (Môđun ECCP1,pin 40/44)

bít 7-6 P1M1:P1M0: Cấu hình các bít PWM

Nếu CCP1M3: CCP1M2 = 00, 01, 10: xx = P1A được giao như Tụ / So sánh đầu
vào / đầu ra; P1B, P1C, P1D là chân cổng giao

Nếu CCP1M3: CCP1M2 = 11:

00 = đầu ra đơn: P1A điều chế; P1B, P1C, P1D là chân cổng giao

01 = chuyển tiếp đầu ra toàn bộ: điều chế P1D; P1A hoạt động; P1B, P1C không
hoạt động

10 =đầu ra một nưả: P1A, P1B điều chế với kiểm soát băng chết; P1C, P1D được
giao là chân cổng

11 = tất ca đầu ra ngược lại: P1B điều chế; P1C hoạt động; P1A, P1D không hoạt
động bit 5-4 DC1B1:DC1B0: PWM Duty Cycle bit 1 và bit 0

Chế độ chụp: Không sử dụng.

So sánh chế độ: Không sử dụng.

Chế độ PWM :

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
46
[Type the document title]

Những bit này là hai LSbs của chu kỳ nhiệm vụ PWM 10-bit. Tám MSB của chu kỳ
nhiệm vụ được tìm thấy trong CCPR1L.

bit 3-0 CCP1M3:CCP1M0: Chế độ Tăng cường CCP Chọn bit

0000 = Chụp / So sánh / PWM off (reset ECCP mô-đun)

0001 = Dự phòng

0010 = So sánh chế độ, chuyển đổi đầu ra trên mạch

0011 = chế độ chụp

0100 = Chế độ chụp, mỗi cạnh giảm

0101 = Chế độ chụp, mỗi cạnh tăng

0110 = Chế độ chụp,mỗi cạnh tăng 4

0111 = = Chế độ chụp,mỗi cạnh tăng 16

1000 = So sánh chế độ, khởi tạo CCP1 pin thấp, thiết lập đầu ra so sánh mạch
(thiếtlập CCP1IF)

1001 = So sánh chế độ, khởi tạo CCP1 pin cao, rõ ràng đầu ra so sánh mạch (thiết
lập CCP1IF)

1010 = So sánh chế độ, tạo ra phần mềm gián đoạn, CCP1 pin trở lại trạng thái I / O

1011 = So sánh chế độ, kích hoạt sự kiện đặc biệt (ECCP reset TMR1 hoặc TMR3,
đặt CC1IF bit)

1100 = PWM chế độ; P1A, P1C hoạt động cao; P1B, P1D hoạt động cao

1101 = PWM chế độ; P1A, P1C hoạt động độ; P1B cao, P1D hoạt động thấp

1110 = PWM chế độ; P1A, P1C hoạt động thấp; P1B, P1D hoạt động cao

1111 = PWM chế độ; P1A, P1C hoạt động thấp; P1B, P1D hoạt động thấp

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
47
[Type the document title]

Ngoài phạm vi mở rộng của chế độ có sẵnthông qua việc đăng ký CCP1CON và
ECCP1ASđăng ký, các mô-đun ECCP có đăng ký bổ sungliên kết với các hoạt động
nâng cao PWM vàtự động tắt các tính năng. Đó là: PWM1CON (Trễ dải chết)

16.1 ĐẦU RA VÀ CẤU HÌNH ECCP

CCP tăng cường mô-đun có thể có đến 4 PWMkết quả đầu ra, tùy thuộc vào chế độ
hoạt động được lựa chọnNhững kết quả đầu ra, chỉ định P1A thông qua P1Dghép với I /
O pins trên PORTC và PORTD. Các kết quả đầu ra đó là hoạt động phụ thuộc vào điều
hành CCPchế độ lựa chọn. Các loại pin được tóm tắt tại Bảng 16-1.

Để cấu hình các chân I / O như là kết quả đầu ra PWM, thích hợp
PWM chế độ phải được lựa chọn bằng cách thiết lập
P1M1: P1M0 và CCP1M3: CCP1M0 bit. Các bit TRISC và TRISD hướng thích hợp cho
cảngchân cũng phải được thiết lập như là kết quả đầu ra.

16.1.1 CÁC MODULE ECCP, TÀI NGUYÊN TIMER

Giống như các mô-đun CCP tiêu chuN n, mô-đun ECCPsử dụng Timer 1, 2 hoặc 3,
tùy thuộc vào chế độ chọn. Timer1 và Timer3 có sẵn cho các moduleChụp hoặc chế độ,
trong khi Timer2 là vô ích có thể cho các mô-đun trong chế độ PWM. Tương tác
giữacác mô-đun tiêu chuN n và nâng cao CCP là giống hệt nhaunhững mô tả cho các mô-
đun tiêu chuN n của CCP. Thêm chi tiết về nguồn tài nguyên bộ đếm thời gian được cung
cấp trongMục 15.1.1 "CCP Modules và TimerTài nguyên ".

16.2 CHẾ ĐỘ CAPTURE VÀ COMPARE

Ngoại trừ cho các hoạt động đặc biệt được thảo luận dưới đây, Chụp và so sánh chế
độ củamô-đun ECCP là giống hệt nhau trong hoạt động củaCCP2. Đây là những thảo
luận chi tiết trong mục 15,2"Capture Mode" và Mục 15,3 "So sánhMode ". Không có
thay đổi được yêu cầu khi di chuyểngiữa 28-pin và các thiết bị 40/44-pin.

16.2.1 BỘ KHỞI DỘNG ĐẶC BIỆT

Kích bộ khởi động đặc biệt đầu ra của ECCP1 resetTMR1 hoặc TMR3 cặp đăng
ký, tùy thuộc vào đó bộ đếm thời giantài nguyên hiện đang được lựa chọn. Điều này cho
phép các CCPR1đăng ký để có hiệu quả là một lập trình thời gian 16-bitđăng ký Timer1
hoặc Timer3.

16.3 CHẾ ĐỘ TIÊU CHUẨN PWM

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
48
[Type the document title]

Khi cấu hình trong chế độ đầu ra đơn, các chức năng ECCP giống hệt với CCP tiêu
chuN n trong chế độ PWM, như mô tả trong Phần 15,4"Chế độ PWM".Điều này cũng đôi
khi được gọi là chế độ"Tương thích CCP" , như trong Bảng 16-1.

BẢNG 16-1: PIN PHÂN CÔNG CHO CÁC ECCP1 PHƯƠNG THỨC

Chú thích: x = Không quan tâm.Ô được tô đậm chỉ ra nhiệm vụ pin không được sử
dụng bởi ECCP1 trong một chế độ nhất định.

Lưu ý: Khi thiết lập đầu ra duy nhất PWM opera chức, người sử dụng miễn phí
để sử dụng hoặc ủng hộcesses được mô tả trong mục 15.4.4 "Setup PWM hoạt
động hoặc mục 16.4.9 "Setup PWM hoạt động". Sau đó là chung chung hơn và sẽ làm
việc cho một trong hai đơn hoặc nhiều đầu ra PWM.

16,4 CHẾ ĐỘ TĂNG CƯỜNG PWM

Chế độ Tăng cường PWM cung cấp thêm PWM tùy chọn đầu ra cho một phạm vi rộng
lớn hơn của kiểm soát ứng dụng. Module này là một phiên bản tương thích ngược CCP
module tiêu chuN n và cung cấp lên đến bốn kết quả đầu ra, được chỉ định P1A thông qua
P1D. Người dùng cũng có thể chọn sự phân cực của tín hiệu (có thể hoạt động cao- hoạt
động thấp). Chế độ đầu ra của mô-đun và phân cực cấu hình bằng cách thiết lập P1M1:
P1M0 và CCP1M3: CCP1M0 bit của đăng ký CCP1CON.Hình 16-1 cho thấy một sơ đồ
khối đơn giản của PWM hoạt động.Tất cả các thanh ghi kiểm soát được tăng gấp đôi
đệm và được nạp vào đầu của một chu kỳ mới PWM (giai đoạn ranh giới khi Timer2
thiết lập lại) để ổn định trước thông hơi trên bất kỳ kết quả đầu ra.Trường hợp ngoại lệ là
trễ thanh ghi PWM, PWM1CON, được tải tại hoặc là chu kỳnhiệm vụ ranh giới hoặc
ranh giới giai đoạn (tùy theo điều kiện nào đến trước).Bởi vì đệm, module chờ đợi cho
đến khi được giao hẹn giờ reset, thay vì bắt đầu ngay lập tức.Điều này có nghĩa là tăng
cường PWM dạng sóng không chính xác phù hợp với tiêu chuN n PWM dạng sóng,
nhưng thay vì được bù đắp bởi một hướng dẫn chu kỳ (4 Tosc). Như trước đây, người sử
dụng phải tự cấu hình bit Tris thích hợp cho đầu ra.

Hình 16-1: SƠ ĐỒ ĐƠN GIẢN CỦA MODULE PWM NÂNG CAO

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
49
[Type the document title]

16.4.1 PWM THỜI GIAN

Thời gian PWM được quy định cụ thể bằng văn bản cho các PR thanh ghi. Thời
gian PWM có thể được tính bằng cách sử dụng theo công thức.

Phương trình 16-1:

Tần số PWM được định nghĩa là 1 Thời gian PWM] /. khi TMR2 bằng PR2, ba sự
kiện sau đây xảy ra vào chu kỳ tăng tiếp theo:

• TMR2 được xóa

• Pin CCP1 được thiết lập (nếu chu kỳ nhiệm vụ PWM = 0%, Pin CCP1 không sẽ được
thiết lập)

• Các chu kỳ PWM nhiệm vụ được sao chép từ CCPR1L vào CCPR1H

16.4.2 CHẾ ĐỘ LÀM VIỆC PWM

Chu kỳ PWM nhiệm vụ được quy định cụ thể bằng văn bản cho CCPR1L thanh ghi
và CCP1CON <05:04> bit. Độ phân giải lên đến 10-bit có sẵn. CÁC CCPR1L chứa tám
MSB và CCP1CON <05:04> có chứa hai LSbs.Giá trị 10-bit này được đại diện bởi
CCPR1L: CCP1CON <05:04>. Chu kỳ PWM là tính theo phương trình sau đây.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
50
[Type the document title]

Phương trình 16-2:

CCPR1L và CCP1CON <05:04> có thể được ghi vào bất cứ lúc nào thời gian, nhưng giá
trị chu kỳ nhiệm vụ không được sao chép vào CCPR1H cho đến khi xảy ra một trận đấu
giữa PR2 và TMR2 (ví dụ, Thời gian hoàn thành).Trong chế độ PWM, CCPR1H một
thanh ghi chỉ đọc.Các thang ghi CCPR1H và một chốt 2-bit bên trong được sử dụng để
tăng gấp đôi đệm các chu kỳ nhiệm vụ PWM.Điều này đệm gấp đôi là điều cần thiết cho
PWM.Khi chân CCPR1H và 2-bit trận đấu TMR2, nối với một đồng hồ bên trong bộ Q
2-bit hoặc hai bit TMR2, pin CCP1 là xóa.các tần số tối đa PWM giải quyết (bit) cho
một PWM cho tần số được cho bởi phương trình sau đây.

BẢNG 16-2: VÍ DỤ TẦN SỐ PWM VÀ GIẢI QUYẾT CỦA AT 40 MHz

PHƯƠNG TRÌNH 16-3:

Lưu ý: Nếu Chu kỳ nhiệm vụ PWM có giá trị lâu hơn giai đoạn PWM, pin CCP1 sẽ
không xóa.

16.4.3 CẤU HÌNH ĐẦU RA PWM

P1M1: P1M0 bit trong thanh ghi CCP1CON cho phép một trong bốn cấu hình:

•Đầu ra đơn

• Một nửa cầu đầu ra

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
51
[Type the document title]

• Toàn cầu đầu ra, chế độ Chuyển tiếp

• Toàn cầu đầu ra, chế độ đảo ngược

Các chế độ một đầu ra là PWM chế độ tiêu chuN n thảo luận trong Phần 16,4 "Tăng
Cường PWM Mode".Các chế độ đầu ra nửacầu và toàncầu trình bày chi tiết trong các
phần tiếp theo.

Các mối quan hệ chung của các kết quả đầu ra trong tất cả các cấu hình được tóm tắt
trong hình 16-2.

Hình 16-2: PWM QUAN HỆ ĐẦU RA (HOẠT ĐỘNG-MỨC CAO)

Hình 16-3: PWM QUAN HỆ ĐẦU RA (HOẠT ĐỘNG MỨC THẤP)

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
52
[Type the document title]

mối quan hệ:

• Thời gian = 4 * Tosc * (PR2 + 1) * (TMR2 bộ đếm giá trị gia tăng)

• Chu kỳ = Tosc * (CCPR1L <07:00>: CCP1CON <05:04>) * (TMR2 bộ đếm giá trị gia
tăng)

• Hàm trễ = 4 * Tosc * (PWM1CON <06:00)

16.4.4 CHẾ ĐỘ NỬA CẦU

Trong chế độ đầu ra nửacầu, hai chân được sử dụng như đầu ra để lái tải đN y-kéo.Các tín
hiệu đầu ra PWM là sản lượng trên pin P1A, trong khi PWM bổ sung đầu ra tín hiệu là
đầu ra trên pin P1B (Hình 16-4).Điều này chế độ có thể được sử dụng cho các ứng dụng
bán cầu, như được hiển thịtrong hình 16-5, hoặc cho các ứng dụng toàn cầu nơi bốn thiết
bị chuyển mạch điện đang được điều chế với 2 PWM tín hiệu.

Trong chế độ đầu ra nửacầu, sự trễ dải chết lập trình có thể được sử dụng để ngăn chặn
bắn qua hiện tại trong các thiết bị điện nửa cầu.Giá trị của các bit,PDC6: PDC0, đặt số
lượng các chu kỳ chỉ dẫn trước khi đầu ra là lái xe hoạt động.Nếu giá trị lớn hơn so với
chu kỳ nhiệm vụ, sản lượng tương ứng vẫn còn không hoạt động trong toàn bộ chu
kỳ.Xem mục 16.4.6 "Lập trình dải chết trễ" để biết thêm chi tiết của các hoạt động sự
chậm trễ dải chết.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
53
[Type the document title]

Kể từ khi đầu ra đầu ra P1A và P1B được ghép với PORTC <2> và PORTD <5> dữ liệu
chốt, TRISC <2> TRISD <5> bit phải được dọn sạch đểcấu hình P1A và P1B là đầu ra.

Hình 16-5: VÍ DỤ VỀ ỨNG DỤNG nửa cầu -chế độ ra

Đầu ra nửacầu lái một mạch toàncầu

16.4.5 CHẾ ĐỘ TOÀN CẦU

Trong chế độ đầu ra toàn cầu, bốn chân được sử dụng như đầu ra, tuy chỉ có hai đầu
ra đang hoạt động tại một thời điểm.Trong chế độ Chuyển tiếp pin P1A liên tục hoạt
động và P1D pin là điều chế.Trong chế độ đảo ngược pin P1C liên tục hoạt động và pin
P1B là điều chế.

Đây là những minh hoạ trong hình 16-6.

Hình 16-6: CHẾ ĐỘ TOÀN CẦU PWM RA

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
54
[Type the document title]

CHẾ ĐỘ ĐẢO NGƯỢC

P1A P1B P1C và đầu ra P1D được ghép với PORTC <2> và PORTD <07:05> dữ liệu
chốt. các TRISC <2> TRISD <07:05> bit phải được dọn sạch đểlàm P1A P1B P1C và
chân P1D đầu ra.

Hình 16-7: VÍ DỤ CỦA CHẾ ĐỘ TOÀN CẦU ÁP DỤNG

16.4.5.1

Hướng Thay trong chế đầu ra toàn cầu, các bit P1M1 trong CCP1CON thanh ghi
cho người dùng kiểm soát về phía trước /đảo ngược hướng.Khi các phần mềm ứng thay
đổi bit kiểm soát hướng này các mô-đun giả hướng mới về chu kỳ PWM tiếp .Chỉ cần
trước khi kết thúc của thời kỳ PWM, đầu ra điều chế (P1B và P1D) được đặt trong
họkhông hoạt động tiểu bang trong chưa điều chế đầu ra (P1A P1C) được chuyển sang
lái theo hướng ngược lại.Điều xảy ra trong một khoảng thời gian 4 Tosc * (Timer2 bộ

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
55
[Type the document title]

đếm giá trị gia tăng) trước khi PWM Thời gian tiếp theo bắt đầu. Prescaler Timer2 sẽ là
1 4 hoặc 16, tùy thuộc các giá trị của T2CKPS1: T2CKPS0 bit (T2CON <01:00>).Trong
khoảng thời gian từ việc chuyển đổi của các đầu ra chưa điều chế để bắt đầu tiếp theo
Thời gian các đầu ra điều chế (P1B và P1D) vẫn còn không hoạt động.Mối quan hệ này
được thể hiện trong hình 16-8.

Lưu ý rằng trong chế độ đầu ra toàn cầu, CCP1 mô-đun không cung cấp bất kỳ sự
dải chết.Trong gen eral vì chỉ có một đầu ra là điều chế ở tất cả các lần băng chậm trễ
không cần thiết.Tuy nhiên, có một tình huống mà một sự chậm trễ dải chết có thể được
yêu cầu.Tình trạng này xảy ra khi cả hai điều sau đây điều kiện là đúng sự thật:

1.Sự chỉ đạo của các đầu ra PWM thay đổi khi chu kỳ nhiệm vụ của đầu ra là tại hoặc
gần 100%.

2.Thời gian kết thúc chuyển đổi năng lượng, bao gồm cảcác thiết bị điện và mạch điều
khiển, lớnhơn thời gian băt đầu.

Hình 16-9 cho thấy một ví dụ nơi mà các PWM hướng thay đổi từ phía trước để đảo
ngược tại một gần 100% chu kỳ nhiệm vụ.Tại thời điểm t1, P1A kết quả đầu ra và P1D
trở nên không hoạt động, trong khi sản lượng P1C trở thành hoạt động.trong ví dụ này,
vì thời gian turn-off của quyền lực thiết bị dài hơn so với lượt về thời gian, chụp qua
hiện tại có thể lưu thông qua các thiết bị điện, QC và QD (xem hình 16-7), trong suốt
thời gian của 't'.Cùng hiện tượng này sẽ xảy ra với các thiết bị điện, QA và QB, cho
PWM hướng thay đổi ngược lại để chuyển tiếp.Nếu thay đổi hướng PWM chu kỳ nhiệm
vụ cao là cần thiết cho một ứng dụng, một trong các yêu cầu sau phải là tôi:

1.Giảm PWM trong một thời gian PWM trước khi thay đổi hướng.

2.Sử dụng trình điều khiển chuyển đổi mà có thể lái các thiết bị chuyển mạch nhanh hơn
họ có thể đN y họ vào.

Các lựa chọn khác để ngăn chặn bắn qua hiện tại may tồn tại

Hình 16-8: PWM HƯỚNG BIẾN ĐỔI

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
56
[Type the document title]

Hình 16-9: PWM HƯỚNG BIẾN ĐỔI AT GẦN chu kỳ CHẾ ĐỘ LÀM VIỆC 100%

16.4.6 LẬP TRÌNH DẢI CHẾT TRỄ

Trong nửa cầu ứng dụng mà tất cả các thiết bị chuyển mạch điện điều chế tại tần số
PWM tại mọi thời điểm, thiết bị chuyển mạch điện thông thường đòi hỏi nhiều thời gian
hơn để tắthơn bật.Nếu cả hai phía trên và điện năng thấp hơn thiết bị chuyển mạch được
chuyển cùng một lúc (1 bật và tắt), cả hai thiết bị chuyển mạch có thể được trên cho

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
57
[Type the document title]

Mmột thời gian ngắn thời gian cho đến khi một chuyển đổi hoàn toàn biến tắt.Trong
khoảng thời gian này ngắn gọn, rất cao hiện nay (chụp qua) có thể lưu thông qua cả điện
thiết bị chuyển mạch, ngắn mạch cung cấp cầu.Để tránh điều này có khả năng phá hoại
bắn qua từ dòng chảy trong quá trình chuyển đổi, chuyển về một năng lượng thiết bị
chuyển mạch thường được trì hoãn để cho phép chuyển đổi khác tắt hoàn toàn.Trong chế
độ đầu ra nửa cầu, một kỹ thuật số bản chương trình băng chết trễ là có sẵn để tránh
những chụp qua hiện tại từ phá hủy các thiết bị chuyển mạch điện cầu.các hàm trễ xảy ra
ở quá trình chuyển đổi tín hiệu từ các thanh ghi để trạng thái hoạt động.Xem Hình 16-4
mang tính minh họa. Các bit PDC6: PDC0 của các PWM1CON thanh ghi (Thanh ghi
16-2) thiết lập các thời kỳ sự chậm trễ trong điều khoản của chu kỳ giảng dạy vi điều
khiển (TCY hoặc 4 Tosc).những bit không có sẵn trên các thiết bị như là tiêu chuN n 28-
pin CCP mô-đun không hỗ trợ hoạt động nửa cầu.

16.4.7 NÂNG CAO PWM TỰ TẮT

Khi CCP1 được lập trình cho bất kỳ sự tăng cường PWM chế độ, các chân đầu ra
hoạt động có thể được cấu hình tự động tắt máy. Tắt máy tự động ngay lập tức đặt tăng
cường đầu ra PWM chân vào một tắt máy được xác định trạng thái khi xảy ra một sự
kiện tắt máy. Một sự kiện tắt máy có thể được gây ra bởi một trong các so sánh các mô-
đun, một mức độ thấp trên đầu vào pin lỗi (FLT0) hoặc bất kỳ sự kết hợp của ba nguồn
này.các so sánh có thể được sử dụng để theo dõi một điện áp đầu vào tỷ lệ thuận với một
dòng điện đang được theo dõi trong cầu mạch.Nếu điện áp vượt quá một ngưỡng, so
sánh thiết bị chuyển mạch trạng thái và gây ra sự tắt máy.Ngoài ra, một tín hiệu kỹ thuật
số thấp trên FLT0 cũng có thể kích hoạt tắt máy.Các tính năng tự động tắt máy có bị vô
hiệu hóa bằng cách không lựa chọn bất kỳ nguồn tự động tắt máy.Các nguồn tự động tắt
máy để sử dụng được lựa bằng cách sử dụng ECCPAS2: ECCPAS0 bit (bit <06:04> của
thanh ghi ECCP1AS).Khi tắt máy xảy ra, các chân đầu ra là asyn chronously đặt trong
trạng thái tắt máy, quy định PSSAC1: PSSAC0 và PSSBD1: PSSBD0 bit (ECCPAS2:
ECCPAS0).Mỗi cặp pin (P1A/P1C và P1B/P1D) có thể được thiết lập để điều khiển điều
khiển cao, thấp hoặc là tri đã được nêu ra (không điều khiển).Bit ECCPASE (ECCP1AS
<7>)cũng được thiết lập để giữ các kết quả đầu ra PWM tăng cường của trạng thái tắt
máy.

Bit ECCPASE được thiết lập bởi phần cứng khi tắt máy xảy ra.Nếu khởi động lại tự
động không được kích hoạt, , Bit ECCPASE được xóa bằng phần cứng khi nguyên nhân
gây ratắt máy tính, xóa.Nếu khởi động lại tự động được kích hoạt, bit ECCPASE được
tự động xóa. nguyên nhân gây ra tắt máy tự động xóa.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
58
[Type the document title]

Nếu bit ECCPASE được thiết lập khi bắt đầu một chu kỳ PWM, các kết quả đầu ra
PWM vẫn ở trạng thái tắt máy của họ cho rằng thời gian toàn bộ PWM.Khi bit
ECCPASE được xóa bỏ, các kết quả đầu ra PWM sẽ trở lại hoạt động bình thường tại từ
đầu của thời kỳ PWM tiếp theo.

Lưu ý: Viết bit ECCPASE bị vô hiệu hóa trong khi một điều kiện tắt máy đang hoạt
động.

Thanh ghi 16-2:CẤU HÌNH THANH GHI PWM1CON: PWM

bit 7 PRSEN: PWM Khởi động lại bit

1 = Khi tắt máy tự động, các bit ECCPASE xóa tự động sau khi sự kiện tắt máyđi đi,
khởi động lại PWM tự động

0 = Sau khi tắt máy tự động, ECCPASE phải được xóa trong phần mềm để khởi động lại
PWM

bit 6-0 PDC6: PDC0: PWM trễ bit

Sự trễ thời gian, số lượng FOSC / 4 (4 * Tosc) chu kỳ, giữa thời gian theo lịch trình và
thực tế cho một tín hiệu PWM để chuyển đổi để hoạt động

Lưu ý 1: Dành trên các thiết bị 28-pin, duy trì các bit rõ ràng.

THANH GHI 16-3: ECCP1AS: TỤ NÂNG CAO / SO SÁNH / PWM TỰ ĐỘNG TẮT

KIỂM SOÁT THANH GHI

bit 7 ECCPASE: cho phép trạng thái bit ECCP tự động tắt máy

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
59
[Type the document title]

1 = tắt máy đã xảy ra; ECCP kết quả đầu ra ở trạng thái tắt máy

Các kết quả đầu ra 0 = ECCP đang hoạt động

bit 6-4 ECCPAS2: ECCPAS0: ECCP tự động tắt máy bit nguồn

111 = FLT0 sánh 1 hoặc sánh 2

110 = FLT0 hoặc sánh 2

101 = FLT0 hoặc sánh 1

100 = FLT0

011 = Hoặc sánh 1 hoặc 2

010 = sánh 2 đầu ra

001 = sánh 1 đầu ra

000 = tự động tắt máy bị vô hiệu hóa

bit 3-2: PSSAC1 PSSAC0: các Pins A và C tắt máy bit kiểm soát

1x = Pins A và C là 3 chế độ (40/44-pin thiết bị);

Đầu ra PWM là ba-trạng thái (28-pin thiết bị)

01 = Pins ổ A và C để '1 '

01 = Pins ổ A và C để '0 '

bit 1-0 PSSBD1: PSSBD0: Pins B và D tắt máy kiểm soát bit (1)

1x = Pins B và D ba trạng thái

01 = ổ Pins B và D để '1 '

01 = ổ Pins B và D để '0 '

Lưu ý 1: Dành trên thiết 28-pin, duy trì các bit rõ ràng.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
60
[Type the document title]

16.4.7.1 TỰ ĐỘNG TẮT MÁY VÀ TỰ ĐỘNG KHỞI ĐỘNG LẠI

Các tính năng tự động tắt máy có thể được cấu hình để cho phép khởi động lại tự
động của các mô-đun sau khi tắt máy. Điều nàyđược kích hoạt bằng cách thiết lậpbit
PRSEN PWM1CON thanh ghi(PWM1CON <7>).Trong chế độTắt máy với PRSEN= 1
(Hình 16-10),ECCPASE bitsẽvẫnthiết lậpcholà nguyên nhântắt máy tính.Khi tắt máy
tính,Condihóaxóa, bit ECCP1ASE sẽ bị xóa.Nếu PRSEN=0(Hình 16-11), một khi xảy ra
một tình trạng tắt máy,Bit ECCPASE sẽ vẫn thiết lập cho đến khi nó được xóa bởi công
ty-ware.Một khi ECCPASE được xóa bỏ, tăng cường PWM
sẽ tiếp tục vào đầu của thời kỳ PWM tiếp theo.

Độc lập của các thiết lập bit PRSEN,nếu nguồn tự động tắt máy là một trong các so
sánh,tắt máy điều kiện là một cấp độ.Bit ECCPASE không thể được xóa miễn là nguyên
nhân của tắt máy vẫn tồn tại.Chế độ tự động Tắt máy có thể bị buộc viết một '1'bit
ECCPASE.

16.4.8 KHỞI ĐỘNG

Khi các mô-đun ECCP được sử dụng ở chế độ PWM, phải sử dụng ứng dụng phần
cứng bên ngoài thích hợp kéo lên hoặc kéoxuống điện trở trên các chân đầu ra PWM.
Khi vi điều khiển được Reset,tất cả cáccác chân I /O ở trạng thái trở kháng cao.Các
mạch kích thích phải giữ cho cácthiết bị chuyển đổi năng lượng trong off nhà nước cho
đến khi vi điều khiển ổ đĩa các chân I /O các tín hiệu mức độ thích hợp, hoặc kích hoạt
các PWM
đầu ra (s).

CCP1M1: CCP1M0bit(CCP1CON <01:00>) cho phép người sử dụng chọn các tín
hiệu đầu ra PWM hoạt động hoặc hoạt động caothấp cho mỗi cặp đầu ra của PWM chân
(P1A/P1C vàP1B/P1D).Đầu ra PWM phân cực phải được lựa chọn trước khi các chân
PWM cấu hình như kết quả đầu ra.Thay đổi tính phân cực Configuration trong khi các
chân PWM được cấu hình như là kết quả đầu ra là không nên, vì nó có thể dẫn đến thiệt
hại cho ứng dụng mạch.Sản lượng P1A, P1B, P1C và P1D chốt có thể không trong trạng
thái thích hợp khi các mô-đunPWM được khởi tạo.Tạo điều kiện cho các chân PWM
cho đầu ra cùng một lúc ECCP mô-đuncó thể gây ra thiệt hại cho các mạch ứng dụng
hóa.Mô-đun ECCP phải được cho phép trong các sản lượng chế độ thích hợpvà hoàn
thành một chu kỳ PWM trước khi cấu hình các chânPWM là kết quả đầu ra.Com_
pletion của một chu kỳ PWM được chỉ định bởi cácTMR2IF bit được thiết lập như thời
gian PWM thứ hai bắ tđầu.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
61
[Type the document title]

Hình 16-10: PWM TỰ ĐỘNG TẮT MÁY(PRSEN = 1, TỰ ĐỘNG_ KHỞI ĐỘNG LẠI
ENABLED)

Hình 16-10: PWM TỰ ĐỘNG TẮT MÁY(PRSEN = 0, TỰ ĐỘNG_ KHỞI ĐỘNG LẠI
ENABLED)

16.4.9 CÀI ĐẶT HOẠT ĐỘNG CHO PWM

Các bước sau đây cần phải được thực hiện khi cấu hình các mô-đun ECCP cho
PWM hoạt động:

1.Cấu hình các chân PWM,P1A và P1B(vàP1C vàP1D, nếu được sử dụng), như đầu vào
bằng cách thiết lập tương ứng trisbit.

2.Đặt thời gian PWM bằng cách tải thanh ghi ký PR2.

3.Nếu tự động tắt máy đượcyêu cầu:

• Vô hiệu hoá tự động tắt máy (ECCP1AS = 0)

• Cấu hình nguồn (FLT0, sánh1 hoặcSo sánh 2)

• Chờ cho không tắt máy điều kiện

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
62
[Type the document title]

4.Cấu hình module ECCP cho các mong muốn PWM chế độ và cấu hìnhbằng cách tải
CCP1 CON thanh ghi với các giá trị thích hợp:

• Chọn một trong những đầu ra có sẵn cấu hình và chỉ đạo với P1M1: P1M0 bit.

• Chọn các phân cực của các đầu ra PWM tín hiệu với các CCP1M3: CCP1M0 bit.

5.Thiết lập các chu kỳ nhiệm vụ PWM bằng cách tải các CCPR1L thanh ghi
vàCCP1CON<05:04>bit.

6.Đối với chế độ đầu ranửacầu, thiếtlậpsự chậm trễbăng chếtbằng cách
tảiPWM1CON<06:00>giá trị thích hợp

7.Nếu hoạt động tự động tắt máylà cần thiết,tải ECCP1AS thanh ghi:

• Chọn nguồn tự động tắt máybằng cách sử dụng ECCPAS2: ECCPAS0 bit.

• Chọn các trạng thái tắt máy của PWM đầu ra chân bằng cách sử dụng PSSAC1:
PSSAC0 và PSSBD1: PSSBD0 bit.

• Thiết lậpbitECCPASE(ECCP1AS <7>).

• Cấu hình các so sánh sử dụng các CMCONthanh ghi.


• Cấu hình các yếu tố đầu vào so sánh là tương tựđầu vào.
8.Nếu tự độngkhởi động lạihoạt độnglà cần thiết,thiết lậpPRSEN bit (PWM1CON <7>).
9.Cấu hình vàbắt đầuTMR2:
• Xóa các bit cờ TMR2 gián đoạndothanh toán bù trừbit TMR2IF(PIR1 <1>).
• Thiết lập giá trịTMR2bộ đếm tảiT2CKPS bit(T2CON <01:00).
• Kích hoạt Timer2 bằng cách thiết lập bit TMR2ON(T2CON <2>).
10.Kích hoạt tính năng PWM kết quả đầu ra sau một chu kỳ PWM mới đã bắt đầu:
• Chờ cho đến khi trànTMRn(bit TMRnIFđược thiết lập).
• Kích hoạt tính năng CCP1/P1A, P1B, P1C và / hoặc P1D pin đầu ra bằng cách thanh
toán bù trừ các tris tương ứngbit.
• Xóa bitECCPASE(ECCP1AS <7>).
16.4.10 HOẠT ĐỘNG CHO CƯỜNG ĐỘ QUẢN LÝ PHƯƠNG THỨC
Trong chế độ ngủ, tất cả các nguồn đồng hồ được vô hiệu hóa.Timer2 sẽ không
tăng và nhà nước của các mô-đun sẽ không thay đổi.Nếu pin ECCP được cho một giá
trị,nó sẽ tiếp tục để hoạt động có giá trị. Khi thiết bị tỉnh dậy,sẽ tiếp tục từ tiểu bang
này.Nếu hai tốc độ Start-up kích hoạt, khởi động ban đầu lên tần số từ INTOSC và
postscaler có thể không ổn định ngay lập tức.Trong chế độ PRI_IDLE, đồng hồ chính sẽ
tiếp tục đồng hồ module ECCP mà không thay đổi. Trong tất cả các năng lượng quản lý
chế độ năng lượng được lựa chọn quản lý chế độ đồng hồ đồng hồTimer2. Điện khác
quản lý đồng hồ chế độ rất có thể sẽ là khác nhau hơn tần số đồng hồ chính.
16.4.10.1 HOẠT ĐỘNG CHO PHÉP AN TOÀN ĐỒNG HỒ MÀN HÌNH

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
63
[Type the document title]

Nếu cho phép an toàn Đồng hồMàn hình được kích hoạt,một thất bại đồng hồ sẽ
buộc các thiết bị vàoPowerRC_RUN quản lý chế độ và một chút OSCFIF(PIR2 <7>) sẽ
được thiết lập. các ECCP sau đó sẽ được tốc độ từ dao động nội bộ đồng hồ nguồn, có
thể có một chiếc đồng hồ khác nhau tần suất hơn so với các đồng hồ chính.

Xem phần trước đây cho biết thêm chi tiết.

16.4.11 ẢNH HƯỞNG CỦA MỘT THIẾT LẬP LẠI

Cả hai điện trên Đặt lại Thiết lập lại và sau đó sẽ buộc tất cả các cổng đầu vào chế độ và
CCP đăng ký của họThiết lập lại các tiểu bang.

Điều này buộc CCP tăng cường mô-đun để thiết lập lại một nhà nước tương thích với
các mô-đun tiêu chuN n của CCP

BẢNG 16-3: THANH GHI LIÊN QUAN VỚI ECCP1 MODULE, TIMER1,TIMER3

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
64
[Type the document title]

Chú thích: -chưa thực hiện, đọc là'0 '.Ô được tô đậm không được sử dụng trong ECCP
hoạt động.

Lưu ý 1:Những bit này được chưa thực hiện trên thiết 28-pin, luôn luôn duy trì các bit rõ
.

KHOA ĐIỆN TỬ ĐHCN HÀ NỘI Page BÁO CÁO VĐK NÂNG CAO
65

You might also like