Tải bản đầy đủ (.docx) (11 trang)

vi xu ly ardu,pic,at LẠI MINH HỌC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (331.52 KB, 11 trang )

Arduino Uno.
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các
thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật
của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ
lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và
lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất
nguồn mở từ phần cứng tới phần mềm.
Arduino Uno là sử dụng chip Atmega328. Nó có 14 chân digital I/O, 6 chân đầu vào
(input) analog, thạch anh dao động 16Mhz. Một số thông số kỹ thuật như sau :
Chip
ATmega328
Điện áp cấp nguồn
5V
Điện áp đầu vào (input) (kiến
7-12V
nghị )
Điện áp đầu vào(giới hạn)
6-20V
Số chân Digital I/O
14 (có 6 chân điều chế độ rộng xung PWM)
Số chân Analog (Input )
6
DC Current per I/O Pin
40 mA
DC Current for 3.3V Pin
50 mA
32KB (ATmega328) với 0.5KB sử dụng
Flash Memory
bootloader
SRAM
2 KB (ATmega328)


EEPROM
1 KB (ATmega328)
Xung nhịp
16 MHz
2. Sơ đồ chân của Arduino.

Hình 1: Arduino Uno.
a) USB (1).
Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp USB chúng ta
1


có thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cho
Arduino.
b) Nguồn ( 2 và 3 ).
Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoài thông
qua jack cắm 2.1mm ( cực dương ở giửa ) hoặc có thể sử dụng 2 chân Vin và GND để cấp
nguồn cho Arduino.
Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 20 volt. Chúng ta có thể cấp
một áp lớn hơn tuy nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt. Và nếu sử dụng nguồn
lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng bo mạch. Khuyết cáo các bạn nên
dùng nguồn ổn định là 5 đến dưới 12 volt
Chân 5V và chân 3.3V (Output voltage) : các chân này dùng để lấy nguồn ra từ nguồn
mà chúng ta đã cung cấp cho Arduino. Lưu ý : không được cấp nguồn vào các chân này vì
sẽ làm hỏng Arduino.
GND: chân mass.
c) Chip Atmega328.
Chip Atmega328 Có 32K bộ nhớ flash trong đó 0.5k sử dụng cho bootloader. Ngoài
ra còn có 2K SRAM, 1K EEPROM.
d) Input và Output ( 4, 5 và 6).

Arduino Uno có 14 chân digital với chức năng input và output sử dụng các hàm
pinMode(), digitalWrite() và digitalRead() để điều khiển các chân này tôi sẽ đề cập chúng
ở các phần sau.
Cũng trên 14 chân digital này chúng ta còn một số chân chức năng đó là:
Serial : chân 0 (Rx ), chân 1 ( Tx). Hai chân này dùng để truyền (Tx) và nhận (Rx)
dữ liêu nối tiếp TTL. Chúng ta có thể sử dụng nó để giao tiếp với cổng COM của một số
thiết bị hoặc các linh kiện có chuẩn giao tiếp nối tiếp.
PWM (pulse width modulation): các chân 3, 5, 6, 9, 10, 11 trên bo mạch có dấu “~”
là các chân PWM chúng ta có thể sử dụng nó để điều khiển tốc độ động cơ, độ sáng của
đèn…
SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), các chân này hỗ trợ giao tiếp theo
chuẩn SPI.
I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân A4 (SDA) và A5 (SCL) cho
phép chúng tao giao tiếp giửa Arduino với các linh kiện có chuẩn giao tiếp là I2C.
e) Reset (7): dùng để reset Arduino.

2


AT89C51
AT89C51 is an 8-bit microcontroller and belongs to Atmel's 8051 family. ATMEL 89C51 has
4KB of Flash programmable and erasable read only memory (PEROM) and 128 bytes of
RAM. It can be erased and program to a maximum of 1000 times.

In 40 pin AT89C51, there are four ports designated as P 1, P2, P3 and P0. All these ports are 8-bit
bi-directional ports, i.e., they can be used as both input and output ports. Except P 0 which
needs external pull-ups, rest of the ports have internal pull-ups. When 1s are written to these
port pins, they are pulled high by the internal pull-ups and can be used as inputs. These ports
are also bit addressable and so their bits can also be accessed individually.
Port P0 and P2 are also used to provide low byte and high byte addresses, respectively, when

connected to an external memory. Port 3 has multiplexed pins for special functions like serial
communication, hardware interrupts, timer inputs and read/write operation from external
memory. AT89C51 has an inbuilt UART for serial communication. It can be programmed to
operate at different baud rates. Including two timers& hardware interrupts, it has a total of six
interrupts.
Pin Diagram:

3


Pin Description:

4


Pin No
1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

Function

8 bit input/output port (P1) pins

Reset pin; Active high

Quartz crystal oscillator (up to 24 MHz)
Ground (0V)

8 bit input/output port (P2) pins
/
High-order address bits when interfacing with exter

Program store enable; Read from external program

Address Latch Enable
Program pulse input during Flash programming
External Access Enable; Vcc for internal program e
Programming enable voltage; 12V (during Flash pro

30
31
32
33
34
35
36
37
38
39
40

8 bit input/output port (P0) pins

Low-order address bits when interfacing with extern

Supply voltage; 5V (up to 6.6V)

5


6


ĐẶC TÍNH CỦA IC 89C51:

- Có khả năng 1000 chu kì ghi xóa.
- Tần số hoạt động 0Hz-24MHz.
- 3 mức khóa bộ nhớ lập trình.
- 128 bytes Ram nội 4 port xuất nhập I/O 8 bit.
- 2 bộ time/counter 16 bit.
- Giao tiến nối tiến bằng phần cứng, 64 Kb vùng nhớ mã ngoài, 64 Kb vùng nhớ dữ liệu.
- 4 chu kì máy cho hoạt động nhân hoặc chia.
- Có các chế độ nghỉ và chế độ nguồn giảm.
CẤU TẠO BÊN TRONG CỦA IC 89C51:
- Thành phần chính của vi điều khiển 89c51 chính là CPU bên trong CPU có :
+ Thanh ghi tích lũy A.
+ Thanh ghi tíc lũy B dùng cho phép nhân chia.
+ Đơn vị logic học ALU.
+ 4 bank thanh ghi.
+ Bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian và logic.
+ Con trỏ ngăn xếp.
ỨNG DỤNG CỦA IC 89C51:
- Dùng để điều khiển các bóng Led của biển quảng cáo.
- Ưu tiên sử dụng làm biển quảng cái ngoài trời, ở nơi khó tháo lắp.
- Dùng để điều khiển bảng hiển thị thông tin nơi công cộng.
…….

7


PIC16F877A
Đây là một dòng vi điều khiển khá phổ biến, đầy đủ các chức năng, phù hợp với các ứng dụng
cơ bản. Mình khuyến khích các bạn nên bắt đầu với dòng vi điều khiển này vì tài liệu có rất
nhiều.
Một số đặc điểm của PIC16F877A:

- PIC 16F877A là loại vi điều khiển 8bit tầm trung của hãng microchip.
- PIC 16F877A có kiến trúc Havard, sử dụng tập lệnh kiểu RISC (Reduced Instruction Set
Computer) với chỉ 35 lệnh cơ bản.
- Tất cả các lệnh được thực hiện trong một chu kì lệnh ngoại trừ các lệnh rẽ nhánh.
- Sơ đồ chân với chip loại cắm 40 chân

Các chức năng cơ bản:

8


Nạp chương trình cho PIC: Để nạp được chương trình cho PIC có 2 cách:
- Nạp trực tiếp dùng mạch nạp: Có 2 loại mạch nạp hay được sử dụng đó là PICKIT và
BURNE. Mạch nạp Pickit là hàng chính hãng, độ ổn định cao tuy nhiên chỉ nạp được cho các
dòng PIC và DSPIC. Mạch BurnE thì có thể nạp cho rất nhiều loại khác nhau cả PIC và AVR.
Tuy nhiên là hàng việt nam sản xuất, độ ổn định có lẽ không cao bằng. Cách nạp bằng
PICKIT2 các bạn có thể tham khảo Video sau:
• OSC1/CLKI: (13) là ngõ vào kết nối với dao động thạch anh hoặc ngõ vào nhận xung
clock bên ngoài.
• OSC2/CLKO: (14) ngõ ra dao động thạch anh hoặc ngõ ra cấp xung clock.

MCLR

/VPP: (1) ngõ vào reset tích cực mức thấp/ ngõ vào nhận điện áp lập trình
• RA0/AN0: (2) xuất nhập số/ ngõ vào tương tự.
• RA1/AN1: (3) xuất nhập số/ ngõ vào tương tự.
• RA2/AN2/VREF-/CVREF: (4) xuất nhập số/ ngõ vào tương tự/ ngõ vào điện áp chuẩn của
bộ A/D, điện áp tham chiếu VREF ngõ ra bộ so sánh.
• RA3/AN3/VREF+: (5) xuất nhập số/ngõ vào tương tự kênh thứ 3/ ngõ vào điện áp chuẩn
cao của bộ A/D.

• RA4/TOCKI/C1OUT: (6) xuất nhập số/ngõ vào xung clock bên ngoài cho Timer 0/ ngọ ra
bộ so sánh 1.
SS
• RA5/AN4/
/C2OUT: (7) xuất nhập số/ ngõ vào tương tự kênh thứ 4/ ngõ vào chọn lựa
SPI phụ/ ngõ ra bộ so sánh 2.
• RB0/INT: (33) xuất nhập số/ngõ vào nhận tín hiệu ngắt ngoài.
• RB1: (34) xuất nhập số.
• RB2: (35) xuất nhập số.
• RB3/PGC: (36) xuất nhập số.
• RB4 (37), RB5: (38): xuất nhập số.
• RB6/PGC: (39) xuất nhập số/ mạch gõ rối và xung clock lập trình ICSP.
• RB7/PGD: (40) xuất nhập số/ mạch gõ rối và dữ liệu lập trình ICSP.
• RC0/T1OCO/T1CKI (15) xuất nhập số/ ngõ vào bộ dao động Timer1/ ngõ vào xung clock
bên ngoài Timer 1.
• RC1/T1OSI/CCP2: (16) xuất nhập số/ ngõ vào bộ dao động Timer 1/ ngõ vào bộ dao động
Timer 1/ ngõ vào Capture 2, ngõ ra compare1, ngõ ra PWM1.
• RC2/CCP1: (17) xuất nhập số/ ngõ vào Capture 1/ ngõ ra compare 1/ ngõ ra PWM1.
• RC3/SCK/SCL: (18) xuất nhập số/ ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra ở chế độ
SPI.
• RC4/SDI/SDA: (23) xuất nhập số/ dữ liệu vào SPI/ xuất nhập dữ liệu I2C.
• RC5/SDO: (24) xuất nhập số/ dữ liệu ra SPI.
• RC6/TX/CK: (25) xuất nhập số/ truyền bất đồng bộ USART/ xung đồng bộ USART.
• RC7/RX/DT: (26) xuất nhập số/ nhận bất đồng bộ USART/ dữ liệu đồng bộ USART.
• RD0/PSP0 (19), RD1/PSP1 (20), RD2/PSP2 (21), RD3/PSP3 (22), RD4/PSP4 (27),
RD5/PSP5 (28), RD6/PSP6 (29), RD7/PSP7 (30): xuất nhập số/ dữ liệu port tới song song.
• RE0/

RD


/AN5: (8) xuất nhập số/ điều khiển port tới song song/ ngõ vào tương tự.
9


• RE1/
thứ 6.

WR

/AN6: (9) xuất nhập số/ điều khiển ghi port tới song song/ ngõ vào tương tự kênh

CS
• RE2/
/AN7: (10) xuất nhập số/ chip lựa chọn điều khiển port tới song song/ ngõ vào
tương tự kênh thứ 7.
• VDD (11, 32), VSS (12, 31): các chân nguồn của PIC.
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh
gồm 35 lệnh có độ dài 14 bit.
Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc
độ hoạt động tối đa cho phép là 20 MHz với một chu kì
lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ
liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung
lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O.
Các đặc tính ngoại vi bao gồmcác khối chức năng sau:
- Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
- Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực
hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi
điều khiển hoạt động ở chế độ sleep.
- Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
- Hai bộ Capture/so sánh/điều chế độ rông xung.

- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port),
SPI và I2C.
- Chuẩn giao tiếp nối tiếp USART với 9 bit đòa chỉ.
- Cổng giao tiếp song song PSP (Parallel Slave Port) với các
chân điều khiển RD, WR,
CS ở bên ngoài.
Các đặc tính Analog:
- 8 kênh chuyển đổi ADC 10 bit.
- Hai bộ so sánh.
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- 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 bộ nhớ 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.
- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit
Serial Programming) thông qua 2 chân.
- Watchdog Timer với bộ dao động trong.
- Chức năng bảo mật mã chương trình.
10


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

11




×