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

Tìm hiều chung về PIC (Pic16f877a)

29 9,8K 519
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

Tiêu đề Tìm hiều chung về pic (pic16f877a)
Tác giả Vũ Văn Đại, Lương Hữu Long, Nguyễn Văn Phong, Nguyễn Bảo Việt
Người hướng dẫn TS. Cung Thành Long
Trường học Đại Học Bách Khoa Hà Nội
Thể loại báo cáo đồ án
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 29
Dung lượng 892,03 KB

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

Nội dung

Tìm hiều chung về PIC (Pic16f877a)

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

BÁO CÁO ĐỒ ÁN I

Tìm hiều chung về PIC

(Pic16f877a) (Tuần 30)

Giáo viên hướng dẫn : TS Cung Thành Long Sinh viên thực hiện : Vũ Văn Đại (nhóm trưởng) - 20101333

Lương Hữu Long - 20101800 Nguyễn Văn Phong - 20101984 Nguyễn Bảo việt - 20102781

1

Hà Nội, 3/2013

Trang 2

ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trong đó, PIC16F877 thuộc về một họ của microcontrollers 8- bít của kiến trúc RISC

Trang 3

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

3

MỤC LỤC

I kiến trúc chung của PIC 3

II Các cổng ra vào của PIC 16F877A.

Trang 4

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

4

I kiến trúc chung của PIC

Tổ chức của PIC được thiết kế theo kiến trúc Havard còn được gọi là vi điều khiển RISC ( reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn

Trang 5

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

5

II Các cổng ra vào của PIC 16F877A.

Trang 6

ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 7

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

7

II Các cổng ra vào của PIC 16F877A.

2 PORT B.

PORT B (RPB) gồm 8 I/O pin Thanh ghi điều khiển xuất nhập tương ứng là TRISB

PORT B còn được sử dụng trong quá trình nạp quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORT B còn liên quan đến ngắt ngoại

vi và bộ Timer0 PORT B còn được tích hợp chức năng điện trờ kéo lên được điều khiển bởi chương trình

Trang 8

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

8

II Các cổng ra vào của PIC 16F877A.

3 PORT C.

PORT C (RPC) gồm 8 I/O pin Thanh ghi điều khiển xuất nhập tương ứng là TRISC

PORT C chứa các chân chắc năng của :

Trang 9

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

9

II Các cổng ra vào của PIC 16F877A.

4 PORT D.

PORT D (RPD) gồm 8 chân I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISD

PORT D là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel slave Port)

Trang 10

ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 11

ĐẠI HỌC BÁCH KHOA HÀ NỘI

+ 8 bit

+ Có khả năng đọc và viết

+ Có thể dung đòng hồ trong hoặc ngoài

+ Có thể chọn cạnh xung của xung đồng hồ

+ Có hệ số chia cho xung đầu vào và có thể lập trình lại bằng phần mềm.+ Ngắt tràn

Trang 12

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

12

III TIMER 1.Timer 0 Hoạt động của timer 0:

Bit 5: TOCS :lựa chọn nguồn clock 1=Clock ngoài từ chân TOCKI 0=Clock trong Focs/4

Bit 4: TOSE :lựa chọn sườn sung cloxk 1=Timer 0 khi chân Tock từ cao xuống thấp 0=Timer 0 khi chân Tock từ thấp lên caoBit 3: PSA bít gắn bộ chia xung đầu vào

1=gán bộ chia Prescaler cho WDT 0=gán bộ chia cho Timer 0

RBP0 INTEDG TOCS TOSE PSA PS2 PS1 PS0

Trang 13

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

13

III TIMER 1.Timer 0

Bit2:0 PS2:PS1 lựa chọn hệ số chia xung vào theo bảng sau

Ngắt trong Timer 0 :Ngắt trong Timer 0 xảy ra khi thanh ghi TMR0 bị tràn tức

là từ FFh quay về 00h Khi đó bit TOIF của thanh ghi INTCON<2> sẽ được đặt Bít này phải được xóa bằng phần mềm nếu cho phép ngắt bít TOIE của thanh ghi INTCON<5> được set Timer ) bị dừng hoạt động ở chế độ SLEEP ngắt Timer 0 không đánh thức được bộ vi xử lí ở chế độ SLEEP

Trang 14

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

14

III TIMER

2 Timer 1

Timer 1 có thể là bộ đếm hoặc là bộ định thời:

+ 16bit :gồm 2 thanh ghi TMR1H ,TMR1H+ Có khả năng đọc và viết

+ Có thể chọ xung đồng hồ trong hoặc ngoài+ Có thể ngắt khi tràn

Timer 1 có 1 thanh ghi điều khiển là T1CON Bộ Timer 1 có hoạt động hay không là do việc đặt hay xóa bít TMR1ON(T1CON<0>)

Thanh ghi T1CON

U-O U-O R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON

Trang 15

ĐẠI HỌC BÁCH KHOA HÀ NỘI

1:1 1:2

0=có đồng bộ clock ngoài Bit 1: TMR1CS: lựa chọn nguồn xung clock vào 1=clock từ chân RCO/T1OSO/T1CKI (sườn lên) 0=clock trong Fosc/4

Bit 0: bật tắt Timer 1= enable 0= disable

Trang 16

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

16

III TIMER

2 Timer 1

Trang 17

ĐẠI HỌC BÁCH KHOA HÀ NỘI

CS (T1CON<1>)

+ Chế độ bộ định thời: đầu vào là clock trong Fosc/4, bit đồng bộ T1SYNC(T1CON<2>) không có tác dụng vì xung trong clock luôn đồng bộ

+ Chế độ bộ đếm đồng bộ: xung vào xóa bit T1SYNC(T1CON<2>): tăng mỗi khi sườn lên ở chân RCO hoặc RC1 nếu bit T1OSCEN xóa và xung vào đồng bộ với clock trong, bộ đếm không tăng trong trạng thái sleep

Trang 18

ĐẠI HỌC BÁCH KHOA HÀ NỘI

- Dao động trong Timer 1: mạch dao động được xây dựng giữa 2 chân T1OSI và T1OSO Khi mạch được cung cấp với công suất thấp thì tần số cực đại sẽ là 200kHz và trong chế độ SLEEP là 32kHz

- Ngắt trong Timer 1: Cặp thanh ghi TMR1H và TMR1L tăng từ giá trị 0000h đến FFFFh, nếu tiếp tục tăng thì sẽ tràn và quay lại 0000h Và ngắt xuất hiện khi tràn quá giá trị FFFFh, lúc này cờ ngắt TMR1IF sẽ được đặt Ngắt có thể hoạt động hoặc không hoạt động nhờ việc đặt hoặc xoa bit TMR11E

Trang 19

ĐẠI HỌC BÁCH KHOA HÀ NỘI

Chế độ SSP dung đầu ra của TMR2 để tạo xung clock Timer 2 có thanh ghi điều khiển là T2CON Timer 2 có thể tắt bằng việc xóa bit TMR2CON của thanh ghi T2CON

Thanh ghi T2CON

U-O R/W-O R/W-O R/W-O R/W-O R/W-O R/W-O R/W-O - TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0

Trang 20

ĐẠI HỌC BÁCH KHOA HÀ NỘI

0001=1:2 0010=1:3 ….

1111=1:16 Bit 2 TMR2ON bit bật tắt hoạt động Timer 2 1=enable

0=disable Bit 1-0 T2CKPS1 : T2CKPS0 chọ hệ chia đầu vào

00 = 1:1

01 = 1:4 1x = 1:16

Trang 21

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

21

III TIMER

3 Timer 2

Trang 22

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

22

III TIMER

3 Timer 2

+ Hoạt động của Timer 2: chủ yếu ở phần điều chế xung của bộ CCp, thanh ghi

TMR2 có hkar năng đọc và viết, nó có thể xóa bằng việc reset lại thiết bị Đầu vào của xung có thể chọ các tỉ lệ sau 1:1, 1:2, 1:16 việc chọn các tỉ lệ điều khiển bởi bít T2CKPS1 và T2CKPS2

+ Ngắt của Timer 2: Bộ Timer 2 có thanh ghi 8 bit PR2 Timer 2 tăng từ 00h đến

khớp với PR2 thì sẽ seset lại giá trị 00h và lệnh kế tiếp thực hiện Thanh ghi PR2 bắt đầu từ giá trị đầu ra của TMR2 là đường dẫ truyền thông của cổng đồng bộ, nó được dung để phát các xung đồng bộ

Trang 23

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

23

IV Các nguồn ngắt trong PIC:

IE :là cho phép kích hoạt một loại ngắt nào đó xảy ra hay không

IF :là các cờ ngắt

Trang 24

ĐẠI HỌC BÁCH KHOA HÀ NỘI

Các ngắt ngoại vi hoạt động, trước tiên chúng ta phải cho phép ngắt ngoại

vi, tức là bật bit PIElên Còn cụ thể muốn cho ngắt ngoại vi nào hoạt động, thì chúng ta bật ngắt

đó lên Trên sơ đồcác bạn cũng thấy rõ thông qua các cổng AND và OR

+ Ngắt phổ thông : Khi muốn dùng các nguồn ngắt phổ thông, chúng ta chỉ việc bật các bit IE của nguồn ngắt này Tất nhiên, cuối cùng, chúng ta phải bật ngắt toàn cục GIE thì ngắt mới được phép xảy ra (kể

cả ngắt ngoại vi và ngắt phổ thông Khi đó, PIE được coi là một nguồn ngắt phổ thông

Trang 25

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

25

IV Các nguồn ngắt trong PIC:

2 Vector ngắt

+ Vectơ ngắt của PIC nằm ở vị trí 0x0004h

+ Sau khi thực hiện ngắt xong thì chương trình sẽ trở về trạng thái trước khi ngắt và tiếp tục công việc

Trang 26

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

26

V TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC

CHƯƠNG TRÌNH SOẠN THẢO BẰNG ASSEMBLY

A Tổng quan

PIC là vi điều khiển có tập lệnh rút gọn RISC ( Reduced Instuction Set

Computer), gồm 35 lệnh và chia thành 3 nhóm:

- Nhóm lệnh thao tác trên bit

Đối với nhóm lệnh thao tác trên byte, ta có 2 tham số f( xác định địa chỉ byte cân thao tác) và d( xác định nơi chứa kết quả thực thi lệnh) Nếu d=0, kết quả đcược đưa vào thanh ghi được mô tả bởi tham số f

- Nhóm lệnh thao tác trên byte

Đối với nhóm lênh thao tác trên bit, ta có hai tham số b (xác định bit nào cần thao tác) và f (xác định địa chỉ byte dữ liệu cần thao tác)

- Nhóm lệnh điều khiển

Đối với nhóm lệnh điều khiển chỉ có một tham số duy nhất là k (k có thể là 8 bit trong trường hợp các lệnh bình thường hay 11 bit trong trương hợp là lênh CaLL và lệnh GOTO) dùng để mô tả đối tượng tác động của vi điều khiển (một label, một hằng số nào đó)

Trang 27

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

V TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC

CHƯƠNG TRÌNH SOẠN THẢO BẰNG ASSEMBLY

Trang 28

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

V TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC

CHƯƠNG TRÌNH SOẠN THẢO BẰNG ASSEMBLY

Trang 29

ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

THE END THANKS FOR YOUR LISTEN

Ngày đăng: 04/04/2013, 12:39

TỪ KHÓA LIÊN QUAN

w