Giới Thiệu Pic (Programmable Intelligent Computer)


riêng nó và ví trí của chúng bên trong hệ thống mạng wireless. Tuy nhiên hệ thống vận hành mạng sẽ sử dụng một SMSC thứ ba có vị trí bên ngoài của hệ thống mạng wireless.

Bạn phải biết địa chỉ SMSC của hệ thống vận hành mạng wireless để sử dụng, tinh chỉnh chức năng tin nhắn SMS trên điện thoại của bạn. Điển hình một địa chỉ SMSC là một số điện thoại thông thường ở hình thức, khuôn mẫu quốc tế. Một điện thoại nên có một thực đơn chọn lựa để cấu hình địa chỉ SMSC. Thông thường thì địa chỉ được điều chỉnh lại trong thẻ SIM bởi hệ thống mạng wireless. Điều này có nghĩa là bạn không cần phải làm bất cứ thay đổi nào cả.

1.2.5 Nhắn tin SMS quốc tế

Các tin nhắn SMS giữa các nhà điều hành được chia ra làm hai hạng mục gồm tin nhắn SMS giữa các nhà điều hành cục bộ và tin nhắn SMS giữa các nhà điều hành quốc tế với nhau. Tin nhắn SMS giữa các nhà điều hành cục bộ là tin nhắn mà được gửi giữa các nhà điều hành trong cùng một quốc gia còn tin nhắn SMS giữa các nhà điều hành quốc tế là tin nhắn SMS được gửi giữa các nhà điều hành mạng wireless ở những quốc gia khác nhau.

Thường thì chi phí để gửi một tin nhắn SMS quốc tế thì cao hơn so với gửi trong nước. Và chi phí gửi tin nhắn trong nội mạng thì ít hơn so với gửi cho mạng khác trong cùng một quốc gia <= chi phí cho việc gửi tin nhắn SMS quốc tế.

Khả năng kết hợp của tin nhắn SMS giữa hai mạng wireless cục bộ hay thậm chí là quốc tế là một nhân tố chính góp phần tới sự phát triển mạnh mẽ của hệ thống SMS toàn cầu.


CHƯƠNG 2 VI ĐIỀU KHIỂN PIC16F887

2.1. GIỚI THIỆU PIC (Programmable Intelligent Computer)

2.1.1. Giới thiệu về vi điều khiển PIC

Năm 1971 bộ vi xử lý đầu tiên ra đời đã mở ra một thời đại mới trong công nghệ điện tử và tin học, nó đã ảnh hưởng sâu sắc đến mọi lĩnh vực khoa học công nghệ. Các hệ thống được thiết kế dựa trên nền tảng của bộ vi xử lý (điển hình như PC) có khả năng mà các hệ thống điện tử thông thường không thể thực hiện được.

Để thúc đẩy việc nghiên cứu chế tạo vi điều khiển đó là tính đa dụng, dễ dàng lập trình và giá thành thấp. Vi điều khiển tỏ ra rất hấp dẫn trong các ứng dụng điều khiển điện tử vì có kích thước nhỏ, tuy nhỏ nhưng chức năng cũng rất đa dạng, dễ dàng tích hợp vào trong hệ thống để điều khiển toàn hệ thống.

PIC là dòng vi điều khiển do hãng MICROCHIP sản xuất với công nghệ hiện đại, phù hợp cho các ứng dụng đơn giản và hiện đại. Đang được sử dụng phổ biến trong các ứng dụng dân dụng và công nghiệp bởi những đặc tính ưu việt của nó. Hơn nữa việc lập trình cho PIC lại khá đơn giản bởi số mã lệnh ít, có nhiều công cụ hỗ trợ lập trình bằng ngôn ngữ cấp cao như C. Hiện tại PIC có các dòng 8 bits và 16 bits. Trong báo cáo này ta quan tâm đến PIC 8 bits cụ thể là PIC16F887.

Các đặc điểm cơ bản của PIC có thể được tóm tắt như sau :

- PIC có nhiều chủng loại như PIC 8 bits (PIC10, PIC12, PIC16), hay PIC 16 bits (PIC24F, PIC24H, …).

- PIC có thể được lập trình bằng ngôn ngữ Assembler hoặc C.

- Có 5 port I/O port A, port B, port C, port D, port E.

- Có 3 timer: Timer0 là 8 bits, Timer1 là 16 bits, Timer2 là 16 bits.

- Được tích hợp bộ chuyển đổi ADC.

- PIC có thể sử dụng Timer để tạo xung PWM.

- Phương thức cất giữ Sleep.

- Có bản lựa chọn dao động.

- Công suất tiêu thụ thấp.

- Cổng phụ song song (PSP) với 8 bit mở rộng, với RD, WR và CS điều khiển.

- Thực hiện truyền dữ liệu nối tiếp với máy tính thông qua cổng RS-232, mặt khác PIC còn có thể giao tiếp với máy tính thông qua cổng USB.


2.1.2. Ưu và nhược điểm của PIC

Họ 8051 thường được sử dụng cho các ứng dụng cơ bản, đơn giản. Tuy nhiên đối với các ứng dụng phức tạp, đòi hỏi tốc độ cao, mức độ tích hợp cao thì bản thân 8051 khó đáp ứng được (hoặc ta phải đầu tư thêm chi phí cho việc xử lí ngoại vi,…). PIC thì khác, hãy xem bảng so sánh sau :

Bảng 2.1 Bảng so sánh chức năng của PIC16F887 và AT89C51


STT

Chức năng

PIC16F887A

AT89C51

1

I/O

5 Ports

4 Ports

2

Flash Memory

8k

4k

3

EEPROM

256bytes

-

4

Timer

3

2

5

Interrupts

15

4

6

ADC

8 channel 10 bit

-

7

PWM

2

-

8

Comparator

2

-

9

Instruction set

35

>100

10

Truyền thông

SUART,I2C,MSSP,PSP

UART

Có thể bạn quan tâm!

Xem toàn bộ 80 trang tài liệu này.

Khả năng tích hợp cao của PIC mang lại sự đơn giản nhưng hiệu quả trong thiết kế và lập trình. Tuy vậy PIC không phải là tất cả, khi làm một sản phẩm, tính kinh tế là quan trọng, sử dụng loại vi điều khiển nào mang lại hiệu quả cao nhất là tùy thuộc vào người thiết kế.

2.2 GIỚI THIỆU TỔNG QUÁT VỀ PIC16F887

2.2.1 Giới thiệu về PIC16F887

Khối xử lí trung tâm mà đóng vai trò chính là PIC16F887 sẽ làm nhiệm vụ chính là tiếp nhận và xử lí các dữ liệu đến và đi một cách tự động. Đề tài sử dụng PIC16F887 vì những ưu điểm vượt trội của nó so với các vi điều khiển khác. Về mặt tính năng và công năng thì có thề xem PIC vượt trội hơn rất nhiều so với 89 với nhiều module được tích hợp sẵn như ADC 10 BIT, PWM 10 BIT, EEPROM 256 BYTE, COMPARATER, VERF COMPARATER…Sử dụng PIC có nhiều thuận lợi hơn trong thiết kế board, khi đó board mạch sẽ nhỏ gọn và đẹp hơn dễ thi công hơn rất nhiều, vì tính về giá cả tổng cộng cho đến lúc thành phẩm thì PIC có thể xem như rẻ hơn 89. Một điều đặc biệt nữa là tất cả các con PIC được sử dụng thì đều có chuẩn PI tức


chuẩn công nghiệp thay vì chuẩn PC (chuẩn dân dụng).

Ngoài ngôn ngữ Asembly PIC còn hỗ trợ ngôn ngữ C qua sử dụng CCS, HTPIC, MirkoBasic. Bên cạnh đó với bề dày của sự phát triển lâu đời PIC đã tạo ra rất nhiều diễn đàn sôi nổi về PIC cả trong và ngoài nước. Chính vì vậy chúng ta sẽ có nhiều thuận lợi trong việc dễ dàng tìm kiếm các thông tin lập trình cho các dòng PIC.

Dòng PIC16F887 được chọn sử dụng trong đề tài là dòng phổ thông với các tính năng cơ bản và dễ cho việc sử dụng với:

- Tập lệnh để lập trình chỉ có 35 lệnh rất dễ nhớ và dễ học, có độ dài 16bit. Mỗi lệnh đều được thực thi trong 1 chu kỳ xung clock. Tốc độ hoạt động tối đa cho phép là 64MHz.

- 8 k Flash Rom.

- 256 Bytes EEPROM

- 4 Port điều khiển vào ra với tín hiệu điều khiển độc lập, với dòng ra cao có thề kích trực tiếp các transirtor mà không cần qua bộ buffer.

- 3 bộ định thời Timer0, Timer1, Timer2.

- 1 bộ định thời Timer1 là 16 bit có thể lập trình được.

- 2 bộ định thời Timer0, Timer2 là 8 bit có thể hoạt động trong chế độ sleep với nguồn xung clock ngoài.

- 2 bộ module CCP (bao gồm Capture bắt giữ, Compare so sánh, PWM điều chế xung 10 bit) và 1 bộ module ECCP.

- 1 bộ ADC với 10 kênh ADC 10 bit .

- 2 bộ so sánh tương tự hoạt động độc lập.

- Bộ giám sát định thời Watchdog timer.

- Cổng giao tiếp song song 8 bit với các tín hiệu điều khiển.

- Chuẩn giao tiếp nối tiếp MSSP (SPI/I2C)

- Chuẩn giao tiếp nối tiếp USART (AUSART/EUSART) với 9 bit địa chỉ

- Hỗ trợ giao tiếp I2C.

- 15 nguồn ngắt.

- Chế độ sleep tiết kiệm năng lượng.

- Chức năng bảo mật chương trình.

- Nạp chương trình bằng cổng nối tiếp ICSP (In Circuit Serial Programming) thông qua 2 chân.


- Có thể hoạt động với nhiều dạng Oscillator khác nhau.

- Tần số hoạt động tối đa là 64Mhz.

- Bộ nhớ Flash với khả năng ghi xóa được 100.000 lần.

- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.

- Dữ liệu EEPROM có thể lưu trữ trên 40 năm.

- Khả năng tự nạp chương trình với sự điều khiển của phần mềm.

2.2.2 Sơ đồ khối của PIC16F887


Hình 2 1 Sơ đồ khối vi điều khiển PIC16F887 2 3 KHẢO SÁT SƠ ĐỒ CHÂN CHỨC 1

Hình 2.1 Sơ đồ khối vi điều khiển PIC16F887


2.3 KHẢO SÁT SƠ ĐỒ CHÂN, CHỨC NĂNG TỪNG CHÂN

2.3.1 Sơ đồ chân vi điều khiển PIC16F887


Hình 2 2 Sơ đồ chân vi điều khiển PIC16F887 Bảng 2 2 Bảng mô tả các chức năng 2

Hình 2.2 Sơ đồ chân vi điều khiển PIC16F887

Bảng 2.2 Bảng mô tả các chức năng từng chân của PIC



Tên chân

Thứ tự

chân

Hướng

Mô tả chức năng và các đặc tính.


OSC1/CLKIN

9

I

Đầu vào của thạch anh hay ngò vào của

xung clock ngoài.

OSC1/CLKOUT

10

O

Đầu ra của bộ dao động thạch anh, nối với thạch anh hay cộng hưởng trong

chế độ cộng hưởng của thạch anh.

MCLR/Vpp

1

I/P

Ngò vào Master Reset, chân này cho

phép reset chip ở mức thấp.


RA0/AN0 RA1/AN1


2


3


I/O I/O

Port A là port vào ra hai chiều.

RA0 có thể làm ngò vào ADC hoặc tương tự.

RA1có thể làm ngò vào ADC hoặc

tương tự.





RA2/AN2/VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/SS/AN4

4


5


6


7

I/O I/O I/O I/O

RA2 có thể làm ngò vào ADC hoặc tương tự hoặc điện áp chuẩn âm.

RA3 có thể làm ngò vào ADC hoặc tương tự hoặc điện áp chuẩn dương.

RA4 có thể làm ngò vào ADC hoặc tương tự, xung clock cho bộ định thời Timer0.

RA5 có thể làm ngò vào ADC hoặc

tương tự.



RB0/INT


RB1 RB2

RB3/PGM RB4

RB5 RB6/PGC


RB7/PGD


33


34

35

36

37

38

39


40


I/O


I/O I/O I/O I/O I/O I/O


I/O

Port B là port vào ra hai chiều.

Là chân vào ra hai chiều và có thể sử dụng làm chân ngắt ngoài.

Chân vào ra hai chiều. Chân vào ra hai chiều.

Ngò vào được lập trình ở mức thấp. Interrup-on-change pin.

Interrup-on-change pin.

Interrup-on-change pin or In-crcuit Debugger pin.

Interrup-on-change pin or In-crcuit

Debugger pin.


RC0/T1OSO/T1CKI


RC1/T1OSI/CCP2


RC2/CCP1 RC3/SCK/CSL RC4/SDI/SDA RC5/SD0 RC6/TX/CK

RC7/RX/DT


15


16


17

18

23

24

25

26


I/O


I/O


I/O I/O I/O I/O I/O

I/O

PORT C là cổng vào ra hai chiều.

Là ngò ra của Timer1 hoặc là ngò vào xung clock của Timer1.

Là ngò ra của Timer1 hoặc ngò vào Capture2, ngò ra Capture hay ngò ra PWM2.

Là ngò vào (hoặc ra) compare2, đồng thời là ngò vào PWM1.

Dữ liệu ngoài SPI (chế độ SPI).

Chân truyền không đồng bộ USART hoặc đồng bộ với xung đồng hồ.







Chân đồng bộ USART hoặc đồng bộ

với dữ liệu.


RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6

RD7/PSP7

19

20

21

22

27

28

29

30

I/O I/O I/O I/O I/O I/O I/O

I/O

Là cổng vào ra hai chiều hoặc là cổng vào ra song song giao tiếp với bus của vi xử lý.

RE0/RD/AN5 RE1/WR/AN6

RE2/CS/AN7

8

9

10


Ngò vào Analog 5. Ngò vào Analog 6.

Ngò vào Analog 7.

VSS

12, 31

P

Cung cấp điện áp âm cho vi xử lý.

VDD

11, 32

P

Cung cấp nguồn dương cho vi xử lý.

Ghi chú: I = input ; O = output ; I/O = input/output ; P = power

2.3.2 Tổ chức bộ nhớ

Cấu trúc bộ nhớ của vi điều khiển PIC16F887 bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu (Data Memory).

2.3.2.1 Bộ nhớ chương trình

Bộ nhớ chương trình của Vi điều khiển PIC16F887 là bộ nhớ flash, dung lượng bộ nhớ 64K word (1 word = 16bit).

Để mã hóa được địa chỉ của 64k word bộ nhớ chương trình, bộ đếm chương trình có 21 bit .

Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset vertor). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0008h (Interrupt vertor). Bộ nhớ chương trình bao gồm bộ nhớ Stack và được địa chỉ hóa bởi bộ đếm chương trình.

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 29/06/2022