Tải bản đầy đủ (.pdf) (81 trang)

Đề tài " Tìm hiểu về vi điều khiển 89S52. Thiết kế mô hình đo và khống chế nhiệt độ hiển thị trên led 7 thanh " ppt

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 (1.37 MB, 81 trang )




ĐỀ TÀI

Tìm hiểu về vi điều khiển 89S52. Thiết kế mô
hình đo và khống chế nhiệt độ hiển thị trên
led 7 thanh








Giáo viên hướng dẫn : Hoàng Văn Quang
Sinh viên thực hiện : Tường Thị Thu Hằng


Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

1

MỤC LỤC
Contents
MỤC LỤC 1
DANH SÁCH HÌNH VẼ 3
DANH SÁCH BẢNG BIỂU 4
LỜI MỞ ĐẦU 5
CHƯƠNG 1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN 7


1.1 Khái quát về vi điều khiển 7
1.1.1 Kiến trúc vi điều khiển 7
1.1.2 Tập lệnh 8
1.1.3 Chức năng 8
1. 2 Các bộ vi điều khiển 9
1.2.1 Các bộ vi điều khiển và các bộ xử lý nhúng 9
1.2.2 Định nghĩa bộ vi xử lý 9
1.2.3 Các bộ vi điều khiển cho hệ thống nhúng 10
1.2.4 Các ứng dụng nhúng của PC86 12
1.2.5 Lựa chọn một bộ vi điều khiển 12
1.3 Tìm hiểu chung về họ 8051 13
1.3.1 Cấu trúc bus 13
1.3.2 Bộ nhớ chương trình 13
1.3.3 Bộ nhớ dữ liệu 14
1.4 Họ vi điều khiển 8051 14
1.4.1 Tóm tắt về lịch sử của 8051 14
1.4.2 Đặc tính vi điều khiển 8051 15
1.4.3 Sơ đồ khối chung của họ vi điều khiển 8051 16
1.4.4 Thành viên họ vi điều khiển 8051 17
1.5 Các họ vi điều khiển khác 22
1.5.1 Họ vi điều khiển AMCC 22
1.5.2 Họ vi điều khiển Cypress MicroSystems 22
1.5.3 Họ vi điều khiển Freescale Semiconductor 23
1.5.4 Họ vi điều khiển Fujitsu 23
1.5.5 Họ vi điều khiển Intel 23
1.5.6 Họ vi điều khiển Microchip 24
1.5.7 Họ vi điều khiển National Semiconductor 31
1.5.8 Họ vi điều khiển STMicroelectronics 31
1.5.9 Họ vi điều khiển Philips Semiconductors 31
CHƯƠNG 2. TÌM HIỂU VỀ VI ĐIỀU KHIỂN 89S52 32

Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

2

2.1 Sơ đồ khối, sơ đồ chân của vi điều khiển 89S52 32
2.1.1 Giới thiệu sơ lược 32
2.1.2 Cấu hình của 89S52 32
2.1.3 Sơ đồ khối 89S52 33
2.1.4 Sơ đồ chân 89S52 34
2.1.5 Chức năng các chân của AT89S52 34
2.2 Tổ chức bộ nhớ bên trong 89S52 39
2.3 Kết nối vi điều khiển với một số thiết bị ngoại vi đơn giản 48
2.3.1 VĐK giao tiếp led đơn và phím nhấn 48
2.3.2 Kết nối VĐK với Rơle 49
2.3.4 Kết nối VĐK với ma trận led 54
CHƯƠNG 3. CÁC LINH KIỆN LIÊN QUAN 55
3.1 Led 7 thanh 55
3.1.1 Các khái niệm cơ bản 55
3.1.2 Kết nối với vi điều khiển 56
3 .2 Giới thiệu về IC ADC0804 57
3.2.1 Sơ đồ chân ADC0804 58
3.2.2 Chức năng các chân ADC0804 58
3.3 Giới thiệu về cảm biến LM35 61
3.3.1 Sơ đồ chân LM35
62
CHƯƠNG 4. THIẾT KẾ MÔ HÌNH 64
4.1 Lưu đồ thuật toán 64
4.3 Mạch nguyên lý và mạch in 66
4.3.1 Mạch nguyên lý
66

4.3.2 Mạch in 68
KẾT LUẬN 70
PHỤ LỤC 75










Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

3

DANH SÁCH HÌNH VẼ
Hình 1.1 Bố trí bên trong của sơ đồ khối 8051 16
Hình 1.2 Kiến trúc Havard và kiến trúc Von-Neuman 25
Hình 1.3 Cơ chế pipelining 27
Hình 2.1 Sơ đồ khối của bộ vi điều khiển AT89S52 33
Hình 2.2 Sơ đồ chân của AT89S52 34
Hình 2.3 Sơ đồ Port 0 35
Hình 2.4 Sơ đồ Port 1 35
Hình 2.5 Sơ đồ Port 2 36
Hình 2.6 Mạch reset 38
Hình 2.7 Mạch dao động 38
Hình 2.8 VĐK giao tiếp led đơn và phím nhấn 48
Hình 2.9 VĐK giao tiếp rơle-5V 49

Hình 2.10 VĐK giao tiếp phím nhấn và LCD 53
Hình 2.11 VĐK giao tiếp với ma trận led 54
Hình 3.1 Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa 56
Hình 3.2 Sơ đồ chân ADC0804 58
Hình 3.3 Sơ đồ chân LM35 dạng TO-92
62
Hình 4.1 Lưu đồ thuật toán 66
Hình 4.2 Sơ đồ mạch nguyên lý 66
Hình 4.3 Sơ đồ mạch in 68










Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

4


DANH SÁCH BẢNG BIỂU
Bảng 1.1 Các đặc tính của 8051 đầu tiên 15
Bảng 1.2 So sánh các đặc tính của các thành viên họ 8051 17
Bảng 1.3 Các phiên bản của 8051 từ Atmel (Flash ROM) 19
Bảng 1.4 Các phiên bản 8051 với tốc độ khác nhau của Atmel 20
Bảng 1.5 Các phiên bản 8051 từ hãng Dallas Semiconductor 20

Bảng 2.1 Một số thành viên của họ 8051 21
Bảng 2.2 Các chức năng của Port 3 36
Bảng 2.3 Bit chọn Bank thanh ghi 42
Bảng 2.4 Bảng vector ngắt của 8051 44
Bảng 2.5 Thanh ghi cho phép ngắt IE 45
Bảng 2.6 Tóm tắt thanhh ghi chức năng TMOD 47
Bảng 1.13 Bảng mã của Led Anode chung (các led đơn sáng ở mức 0) 50
Bảng 1.14 Bảng mã của Led Cathode chung (các led đơn sáng ở mức 1) 51
Bảng 2.2 Quan hệ điện áp V ref/2 với Vin 61
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

5

LỜI MỞ ĐẦU
Ngày nay, việc ứng dụng những thành tựu của khoa học kỹ thuật tiên tiến, thế
giới của chúng ta đã và đang ngày một phát triển, văn minh và hiện đại hơn. Sự
phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm
nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết
góp phần cho hoạt động của con người đạt hiệu quả cao.
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và
sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng
với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều
khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử
đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những
đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các
nhu cầu cần thiết trong hoạt động đời sống hằng ngày.
Sau gần 3 năm học tập và nghiên cứu ở trường, em đã được làm quen
với các môn học chuyên ngành,em đã dùng vi điều khiển để ” Tìm hiểu về vi
điều khiển 89S52. Thiết kế mô hình đo và khống chế nhiệt độ hiển thị trên led 7
thanh.” Mặc dù đã rất cố gắng thiết kế và hoàn thành đồ án đúng thời hạn nhưng do

thời gian ngắn và năng lực còn hạn chế nên vẫn còn những sai sót. Em mong thầy giáo
góp ý để việc học tập của em được tốt hơn.
Em xin chân thành cảm ơn!
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

6


Nội dung quyển đồ án bao gồm các chương:
Chương 1. Tổng quan về vi điều khiển
Chương 2. Tìm hiểu về vi điều khiển 89S52
Chương 3. Các linh kiện liên quan
Chương 4. Thiết kế
Sản phẩm là một mạch đo và khống chế nhiệt độ hiển thị trên led 7 thanh sử
dụng vi điều khiển 89S52.
Trong quá trình thực hiện đề tài này do điều kiện còn hạn hẹp nên đề tài này
không tránh khỏi những thiếu sót rất mong nhận được những ý kiến đóng góp của
tất cả các thầy cô và các bạn những ai quan tâm đến lĩnh vực này.
Em xin chân thành cảm ơn toàn thể các thầy cô giáo trong khoa Điện Tử - ĐH
Công Nghiệp Hà Nội đã giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý
báu và tạo điều kiện tốt nhất cho em được học tập và nghiên cứu tại trường.
Cuối cùng em xin chân thành cảm ơn thầy Hoàng Văn Quang giảng viên Khoa
Điện Tử-ĐH Công Nghiệp Hà Nội đã hướng dẫn và giúp đỡ nhiệt tình em trong
quá trình thực hiện đồ án.

Hà Nội tháng 6/2012
Sinh viên thực hiện
Tường Thị Thu Hằng
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử


7


CHƯƠNG 1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN
1.1 Khái quát về vi điều khiển
Năm 1976, hãng Intel giới thiệu bộ vi điều khiển 8748-mở đầu cho họ vi
điều khiển MCU-48. 8747 là một vi mạch chứa hơn 17.000 transistor bao gồm
CPU,1kbyte bộ nhớ ROM, 64KB RAM, một bộ đếm/định thời 8 bit và 27 chân
vào/ra.
Vi điều khiển (MCU-viết tắt của cụm từ ‘Micro Control Unit’) có thể được
coi như một máy tính thu nhỏ trên một chíp, nó còn có thể hoạt động với một vài
linh kiện phụ trợ ở bên ngoài, sau 8748, các bộ vi điều khiển mới tiếp tục được
các hãng sản xuất như Intel, Atmel, Simens…giới thiệu cho các ứng dụng nhúng.
1.1.1 Kiến trúc vi điều khiển
Thực ra vi điều khiển cũng là một cấu trúc nhỏ, gồm các linh kiện điện tử ở
kích thước micro hoặc nano, các linh kiện này được kết hợp với nhau và được nối
với các thiết bị bên ngoài qua các chân vi điều khiển.
Kiến trúc máy tính hay kiến trúc vi điều khiển cũng tương tự nhau. Do đó ,
các bạn có thể tìm hiểu về kiến trúc máy tính, để hiểu rõ về kiến trúc vi điều khiển.
Hai kiến trúc vi điều khiển rất phổ biến hiện nay, là kiến trúc Von Neumann và
kiến trúc Harvard. Sự khác biệt chủ yếu giữa hai kiến trúc này, chính là việc tổ
chức bộ nhớ dữ liệu và bộ nhớ chương trình. Kiến trúc Von Neumann tổ chức bộ
nhớ dữ liệu và bộ nhớ chương trình chung với nhau, chính vì vậy, đường truyền
(bus) của kiến trúc Von Neumann là đường truyền chung. Trong khi đó, kiến trúc
Harvard tách rời bộ nhớ dữ liệu và bộ nhớ chương trình.
Mỗi kiến trúc này có một lợi điểm riêng rẽ khác nhau. Kiến trúc Von
Neumann tận dụng được tài nguyên bộ nhớ, trong khi đó kiến trúc Harvard sẽ đạt
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

8


tốc độ xử lý cao hơn, mặt khác đường truyền dữ liệu và đường truyền lệnh điều
khiển (chương trình) có thể có dung lượng khác nhau.
1.1.2 Tập lệnh
Tập lệnh ở đây được coi là tập mã lệnh nhị phân, Bản chất của tập lệnh là một
tập hợp các mã nhị phân, mà từ đó các đơn vị xử lý trung tâm (CPU) nhận biết và
thực hiện. Dữ liệu được CPU xử lý là các số nhị phân. Chính vì vậy, tập lệnh dù
thế nào đi nữa cũng sẽ thực hiện các việc chính sau:
- Tính toán các con số nhị phân.
- Các lệnh để chuyển các giá trị ra thành tín hiệu điện tử ở chân linh kiện
- Các lệnh di chuyển các giá trị giữa các thanh ghi
- Các lệnh điều khiển con trỏ chương trình
1.1.3 Chức năng
Hiện nay rất nhiều loại vi điều khiển ra đời, và rất nhiều tính năng được tích
hợp vào trong vi điều khiển dưới dạng phần cứng. Tuy nhiên, tựu chung lại thì mọi
việc cũng đều nằm ở việc điều khiển động cơ và đọc cảm biến. Một cánh cửa tự
động là một cái cảm biến hồng ngoại và một cái động cơ. Đại đa số những gì tự
động đều có dính đến động cơ trong đó, vì nếu không có động cơ thì làm sao mà
nó biến đổi điện năng thành cơ năng .khi đó ta sẽ phải thiết kế một cảm biển để
quan sát.
Để biết được tính năng của từng loại vi điều khiển ta chọn phần datasheet nói
tóm lại chức năng của vi điều khiển rất phong phú và đa dạng, Nên các bạn hay
nghiên cứu thật kĩ trước khi mua về để phục vụ cái nhu cầu của mình đang cần.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

9

1. 2 Các bộ vi điều khiển
1.2.1 Các bộ vi điều khiển và các bộ xử lý nhúng
Trong mục này chúng ta bàn về nhu cầu đối với các bộ vi điều khiển (VĐK)

và so sánh chúng với các bộ vi xử lý cùng dạng chung như Pentium và các bộ vi xử
lý 86 khác. Chúng ta sẽ cùng xem xét vai trò của các VĐK trong thị trường các sản
phẩm nhúng. Ngoài ra, chúng ta cung cấp một số tiêu chuẩn và cách lựa chọn một
bộ VĐK như thế nào.
1.2.2 Định nghĩa bộ vi xử lý
Bộ vi xử lý (VXL) ở đây là các bộ VXL công dụng chung như họ Intell
86(8086, 80286, 80386, Pentium hoặc họ Motorola 6800(68000, 68010, 68020,
68030…). Những bộ VXL này không có RAM, ROM và không có các cổng vào ra
trên chip. Với lý do đó mà chúng được gọi chung đó là các bộ vi xử lý công dụng
chung.
Một nhà thiết kế hệ thống sử dụng một bộ VXL công dụng chung chẳng hạn
như Pentium hay 68040 phải bổ xung thêm RAM, ROM. Các cổng vào ra và các
bộ định thời ngoài để làm cho chúng hoạt động được. mặc dù bổ xung thêm RAM,
ROM và các cổng vào ra bên ngoài làm cho hệ thống cồng kềnh và đắt hơn, nhưng
chúng có ưu điểm là linh hoạt chẳng hạn như người thiết kế có thể quyết định về số
lượng RAM, Rom cà các cổng ra vào cần thiết phù hợp với bài toán trong tầm tay
của mình.
Điều này không thể có được đối với các bộ VĐK. Một bộ VĐK có một CPU (
một bộ VXL) cùng với một lượng cố định RAM, ROM, các cổng vào ra và một bộ
định thời tất cả trên cùng một chip. Hay nói cách khác là bộ xử lý, RAM, ROM các
cổng vào ra và bộ định thời đều được nhúng với nhau trên một chip; do vậy người
thiết kế không thể bổ xung thêm bộ nhớ ngoài, cổng vào ra hoặc bộ định thời cho
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

10

nó. Số lượng cố định của RAM, ROM trên chip và số các cổng vào – ra trong các
bộ vi điều khiển làm cho chúng trở nên lý tưởng đối với nhiều ứng dụng mà trong
đó giá thành và không gian lại hạn chế. Trong nhiều ứng dụng,ví dụ như bộ điều
khiển TV từ xa thì không cần công suất tính toán của bộ VXL 486 hoặc thậm chí

như 8086. Trong rất nhiều ứng dụng thì không gian nó chiếm, công suất nó tiêu tốn
và giá thành trên một đơn vị là những cân nhắc nghiêm ngặt hơn nhiều so với công
suất tính toán. Những ứng dụng thường yêu cầu một số thao tác vào – ra để đọc các
tín hiệu và tắt – mở những bit nhất định. Vì lý do này mà một số người gọi các bộ
xử lý này là IBP (“Itty - Bitty - Processor”), (tham khảo cuốn “Good things in
small packages are Generating Big product opportunities” do Rick Grehan viết trên
tạp BYTE tháng 9.1994; www.byte.com để biết về những trao đổi tuyệt vời về các
bộ VĐK).
Điều thú vị là một số nhà sản xuất các bộ VĐK đã đi xa hơn là tích hợp cả
một bộ chuyển đổi ADC và các ngoại vi khác vào trong bộ VĐK.
1.2.3 Các bộ vi điều khiển cho hệ thống nhúng
Trong tài liệu về các bộ vi xử lý ta thường thấy khái niệm hệ thống nhúng. Các
bộ vi xử lý và các bộ vi điều khiển được sử dụng rộng rãi trong các sản phẩm hệ
thống nhúng. Một sản phẩm nhúng sử dụng một bộ vi xử lý và chỉ một mà thôi.một
máy in là một ví dụ về một việc nhúng vì bộ xử lý bên trong nó chỉ làm một việc
đó là nhận dữ liệu và in nó ra.
 Định nghĩa về hệ thống nhúng (embedded system)
Hệ thống nhúng là hệ thống xử lý thông tin được nhúng vào trong một sản
phẩm lớn hơn và bình thường người dùng không thấy nó một cách trực tiếp [1].
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

11

Hệ thống tính toán nhúng (embedded computing system) là hệ thống tính
toán được nhúng trong thiết bị điện tử (hầu như là các hệ thống tính toán khác máy
tính) [2].
Thông thường các hệ thống nhúng là những ứng dụng đơn chức năng [3].
Hệ thống nhúng là hệ thống mà chức năng chính của nó không chỉ có tính
toán mà được điều khiển bởi máy tính được nhúng trong nó [4].
Trong các định nghĩa trên, chúng ta thấy định nghĩa thứ nhất có thể mô tả

tổng quát về hệ thống nhúng. Ngày nay các hệ thống nhúng ở khắp nơi, chúng xuất
hiện trong nhà, văn phòng, nhà máy, xe hơi, bệnh viện,…
 Những đặc tính chung của các hệ thống nhúng
Các hệ thống nhúng có các đặc tính chung sau: [1]
Thường thì các hệ thống nhúng được nối với môi trường vật lý qua các cảm
biến để thu thập thông tin từ môi trường đó và qua các bộ điều khiển/tác động để
điều khiển môi trường.
Các hệ thống nhúng phải tin cậy được. “Tin cậy được” bao gồm độ tin cậy,
tính bảo trì, tính khả dụng, an toàn và bảo mật.
Các hệ thống nhúng phải có hiệu suất cao. Để đánh giá hiệu suất, người ta dựa
vào các tiêu chí sau: năng lượng, kích thước mã chương trình/tài nguyên sử dụng,
hiệu suất lúc chạy thật (run-time efficiency), khối lượng và giá.
Dành riêng cho ứng dụng cụ thể. Thí dụ bộ xử lý chạy chương trình điều
khiển trong xe hơi sẽ luôn luôn chạy chương trình mà không chuyển sang chương
trình khác.
Hầu hết các hệ thống nhúng không dùng bàn phím, chuột hay màn mình để
giao tiếp với người dùng. Thay vào đó, chúng có các giao tiếp dành riêng cho
người dùng như các nút nhấn, bàn đạp…
Nhiều hệ thống nhúng phải thỏa các ràng buộc thời gian thực.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

12

Nhiều hệ thống nhúng là những hệ thống hỗn hợp (hybrid systems)theo nghĩa
gồm cả hai phần analog và số.
Các hệ thống nhúng là những hệ thống có phản ứng lại (reactive systems).
Chúng có thể được định nghĩa như sau: hệ thống có phản ứng lại là hệ thống mà có
tương tác liên tục với môi trường của nó và thực thi với tốc độ được xác định bởi
môi trường đó [Bergé et al., 1995].
Thật ra không phải mọi hệ thống nhúng sẽ có tất cả các đặc tính trên. Chúng ta

cũng có thể định nghĩa thuật ngữ “hệ thống nhúng” theo cách sau: Những hệ thống
xử lý thông tin thỏa phần lớn các đặc tính trên được gọi là những hệ thống nhúng.
1.2.4 Các ứng dụng nhúng của PC86
Chúng ta có thể thấy các hệ thống nhúng trong nhiều lãnh vực:
 Điện tử gia dụng: máy giặt, tủ lạnh, máy chụp hình số
 Điện tử ô-tô: hệ điều khiển động cơ, hệ điều khiển thắng, hệ GPS
 Điện tử trong máy bay: hệ thông tin cho phi công, hệ chống va chạm
 Điện tử y sinh: đo nhiệt độ, ECG, chẩn đoán từ xa
 Xe lửa: hệ tự lái, hệ thắng
 Viễn thông: điện thoại di động, hệ thống tổng đài, điều khiển ăng-ten, thiết
bị GPS.
 Các ngôi nhà thông minh: tiết kiệm năng lượng, điều khiển nhiệt độ, chiếu
sáng
Các hệ thống nhúng tạo cơ sở cho kỷ nguyên hậu PC (post-PC era), các hệ thống
xử lý thông tin chuyển dần từ PC sang hệ thống nhúng cho các ứng dụng cụ thể.
1.2.5 Lựa chọn một bộ vi điều khiển
Có 4 bộ VĐK 8 bít chính. Đó là 6811 của Motorola, 8051 của Intel và Pic 16 của
Microchip. Mỗi một kiểu loại trên đây đều có một tệp lệnh và thanh ghi riêng duy
nhất, nếu chúng đều không tương tích lẫn nhau. Cũng có những bộ VĐK 16 bit và
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

13

32 bit được sản xuất bởi các hãng sản xuất chíp khác nhau. Với tất cả những bộ vi
điều khiển khác nhau như thế này thì lấy gì làm tiêu chuẩn lựa chọn mà các nhà
thiết kế phải cân nhắc? có 3 tiêu chuẩn để lựa chọn các bộ vi điều khiển là:
1- Đáp ứng nhu cầu tính toán của bài toán một cách hiệu quả về mặt giá
thành và đầy đủ chức năng có thể nhìn thấy được.
2- Có sẵn các công cụ phát triển phần mềm chẳng hạn như các trình biên
dịch, trình hợp ngữ và gỡ rối.

3- Nguồn các bộ vi điều khiển có sẵn nhiều và tin cậy.
1.3 Tìm hiểu chung về họ 8051
1.3.1 Cấu trúc bus
Bus địa chỉ của họ vi điều khiển 8051 gồm 16 đường tín hiệu (thường gọi
là bus địa chỉ 16 bit) với lượng bit địa chỉ như vậy, không gian nhớ của nó có thể
mở rộng tối đa đên 2^16=65536 địa chỉ tương đương 64K.
Bus dữ liệu của họ 8051 gồm 8 đường tín hiệu (thường gọi là dữ liệu 8
bit), đó là lí do vì sao nói 8051 là họ vi điều khiển 8 bit. Với độ rộng của bus dữ
liệu như vậy, các chip họ 8051 có thể xử lí được các toán hạng 8 bit trong 1 chu kì
lệnh.
1.3.2 Bộ nhớ chương trình
Vi điều khiển họ 8051 có không gian nhớ là 64K địa chỉ, đó cũng là bộ nhớ
chương trình lớn nhất mà mỗi chip thuộc họ này có được. Bộ nhớ chương trình của
các chip thuộc họ 8051 có thể thuộc loại ROM, EPROM, Flash, hoặc không có bộ
nhớ chương trình bên trong chip, tên của chip thể hiện bộ nhớ chương trình mà nó
chứa bên trong .
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

14

1.3.3 Bộ nhớ dữ liệu
Bộ nhớ SRAM được tích hợp bên trong mọi chip thuộc họ này, có dung
lượng khác nhau tùy loại chip nhưng thường thì chỉ khoảng vài trăm byte. Đây
chính là nơi chứa các biến trung gian trong quá trình hoạt động của chip. Khi mất
điện do bản chất của SRAM mà các giá trị này cũng mất theo. Bên cạnh bộ nhớ
loại SRAM thì một số chip thuộc họ 8051 còn có thêm bộ nhớ EEPROM với
dung lượng tối đa vài Kbyte tùy từng loại chip cụ thể.
1.4 Họ vi điều khiển 8051
1.4.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, hai bộ định thời, một
cổng nối tiếp và 4 cổng 8 bit. Tất cả đều được tích hợp trên một chip. Lúc bấy giờ,
bộ vi điều khiển như vậy được coi là một “hệ thống trên chip”. 8051 là một bộ xử
lý 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 có tất cả 4 cổng I/O mỗi cổng rộng 8 bit,
có thể có một ROM trên chip cực đại là 64 Kbyte. Tuy nhiên, lúc đó các nhà sản
xuất đã cho xuất xưởng chỉ với 4 Kbyte ROM trên chip. 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ã chương trình tương thích
với 8051. Từ đó dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác
nhau. Tuy nhiên, điều quan trọng là mặc dù có nhiều biến thể của 8051, như khác
nhau về tốc độ và dung lượng nhớ ROM trên chip, nhưng tất cả các lệnh đều tương
thích với 8051 ban đầu. Đ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.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

15

1.4.2 Đặc tính vi đ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 1.1 Các đặc tính của 8051 đầu tiên

Interrupt control: Điều khiển ngắt.
Other registes: Các thanh ghi khác.
128 Byte RAM: RAM 128 Byte.
Timer 0, 1, 2: Bộ định thời 0, 1, 2.
CPU: Đơn vị điều khiển trung tâm.
Oscillator: Mạch dao động.

Bus control: Điều khiển Bus.
I/O ports: Các ports vào/ra.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

16

Serial port: Port nối tiếp.
Address/data: Địa chỉ/dữ liệu.
1.4.3 Sơ đồ khối chung của họ vi điều khiển 8051


Hình 1.1 Bố trí bên trong của sơ đồ khối 8051

Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

17


1.4.4 Thành viên họ vi điều khiển 8051
 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, 8952 có tất 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 3 bộ định thời và có 8 Kbyte ROM trên
chip thay vì 4 Kbyte như 8051.
Bảng 1.2 So sánh các đặc tính của các thành viên họ 8051

Như nhìn thấy từ bảng 1.2 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ộ vi điều khiển 8031

Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

18

Một thành viên khác nữa của 8051 là chip 8031. Chip này thường được coi như là
8051 không có ROM trên chip vì nó có 0 Kbyte ROM trên chip. Để sử dụng chip
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
chip bị giới hạn bởi 4 Kbyte, còn ROM ngoài chứa chương trình được gắn vào
8031 thì có thể lớn đến 64 Kbyte. 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 chip 8255. 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.
 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ổ 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. 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.
 Bộ vi điều khiển 8751
Chip 8751 chỉ có 4 Kbyte bộ nhớ UV – EPROM trên chip. Để sử dụng
chip này để phát triển yêu cầu truy cập đến một bộ đốt PROM cũng như bộ xóa
UV – EPROM để xóa 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 chip đối với 8751 là UV
– EPROM nên cần phải mất 20 phút để xóa 8751 trước khi nó có thể 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 8751 từ nhiều hãng khác nhau.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử


19

 Bộ vi điều khiển AT8951 từ Atmel Corporation
Chip 8051 phổ biến này có ROM trên chip ở 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 xóa 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ộ xóa ROM. Lưu ý
rằng trong bộ nhớ Flash ta phải xóa toàn bộ nội dung của ROM nhằm để lập trình
lại cho nó. Việc xóa 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 AT89C51 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.3 Các phiên bản của 8051 từ Atmel (Flash ROM)

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.4. Ví dụ để ý rằng chữ “C” đứng trước số 51 trong AT89C51 –
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ự).
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

20

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.4 Các phiên bản 8051 với tốc độ khác nhau của Atmel

 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 chip 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 chip trong khi
nó vẫn ở trong hệ thống (không cần phải lấy ra).
Bảng 1.5 Các phiên bản 8051 từ hãng Dallas Semiconductor

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 1 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. 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.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

21


Bảng 1.6 Một số thành viên của họ 8051
Mã linh kiện NV- RAM Tốc độ
DS5000-8-8 8K 8MHz
DS5000-8-12 8K 12MHz
DS5000-32-8 32K 8MHz
DS5000-32-12 32K 8MHz (with RTC)
DS5000-32-12 32K 12MHz
DS5000-8-12 8K 12MHz (with RTC)

 Phiên bản OTP của 8051
Các phiên bản OTP của 8051 là các chip 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 phẩ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 xuất
hang loạt vì giá thành một đơn vị sản phẩm sẽ rẻ hơn.
 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/O mở rộng và cả OTP và Flash.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

22

1.5 Các họ vi điều khiển khác
1.5.1 Họ vi điều khiển AMCC
Họ vi điều khiển AMCC do tập đoà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
 PPC 440EP/EPx/GRx
 PPC 440SP/SPe
1.5.2 Họ vi điều khiển Cypress MicroSystems
Crypress nổi tiếng với dòng sản phẩm PsoC, đây là những vi mạch có tích

hợp vi điều khiển, các linh kiện tương tự (các bộ khuếch đại, các bộ biến đổi A/D,
D/A, các bộ lọc, các bộ so sánh…) và các linh kiện số (bộ định thời, bộ đếm, bộ
tạo xung PWM, SPI, UART, I2C…) trên một chip duy nhất. Việc tích hợp hàng
trăm khối chức năng cùng với một bộ điều khiển trên một chip cho phép giảm thời
gian thiết kế, thu gọn kích thước sản phẩm, giảm công suất tiêu thụ và giảm giá
thành sản phẩm.
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

23

 CY8C2xxxx (PSoC)
1.5.3 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)
1.5.4 Họ vi điều khiển Fujitsu
 F²MC Family (8/16 bit)

 FR Family (32 bit)
 FR-V Family (32 bit RISC)
1.5.5 Họ vi điều khiển Intel
 Dòng 8-bit
 8XC42
 MCS48
Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử

24

 MCS51
 8061
 8xC251
 Dòng 16-bit
 80186/88
 MCS96
 MXS296
 Dòng 32-bit
 386EX
 i960
1.5.6 Họ vi điều khiển Microchip
 12-bit instruction PIC
 14-bit instruction PIC
 PIC16F84
 16-bit instruction PIC
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy
tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển
đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi
điều khiển CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và
từ đó hình thành nên dòng vi điều khiển PIC ngày nay.

 Kiến trúc PIC
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc:
kiến trúc Von Neuman và kiến trúc Havard.

×