1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề 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

81 4,2K 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 1,37 MB

Nội dung

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

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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!

Trang 7

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

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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]

Trang 12

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

Trang 13

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

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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

Trang 18

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

Trang 19

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

và UV – RAM của 8751 từ nhiều hãng khác nhau

Trang 20

 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ự)

Trang 21

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

Trang 22

 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

Trang 23

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

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

Trang 24

 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

 FR-V Family (32 bit RISC)

1.5.5 Họ vi điều khiển Intel

 Dòng 8-bit

 8XC42

 MCS48

Trang 25

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

Trang 26

Hình 1.2 Kiến trúc Havard và kiến trúc Von-Neuman

Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Havard Điểm khác biệt giữa kiến trúc Havard và kiến trúc Von-Neuman là cấu trúc bộ nhớ dữ liệu và bộ nhớ chương trình

Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ chương trình và bộ nhớ dữ liệu Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của CPU phải rất cao, vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình Như vậy có thể nói kiến trúc Von-Neuman không thích hợp với cấu trúc của một vi điều khiển

Đối với kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai bộ nhớ riêng biệt Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể

Một điểm cần chú ý nữa là tập lệnh trong kiến trúc Havard có thể được tối ưu tùy theo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu Ví dụ, đối với vi điều khiển dòng 16F, độ dài lệnh luôn là 14 bit (trong khi dữ liệu được tổ chức thành từng byte), còn đối với kiến trúc Von-Neuman, độ dài lệnh

Trang 27

luôn là bội số của 1 byte (do dữ liệu được tổ chức thành từng byte) Đặc điểm này được minh họa cụ thể trong hình 1.1

 RISC và CISC

Như đã trình bày ở trên, kiến trúc Havard là khái niệm mới hơn so với kiến trúc Von-Neuman Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của một vi điều khiển

Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, bus chương trình và bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương trình và bộ nhớ

dữ liệu, giúp tăng tốc độ xử lí của vi điều khiển lên gấp đôi Đồng thời cấu trúc lệnh không còn phụ thuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều chỉnh tùy theo khả năng và tốc độ của từng vi điều khiển Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh của họ vi điều khiển PIC được thiết kế sao cho chiều dài mã lệnh luôn cố định (ví dụ đối với họ 16Fxxxx chiều dài mã lệnh luôn là 14 bit) và cho phép thực thi lệnh trong một chu kì của xung clock ( ngoại trừ một số trường hợp đặc biệt như lệnh nhảy, lệnh gọi chương trình con … cần hai chu kì xung đồng hồ) Điều này có nghĩa tập lệnh của vi điều khiển thuộc cấu trúc Havard sẽ ít lệnh hơn, ngắn hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất định

Vi điều khiển được tổ chức theo kiến trúc Havard còn được gọi là vi điều khiển RISC (Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn Vi điều khiển được thiết kế theo kiến trúc Von-Neuman còn được gọi là vi điều khiển CISC (Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp vì mã lệnh của nó không phải là một số cố định mà luôn là bội số của 8 bit (1 byte)

Trang 28

Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC Một chu kì lệnh của vi điều khiển sẽ bao gồm 4 xung clock Ví dụ ta sử dụng oscillator có tần số 4 MHZ, thì xung lệnh sẽ có tần số 1 MHz (chu kì lệnh sẽ là 1 us) Giả sử ta có một đoạn chương trình như sau:

2 MOVWF PORTB

5 instruction @ address SUB_1

Ở đây ta chỉ bàn đến qui trình vi điều khiển xử lí đoạn chương trình trên thông qua

từng chu kì lệnh Quá trình trên sẽ được thực thi như sau:

Hình 1.3 Cơ chế pipelining

Trang 29

- TCY5: thực thi lệnh đầu tiên của SUB_1 và đọc lệnh tiếp theo của SUB_1 Quá trình này được thực hiện tương tự cho các lệnh tiếp theo của chương trình

Thông thường, để thực thi một lệnh, ta cần một chu kì lệnh để gọi lệnh đó, và một chu kì xung clock nữa để giải mã và thực thi lệnh Với cơ chế pipelining được trình bày ở trên, mỗi lệnh xem như chỉ được thực thi trong một chu kì lệnh Đối với các lệnh mà quá trình thực thi nó làm thay đổi giá trị thanh ghi PC (Program Counter) cần hai chu kì lệnh để thực thi vì phải thực hiện việc gọi lệnh ở địa chỉ thanh ghi

PC chỉ tới Sau khi đã xác định đúng vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một chu kì lệnh để thực thi xong

 Các dòng PIC và cách lựa chọn vi điều khiển PIC

Các kí hiệu của vi điều khiển PIC:

- PIC12xxxx: độ dài lệnh 12 bit

- PIC16xxxx: độ dài lệnh 14 bit

- PIC18xxxx: độ dài lệnh 16 bit

C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)

Trang 30

F: PIC có bộ nhớ flash

LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp

LV: tương tự như LF, đây là kí hiệu cũ

Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash)

Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC

Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất

Cách lựa chọn một vi điều khiển PIC phù hợp:

- Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng

Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44, … chân

- Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình được nhiều lần hơn Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển, các chuẩn giao tiếp bên trong

- Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép

- Ngoài ra mọi thông tin về cách lựa chọn vi điều khiển PIC có thể được tìm thấy trong cuốn sách “Select PIC guide” do nhà sản xuất Microchip cung cấp

 Ngôn ngữ lập trình cho PIC

Ngôn ngữ lập trình cho PIC rất đa dạng Ngôn ngữ lập trình cấp thấp có MPLAB (được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập

Trang 31

trình cấp cao hơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ lập trình được phát triển dành riêng cho PIC như PICBasic, MikroBasic,…

 Mạch nạp PIC

Đây cũng là một dòng sản phẩm rất đa dạng dành cho vi điều khiển PIC Có thể

sử dụng các mạch nạp được cung cấp bởi nhà sản xuất là hãng Microchip như: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II Có thể dùng các sản phẩm này để nạp cho vi điều khiển khác thông qua chương trình MPLAB Dòng sản phẩm chính thống này có ưu thế là nạp được cho tất cả các vi điều khiển PIC, tuy nhiên giá thành rất cao và thường gặp rất nhiều khó khăn trong quá trình mua sản phẩm

Ngoài ra do tính năng cho phép nhiều chế độ nạp khác nhau, còn có rất nhiều mạch nạp được thiết kế dành cho vi điều khiển PIC Có thể sơ lược một số mạch nạp cho PIC như sau:

- JDM programmer: mạch nạp này dùng chương trình nạp Icprog cho phép nạp các vi điều khiển PIC có hỗ trợ tính năng nạp chương trình điện áp thấp ICSP (In Circuit Serial Programming) Hầu hết các mạch nạp đều hỗ trợ tính năng nạp chương trình này

- WARP-13A và MCP-USB: hai mạch nạp này giống với mạch nạp PICSTART PLUS do nhà sản xuất Microchip cung cấp, tương thích với trình biên dịch MPLAB, nghĩa là ta có thể trực tiếp dùng chương trình MPLAB để nạp cho vi điều khiển PIC mà không cần sử dụng một chương trình nạp khác, chẳng hạn như ICprog

- P16PRO40: mạch nạp này do Nigel thiết kế và cũng khá nổi tiếng Ông còn thiết kế cả chương trình nạp, tuy nhiên ta cũng có thể sử dụng chương trình nạp

Trang 32

- Mạch nạp Universal của Williem: đây không phải là mạch nạp chuyên dụng dành cho PIC như P16PRO40

Các mạch nạp kể trên có ưu điểm rất lớn là đơn giản, rẻ tiền, hoàn toàn có thể

tự lắp ráp một cách dễ dàng, và mọi thông tin về sơ đồ mạch nạp, cách thiết kế, thi công, kiểm tra và chương trình nạp đều dễ dàng tìm được và download miễn phí thông qua mạng Internet Tuy nhiên các mạch nạp trên có nhược điểm là hạn chế

về số vi điều khiển được hỗ trợ, bên cạnh đó mỗi mạch nạp cần được sử dụng với một chương trình nạp thích hợp

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

Trang 33

CHƯƠNG 2 TÌM HIỂU VỀ VI ĐIỀU KHIỂN 89S52

2.1 Sơ đồ khối, sơ đồ chân của vi điều khiển 89S52

2.1.1 Giới thiệu sơ lược

Vi điều khiển 8051 được Intel cho ra đời vào năm 1980 thuộc vi điều khiển đầu tiên của họ MCS-51 Hiện tại rất nhiều nhà sản xuất như Siemens,

Advanced Micro Devices, Fusisu tập trung phát triển các sản phẩm trên cơ sở

Các đặc điểm của chip AT89S52 được tóm tắt như sau:

-8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xoá -Tần số hoạt động từ: 0Hz đến 24 MHz

-3 mức khóa bộ nhớ lập trình

-3 bộ Timer/counter 16 Bit

-128 Byte RAM nội

-4 Port xuất /nhập I/O 8 bit

-Giao tiếp nối tiếp

Trang 34

2.1.3 Sơ đồ khối 89S52

Hình 2.1 Sơ đồ khối của bộ vi điều khiển AT89S52

Trang 35

2.1.4 Sơ đồ chân 89S52

Hình 2.2 Sơ đồ chân của AT89S52

Mặc dù các thành viên của họ 8051(8751, 89S52, 89C51, DS5000) đều có các kiểu đóng vỏ khác nhau, chẳng hạn như hai hàng chân DIP,dạng vỏ dẹt vuông QPF

và dạng chip không có chân đỡ LLC thì chúng đều có 40 chân cho các chức năng khác nhau như vào ra I/O, đọc RD, ghi WR, địa chỉ, dữ liệu và ngắt

2.1.5 Chức năng các chân của AT89S52

- Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7) Port 0 có 2 chức năng: trong

các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường

IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus

dữ liệu

Trang 36

Hình 2.3 Sơ đồ Port 0

- Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7) Port 1 là port IO dùng cho giao

tiếp với thiết bị bên ngoài nếu cần

Hình 2.4 Sơ đồ Port 1

- Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7) Port 2 là một port có tác dụng

kép dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng

Trang 37

Hình 2.5 Sơ đồ Port 2

- Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7) Port 3 là port có tác dụng kép

Các chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến

các đặc tính đặc biệt của 89S52 như ở bảng sau:

Bảng 2.1 Các chức năng của Port 3

WR

RD

Ngõ vào dữ liệu nối tiếp

Ngõ xuất dữ liệu nối tiếp

Ngõ vào ngắt cứng thứ 0

Ngõ vào ngắt cứng thứ 1

Ngõ vào TIMER/ COUNTER thứ 0

Ngõ vào của TIMER/ COUNTER thứ 1

Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

Tín hiệu đọc bộ nhớ dữ liệu ngoài

Trang 38

- PSEN (Program store enable): chân cho phép bộ nhớ chương trình

PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở

rộng và thường được nối đến chân OE của Eprom cho phép đọc các byte mã lệnh

PSEN ở mức thấp trong thời gian 89S52 lấy lệnh Các mã lệnh của chương

trình được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89S52 để giải mã lệnh Khi 89S52 thi hành chương trình trong ROM nội, PSEN ở mức cao

- ALE (Address Latch Enable): chân cho phép chốt địa chỉ

Khi 89S52 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ

và dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt

Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò

là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động

- EA (External Access): chân truy xuất ngoài

Tín hiệu vào EA (chân 31) thường được mắc lên mức 1 hoặc mức 0 Nếu ở mức 1, 89S52 thi hành chương trình từ bộ nhớ ROM nội Nếu ở mức 0, 89S52 thi hành chương trình từ bộ nhớ ROM ngoại Chân EA được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 89S52

Trang 39

RST (Reset): Khi ngõ vào tín hiệu này

bên trong được nạp những giá trị thích hợp để

khởi động hệ thống Khi cấp điện mạch phải tự

Trang 40

2.2 Tổ chức bộ nhớ bên trong 89S52

Bộ nhớ trong 89S52 bao gồm ROM và RAM RAM trong 89S52 bao

gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt

AT89S52 có bộ nhớ được tổ chức theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 89S52 nhưng 89S52 vẫn có thể kết nối với 64K byte bộ nhớ chương trình và 64K

byte dữ liệu bên ngoài

Ngày đăng: 27/06/2014, 01:21

HÌNH ẢNH LIÊN QUAN

Bảng 1.1 Các đặc tính của 8051 đầu tiên - Đề 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ảng 1.1 Các đặc tính của 8051 đầu tiên (Trang 16)
1.4.3  Sơ đồ khối chung của họ vi điều khiển 8051 - Đề 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
1.4.3 Sơ đồ khối chung của họ vi điều khiển 8051 (Trang 17)
Bảng  1.2 So sánh các đặc tính của các thành viên họ 8051 - Đề 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
ng 1.2 So sánh các đặc tính của các thành viên họ 8051 (Trang 18)
Bảng 1.5 Các phiên bản 8051 từ hãng Dallas Semiconductor - Đề 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ảng 1.5 Các phiên bản 8051 từ hãng Dallas Semiconductor (Trang 21)
Bảng 1.6  Một số thành viên của họ 8051 - Đề 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ảng 1.6 Một số thành viên của họ 8051 (Trang 22)
Hình 1.2 Kiến trúc Havard và kiến trúc Von-Neuman - Đề 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
Hình 1.2 Kiến trúc Havard và kiến trúc Von-Neuman (Trang 26)
Hình 1.3 Cơ chế pipelining - Đề 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
Hình 1.3 Cơ chế pipelining (Trang 28)
2.1.3  Sơ đồ khối 89S52 - Đề 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
2.1.3 Sơ đồ khối 89S52 (Trang 34)
Hình 2.2  Sơ đồ chân của AT89S52 - Đề 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
Hình 2.2 Sơ đồ chân của AT89S52 (Trang 35)
Hình 2.4  Sơ đồ Port 1 - Đề 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
Hình 2.4 Sơ đồ Port 1 (Trang 36)
Hình 2.3  Sơ đồ Port 0 - Đề 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
Hình 2.3 Sơ đồ Port 0 (Trang 36)
Bảng 2.1  Các chức năng của Port 3 - Đề 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ảng 2.1 Các chức năng của Port 3 (Trang 37)
Hình 2.5  Sơ đồ Port 2 - Đề 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
Hình 2.5 Sơ đồ Port 2 (Trang 37)
Bảng 2.2 Bản đồ bộ nhớ Data bên trong Chip 89S52 được tổ chức như sau: - Đề 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ảng 2.2 Bản đồ bộ nhớ Data bên trong Chip 89S52 được tổ chức như sau: (Trang 41)
Bảng 2.3  Bit chọn Bank thanh ghi - Đề 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ảng 2.3 Bit chọn Bank thanh ghi (Trang 43)
Bảng vector ngắt của 8051: - Đề 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ảng vector ngắt của 8051: (Trang 45)
Bảng 2.5  Thanh ghi cho phép ngắt IE - Đề 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ảng 2.5 Thanh ghi cho phép ngắt IE (Trang 46)
Bảng 2.6  Tóm tắt thanhh ghi chức năng TMOD - Đề 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ảng 2.6 Tóm tắt thanhh ghi chức năng TMOD (Trang 48)
Hình 2.8 VĐK giao tiếp led đơn và phím nhấn - Đề 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
Hình 2.8 VĐK giao tiếp led đơn và phím nhấn (Trang 49)
Hình 2.9 VĐK giao tiếp rơle-5V - Đề 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
Hình 2.9 VĐK giao tiếp rơle-5V (Trang 50)
Bảng 2.8  Bảng mã của Led Cathode chung (các led đơn sáng ở mức 1) - Đề 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ảng 2.8 Bảng mã của Led Cathode chung (các led đơn sáng ở mức 1) (Trang 52)
Hình 2.10 VĐK giao tiếp phím nhấn và LCD - Đề 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
Hình 2.10 VĐK giao tiếp phím nhấn và LCD (Trang 54)
Hình 2.11  VĐK giao tiếp với ma trận led - Đề 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
Hình 2.11 VĐK giao tiếp với ma trận led (Trang 55)
Hình 3.1 Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa  3.1.2  Kết nối với vi điều khiển - Đề 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
Hình 3.1 Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa 3.1.2 Kết nối với vi điều khiển (Trang 57)
Hình 3.2  Sơ đồ chân ADC0804  3.2.2 Chức năng các chân ADC0804 - Đề 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
Hình 3.2 Sơ đồ chân ADC0804 3.2.2 Chức năng các chân ADC0804 (Trang 59)
Hình 3.3 Kết nối ADC0804 với các thiết bị - Đề 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
Hình 3.3 Kết nối ADC0804 với các thiết bị (Trang 61)
Bảng 3.1 Quan hệ điện áp V ref/2 với Vin - Đề 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ảng 3.1 Quan hệ điện áp V ref/2 với Vin (Trang 62)
Hình 3.4  Sơ đồ chân LM35 dạng TO-92 - Đề 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
Hình 3.4 Sơ đồ chân LM35 dạng TO-92 (Trang 63)
Hình 4.1 Lưu đồ thuật toán - Đề 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
Hình 4.1 Lưu đồ thuật toán (Trang 67)
Hình 4.3 Sơ đồ mạch in - Đề 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
Hình 4.3 Sơ đồ mạch in (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w