Giáo trình Vi điều khiển 8051 Assembly - Chương 1: Các bộ vi điều khiển 8051

Sự khác nhau giữa một bộ vi điều khiển và một bộ vi xử lý là

gì? Bộ vi xử lý ở đây là các bộ vi xử lý công dung chung như họ

Intell ´ 86 (8086, 80286, 80386, 80486 và Pentium) hoặc họ

Motorola 680 ´ 0(68000, 68010, 68020, 68030, 68040 v.v.). Những

bộ VXL này không có RAM, ROM và không có các cổng vào ra

trên chíp. Với lý do đó mà chúng được gọi chung là các bộ vi xử lý

công dụngchung.

pdf13 trang | Chuyên mục: Kiến Trúc Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 2406 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Vi điều khiển 8051 Assembly - Chương 1: Các bộ vi điều khiển 8051, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ola, Zilog và Mierochip Technology 
đã dành một lượng tài nguyên lớn để đảm bảo khả năng sẵn sàng về 
một thời gian và phạm vi rộng cho các sản phẩm của họ từ khi các 
sản phẩm của họ đi vào sản xuất ổn định, hoàn thiện và trở thành 
nguồn chính. Trong những năm gần đây họ cũng đã bắt đầu bán tế 
bào thư viện Asic của bộ vi điều khiển. 
1.2 Tổng quan về họ 8051. 
Trong mục này chúng ta xem xét một số thành viên khác nhau 
của họ bộ vi điều khiển 8051 và các đặc điểm bên trong của chúng. 
Đồng thời ta điểm qua một số nhà sản xuất khác nhau và các sản 
phẩm của họ có trên thị trường. 
1.2.1 Tóm tắt về lịch sử của 8051. 
Vào năm 1981. Hãng Intel giới thiệu một số bộ vi điều khiển 
được gọi là 8051. Bộ vi điều khiển này có 128 byte RAM, 4K byte 
ROM trên chíp, hai bộ định thời, một cổng nối tiếp và 4 cổng (đều 
rộng 8 bit) vào ra tất cả được đặt trên một chíp. Lúc ấy nó được coi 
là một “hệ thống trên chíp”. 8051 là một bộ xử lý 8 bit có nghĩa là 
CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu 
lớn hơn 8 bit được chia ra thành các dữ liệu 8 bit để cho xử lý. 8051 
có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit (xem hình 1.2). 
Mặc dù 8051 có thể có một ROM trên chíp cực đại là 64 K byte, 
nhưng các nhà sản xuất lúc đó đã cho xuất xưởng chỉ với 4K byte 
ROM trên chíp. Điều này sẽ được bàn chi tiết hơn sau này. 
8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản 
xuất khác sản xuất và bán bất kỳ dạng biến thế nào của 8051 mà họ 
thích với điều kiện họ phải để mã lại tương thích với 8051. Điều này 
dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau 
và dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các 
nhà sản xuất. Điều này quan trọng là mặc dù có nhiều biến thể khác 
nhau của 8051 về tốc độ và dung lương nhớ ROM trên chíp, nhưng 
tất cả chúng đều tương thích với 8051 ban đầu về các lệnh. Điều này 
có nghĩa là nếu ta viết chương trình của mình cho một phiên bản nào 
đó thì nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà không 
phân biệt nó từ hãng sản xuất nào. 
Bảng 1.3: Các đặc tính của 8051 đầu tiên. 
Đặc tính Số lượng 
ROM trên chíp 
RAM 
Bộ định thời 
Các chân vào - ra 
Cổng nối tiếp 
Nguồn ngắt 
4K byte 
128 byte 
2 
32 
1 
6 
1.2.2 Bộ ví điều khiển 8051 
Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051. 
Hãng Intel ký hiệu nó như là MCS51. Bảng 3.1 trình bày các đặc tính 
của 8051. 
C
O
U
N
TER
 IN
PU
TS 
OSC 
INTERRUPT 
CONTROL 
4 I/O 
PORTS 
BUS 
CONTROL 
SERIAL 
PORT 
EXTERNAL 
INTERRUPTS 
CPU 
ON - CHIP 
RAM 
ETC 
TIMER 0 
TIMER 1 
Hình 1.2: Bố trí bên trong của sơ đồ khối 8051. 
1.2.3 các thành viên khác của họ 8051 
 Có hai bộ vi điều khiển thành viên khác của họ 8051 là 8052 và 
8031. 
a- Bộ vi điều khiển 8052: 
 Bộ vi điều khiển 8052 là một thành viên khác của họ 8051, 
8052 có tất cả các đặc tính chuẩn của 8051 ngoài ra nó có thêm 128 
byte RAM và một bộ định thời nữa. Hay nói cách khác là 8052 có 
256 byte RAM và 3 bộ định thời. Nó cũng có 8K byte ROM. Trên 
chíp thay vì 4K byte như 8051. Xem bảng 1.4. 
Bảng1.4: so sánh các đặc tính của các thành viên họ 8051. 
Đặc tính 8051 8052 8031 
ROM trên 
chíp 
4K byte 8K byte OK 
RAM 128 byte 256 byte 128 byte 
Bộ định thời 2 3 2 
Chân vào - ra 32 32 32 
Cổng nối tiếp 1 1 1 
Nguồn ngắt 6 8 6 
Như nhìn thấy từ bảng 1.4 thì 8051 là tập con của 8052. Do vậy 
tất cả mọi chương trình viết cho 8051 đều chạy trên 8052 nhưng điều 
ngược lại là không đúng. 
b- Bộ vi điều khiển 8031: 
 Một thành viên khác nữa của 8051 là chíp 8031. Chíp này 
thường được coi như là 8051 không có ROM trên chíp vì nó có OK 
byte ROM trên chíp. Để sử dụng chíp này ta phải bổ xung ROM 
ngoài cho nó. ROM ngoài phải chứa chương trình mà 8031 sẽ nạp và 
thực hiện. So với 8051 mà chương trình được chứa trong ROM trên 
chíp bị giới hạn bởi 4K byte, còn ROM ngoài chứa chương trinh 
được gắn vào 8031 thì có thể lớn đến 64K byte. Khi bổ xung cổng, 
như vậy chỉ còn lại 2 cổng để thao tác. Để giải quyết vấn đề này ta 
có thể bổ xung cổng vào - ra cho 8031. Phối phép 8031 với bộ nhớ 
và cổng vào - ra chẳng hạn với chíp 8255 được trình bày ở chương 
14. Ngoài ra còn có các phiên bản khác nhau về tốc độ của 8031 từ 
các hãng sản xuất khác nhau. 
1.2.4. Các bộ vi điều khiển 8051 từ các hãng khác nhau. 
 Mặc dù 8051 là thành viên phổi biến nhất của họ 8051 nhưng 
chúng ta sẽ thấy nó trong kho linh kiện. Đó là do 8051 có dưới 
nhiều dạng kiểu bộ nhớ khác nhau như UV - PROM, Flash và NV - 
RAM mà chúng đều có số đăng ký linh kiện khác nhau. Việc bàn 
luận về các kiểu dạng bộ nhớ ROM khác nhau sẽ được trình bày ở 
chương 14. Phiên bản UV-PROM của 8051 là 8751. Phiên bản Flash 
ROM được bán bởi nhiều hãng khác nhau chẳng hạn của Atmel corp 
với tên gọi là AT89C51 còn phiên bản NV-RAM của 8051 do Dalas 
Semi Conductor cung cấp thì được gọi là DS5000. Ngoài ra còn có 
phiên bản OTP (khả trình một lần) của 8051 được sản xuất bởi rất 
nhiều hãng. 
a- Bộ vi điều khiển 8751: 
 Chíp 8751 chỉ có 4K byte bộ nhớ UV-EPROM trên chíp. Để sử 
dụng chíp này để phát triển yêu cầu truy cập đến một bộ đốt PROM 
cũng như bộ xoá UV- EPROM để xoá nội dung của bộ nhớ UV-
EPROM bên trong 8751 trước khi ta có thể lập trình lại nó. Do một 
thực tế là ROM trên chíp đối với 8751 là UV-EPROM nên cần phải 
mất 20 phút để xoá 8751 trước khi nó có thể được lập trình trở lại. 
Điều này đã dẫn đến nhiều nhà sản xuất giới thiệu các phiên bản 
Flash Rom và UV-RAM của 8051. Ngoài ra còn có nhiều phiên bản 
với các tốc độ khác nhau của 8751 từ nhiều hãng khác nhau. 
b- Bộ vi điều khiển AT8951 từ Atmel Corporation. 
 Chíp 8051 phổ biến này có ROM trên chíp ở dạng bộ nhớ 
Flash. Điều này là lý tưởng đối với những phát triển nhanh vì bộ nhớ 
Flash có thể được xoá trong vài giây trong tương quan so với 20 phút 
hoặc hơn mà 8751 yêu cầu. Vì lý do này mà AT89C51 để phát triển 
một hệ thống dựa trên bộ vi điều khiển yêu cầu một bộ đốt ROM mà 
có hỗ trợ bộ nhớ Flash. Tuy nhiên lại không yêu cầu bộ xoá ROM. 
Lưu ý rằng trong bộ nhớ Flash ta phải xoá toàn bộ nội dung của 
ROM nhằm để lập trình lại cho nó. Việc xoá bộ nhớ Flash được thực 
hiện bởi chính bộ đốt PROM và đây chính là lý do tại sao lại không 
cần đến bộ xoá. Để loại trừ nhu cầu đối với một bộ đốt PROM hãng 
Atmel đang nghiên cứu một phiên bản của AT 89C51 có thể được 
lập trình qua cổng truyền thông COM của máy tính IBM PC . 
Bảng 1.5: Các phiên bản của 8051 từ Atmel (Flash ROM). 
Số linh 
kiện 
RO
M 
RAM Chân 
I/O 
Time
r 
Ngắ
t 
Vc
c 
Đóng vỏ
AT89C51 4K 128 32 2 6 5V 40 
AT89LV5
1 
4K 128 32 2 6 3V 40 
AT89C10
51 
1K 64 15 1 3 3V 20 
AT89C20
51 
2K 128 15 2 6 3V 20 
AT89C52 8K 128 32 3 8 5V 40 
AT89LV5
2 
8K 128 32 3 8 3V 40 
Chữ C trong ký hiệu AT89C51 là CMOS. 
 Cũng có những phiên bản đóng vỏ và tốc độ khác nhau của 
những sản phẩm trên đây. Xem bảng 1.6. Ví dụ để ý rằng chữ “C” 
đứng trước số 51 trong AT 89C51 -12PC là ký hiệu cho CMOS “12” 
ký hiệu cho 12 MHZ và “P” là kiểu đóng vỏ DIP và chữ “C” cuối 
cùng là ký hiệu cho thương mại (ngược với chữ “M” là quân sự ). 
Thông thường AT89C51 - 12PC rát lý tưởng cho các dự án của học 
sinh, sinh viên. 
Bảng 1.6: Các phiên bản 8051 với tốc độ khác nhau của 
Atmel. 
Mã linh kiện Tốc độ Số chân Đóng vỏ Mục đích 
AT89C51-
12PC 
42MHZ 40 DTP Thương 
mại 
c- Bộ vi điều khiển DS5000 từ hãng Dallas Semiconductor. 
 Một phiên bản phổ biến khác nữa của 8051 là DS5000 của 
hãng Dallas Semiconductor. Bộ nhớ ROM trên chíp của DS5000 ở 
dưới dạng NV-RAM. Khả năng đọc/ ghi của nó cho phép chương 
trình được nạp vào ROM trên chíp trong khi nó vẫn ở trong hệ thống 
(không cần phải lấy ra). Điều này còn có thể được thực hiện thông 
qua cổng nối tiếp của máy tính IBM PC. Việc nạp chương trình trong 
hệ thống (in-system) của DS5000 thông qua cổng nối tiếp của PC 
làm cho nó trở thành một hệ thống phát triển tại chỗ lý tưởng. Một 
ưu việt của NV-RAM là khả năng thay đổi nội dung của ROM theo 
từng byte tại một thời điểm. Điều này tương phản với bộ nhớ Flash 
và EPROM mà bộ nhớ của chúng phải được xoá sạch trước khi lập 
trình lại cho chúng. 
Bảng 1.7: Các phiên bản 8051 từ hãng Dallas Semiconductor. 
Mã linh 
kiện 
ROM RAM Chân 
I/O 
Time
r 
Ngắ
t 
Vc
c 
Đóng 
vỏ 
DS5000-8 
DS5000-32 
DS5000T-8 
DS5000T-8 
8K 
32K 
8K 
32K 
128 
128 
128 
128 
32 
32 
32 
32 
2 
2 
2 
2 
6 
6 
6 
6 
5V 
5V 
5V 
5V 
40 
40 
40 
40 
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. 
 Còn có nhiều phiên bản DS5000 với những tốc độ và kiểu đóng 
gói khác nhau.( Xem bảng 1.8). Ví dụ DS5000-8-8 có 8K NV-RAM 
và tốc đọ 8MHZ. Thông thường DS5000-8-12 hoặc DS5000T-8-12 
là lý tưởng đối với các dự án của sinh viên. 
Bảng 1.8:Các phiên bản của DS5000 với các tốc độ khác nhau 
Mã linh kiện NV- RAM Tốc độ 
DS5000-8-8 
DS5000-8-12 
DS5000-32-8 
8K 
8K 
32K 
8MHz 
12MHz 
8MHz 
DS5000T-32-12 
DS5000-32-12 
DS5000-8-12 
32K 
32K 
8K 
8MHz (with 
RTC) 
12MHz 
12MHz (with 
RTC) 
d- Phiên bản OTP của 8051. 
 Các phiên bản OTP của 8051 là các chíp 8051 có thể lập trình 
được một lần và được cung cấp từ nhiều hãng sản xuất khác nhau. 
Các phiên bản Flash và NV-RAM thường được dùng để phát triển 
sản phẩm mẫu. Khi một sản pohẩm được thiết kế và được hoàn thiện 
tuyệt đối thì phiên bản OTP của 8051 được dùng để sản hàng loạt vì 
nó sẽ hơn rất nhiều theo giá thành một đơn vị sản phẩm 
e- Họ 8051 từ Hãng Philips 
 Một nhà sản xuất chính của họ 8051 khác nữa là Philips 
Corporation. Thật vậy, hãng này có một dải lựa chọn rộng lớn cho 
các bộ vi điều khiển họ 8051. Nhiều sản phẩm của hãng đã có kèm 
theo các đặc tính như các bộ chuyển đổi ADC, DAC, cổng I/0 mở 
rộng và cả các phiên bản OTP và Flash. 

File đính kèm:

  • pdfVi_dieu_khien_8051_ Assembly_01_CacBoViDieuKhien.pdf