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

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

66 813 4

Đ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 66
Dung lượng 3,15 MB

Nội dung

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

Trang 2

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ử

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:

chip này có từ 12 đến 28 chân vào/ra

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

Trang 3

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

Trang 4

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

Trang 5

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

Module MSSP gồm 2 module: SPI(Serial Peripheral Interface) và IC

Trang 6

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

chân

Loại

bộ nhớ đệm

Mô tả PDI

P

QF

N TQFP

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 đầu vào

Đầu vào số

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

Trang 7

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,

OSC1/CLK1;

OSC2/CLK0 Chân vào/ra

Đầ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, OSC2,chân đầu ra

Trang 8

RA6 I/O TTL

CLK0 có ¼ tần số củaOSC1& biểu thị

tỉ lệ chu kì lệnh Chân vào/ra

g

TTL Analo

g

TTL Analo

g Analo

Vào/ra số Đầu vào tương tự 2 A/D đầu vào tham chiếu điện áp (mức thấp)

So sánh đầu ra điện dáp tham chiếu Vào/ra số Đầu vào tương tự 3 Đầu vào tham chiếu điện áp (mức cao)

Trang 9

g Analo

g

ST

_

TTL Analo

g TTL Analo

Dò tìm điện áp đầu vào mức cao/thấp

Trang 10

g

TTL

ST Analo

g

TTL Analo

Vào/ra số Ngắt ngoài 1 Đầu vào tương tự 10

Vào/ra số Ngắt ngoài 2 Đầu vào tương tự 8

Vào/ra số Đầu vào tương tự 9 Đầu vào 2/so sánh đầu ra 2/PWM đầu

ra

Vào/ra số Chân thay đổi ngắt

Trang 11

I/O

I I/O

g

TTL TTL

ST

TTL TTL

ST

ST _

ST

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

Vào/ra số Chân thay đổi ngắt Chân cho phép lập trình điện áp mức thấp ICSPTM

Vào/ra số Chân thay đổi ngắt Chân lập trinhg gỡ lỗi&lập tình ICSP

dữ liệu trong vi mạch

vào/ra hai chiều

Vào/ra số

Bộ dao động đầu ra timer1

Timer1/Timer3 đầu vào xung clock bên ngoài

Vào/ra số

Bộ dao động đầu vào Timer1

Trang 12

O

I/O I/O

I/O

I/O

I I/O

I/O I/O

ST CMO

ra

Vào/ra số Đầu vào1/so sánh đầu ra1/PWM1 đầu

ra Nâng cao đầu ra 1

Vào/ra số Đầu vào nối tiếp đồng bộ xung clock/ đầu ra cho chế độ SPI

Đầu vào nối tiếp đồng bộ xung clock/đầu ra cho chế

Trang 13

ST

ST

ST _

PORD là cổng vào

ra 2 chiều Cổng Slave(PSP) để giao tiếp với cổng vi xử

lý Các chân này có

bộ đếm đầu vào

module được kích hoạt

Vào/ra số Cổng dữ liệu Salve song song

Trang 14

I/O I/O

I/O I/O

I/O I/O

I/O I/O

I/O I/O

O

I/O I/O

ST TTL

ST TTL

ST TTL

ST TTL

ST TTL

ST TTL

Vào/ra số Cổng dữ liệu Salve

Vào/ra số Cổng dữ liệu Salve

Vào/ra số Cổng dữ liệu Salve

Vào/ra số Cổng dữ liệu Salve

Vào/ra số Cổng dữ liệu Salve Tăng cường đầu ra CCP1

Vào/ra số Cổng dữ liệu Salve Tăng cường đầu ra CCP1

PORE là cổng vào

ra 2 chiều

Trang 15

P

_

ST TTL _

ST TTL

Analo

g

ST TTL

Analo

g

ST

Vào/ra số Điều khiển đọc cho

song Đầu vào tương tự 5

Vào/ra số Điều khiển ghi cho

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

Vào/ra số

khiển cổng Slave song song

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

MCLR/VPP/RE3 Mát tham chiếu cho logic & chân vòa/ra

thcihs cực&chân vào/ra

Không có kế nối

Trang 16

29

13 7,28

13,13,33,34

_

_

_

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

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ỏ

Trang 17

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

Trang 18

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

15pF 15pF 30pF 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)

Trang 19

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

Trang 20

Để 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

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)

Trang 21

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

Trang 22

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

Trang 23

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

Trang 24

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

Trang 25

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

Trang 26

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

Trang 27

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

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

Trang 28

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:

đầu ra được chốt ở mức 0)

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

Trang 29

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

Trang 30

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ự

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

Trang 31

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:

Trang 32

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

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

PORT

E

Trang 33

PIE1 PSPIE PSPIE RCIE RXIE SSPI

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

Ngày đăng: 27/06/2014, 01:21

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Sơ đồ khối của PIC 18F4520  Các khối chính trên PIC 18F4520 bao gồm: - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.1 Sơ đồ khối của PIC 18F4520 Các khối chính trên PIC 18F4520 bao gồm: (Trang 4)
Hình 2.2: Sơ đồ chân PIC 18F4520 dạng TQFP - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.2 Sơ đồ chân PIC 18F4520 dạng TQFP (Trang 5)
Hình 2.3: Sơ đồ chân PIC 18F4520 dạng DIP - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.3 Sơ đồ chân PIC 18F4520 dạng DIP (Trang 6)
Sơ đồ bộ dao động trên vi điều khiển được mô tả trên hình sau: - Lịch sử phát triển của vi điều khiển PIC pot
Sơ đồ b ộ dao động trên vi điều khiển được mô tả trên hình sau: (Trang 17)
Hình 2.4. Sơ đồ khối bộ tạo dao động trên PIC 18F4520 - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.4. Sơ đồ khối bộ tạo dao động trên PIC 18F4520 (Trang 17)
Hình 2.6. Tạo dao động bằng RC ở chế độ RC  Giá trị linh kiện: 3K&lt;REXT&lt;100K&lt;20pF - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.6. Tạo dao động bằng RC ở chế độ RC Giá trị linh kiện: 3K&lt;REXT&lt;100K&lt;20pF (Trang 18)
Hình 2.8. Sơ đồ khối mạch reset trên vi điều khiển - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.8. Sơ đồ khối mạch reset trên vi điều khiển (Trang 19)
Hình 2.7. Tạo dao động bằng mạch RC ở chế độ RCIO - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.7. Tạo dao động bằng mạch RC ở chế độ RCIO (Trang 19)
Hình 2.9. Mạch Reset khi bật nguồn - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.9. Mạch Reset khi bật nguồn (Trang 20)
Hình 2.10 Tổ chức bộ nhớ chương trình và ngăn xếp trên  PIC 18F4520 - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.10 Tổ chức bộ nhớ chương trình và ngăn xếp trên PIC 18F4520 (Trang 21)
Hình 2.11. Tổ chức bộ nhớ dữ liệu RAM trên PIC 18F4520 - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.11. Tổ chức bộ nhớ dữ liệu RAM trên PIC 18F4520 (Trang 23)
Hình 2.12.Phân bố địa chỉ của các thanh ghi chức năng - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.12. Phân bố địa chỉ của các thanh ghi chức năng (Trang 25)
Hình 2.12. Tổng kết các thanh ghi của PIC 18 - Lịch sử phát triển của vi điều khiển PIC pot
Hình 2.12. Tổng kết các thanh ghi của PIC 18 (Trang 26)
Hình 3.1. Cấu trúc của một chân vào/ra - Lịch sử phát triển của vi điều khiển PIC pot
Hình 3.1. Cấu trúc của một chân vào/ra (Trang 28)
Hình 3.2. Giao tiếp song song trên PORTD và PORTE - Lịch sử phát triển của vi điều khiển PIC pot
Hình 3.2. Giao tiếp song song trên PORTD và PORTE (Trang 33)
Hình 3.3 Giản đồ xung ghi dữ liệu vào vi điều khiển qua PSP - Lịch sử phát triển của vi điều khiển PIC pot
Hình 3.3 Giản đồ xung ghi dữ liệu vào vi điều khiển qua PSP (Trang 34)
Hình 3.4. Giản đồ xung đọc dữ liệu từ vi điều khiển qua PSP - Lịch sử phát triển của vi điều khiển PIC pot
Hình 3.4. Giản đồ xung đọc dữ liệu từ vi điều khiển qua PSP (Trang 34)
BẢNG 15-2: TƯƠNG TÁC GIỮA CCP1 và CCP2 NGUỒN TIMER - Lịch sử phát triển của vi điều khiển PIC pot
BẢNG 15 2: TƯƠNG TÁC GIỮA CCP1 và CCP2 NGUỒN TIMER (Trang 37)
Hình 15-1: SƠ ĐỒ PHƯƠNG THỨC HOẠT ĐỘNG CAPTURE BLOCK - Lịch sử phát triển của vi điều khiển PIC pot
Hình 15 1: SƠ ĐỒ PHƯƠNG THỨC HOẠT ĐỘNG CAPTURE BLOCK (Trang 39)
Hình 15-3: ĐƠN GIẢN PWM BLOCK SƠ ĐỒ - Lịch sử phát triển của vi điều khiển PIC pot
Hình 15 3: ĐƠN GIẢN PWM BLOCK SƠ ĐỒ (Trang 42)
BẢNG 15-4: VÍ DỤ PWM TẦN SỐ VÀ NGHN QUYẾT AT 40 MHz - Lịch sử phát triển của vi điều khiển PIC pot
BẢNG 15 4: VÍ DỤ PWM TẦN SỐ VÀ NGHN QUYẾT AT 40 MHz (Trang 44)
BẢNG 15-5: ĐĂNG KÍ LIÊN QUAN VỚI PWM VÀ TIMER2 - Lịch sử phát triển của vi điều khiển PIC pot
BẢNG 15 5: ĐĂNG KÍ LIÊN QUAN VỚI PWM VÀ TIMER2 (Trang 45)
Hình 16-2: PWM QUAN HỆ ĐẦU RA (HOẠT ĐỘNG-MỨC CAO) - Lịch sử phát triển của vi điều khiển PIC pot
Hình 16 2: PWM QUAN HỆ ĐẦU RA (HOẠT ĐỘNG-MỨC CAO) (Trang 53)
Hình 16-5: VÍ DỤ VỀ ỨNG DỤNG nửa cầu -chế độ ra - Lịch sử phát triển của vi điều khiển PIC pot
Hình 16 5: VÍ DỤ VỀ ỨNG DỤNG nửa cầu -chế độ ra (Trang 55)
Hình 16-6: CHẾ ĐỘ TOÀN CẦU PWM RA - Lịch sử phát triển của vi điều khiển PIC pot
Hình 16 6: CHẾ ĐỘ TOÀN CẦU PWM RA (Trang 55)
Hình 16-7: VÍ DỤ CỦA CHẾ ĐỘ TOÀN CẦU ÁP DỤNG - Lịch sử phát triển của vi điều khiển PIC pot
Hình 16 7: VÍ DỤ CỦA CHẾ ĐỘ TOÀN CẦU ÁP DỤNG (Trang 56)
Hình 16-9: PWM HƯỚNG BIẾN ĐỔI  AT GẦN chu kỳ CHẾ ĐỘ LÀM VIỆC 100% - Lịch sử phát triển của vi điều khiển PIC pot
Hình 16 9: PWM HƯỚNG BIẾN ĐỔI AT GẦN chu kỳ CHẾ ĐỘ LÀM VIỆC 100% (Trang 58)
Hình 16-10: PWM TỰ ĐỘNG TẮT MÁY(PRSEN = 1, TỰ ĐỘNG_ KHỞI ĐỘNG LẠI  ENABLED) - Lịch sử phát triển của vi điều khiển PIC pot
Hình 16 10: PWM TỰ ĐỘNG TẮT MÁY(PRSEN = 1, TỰ ĐỘNG_ KHỞI ĐỘNG LẠI ENABLED) (Trang 63)
Hình 16-10: PWM TỰ ĐỘNG TẮT MÁY(PRSEN = 0, TỰ ĐỘNG_ KHỞI ĐỘNG LẠI  ENABLED) - Lịch sử phát triển của vi điều khiển PIC pot
Hình 16 10: PWM TỰ ĐỘNG TẮT MÁY(PRSEN = 0, TỰ ĐỘNG_ KHỞI ĐỘNG LẠI ENABLED) (Trang 63)
BẢNG 16-3: THANH GHI LIÊN QUAN VỚI ECCP1 MODULE, TIMER1,TIMER3 - Lịch sử phát triển của vi điều khiển PIC pot
BẢNG 16 3: THANH GHI LIÊN QUAN VỚI ECCP1 MODULE, TIMER1,TIMER3 (Trang 65)

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