1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đồ án quang báo hiển thị led ma trận hình lập phương

62 212 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 62
Dung lượng 2,27 MB

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

Nội dung

Dữ liệu của hàng thứ nhất được đưa ra cột sau đó tích cực hàng thứ nhất nhưvây dữ liệu của hàng thứ nhất được hiển thị trên màn hình led ma trận, tiếp tục dữliệu của hàng thứ hai được đư

Trang 1

CHƯƠNG I DẪN NHẬP

Ngày nay với sự phát triển của xã hội thì ngày càng có nhiều cách tiếp cậnvới những thông tin mới ta có thể biết được thông tin qua báo chí , truyền hình,mạng internet, qua các pano, áp phích … Thông tin cần phải truyền đi một cáchnhanh chóng, kịp thời và rộng rãi trong toàn xã hội, và việc thu thập thông tin kịpthời, chính xác là yếu tố hết sức quan trọng trong sự thành công của mõi lĩnh vực.Các thiết bị tự động được điều khiển từ xa qua một thiết bị chủ hoặc được điềukhiển trực tiếp qua hệ thống máy tính

Cũng như trên thế giới công nghệ càng phát triển cao thì đồi hỏi lĩnh vựcđiều khiển cần được mở rộng hơn, thông tin được cập nhật nhanh chóng và đượcđiều khiển một cách chính xác để mang lại nhiều lợi nhuận cho xã hội loài người.Việc sử dụng vi điều khiển để điều khiển hiển thị có rất nhiều ưu điểm với cácphương pháp truyền thông rất đa dạng như : panô, áp phích Với những lý do trênnhóm thực hiện đề tài của chúng em đưa ra cách truyền tải thông tin đó là dùngquang báo

NỘI DUNG ĐỀ TÀI

Nghiên cứu và tìm phương pháp điều khiển và xử lý dữ liệu cho bảng led matrận hiển thị

Thi công bản quang báo hiển thị

Viết chương trình tạo hiệu ứng và xử lý dữ liệu

MỤC ĐÍCH CỦA ĐỀ TÀI

Trong quá trình nghiên cứu và thực hiện đề tài này nhằm giúp người học: Tăng khả năng tự nghiên cứu cũng như tự học

Bước đầu tiếp xúc với môi trường thực tế

Vận dụng những kiến thức đã có đồng thời tìm tòi những kiến thức mới đểhiểu sâu sắc hơn trong lĩnh vực này

ĐỐI TƯỢNG NGHIÊN CỨU

Các phương án điều khiển và xử lý dữ liệu cho bảng led ma trận

Tìm hiểu vi điều khiển PIC 18F4550

Tìm hiểu phương pháp lập trình C

Bảng quang báo led ma trận

Trang 2

CHƯƠNG II GIỚI THIỆU MỘT

SỐ QUANG BÁO

Ngày nay, các bảng quang báo ngày càng trở nên phổ biến và rất đa dạng vềchủng loại, dưới đây nhóm xin giới thiệu một số mô hình led cube 3D

Chúng ta có thể mở rộng khối led 3d cube chẳng hạn như 20x20x20, vv…

Trang 3

CHƯƠNG II :

CÁC PHƯƠNG

PHÁP HIỂN THỊ LED MA TRẬN

Trang 4

Led ma trận được coi là một trong các nguồn quang điện tử phổ biến nhất.

Nó không đắt, tiêu thụ ít công suất, và dễ dàng thích hợp cho các mạch điện tử

1 PHƯƠNG PHÁP HIỂN THỊ SỬ DỤNG THANH GHI DỊCH:

Giới thiệu chung về phương pháp quét hàng

Quét hàng là phương pháp mà trong một khoảng thời gian xác định chỉ chomột hàng được tích cực hiển thị trong khi các hàng khác đều tắt, các hàng đượcquét (tích cực) tuần tự ở các khoảng thời gian kế tiếp nhau được lặp lại nhiều lầnvới tốc độ lớn hơn 24hình /1s sẽ cho ta một hình ảnh liên tục cần hiển thị lên trênmàn hình led ma trận

Trang 5

Quá trình thực hiện quét hàng:

Quét hàng sử dụng thanh ghi dịch là tương đối phức tạp cho người lập trìnhtrong việc đưa dữ liệu ra cột Dữ liệu lần lượt được đưa vào chân Data_in của thanhghi dịch sau đó tác động xung clock dữ liệu đươc dịch đi

VD: Đưa dữ liệu ra 8 cột được diễn ra như sau:

Sơ đồ qui trình đưa dữ liệu ra 8 cột cho led ma trận

Dữ liệu của hàng thứ nhất được đưa ra cột sau đó tích cực hàng thứ nhất nhưvây dữ liệu của hàng thứ nhất được hiển thị trên màn hình led ma trận, tiếp tục dữliệu của hàng thứ hai được đưa ra cột sau đó tích cực hàng thứ hai lúc này dữ liệucủa hàng thứ hai được hiển thị trên màn hình led ma trận, cứ như vậy cho đến dữliệu của hàng cuối cùng được đưa ra cột sau đó tích cực hàng cuối cùng Cứ nhưthế quá trình trên được lặp đi lặp lại > 24lần/1s, đến đây chúng ta quan sát đượcmột hình ảnh liên tục hiển thị trên màn hình led ma trận

Ví dụ: Hiển thị chữ B lên màn hình led ma trận (hàng được tích cực ở mức 1, cộtđược tích cực ở mức 0)

Sơ đồ hiển thị chữ B trên led ma trận dùng phương pháp quét hàng

Hàng 1

Hàng 8

Trang 6

Dữ liệu thứ nhất có giá trị: 11111111 được đưa ra cột tích cực hàng thứ nhất(điều khiển hàng thứ nhất cho ra giá trị là 1); dữ liệu thứ hai có giá trị: 00001111đưa ra cột, tích cực hàng thứ hai; dữ liệu thứ 3 có giá trị: 01110111 đưa ra cột, tíchcực hàng thứ 3; dữ liệu thứ 4 có giá trị: 01110111 đưa ra cột, tích cực hàng thứ 4;tiếp tục đữ liệu hàng thứ 5 có giá trị: 00001111 đưa ra cột, tích cực hàng thứ 5; kếtiếp là dữ liệu của hàng thứ 6 có giá trị: 01110111 được đưa ra cột, tích cực hàngthứ 6 ; dữ liệu của hàng thứ 7 có giá trị: 01110111 đưa ra cột, tích cực hàng thứ 7;

dữ liệu thứ 8 có giá trị: 00001111 đưa ra cột, tích cực hàng thứ 8 Như vậy toàn bộ

dữ liệu của chữ B đã được đưa ra hiển thị trên màn hình led ma trận Quá trình trênđược diễn ra rất nhanh > 24lần/ 1s nên chúng ta có cảm giác nó diễn ra một cáchđồng thời nhờ đó mà chúng ta quan sát được trên màn hình led ma trậnlà một chữ Bliên tục

Quét cột:

Giới thiệu chung về phương pháp quét cột

Phương pháp quét cột là phương pháp mà trong một khoảng thời gian xácđịnh chỉ cho một cột được tích cực hiển thị trong khi các cột khác đều tắt, các cộtđược quét (tích cực) tuần tự ở các khoảng thời gian kế tiếp nhau được lặp lại nhiềulần với tốc độ > 24 hình/1s sẽ cho ta một hình ảnh liên tục cần hiển thị lên trên mànhình led ma trận

Quá trình thực hiện quét cột.

Dữ liệu của cột thứ nhất được đưa ra hàng sau đó tích cực cột thứ nhất nhưvây dữ liệu của cột thứ nhất được hiển thị trên màn hình led ma trận, tiếp tục dữliệu của cột thứ hai được đưa ra hàng sau đó tích cực cột thứ hai lúc này dữ liệu củahàng thứ hai được hiển thị trên man hình led ma trận, cứ như vậy cho đến dữ liệucủa cột cuối cùng được đưa ra hàng sau đó tích cực cột cuối cùng Cứ như thế quátrình trên được lặp đi lặp lại > 24lần/1s, đến đây chúng ta quan sát được một hìnhảnh liên tục hiển thị trên màn hình led ma trận

Ví dụ: Hiển thị chữ B lên màn hình led ma trận (hàng được tích cực ở mức1,cột được tích cực ở mức 0)

Sơ đồ hiển thị chữ B trên led ma trận dùng phương pháp quét cột

Hàng 1

Hàng 8

Trang 7

Dữ liệu thứ nhất có gía trị: 11111110 được đưa ra hàng, tích cực cột thứ nhất(điều khiển cột thứ nhất cho ra giá trị là 0); dữ liệu thứ hai có giá trị: 10010010 đưa

ra hàng, tích cực cột thứ hai; dữ liệu thứ 3 có giá trị:10010010 đưa ra hàng, tích cựccột thứ 3; dữ liệu thứ 4 có giá trị: 10010010 đưa ra hàng, tích cực cột thứ 4; tiếp tục

đữ liệu hàng thứ 5 có giá trị: 01101100 đưa ra hàng, tích cực cột thứ 5; kế tiếp là dữliệu của cột thứ 6 có giá trị: 00000000 được đưa ra hang, tích cực côt thứ 6 ; dữ liệucủa cột thứ 7 có giá trị: 00000000 đưa ra hàng, tích cực cột thứ 7; dữ liệu thứ 8 cógiá trị: 00000000 đưa ra hàng, tích cực cột thứ 8 Như vậy toàn bộ dữ liệu của chữ

B đã được đưa ra hiển thị trên màn hình led ma trận Quá trình trên được diễn ra rấtnhanh > 24lần/ 1s nên chúng ta có cảm giác nó diễn ra một cách đồng thời, nhờ đóchúng ta quan sát được trên màn hình led ma trận là một chữ B liên tục

Ưu, nhược điểm của phương pháp hiền thị led ma trận sử dụng thanh ghi dịch:

Ưu điểm:

Tiết kiệm đường truyền, hiệu quả kinh tế

Tiết kiệm chân PORT

Truyền dữ liệu đi xa hơn

Mở rộng bảng ma trận lên một cách dễ dàng

Lập trình dễ dàng trong phương pháp quét cột

Nhược điểm:

Tốn thời gian để thực hiện việc truyền dữ liệu đến các cột

Chuyển đổi không linh hoạt bằng sử dụng phương pháp chốt

Lập trình khó khăn hơn khi sử dụng phương pháp quét hàng

1 1 1

Trang 8

CHỐT HÀNG

Chốt hàng là phương pháp trong một khoảng thời gian xác định chỉ có một cộtđược tích cực, dữ liệu được đưa ra 8 hàng rồi chốt lại, dữ liệu được hiển thị trênmàn hình led ma trận Sau đó dữ liệu kế tiếp được đưa ra 8 hàng và được chốt lạibởi một IC chốt khác, trong khi đó dữ liệu trước đó vẫn hiện diện tại ngõ ra của ICchốt Như vậy dữ liệu của hàng nào được đưa ra đúng địa chỉ của hàng đó trong khicác dữ liệu của các hàng khác vẫn hiện diện trên hàng mà không bị mất đi Việcthực hiện chốt hàng được thể hiện ở lưu đồ như sau:

Sơ đồ qui trình hiển thị chốt hàng

Chốt cột là phương pháp trong một khoảng thời gian xác định chỉ có một hàngđược tích cực, dữ liệu được đưa ra 8 cột rồi chốt lại, dữ liệu được hiển thị trên mànhình led ma trận Sau đó dữ liệu được đưa ra 8 cột kế tiếp và được chốt lại bởi một

IC chốt khác, trong khi đó dữ liệu trước đó vẫn hiện diện tại ngõ ra của IC chốt (dữliệu vẫn hiện diện tại các cột) Như vậy dữ liệu của cột nào được đưa ra đúng địachỉ của cột đó trong khi các dữ liệu của các cột khác vẫn hiện diện trên cột màkhông bị mất đi Việc thực hiện chốt cột được thể hiện ở lưu đồ như sau:

Sơ đồ qui trình hiển thị chốt cột

Trang 9

Ưu, nhược điểm của phương pháp hiền thị led ma trận sử dụng IC chốt:

Ưu điểm:

Mở rộng số hàng, số cột của bảng quang báo

Dữ liệu được truyền đi nhanh

Chuyển đổi cách quét hàng, cột một cách linh hoạt

Nhược điểm:

Tạo bảng mã khó khăn

Khó khăn trong việc lập trình xuất dữ liệu ra

Trang 10

CHƯƠNG III

TÌM HIỂU VÀ

KHẢO SÁT VỀ

LINH KIỆN

Trang 11

I PIC 18F4550

1 Sơ đồ khối của Pic18F4550 và những họ tương tự:

Trang 13

Một vài thông số về Pic 18F455

Đặc tính bus nối tiếp:

Tuân thủ chuẩn giao tiếp USB V2.0

Tốc độ thấp (1.5Mb/s) và tốc độ đầy đủ(12Mb/s)

Hỗ trợ điều khiển,ngắt,bất đồng bộ và khối truyền số lượng lớn

Hỗ trợ tối đa 32 điểm cuối(16 kết nối đôi)

2Kbyte truy cập bộ nhớ Ram cho các cổng USB

Chế độ quản lí nguồn:

Chạy(run):CPU on,thiết bị ngoại vi on

Rảnh rỗi(idle):CPU off,thiết bị ngoại vi on

Ngủ(sleep):CPU off,thiết bị ngoại vi off

Chế độ rảnh rỗi dòng điện hạ xuống 5,8uA

Chế độ ngủ dòng điện hạ xuống 0,1uA

Bộ dao động timer1:1,1uA,33kHz,2V

Watchdog timer:2,1uA

Cơ cấu tổ chức linh hoạt của oscillator:

4 chế độ thach anh trong đó bao gồm chuẩn PLL cho USB

2 chế độ xung ngoài lên đến 48MHz

Khối dao động bên trong có 8 lựa chọn tần số từ 31kHz lên đến 8MHz

Hai khối oscillator như vậy cho phép lựa chọn để microcontroller và các moduleusb có thể hoạt động ớ các xung clock khác nhau

Đặc tính nổi bật của thiết bị ngoại vi:

High-Current Sink/Source: 25 mA/25 mA

3 ngắt ngoại vi

4 chuẩn timer(timer0-timer3)

Lên đến 2chuẩn Capture/Compare/PWM (CCP):

Capture is 16-bit, max resolution 5.2 ns (TCY/16)

Compare is 16-bit, max resolution 83.3 ns (TCY)

PWM output: PWM resolution is 1 to 10-bit

Tăng cường(Enhanced) Capture/Compare/PWM (ECCP) module:

Master Synchronous Serial Port (MSSP) module

Hỗ trợ 3 đường dây như chuẩn SPI (tất cả 4 chế độ)và I2C™ chế độ chủ và tớ10-bit, lên đến 13kênh chuyển đổi Analog-to-Digital(A/D)

So sánh đôi Analog với nhiều ngõ vào

Đặc tính đặc biệt của vi điều khiển:

Bộ nhớ chương trình có thể ghi/xóa lên đến 100.000 lần

Bộ nhớ dữ liệu EEPROM có thể ghi/xóa đến 1.000.000 lần

Flash/Data EEPROM có thể duy trì đến 40 năm

Bản thân có thể lập trình được dưới sự điều khiển của phần mềm

Ưu tiên cho các chế độ ngắt Hoạt động rộng dưới điện áp từ (2V-5.5V)

Trang 14

Đặc tính Pic18F2455 Pic18F2550 Pic18f4455 Pic18F4550

Data EEPROM Memory

Ports A, B, C,D,E

Ports A, B, C,D,E

MSSP, EnhancedUSART

MSSP, EnhancedUSART

MSSP, EnhancedUSARTUniversal Serial Bus

(optional),WDT

POR, BOR, RESETInstruction, Stack Full, StackUnderflow (PWRT,OST), MCLR(optional),WDT

POR, BOR, RESETInstruction, Stack Full, StackUnderflow (PWRT,OST), MCLR(optional),WDT

POR, BOR, RESETInstruction, Stack Full, StackUnderflow (PWRT,OST), MCLR(optional),WDTProgrammable Low-

Trang 15

dẫn,và với 83hướng dẫnkích hoạt bênngoài

dẫn,và với 83hướng dẫnkích hoạt bênngoài

dẫn,và với 83hướng dẫnkích hoạt bênngoài

dẫn,và với 83hướng dẫnkích hoạt bênngoài

28-pin SOIC

28-pin PDIP28-pin SOIC

40-pin PDIP44-pin QFN44-pin TQFP

40-pin PDIP44-pin QFN44-pin TQFPBảng đặc tính của PIC

2 SƠ ĐỒ KHỐI CỦA PIC18F4455/4550(40PIN):

Trang 16

3 Bộ nhớ chương trình và stack của pic18f2455/2550/4455/4550

Trang 17

STACK CỦA IC18F2455/2550/4455/4550:

Địa chỉ trả về và những thanh ghi liên kết

STKPTR: STACK POINTER REGISTER(thanh ghi chọn stack)

bit 7 STKFUL: Stack Full Flag bit(cờ báo stack đầy)

1 = Stack became full or overflowed (stack đầy hoặc tràn)

0 = Stack has not become full or overflowed(stack chưa đầy)

bit 6 STKUNF: Stack Underflow Flag bit (1)

1 = Stack underflow occurred (stack uderflow xảy ra)

0 = Stack underflow did not occur(stack unserflow không xảy ra)

bit 5 Unimplemented: Read as ‘0’(không quan tâm và được xem như là “0”)

bit 4-0 SP4:SP0: Stack Pointer Location bits(những bit chọn vị trí stack)

Note 1: Bit 7 and bit 6 are cleared by user software or by a POR.(bit7 và bit6 chỉđược xóa bởi phần mềm bởi POR)

Bộ nhớ dữ liệu:bộ nhớ dữ liệu trên thiết bị pic18 thì được bổ sung thêm Ramtĩnh.Mỗi thanh ghi trên bộ nhớ chương trình có 12bit địa chỉ ,cho phép lưu trữ dữ liệulên tới 4096byte.Bộ nhớ dữ liệu được cất giữ vào 16 bank mỗi bank chứa 256byte.Một số thanh ghi chức năng đặc biệt(special function registers):

Đây là các thanh ghi được sử dụng để thiết lập và điều khiển các khối chức năngđược tích hợp bên trong vi điều khiển và bên ngoài vi điều khiển

Trang 18

4 CÁC THANH GHI ĐẶC BIỆT

SƠ ĐỐ CÁC THANH GHI ĐẶC BIỆT (SPECIAL FUNCTION REGISTER)

Thanh ghi có chứa kết quả thực hiện phép toán của khối ALU

Trang 19

bit 7-5 Unimplemented: Read as ‘0’(không quan tâm nên mặc định là “0”

bit 4 N: Negative bit (bit phủ định) (ALU MSB = 1)

1 = Result was negative (kết quả phủ định)

0 = Result was positive(kết quả tích cực)

bit 3 OV: Overflow bit (bit tràn)

bit này chỉ ra sự tràn của 7 bit quan trọng là nguyên nhân dẫn đến sự thay đổitrạng thái bit OV

1 = Overflow occurred for signed arithmetic (có tràn xảy ra)

0 = No overflow occurred(không có tràn xảy ra)bit 2 Z: Zero bit

1 = The result of an arithmetic or logic operation is zero(kết quả của thuật toán

là “0”)

0 = The result of an arithmetic // (kết quả của thuật toán

khác “0”)bit 1 DC: Digit Carry/Borrow bit(bit số mang theo/bit mượn)

từ các thanh ghi sau ADDWF, ADDLW, SUBLW and SUBWF

1 = được thêm vào từ kết quả của sự thay đổi trạng thái từ các thanh ghi trên

0 = có nghĩa trạng của các thanh ghi trên không thay đổi

bit 0 C: Carry/Borrow bit:( bit mang theo/bit mượn)

của các thanh ghi ADDWF, ADDLW, SUBLW and SUBWF:

1 = được thêm vào MSB của kết quả xảy ra

0 = được thêm vào MSB của kết quả xảy ra

EECON1 và EECON2 nhưng do thanh ghi EECON2 không phải là thanh ghivật lí nên chúng ta chỉ đề cập đến thanh ghi EECON1

eeprom 1)

bit 7 EEPGD: bit chọn bộ nhớ chương trình hay bộ nhớ dữ liệu

1 = truy xuất bộ nhớ chương trình

0 = truy xuất bộ nhớ dữ liệu

bit 6 CFGS:bit chọn Flash Program/Data EEPROM hay là thanh ghi cấu hình

1 = truy xuất thanh ghi cấu hình

0 = truy xuất bộ nhớ chương trình hay là bộ nhớ dữ liệu

bit 5 :bit này không quan tâm nên mặc định là “0”

Trang 20

bit 4 FREE: bit cờ báo hiệu cho phép xóa

1 = xóa bộ nhớ chương trình bằng TBLPTR và tiếp theo là lệnh WR

0 = chỉ thực hiện lệnh ghi

bit 3 WRERR: bit cờ báo hiệu lỗi chương trình/dữ liệu EEPROM

1 = hoạt động bị lỗi nên phải kết thúc sớm

0 = hoạt động ghi hoàn tất

bit 2 WREN: bit cờ báo hiệu việc ghi chương trình/dữ liệu EEPROM

1 = cho phép ghi đến Flash program/data EEPROM

0 = cản trở không cho lệnh ghi đến Flash program/data EEPROM

bit 1 WR: bit điều khiển lệnh ghi

1 = bắt đầu thì dữ liệu EEPROM được xóa và ghi hoặc có thể chỉ xóa hoặc chỉghi(bit này chỉ có thể set bằng phần mềm)

0 = việc ghi đã hoàn thành

bit 0 RD: bit điều khiển lệnh đọc

1 = lệnh đọc dữ liệu EEPROM bắt đầu (RD được xóa bằng phần cứng RD bitchỉ có thể set bằng phần mềm.RD bit không thể set được khi EEPGD = 1

or CFGS = 1.)

0 = không thực hiện lệnh đọc

bit 7 GIE/GIEH: Global Interrupt Enable bit(bit ngắt toàn cục)

khi IPEN = 0:

1 = cho phép tất cả các ngắt

0 = không cho phép ngắt nào hoạt động khi IPEN = 1:

1 = cho phép các ngắt ưu tiên cao hoạt động

0 = không cho các ngắt ưu tiên cao hoạt động

bit 6 PEIE/GIEL: Peripheral Interrupt Enable bit(bit cho phép các ngắt ngoại vi hoạtđộng)

khi IPEN = 0:

1 = cho phép các ngắt ngoại vi hoạt động

0 = không cho phép các ngắt ngoại vi hoạt động

khi IPEN = 1:

1 = cho phép các ngắt ưu tiên thấp hoạt động

0 = không cho phép các ngắt ưu tiên thấp hoạt động

bit 5 TMR0IE: TMR0 Overflow Interrupt Enable bit (bit cho phép ngắt tràn timer0hoạt động)

1 = cho phép ngắt tràn timer0 hoạt động

0 = không cho phép ngắt tràn timer0 hoạt động

bit 4 INT0IE: INT0 External Interrupt Enable bit (bit cho phép ngắt ngoài hoạt động)

Trang 21

0 = không cho phép ngắt ngoài

bit 3 RBIE: RB Port Change Interrupt Enable bit(bit cho phép ngắt dựa vào thay đổitrên portB hoạt động)

1 = cho phép ngắt hoạt động

0 = không cho phép ngắt hoạt động

bit 2 TMR0IF: TMR0 Overflow Interrupt Flag bit(bit cờ báo hiệu ngắt tràn timer0)

1 = thanh ghi timer0 bị tràn(chỉ có thể xóa bằng phần mềm)

0 = thanh ghi timer0 không bị tràn

bit 1 INT0IF: INT0 External Interrupt Flag bit (bit cờ báo hiệu có ngắt ngoài)

1 = ngắt ngoài đang diễn ra(chỉ có thể xóa bằng phần mềm)

0 = ngắt ngoài không có diễn ra

bit 0 RBIF: RB Port Change Interrupt Flag bit(bit cờ báo hiệu có ngắt dựa vào sựthay đổi portB)

1 = có sự thay đổi từ pinB7-B4 (phải xóa bằng phần mềm)

0 = có sự thay đổi trạng thái từ pinB7-B4

bit 7 RBPU: PORTB Pull-up Enable bit(bit cho phép portB kéo lên)

1 = tất cả portB không được phép kéo lên

0 = chỉ cho phép riêng portB được phép chốt giá trị

bit 6 INTEDG0: ngắt ngoài(0) phụ thuộc vào cạnh tác động được chọn

bit 3 không dùng đến nên mặc định là “0”

bit 2 TMR0IP: ngắt ưu tiên của tràn timer0

1 = ưu tiên cao

0 = ưu tiên thấp

bit 1 không dùng đến nên mặc định là “0”

bit 0 RBIP: ngắt ưu tiên phụ thuộc vào sự thay đổi trên portB

1 = ưu tiên cao

0 = ưu tiên thấp

Trang 22

bit 7 INT2IP: bit ưu tiên ngắt ngoài INT2

1 = ưu tiên cao

0 = ưu tiên thấp

bit 6 INT1IP: bit ưu tiên ngắt ngoài INT1

1 = ưu tiên cao

0 = ưu tiên thấp

bit 5 không dùng đến nên mặc định là “0”

bit 4 INT2IE: bit cho phép ngắt ngoài INT2

1 = cho phép ngắt ngoài INT2 hoạt động

0 = không cho phép ngắt ngoài INT2 hoạt động

bit 3 INT1IE: bit cho phép ngắt ngoài INT1

1 = cho phép ngắt ngoài INT1 hoạt động

0 = không cho phép ngắt ngoài INT1 hoạt động

bit 2 không dùng nên mặc định là “0”

bit 1 INT2IF:bit cờ của ngắt ngoài INT2

1 = ngắt ngoài INT2 đã thực thi(chỉ có thể xóa bit này bằng phần mềm)

0 = ngắt ngoài INT2 chưa thực thi

bit 0 INT1IF: bit cờ của ngắt ngoài INT1

1 = ngắt ngoài INT1 đã thực thi(chỉ có thể xóa bit này bằng phần mềm)

0 = ngắt ngoài INT1 chưa thực thi

chúng ta có 2 thanh ghi thuộc loại này đó là PIR1 và PIR2

bit 7 SPPIF: bit cờ ngắt song song chức năng đọc/ghi

1 = đọc hoặc ghi vừa mới được thực thi (phải xóa bằng phần mềm)

0 = không có việc đọc /ghi được thực thi

bit 6 ADIF: bit cờ ngắt của khối chuyển đổi A/D

1 = việc chuyển đổi A/D hoàn tất (phải xóa bằng phần mềm)

0 = việc chuyển đổi A/D chưa hoàn tất

bit 5 RCIF: bit cờ ngắt của việc nhận dữ liệu qua chuẩn UESART

Trang 23

1 = nhận dữ liệu qua chuẩn UESART vào bộ đệm đến RCREG đã đầy(xóa bitnày khi RCREG đã đọc xong)

0 = bộ đệm đang trống

bit 4 TXIF: bít cờ ngắt của việc truyền dữ liệu qua chuẩn UESART

1 = truyền dữ liệu qua chuẩn UESART từ bộ đệm đến TXREG đang rỗng(chỉ

có thể xóa bit này khi TXREG đã ghi xong)

0 = bộ đệm đang đầy

bit 3 SSPIF: bit cờ ngắt của Master Synchronous Serial Port

1 = việc truyền/nhận đã hoàn tất(bit này phải xóa bằng phần mềm)

0 = giá trị cần so sánh không bằng với giá trị trong thanh ghi TMR1

Chế độ PWM: (không được dùng ở chế độ này)

bit 1 TMR2IF: TMR2 to PR2 Match Interrupt Flag bit

1 = giá trị trong thanh ghi TMR2 bằng với giá trị trong thanh ghi PIR2(phảixóa bằng phần mềm)

0 = giá trị giữa hai thanh ghi TMR2 và PIR2 không bằng nhau

bit 0 TMR1IF: bit cờ ngắt tràn timer1

1 = thanh ghi timer1 tràn(phải xóa bằng phần mềm)

0 = thanh ghi timer1 chưa tràn

bit 7 OSCFIF: Oscillator Fail Interrupt Flag bit

1 = hệ thống dao động đã bị đứt,xung clock ngõ vào có thể thay thế bằngINTOSC (phải được xóa bằng phần mềm)

0 = hệ thống xung clock hoạt động

bit 6 CMIF: bit cờ ngắt của Comparator

1 = ngõ vào của Comparator bị thay đổi(phải xóa bằng phần mềm)

0 = ngõ vào của Comparator không thay đổi

bit 5 USBIF: bit cờ ngắt của USB

1 = USB có yêu cầu ngắt (phải xóa bằng phần mềm)

0 = không có ngắt được yêu cầu

bit 4 EEIF: bit cờ ngắt của hoạt động ghi Data EEPROM/Flash

1 = việc ghi dữ liệu đã hoàn tất(phải xóa bằng phần mềm)

Trang 24

0 = việc ghi dữ liệu chưa hoàn tất hoặc có thể chưa bắt đầu

bit 3 BCLIF: bit cờ ngắt của việc xung đột bus

1 = có xung đột bus diễn ra(phải được xóa bằng phần mềm)

0 = không có xung đột bus

bit 2 HLVDIF: bit cờ ngắt của việc phát hiện điện áp cao/thấp

1 = có diện áp cao/thấp diễn ra(phải xóa bằng phần mềm)

0 = không có điện áp cao/thấp diễn ra

bit 1 TMR3IF: bit cờ ngắt tràn timer3

1 = thanh ghi TMR3 tràn(phải xóa bằng phần mềm)

0 = thanh ghi TMR3 không tràn

bit 0 CCP2IF: bit cờ ngắt CCP2

IPEN=0,bit PEIE phải được set để cho phép các ngắt ngoại vi hoạt động.Ở đâychúng ta có 2 thanh ghi cho phép ngắt ngoại vi hoat động đó là PIE1 và PIE2

bit 7 SPPIE: bit cho phép ngắt SPP read/write

1 = cho phép ngắt SPP read/write

0 = không cho phép ngắt SPP read/write

bit 6 ADIE: bit cho phép ngắt khối chuyển đổi A/D

1 = cho phép ngắt A/D

0 = không cho phép ngắt A/D

bit 5 RCIE: bit cho phép ngắt nhận dữ liệu theo chuẩn EUSART

1 = cho phép ngắt

0 = không cho phép ngắt

bit 4 TXIE: bit cho phép ngắt truyền dữ liệu theo chuẩn EUSART

1 = cho phép ngắt

Trang 25

bit 7 OSCFIE: bit cho phép ngắt khi oscillator bi đứt

Trang 26

 Thanh ghi IPR:là thanh ghi chứa riêng các bit ưu tiên của các ngắt ngoại vi.Cóhai thanh ghi như vậy đó là IPR1 và IPR2.

bit 7 SPPIP: bit ưu tiên ngắt Streaming Parallel Port Read/Write

1 = ưu tiên cao

0 = ưu tiên thấp

bit 6 ADIP: bit ưu tiên khối chuyển đổi A/D

1 = ưu tiên cao

0 = ưu tiên thấp

bit 5 RCIP: EUSART Receive Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 4 TXIP: EUSART Transmit Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 3 SSPIP: Master Synchronous Serial Port Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 2 CCP1IP: CCP1 Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 1 TMR2IP: TMR2 to PR2 Match Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 0 TMR1IP: TMR1 Overflow Interrupt Priority bit

1 = ưu tiên cao

0 =ưu tiên thấp

bit 7 OSCFIP: Oscillator Fail Interrupt Priority bit

1 =ưu tiên cao

0 = ưu tiên thấp

Trang 27

bit 6 CMIP: Comparator Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 5 USBIP: USB Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 4 EEIP: Data EEPROM/Flash Write Operation Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 3 BCLIP: Bus Collision Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 2 HLVDIP: High/Low-Voltage Detect Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 1 TMR3IP: TMR3 Overflow Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

bit 0 CCP2IP: CCP2 Interrupt Priority bit

1 = ưu tiên cao

0 = ưu tiên thấp

để xác định nguyên nhân Reset hoặc đánh thức từ chế độ không tải hoặc chế

độ ngủ.thanh ghi RCON cũng chứa bit IPEN-bit này có nhiệm vụ cho phép ưutiên ngắt

bit 7 IPEN: bit cho phép ưu tiên ngắt

1 = cho phép

0 = không cho phép

bit 6 SBOREN: BOR Software Enable bit

bit 5 không dùng đến mặc định là “0”

bit 4 RI: RESET Instruction Flag bit

bit 3 TO: Watchdog Time-out Flag bit

bit 2 PD: Power-Down Detection Flag bit

bit 1 POR: Power-on Reset Status bit

bit 0 BOR: Brown-out Reset Status bit

Trang 28

INTERRUPTS(NGẮT):các vi điều khiển PIC18F2455/2550/4455/4550 có

nhiều ngắt và các ngắt này được chỉ định là ngắt ưu tiên cao và ngắt ưu tiênthấp tùy thuộc vào hai vector ngắt ưu tiên cao(000008h)và ngắt ưu tiênthấp(000018h)

Có 10 thanh ghi điều khiển hoạt động của ngắt chúng là các thanh ghi sau:

RCON,INTCON, INTCON2, INTCON3, PIR1, PIR2, PIE1, PIE2, IPR1, IPR2

INTERRUPT LOGIC

Trang 29

5 CÁC CỔNG XUẤT NHẬP CỦA PIC ( I/O PORTS )

Tùy theo thiết bị chọn và thuộc tính cho phép mà có thế lên đến 5 port lựachọn.Một vài chân của các ngõ xuất nhập tích hợp nhiều chức năng tùy biến khôngđơn thuần với mục đích là các chân xuất nhập

Mỗi port có 3 thanh ghi cho các hoạt động của chúng.Những thanh ghi đó là:-Thanh ghi TRIS(thanh ghi đinh hướng dữ liệu)

-Thanh ghi PORT( thanh ghi đọc mức độ của các chân thiết bị)

-Thanh ghi LAT(chốt ngõ ra)

Một mẫu đơn giản chung nhất của các ngõ I/O,không có giao tiếp với các thiết

bị ngoại vi được biễu diễn hình dưới đây:

Thanh ghi PORTA, TRISA và LATA :

PortA có 8 đường bit 2 chiều(I/O).Khi set bit ở TRISA là 1 thì chân ở PORTB

sẽ là input.Và ngược lại khi clear bit ở TRISA là 0 thì chân ở PORTA sẽ làoutput.Cho nên đọc giá trị ở thanh ghi PORTA chúng ta sẽ biết được trạng thái cácchân,và trạng thái này sẽ được ghi vào thanh ghi chốt

Thanh ghi data latch (LATA)cũng như một sơ đồ nhớ.Những thao tác đọc-sửa ghi trên thanh ghi LATA sẽ được chốt giá trị ngõ ra cho PORTA

đổi-Chân RA4 tích hợp với TIMER0 và khối xung clock ngõ vào để trở thành chân RA4/TOCKI

Chân RA6 thì tích hợp với chân dao động chính ,nó được xem như bộ daođộng hoặc là chân được chọn chính ở thanh ghi cầu hình (1H)

RA4 cũng được tích hợp với module USB,hệ thống sẽ nhận dữ liệu ngõ vào từ bộtruyền nhận USB bên ngoài

Trang 30

Một vài chân PORTA có tích hợp chức năng ngõ vào analog để so sánh điện

áp Vrep+ và Vrep- với điện áp chuẩn ngõ ra.Chân RA5 và RA3:RA0 là các chân củangõ vào chuyển đổi A/D được chọn bằng cách clear/set các bit điều khiển ở thanh ghiADCON1

Thanh ghi PORTB, TRISB và LATB :

PortB có 8 đường bit 2 chiều(I/O).Khi set bit ở TRISB là 1 thì chân ở PORTB sẽ

là input.Và ngược lại khi clear bit ở TRISB là 0 thì chân ở PORTB sẽ là output.Chonên đọc giá trị ở thanh ghi PORTB chúng ta sẽ biết được trạng thái các chân,và trạngthái này sẽ được ghi vào thanh ghi chốt

Thanh ghi data latch (LATB)cũng như một sơ đồ nhớ.Những thao tác đọc-sửađổi-ghi trên thanh ghi LATB sẽ được chốt giá trị ngõ ra cho PORTB

Mỗi chân của PORTB đều có điện trở kéo lên bên trong yếu,chỉ cần đơn bit điềukhiển có thể tắt hết các điện trở kéo lên đó.Các điện trở kéo lên yếu đó sẽ tự động tắthết khi PORTB được cấu hình là ngõ ra.Các chân của PORTB có chức năng như cácchân I/O thông thường ngoài ra có 4 chân là RB7:RB4 còn là các chân được dùng vàoviệc ngắt khi có thay đổi thuộc tính trên các chân này.Ngắt này dùng vào việc đánhthức các thiết bị khi ở chế độ sleep.Ngoài ra chân RB4 còn tích hợp với CSSPP(chipselect function for the Streaming Parallel Port)

Các chân RB3:RB2 được tích hợp với USB ngoại vi và xử lý những tín hiệu ngõ

ra khác cho việc truyền nhận USB bên ngoài

Thanh ghi PORTC, TRISC và LATC:

PortC có 7 đường bit 2 chiều(I/O)(ở dòng PIC 18fx455 và 18fx550 thì chân RC3không được dùng).Khi set bit ở TRISC là 1 thì chân ở PORTC sẽ là input.Và ngượclại khi clear bit ở TRISC là 0 thì chân ở PORTC sẽ là output.Cho nên đọc giá trị ởthanh ghi PORTC chúng ta sẽ biết được trạng thái các chân,và trạng thái này sẽ đượcghi vào thanh ghi chốt

Thanh ghi data latch (LATC)cũng như một sơ đồ nhớ.Những thao tác đọc-sửađổi-ghi trên thanh ghi LATC sẽ được chốt giá trị ngõ ra cho PORTC

PORTC tích hợp chức năng giao tiếp với các khối giao tiếp nối tiếp nhưEUSART,MSSP và USB modue

Thanh ghi PORTD, TRISD và LATD:

PORTD có 8 đường bit 2 chiều(I/O) Khi set bit ở TRISD là 1 thì chân ở PORTD

sẽ là input.Và ngược lại khi clear bit ở TRISD là 0 thì chân ở PORTD sẽ làoutput.Cho nên đọc giá trị ở thanh ghi PORTD chúng ta sẽ biết được trạng thái cácchân,và trạng thái này sẽ được ghi vào thanh ghi chốt

Tất cả các chân của PORTD được dùng như các ngõ xuất nhập thôngthường.Nhưng cũng có thể là 8 chân của ngõ của cổng song song.PORTD còn là ngõ

ra của module PWM

Trang 31

Thanh ghi PORTE, TRISE và LATE:

Ở các dòng Pic18f2455 và 18f2550 thì không có PORTE,Còn những dòngPic18f4455 và 18f4550 thì có thêm PORTE

PORTE có 4pin(RE0/AN5/CK1SPP, RE1/AN6/CK2SPP, RE2/AN7/OESPP)đượccấu hình riêng như là những ngõ vào và ngõ ra.Còn chân thứ 4 của PORTE là chânMCLR/VPP/RE3 là chân chỉ có chức năng input

Thanh ghi PORTE ngoài chức năng định nghĩa các pin của PORTE là ngõ vàohay ngõ ra thì thanh ghi PORTE còn chứa bit điều khiển RPDU cho phép hoặc khôngcho phép các điện trở kéo lên của PORTD

bit 7 RDPU: bit điều khiển chức năng pull-up của PORTD

1 = cho phép

0 = không cho phép

bit 6-4 không quan tâm và mặc định là “0”

bit 3-0 RE3:RE0: PORTE Data Input bits(1,2,3)

6 CÁC KHỐI TIMER:

ở các dòng pic18fx455 và 18fx550 có 3 khối timer(timer0,timer1,timer2)

Mỗi khối timer có các thanh ghi điều khiển: Các thanh ghi điều khiểntimer0 :TMR0H, TMR0L, INTCON, INTCON2, T0CON, TRISA

Ngày đăng: 07/09/2017, 15:42

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

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

w