Tải bản đầy đủ - 0 (trang)
CHƯƠNG 1. HỌ VI ĐIỀU KHIỂN MCS-51

CHƯƠNG 1. HỌ VI ĐIỀU KHIỂN MCS-51

Tải bản đầy đủ - 0trang

Bài giảng Vi điều khiển và Ứng dụng

Vi xử lý có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu và xuất dữ

liệu ra ngoài sau khi đã xử lý. Và chức năng chính của Vi xử lý chính là xử lý dữ liệu,

chẳng hạn như cộng, trừ, nhân, chia, so sánh.v.v... Vi xử lý khơng có khả năng giao tiếp

trực tiếp với các thiết bị ngoại vi, nó chỉ có khả năng nhận và xử lý dữ liệu mà thôi.

Để vi xử lý hoạt động cần có chương trình kèm theo, các chương trình này điều khiển các

mạch logic và từ đó vi xử lý xử lý các dữ liệu cần thiết theo yêu cầu. Chương trình là tập

hợp các lệnh để xử lý dữ liệu thực hiện từng lệnh được lưu trữ trong bộ nhớ, công việc

thực hành lệnh bao gồm: nhận lệnh từ bộ nhớ, giải mã lệnh và thực hiện lệnh sau khi đã

giải mã. Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển động

cơ, hiển thị kí tự trên màn hình .... đòi hỏi phải kết hợp vi xử lý với các mạch điện giao

tiếp với bên ngoài được gọi là các thiết bị I/O (nhập/xuất) hay còn gọi là các thiết bị

ngoại vi. Bản thân các vi xử lý khi đứng một mình khơng có nhiều hiệu quả sử dụng,

nhưng khi là một phần của một máy tính, thì hiệu quả ứng dụng của Vi xử lý là rất lớn. Vi

xử lý kết hợp với các thiết bị khác được sử trong các hệ thống lớn, phức tạp đòi hỏi phải

xử lý một lượng lớn các phép tính phức tạp, có tốc độ nhanh. Chẳng hạn như các hệ

thống sản xuất tự động trong công nghiệp, các tổng đài điện thoại, hoặc ở các robot có

khả năng hoạt động phức tạp v.v...

Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính tốn,

xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối

với các bài toán và hệ thống lớn. Tuy nhiên đối với các ứng dụng nhỏ, tầm tính tốn

khơng đòi hỏi khả năng tính tốn lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ

thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp

phức tạp như nhau. Các khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực

hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này

cùng liên kết với vi xử lý thì mới thực hiện được cơng việc. Để kết nối các khối này đòi

hỏi người thiết kế phải hiểu biết tinh tường về các thành phần vi xử lý, bộ nhớ, các thiết

bị ngoại vi. Hệ thống được tạo ra khá phức tạp, chiếm nhiều khơng gian, mạch in phức

tạp và vấn đề chính là trình độ người thiết kế. Kết quả là giá thành sản phẩm cuối cùng

rất cao, không phù hợp để áp dụng cho các hệ thống nhỏ. Vì một số nhược điểm trên nên

Đặng Thành Tựu



Trang 5



Bài giảng Vi điều khiển và Ứng dụng

các nhà chế tạo tích hợp một ít bộ nhớ và một số mạch giao tiếp ngoại vi cùng với vi xử

lý vào một IC duy nhất được gọi là Microcontroller-Vi điều khiển. Vi điều khiển có khả

năng tương tự như khả năng của vi xử lý, nhưng cấu trúc phần cứng dành cho người dùng

đơn giản hơn nhiều.

Vi điều khiển ra đời mang lại sự tiện lợi đối với người dùng, họ không cần nắm

vững một khối lượng kiến thức quá lớn như người dùng vi xử lý, kết cấu mạch điện dành

cho người dùng cũng trở nên đơn giản hơn nhiều và có khả năng giao tiếp trực tiếp với

các thiết bị bên ngoài. Vi điều khiển tuy được xây dựng với phần cứng dành cho người sử

dụng đơn giản hơn, nhưng thay vào lợi điểm này là khả năng xử lý bị giới hạn (tốc độ xử

lý chậm hơn và khả năng tính tốn ít hơn, dung lượng chương trình bị giới hạn). Thay

vào đó, Vi điều khiển có giá thành rẻ hơn nhiều so với vi xử lý, việc sử dụng đơn giản, do

đó nó được ứng dụng rộng rãi vào nhiều ứng dụng có chức năng đơn giản, khơng đòi hỏi

tính tốn phức tạp.

Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có

chức năng đơn giản, trong máy giặt, ơtơ v.v...

Các dòng vi điều khiển thơng dụng:

Họ vi điều khiển AMCC: (do tập đồn "Applied Micro Circuits Corporation" sản

xuất). Từ tháng 5 năm 2004, họ vi điều khiển này được phát triển và tung ra thị trường

bởi IBM.

• 403 PowerPC CPU

• PPC 403GCX

• 405 PowerPC CPU

• PPC 405EP

• PPC 405GP/CR

• PPC 405GPr

• PPC NPe405H/L

• 440 PowerPC Book-E CPU

• PPC 440GP

• PPC 440GX

Đặng Thành Tựu



Trang 6



Bài giảng Vi điều khiển và Ứng dụng

• PPC 440EP/EPx/GRx

• PPC 440SP/SPe

Họ vi điều khiển Atmel:

• Dòng 8051 (8031, 8051, 8751, 8951, 8032, 8052, 8752, 8952)

• Dòng Atmel AT91 (Kiến trúc ARM THUMB)

• Dòng AT90, Tiny & Mega – AVR (Atmel Norway design)

• Dòng Atmel AT89 (Kiến trúc Intel 8051/MCS51)

• Dòng MARC4

Họ vi điều khiển Cypress MicroSystems

• CY8C2xxxx (PSoC)

Họ vi điều khiển Freescale Semiconductor. Từ năm 2004, những vi điều khiển này

được phát triển và tung ra thị trường bởi Motorola.

• Dòng 8-bit

• 68HC05 (CPU05)

• 68HC08 (CPU08)

• 68HC11 (CPU11)

• Dòng 16-bit

• 68HC12 (CPU12)

• 68HC16 (CPU16)

• Freescale DSP56800 (DSPcontroller)

• Dòng 32-bit

• Freescale 683XX (CPU32)

• MPC500

• MPC 860 (PowerQUICC)

• MPC 8240/8250 (PowerQUICC II)

• MPC 8540/8555/8560 (PowerQUICC III)

Họ vi điều khiển Fujitsu

• F²MC Family (8/16 bit)

• FR Family (32 bit)

Đặng Thành Tựu



Trang 7



Bài giảng Vi điều khiển và Ứng dụng

• FR-V Family (32 bit RISC)

Họ vi điều khiển Intel

• Dòng 8-bit

• 8XC42

• MCS48

• MCS51

• 8061

• 8xC251

• Dòng 16-bit

• 80186/88

• MCS96

• MXS296

• Dòng 32-bit

• 386EX

• i960

Họ vi điều khiển Microchip

• PIC 8-bit (xử lý dữ liệu 8-bit, 8-bit data bus)

• Từ lệnh dài 12-bit (Base-line): PIC10F, PIC12F và một vài PIC16F

• Từ lệnh dài 14-bit (Mid-Range và Enhance Mid-Range): PIC16Fxxx,

PIC16F1xxx

• Từ lệnh dài 16-bit (High Performance): PIC18F

• PIC 16-bit (xử lý dữ liệu 16-bit)

• PIC điều khiển động cơ: dsPIC30F

• PIC có DSC: dsPIC33F

• Phổ thơng: PIC24F, PIC24E, PIC24H

• PIC 32-bit (xử lý dữ liệu 32-bit): PIC32MX

Họ vi điều khiển National Semiconductor

• COP8

• CR16

Đặng Thành Tựu



Trang 8



Bài giảng Vi điều khiển và Ứng dụng



Họ vi điều khiển STMicroelectronics

• ST 62

• ST7

• STM8

• STM32 (Cortex-Mx)

Họ vi điều khiển Philips Semiconductors

• LPC2000

• LPC900

• LPC700

1.3. Họ vi điều khiển MCS-51

1.3.1. Lịch sử phát triển họ MCS-51

Năm 1976 Intel giới thiệu bộ vi điều khiển (microcontroller) 8748, một chip tương

tự như các bộ vi xử lý và là chip đầu tiên trong họ MCS-48. Độ phức tạp, kích thước và

khả năng của Vi điều khiển tăng thêm một bậc quan trọng vào năm 1980 khi intel tung ra

chip 8051, bộ Vi điều khiển đầu tiên của họ MCS-51 và là chuẩn công nghệ cho nhiều họ

Vi điều khiển được sản xuất sau này. Chip 8051 chứa trên 60000 transistor bao gồm 4K

byte ROM, 128 byte RAM, 32 đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16 bit.

Sau đó rất nhiều họ Vi điều khiển của nhiều nhà chế tạo khác nhau lần lượt được đưa ra

thị trường với tính năng được cải tiến ngày càng mạnh.

Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng dụng khác

nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộng rãi trên thế giới và ở

Việt Nam.

Vào năm 1980 Intel cơng bố chíp 8051(80C51), bộ vi điều khiển đầu tiên của họ

vi điều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất nhập, 1

port nối tiếp và 2 bộ định thời 16 bit. Tiếp theo sau đó là sự ra đời của chip 8052, 8053,

8055 với nhiều tính năng được cải tiến.

Hiện nay Intel khơng còn cung cấp các loại Vi điều khiển họ MCS-51 nữa, thay

vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siemens,

Đặng Thành Tựu



Trang 9



Bài giảng Vi điều khiển và Ứng dụng

Matra&Dallas, Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của

họ MSC-51. Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam

hiện nay là Vi điều khiển của hãng Atmel với nhiều chủng loại vi điều khiển khác nhau.

Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi điều

khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản xuất.

Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành

89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự như nhau. Tương

tự 8051,8053,8055 có mã số tương đương ở Atmel là 89S52,89C53,89C55. Vi điều khiển

Atmel sau này ngày càng được cải tiến và được bổ sung thêm nhiều chức năng tiện lợi

hơn cho người dùng.

Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng Vi

điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng nạp

chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng.

Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm (các

tập lệnh lập trình như nhau), còn phần cứng được bổ sung với chip có mã số ở hai số cuối

cao hơn, các Vi điều khiển sau này có nhiều tính năng vượt trội hơn Vi điều khiển thế hệ

trước. Các Vi điều khiển 89Cxx như trong bảng 1 có cấu tạo ROM và RAM như 98Sxx

trong bảng 2, tuy nhiên 98Sxx được bổ sung một số tính năng và có thêm chế độ nạp nối

tiếp.

8051 là bộ vi điều khiển 8 bit tức là CPU chỉ có thể làm việc với 8 bit

dữ liệu. Dữ liệu lớn hơn 8 bit được chia thành các dữ liệu 8 bit để xử lý.

8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác (Siemens,

Atmel, Philips, AMD, Matra, Dallas, Semiconductor …) sản xuất và bán bất kỳ dạng biến

thể nào của 8051 mà họ muốn với điều kiện họ phải để mã chương trình tương thích với

8051. Từ đó dẫn đến sự ra đời của nhiều phiên bản của 8051 với các tốc độ và dung

lượng ROM trên chip khác nhau.

Tuy nhiên, điều quan trọng là mặc dù có nhiều biến thể của 8051, cũng như khác

nhau về tốc độ, dung lượng ROM nhưng tất cả các lệnh đều tương thích với 8051 ban



Đặng Thành Tựu



Trang 10



Bài giảng Vi điều khiển và Ứng dụng

đầu. Điều này có nghĩa là nếu chương trình được viết cho một phiên bản 8051 nào đó thì

cũng sẽ chạy được với mọi phiên bản khác không phụ thuộc vào hãng sản xuất.

Các loại vi điều khiển khác: vi điều khiển AVR, vi điều khiển PIC, vi điều khiển

MCUs của Philips,...Ngoài ra, các loại vi điều khiển chuyên dụng của các hãng sản xuất

khác: các loại vi điều khiển này được sử dụng chuyên dụng theo chức năng cần điều

khiển.

Bảng 1.1. Tóm tắt các vi điều khiển dòng 8051.

Loại

8031



ROM



RA

M



Timer Ngắt



O



2



0



256B



2



8051



4KB



128B



2



6



5V



40



32



Bộ nhớ PROM chỉ



8052



8KB



256B



3



8



5V



40



32



nạp 1 lần.



8751



4KB



128B



2



8752



8KB



256B



4KB



128B



2



6



5V



40



32



8KB



256B



3



8



5V



40



32



1KB



128B



1



3



3V



20



15



2KB



128B



2



6



5V



20



15



89S51

89C52

89S52

89C1051

89C2051

89S2051

89C2052

89S2052



32



Chú ý



128B



89S52



5V



I/



0



8032



6



Vcc Đóng vỏ



5V



Sử dụng ROM ngoại



Bộ nhớ EPROM nạp



5V



xóa nhiều lần bằng



5V



tia cực tím



Bộ nhớ FLASH

2KB



256B



3



8



5V



20



15 ROM nạp xóa nhiều

lần bằng xung điện



89LV51



4KB



128B



3



6



3V



40



32



89LV52



8KB



256B



3



8



3V



40



32



Đặng Thành Tựu



Trang 11



Bài giảng Vi điều khiển và Ứng dụng

Tóm lại:



Có 3 vùng để phân biệt (trừ 8031 và 8032 khơng có ROM nội):



- Thứ nhất là 2 số đầu tiên:

+ 80: ROM chỉ nạp duy nhất 1 lần.

+ 87: ROM nạp xóa nhiều lần bằng tia cực tím.

+ 89: ROM nạp xóa nhiều lần bằng xung điện (được ưa chuộng nhất).

- Thứ hai là chữ kế:

+ Chữ C và chữ S: đặt trưng cho cách nạp (C nạp song song, S nạp nối tiếp).

+ Chữ LV: nguồn cung cấp thấp khoảng 3V.

- Thứ ba là 2 số cuối:

+ 52 có bộ nhớ ROM và RAM gấp đơi so với 51.

+ 52 có 3 timer còn 51 có 2 timer.

Các phiên bản 8051 với tốc độ khác nhau của Atmel.

Bảng 1.2. Vi điều khiển họ 8051 dòng thương mại

Mã linh kiện



Tốc độ



Số chân



Đóng vỏ



Mục đích



AT89S52-12PC



42MHZ



40



DTP



Thương mại



Bảng 1.3. Các phiên bản 8051 từ hãng Dallas Semiconductor

Mã linh kiện

DS5000-8



ROM

8K



RAM

128



Chân I/O

32



Timer

2



Ngắt

6



Vcc

5V



Đóng vỏ

40



DS5000-32



32K



128



32



2



6



5V



40



DS5000T-8



8K



128



32



2



6



5V



40



6



5V



40



DS5000T-8

32K

128

32

2

Chữ “T” đứng sau 5000 là có đồng hồ thời gian thực.



Lưu ý rằng đồng hồ thời gian thực RTC là khác với bộ định thời Timer. RTC tạo và

giữ thời gian l phút giờ, ngày, tháng - năm kể cả khi tắt nguồn.

1.3.2. Khảo sát vi điều khiển 89S52

1.3.2.1. Tổng quát

Vi điều khiển 89S52 là vi điều khiển thuộc dòng 8051 có các đặc tính sau:

 Tương thích với tất cả các sản phẩm thuộc dòng 8051.

 Có 8KB Flash ROM và có thể nạp/xóa 1000 lần.

 Nguồn ni: 4.0V đến 5.0V.

 Có 256x8 bit RAM nội.

 Có 4 port xuất/nhập dữ liệu 8 bit.

Đặng Thành Tựu



Trang 12



Bài giảng Vi điều khiển và Ứng dụng

Có 3 bộ Timer/Counters 16 bit.

Có 8 nguồn ngắt.

Có khả năng giao tiếp truyền dữ liệu nối tiếp.

Có chế độ ngủ đơng để tiết kiệm điện năng.

Có thể giao tiếp với 64 kbyte bộ nhớ bên ngồi để lưu chương trình điều

khiển hoặc lưu dữ liệu.

 Có 210 bit ( có thể truy xuất từng bit theo các lệnh xử lý bit).

 Nạp code ở cả 2 chế độ song song và nối tiếp.

- Sơ đồ cấu trúc bên trong của vi điều khiển 89S52













Hình 1. 1 Sơ đồ cấu trúc bên trong



Đặng Thành Tựu



Trang 13



Bài giảng Vi điều khiển và Ứng dụng

1.3.2.2 Sơ đồ chân



Hình 1.2. Sơ đồ chân 89S52.

Xét kiểu chân PDIP:





Port 0: có 2 chức năng với số thứ tự chân 32÷39.

+ Trong các hệ thống điều khiển đơn giản sử dụng bộ nhớ bên trong không dùng bộ



nhớ mở rộng bên ngồi thì port 0 được dùng làm các đường điều khiển IO (Input –

Output).



Đặng Thành Tựu



Trang 14



Bài giảng Vi điều khiển và Ứng dụng

+ Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngồi thì port 0 có

chức năng là bus địa chỉ và bus dữ liệu AD7 ÷ AD0. (Address: địa chỉ byte thấp A0 đến

A7, Data: dữ liệu 8 bit D0 đến D7).





Port 1: với số thứ tự chân 1÷ 8. Port1 có chức năng dùng làm các đường điều khiển

xuất nhập IO. Ngồi ra, còn có chức năng:

Bảng 1.4. Chức năng thứ 2 của Port 1.







Port 2: Port 2 là port có 2 chức năng với số thứ tự chân 21÷ 28.

+ Trong các hệ thống điều khiển đơn giản sử dụng bộ nhớ bên trong không dùng bộ



nhớ mở rộng bên ngồi thì port 2 được dùng làm các đường điều khiển IO.

+ Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngồi thì port 2 có

chức năng là bus địa chỉ cao A8÷A15.





Port 3: với số thứ tự chân 10÷17 có chức năng dùng làm các đường điều khiển xuất

nhập IO. Ngồi ra, còn có chức năng:

Bảng 1.5. Chức năng thứ 2 của Port 3.







Tín hiệu PSEN\ (Program Store Enable): chân 29



Đặng Thành Tựu



Trang 15



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG 1. HỌ VI ĐIỀU KHIỂN MCS-51

Tải bản đầy đủ ngay(0 tr)

×