1. Trang chủ
  2. » Tất cả

chuong 2_sv

37 1 0

Đ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 37
Dung lượng 2,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TỔNG QUAN VỀ CỔNG XUẤT NHẬP tt tt tt Đối với các I/O được đa hợp với các ngoại vi tương tự thì khi reset các I/O này sẽ mặc định là ngõ vào tương tự Analog Input Để thay đổi cấu hình củ

Trang 1

• Bộ nhớ chương trình (Program Memory)

8192 (Words – 14 bit) Flash ROM

• Bộ nhớ dữ liệu (Data Memory)

368 (Bytes – 8 bit) RAM

256 (Bytes – 8 bit) EEPROM

• 24/35 chân xuất/nhập (I/O)

• 15 nguồn ngắt (Interrupt)

• 2 bộ ñịnh thời/đếm 8 bit (Timer 0 và Timer 2)

• 1 bộ ñịnh thời/đếm 16 bit (Timer 1)

• 1 bộ ñịnh thời giám sát (WatchDog Timer)

• 2 bộ bắt giữ/so sánh/điều xung (Capture/Compare/PWM)

Trang 2

• 1 bộ giao tiếp nối tiếp ñồng bộ và bất ñồng bộ (USART,

MSSP)

• 2 bộ so sánh tương tự (Analog Comparator)

• Chế ñộ tiết kiệm năng lượng (Sleep Mode)

• Tầm ñiện áp làm việc lớn (2.0V – 5.5V)

• Tích hợp nhiều tính năng nhằm tăng ñộ tin cậy khi làm việc

(POR, PWRT, OST, BOR, WDT), bảo mật và hiệu suất

• Tích hợp tính năng gỡ rối chương trình (Debug)

• Nạp chương trình bằng cổng nối tiếp (In-Circuit Serial

Trang 3

2 SƠ ĐỒ KHỐI TỔNG QUÁT CỦA PIC16F887

SƠ ĐỒ CHÂN CỦA PIC16F887

• Kiểu chân PDIP:

Trang 4

• Kiểu chân QFN:

7

SƠ ĐỒ CHÂN CỦA PIC16F887

• Kiểu chân TQFP:

Trang 5

TRISB7 TRISB6 TRISB6 TRISB5 TRISB5 TRISB4 TRISB4 TRISB3 TRISB3 TRISB2 TRISB2 TRISB1 TRISB1 TRISB0 TRISB0

PORTB Tri-State Register (TRISB)

1 = chân Port B tương ứng là ngõ vào (Input)

0 = chân Port B tương ứng là ngõ ra (Output)

Cấu hình chiều dữ liệu

3 TỔNG QUAN VỀ CỔNG XUẤT NHẬP (

3 TỔNG QUAN VỀ CỔNG XUẤT NHẬP (tt tt tt))))

Đối với các I/O được đa hợp với các ngoại vi tương tự thì khi

reset các I/O này sẽ mặc định là ngõ vào tương tự (Analog

Input)

Để thay đổi cấu hình của các I/O này(Analog Input ⇔ Digital I/O):

Trường hợp PIC16F887: sử dụng thanh ghi Analog Select

(ANSEL và ANSELH)

Trường hợp PIC16F877A: sử dụng thanh ghi Analog

Control 1 (ADCON1).

Trang 6

• Trường hợp PIC16F887: Thanh ghi dùng để cấu hình ngõ vào

tương tự thành I/O số (Digital I/O) là ANSEL và ANSELH

ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0

Analog Select Register ( ANSEL )

Analog Select High Register ( ANSELH )

Trang 7

VD 1

• Cho port E của PIC16F887 có cấu hình như sau:

• Hãy xác định giá trị của thanh ghi TRISE, ANSEL, ANSELH

13

Analog Input Digital Output Digital Input

TRISE7

TRISE7 TRISE6 TRISE6 TRISE5 TRISE5 TRISE4 TRISE4 TRISE3 TRISE3 TRISE2 TRISE2 TRISE1 TRISE1 TRISE0 TRISE0

ANS13 ANS12 ANS11 ANS10 ANS9 ANS8

Đáp

Đáp án án

• Cho port E của PIC16F887 có cấu hình như sau:

• Hãy xác định giá trị của thanh ghi TRISE, ANSEL, ANSELH

Analog Input Digital Output Digital Input

Trang 8

• Trường hợp PIC16F877A: Thanh ghi dùng để cấu hình ngõ

vào tương tự thành I/O số (Digital I/O) là ADCON1

15

ADC Control Register 1 (ADCON1)

Các bit cấu hình loại I/O

TỔNG QUAN VỀ CỔNG XUẤT NHẬP PIC 16F877

Trang 9

Tính năng điện trở kéo lên (Pull-up Resistor)

• Chỉ áp dụng cho Port B và khi I/O được cấu hình là ngõ vào

• Kích hoạt bằng cách:

- Trường hợp PIC16F887: Sử dụng thanh ghi WPUB và bit RBPU

trong thanh ghi OPTION

- Trường hợp PIC16F877A: Sử dụng bit RBPU

17

• Trường hợp PIC16F887: Sử dụng thanh ghi WPUB và bit

RBPU trong thanh ghi OPTION

Weak Pull-Up PORTB Register (WPUB)

1 = Cho phép 0 = Cấm

WPUB7 WPUB6 WPUB5 WPUB4 WPUB3 WPUB2 WPUB1 WPUB0

OPTION_REG Register (OPTION_REG)

1 = Cấm 0 = Cho phép

Trang 10

Ví dụ: Kích hoạt tính năng điện trở kéo lên cho chân RB3

19

Weak Pull-Up PORTB Register ( WPUB )

1 = Cho phép 0 = Cấm

RB3 Pull-up Resistor WPUB7 WPUB6 WPUB5 WPUB4 ICOB3 1 WPUB2 WPUB1 WPUB0

OPTION_REG Register ( OPTION_REG )

1 = Cấm 0 = Cho phép

• Trường hợp PIC16F877A: Sử dụng bit RBPU trong thanh ghi

Trang 11

3.1 CẤU TRÚC VÀ CHỨC NĂNG PORT A

21

• Port A có 8 chân (RA0 – RA7)

lưu ý: Đối với PIC16F877A chỉ có 6 chân (RA0 – RA5)

• Việc ghi các giá trị (0 hoặc 1) vào thanh ghi TRISA sẽ qui

ñịnh chiều các chân Port A

• Các thao tác điều khiển Port:

- READ: Đọc trạng thái của chân

- WRITE: Ghi vào bộ chốt cổng (RD-MD-WR)

• Thanh ghi ANSEL phải được khởi tạo để cấu hình một ngõ

vào tương tự thành ngõ vào số

Trang 12

Bảng tổng hợp chức năng của Port A

Bảng tổng hợp chức năng của Port A

Trang 13

• Các thanh ghi có liên hệ với Port A

25

X : Không biết – : Dự trữ (Đọc về có giá trị ‘0’)

U : Không thay đổi Tô đậm : Không dùng cho Port A

3.2 CẤU TRÚC VÀ CHỨC NĂNG PORT B

• Port B có 8 chân (RB0 – RB7)

Trang 14

3.2 CẤU TRÚC VÀ CHỨC NĂNG PORT B

• Port B có 8 chân (RB0 – RB7)

• Việc ghi các giá trị (0 hoặc 1) vào thanh ghi TRISB sẽ qui

ñịnh chiều các chân Port B

• Các thao tác điều khiển Port:

• READ: Đọc trạng thái của chân

• WRITE: Ghi vào bộ chốt cổng (RD-MD-WR)

• Thanh ghi ANSELH phải được khởi tạo để cấu hình một ngõ

vào tương tự thành ngõ vào số

• Mỗi chân Port B đều có tính năng điện trở kéo lên.

27

Bảng tổng hợp chức năng của Port B

Trang 15

Bảng tổng hợp chức năng của Port B

• Các thanh ghi có liên hệ với Port B

X : Không biết – : Dự trữ (Đọc về có giá trị ‘0’)

Trang 16

3.3 CẤU TRÚC VÀ CHỨC NĂNG PORT C

• Port C có 8 chân (RC0 – RC7)

• Việc ghi các giá trị (0 hoặc 1) vào thanh ghi TRISC sẽ qui

ñịnh chiều các chân Port C

• Các thao tác điều khiển Port:

• READ: Đọc trạng thái của chân

• WRITE: Ghi vào bộ chốt cổng (RD-MD-WR)

31

Bảng tổng hợp chức năng của Port C

Trang 17

Bảng tổng hợp chức năng của Port C

• Các thanh ghi có liên hệ với Port C

X : Không biết – : Dự trữ (Đọc về có giá trị ‘0’)

Trang 18

3.4 CẤU TRÚC VÀ CHỨC NĂNG PORT D

• Port D có 8 chân (RD0 – RD7)

• Việc ghi các giá trị (0 hoặc 1) vào thanh ghi TRISD sẽ qui

ñịnh chiều các chân Port D

• Các thao tác điều khiển Port:

• READ: Đọc trạng thái của chân

• WRITE: Ghi vào bộ chốt cổng (RD-MD-WR)

35

Bảng tổng hợp chức năng của Port D

Trang 19

• Các thanh ghi có liên hệ với Port D

37

X : Không biết – : Dự trữ (Đọc về có giá trị ‘0’)

U : Không thay đổi Tô đậm : Không dùng cho Port D

• Port E có 4 chân (RE0 – RE3)

• Đối với PIC16F877A chỉ có 3 chân (RE0 – RE2)

• Việc ghi các giá trị (0 hoặc 1) vào thanh ghi TRISE sẽ qui

ñịnh chiều các chân Port E

• Các thao tác điều khiển Port:

• READ: Đọc trạng thái của chân

• WRITE: Ghi vào bộ chốt cổng (RD-MD-WR)

• Thanh ghi ANSEL phải được khởi tạo để cấu hình một ngõ

vào tương tự thành ngõ vào số.

Trang 20

Bảng tổng hợp chức năng của Port E

• Các thanh ghi có liên hệ với Port E

X : Không biết – : Dự trữ (Đọc về có giá trị ‘0’)

U : Không thay đổi Tô đậm : Không dùng cho Port E

Trang 21

4 BỘ DAO ĐỘNG

• Có thể chọn lựa nguồn xung clock bên trong hoặc bên ngoài

• Nguồn xung clock bên ngoài được cung cấp cho PIC16F887

thông qua chân OSC1/CLKIN và OSC2/CLKOUT

• Có nhiều tính năng đặc biệt:

• Có thể chọn lựa nguồn xung clock bên trong hoặc bên ngoài bằng

phần mềm

• Chế độ khởi động hai tốc độ (Two-Speed Start-up) → giãm độ trễ

• Giám sát lỗi xung clock (FSCM: Fail-Safe Clock Monitor) → tự động

chuyển nguồn xung clock

41

Trang 22

• Có 8 chế độ xung clock khác nhau:

Chế độ dao động bên ngoài:

EC – External clock with I/O on OSC2/CLKOUT

LP – 32 kHz Low-Power Crystal mode

XT – Medium Gain Crystal or Ceramic Resonator Oscillator

mode

HS – High Gain Crystal or Ceramic Resonator mode

RC – External Resistor-Capacitor (RC) with FOSC/4 output on

OSC2/CLKOUT

RCIO – External Resistor-Capacitor (RC) with I/O on

OSC2/CLKOUT.

43

• Có 8 chế độ xung clock khác nhau:

Chế độ dao động bên trong:

INTOSC – Internal oscillator with FOSC/4 output on OSC2 and

I/O on OSC1/CLKIN

INTOSCIO – Internal oscillator with I/O on OSC1/CLKIN and

OSC2/CLKOUT.

Trang 23

• Các chế độ xung clock được chọn bằng bit FOSC<2:0> trong

thanh ghi CONFIG1

• Các chế độ xung clock được chọn bằng bit FOSC<2:0> trong

thanh ghi CONFIG1

Trang 24

• Các chế độ xung clock được chọn bằng bit FOSC<2:0> trong thanh ghi

CONFIG1

47

Chế độ LP, XT, HS (Quartz Crystal)

• Các chế độ xung clock được chọn bằng bit FOSC<2:0> trong thanh ghi

CONFIG1

Chế độ XT, HS (Ceramic Resonator)

Trang 25

• Các chế độ xung clock được chọn bằng bit FOSC<2:0>trong thanh ghi

CONFIG1

49

Chế độ RC (Resistor Capacitor)

• Thanh ghi OSCCON:

o Chọn lựa tần số (IRCF)

o Báo trạng thái tần số (HTS, LTS)

o Điều khiển xung clock hệ thống (OSTS, SCS).

Oscillator Control Register (OSCCON)

Trang 26

Oscillator Control Register ( OSCCON )

Default

BỘ DAO ĐỘNG

Trang 27

Oscillator Control Register ( OSCCON )

Oscillator Start-up Time-out Status

Trang 28

Oscillator Control Register ( OSCCON )

OSC Stable

1 – Stable

0 – Not Stable

BỘ DAO ĐỘNG

Trang 29

•Thanh ghi OSCTUNE :

Điều chỉnh tần số của HFINTOSC ( TUN )

Không có tác dụng đối với LFINTOSC.

57

Oscillator Tuning Register ( OSCTUNE )

10000, … ,11111,00000,00001, … … ,01111 Minimum Factory Maximum Freq Freq Freq.

• Các thanh ghi có liên hệ với nguồn xung clock

X : Không biết – : Dự trữ (Đọc về có giá trị ‘0’

U : Không thay đổi Tô đậm : Không dùng cho bộ

dao động

Trang 30

•Có nhiều loại tín hiệu reset:

MCLR\ Reset

POR (Power-On Reset)

BOR (Brown-Out Reset)

Trang 31

• MCLR\ Reset

• Cho phép reset PIC từ mạch điện bên ngoài

• Được chọn lựa và cho phép bằng bit MCLRE trong thanh ghi

CONFIG1

• MCLRE\ = 0: Tín hiệu reset được tạo ra bên trong PIC, chân RA3 là

ngõ vào số (pull-up)

• MCLRE\ = 1: Tín hiệu reset

được tạo ra từ mạch điện

bên ngoài PIC, chân RE3

trở thành ngõ vào reset PIC,

tích cực mức thấp

61

Mạch điện tạo tín hiệu MCLR\

• POR (Power-On Reset)

• Giữ PIC ở trạng thái reset (vào thời điểm mới cấp nguồn cho PIC)

cho đến khi điện áp nguồn cung cấp (VDD) đã đạt đến một giá trị đủ

cao để hoạt động tốt

• POR không tạo ra tín hiệu reset khi VDDbị giãm trong quá trình hoạt

động

• Để kích hoạt lại POR, VDDphải giãm tới mức VSSvà giữ trong thời

gian tối thiểu 100µs

• BOR (Brown-Out Reset)

• Tạo tín hiệu reset PIC khi điện áp nguồn cung cấp (VDD) giãm xuống

nhỏ hơn mức VBOR

• Được chọn lựa và cho phép bằng bit BOREN<1:0> trong thanh ghi

CONFIG1

Trang 32

• BOR (Brown-Out Reset)

Trang 33

• POR (Power-On Reset)

• Khi MCLR được nối với

V DD , một xung reset được

tạo ra khi cạnh lên V DD

được phát hiện

65

 PWRT (Power Up Timer)

 PIC được giữ ở trạng thái reset trong 64ms để V DD tăng lên tới

một mức chấp nhận được (tính từ sau POR)

 OST (Oscillator Start-up Timer)

 PIC được giữ reset trong 1024 chu kỳ để bộ dao động (crystal,

resonator) ổn định tần số và biên độ; không hoạt động ở các chế

độ RC (tính từ sau POR hoặc Wake Up từ SLEEP).

Trang 34

LẬP TRÌNH NỐI TIẾP TÍCH HỢP

• Khi lập trình cho PIC chỉ cần 2 chân

• Được hỗ trợ cho các loại mạch nạp như: ICD2, PICkit2, PICkit3.

Function Programming Voltage = 13V Supply Voltage

Ground Clock Input Data I/O & Command Input

7 TỔ CHỨC BỘ NHỚ CỦA PIC16F887

Nội dung bao gồm:

• Bộ nhớ chương trình (Program Memory)

• Bộ đếm chương trình (Program Counter)

• Ngăn xếp (Stack)

• Bộ nhớ dữ liệu (Data Memory)

• RAM

Trang 35

BỘ NHỚ CHƯƠNG TRÌNH

• Dung lượng: 8K word

• 8K x 14bit = 14Kbyte

• Vectơ RESET: 0000h

• Bộ đếm chương trình (PC) sẽ đi tới địa chỉ

này ngay khi bị reset

• Vectơ ngắt: 0004h

• Bộ đếm chương trình (PC) sẽ đi tới địa chỉ

này ngay khi có một sự kiện ngắt bất kỳ.

69

Reset Vector

Interrupt Vector Page 0

………

07FFh 0800h

……….

0FFFh 1000h

……….

17FFh 1800h

Trang 36

BỘ NHỚ DỮ LIỆU - RAM

• Dung lượng: 368Byte (368 x 8bit)

• Bộ nhớ dữ liệu được chia thành 4

Bank:

• Bank 0, Bank 1, Bank 2 và Bank 3

• Mỗi Bank có dung lượng 128 Byte,

gồm:

• Thanh ghi đa mục đích (GPR) → RAM

• Thanh ghi chức năng đặc biệt (SFR)

• Các Bank này ñược

lựa chọn bởi hai bit RP<1:0> nằm

trongthanh ghi STATUS

THANH GHI CHỨC NĂNG ĐẶC BIỆT

• SFRs (Special Function Registers):

• Khái niệm về thanh ghi chức năng

• Được truy xuất (ghi hoặc đọc thông

tin) tương tự như một RAM tĩnh

• Một số thanh ghi có trong tất cả các

dãy (PCLATH, INTCON,…)

06h PORTB

Trang 37

73

Ngày đăng: 19/08/2018, 13:39

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm