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

Thiết kế bảng điện tử dùng trong bóng đá

80 775 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 80
Dung lượng 3,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hình1.1: Một số hình ảnh về các ứng dụng của hệ thống nhúng Hệ thống nhúng được thiết kế để thực hiện một chức năng chuyên biệt nào đó trong một hệ thống lớn, phức tạp hơn.. Các khối chứ

Trang 1

LỜI NÓI ĐẦU

Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về khoa học kĩthuật và gần đây nhất là cuộc cách mạng về công nghệ thông tin Với sự trợ giúpcủa máy tính và hệ thống máy tính, con người đã nâng cao năng suất và tự độnghóa ngày một hiệu quả hơn Tuy nhiên, nói đến máy tính thì phải nói đến mộtlĩnh vực quan trọng gấp bội, đó chính là nền công nghiệp điện tử

Nền công nghiệp điện tử và các sản phẩm của nó là nền tảng cơ bản nhấtcho việc ra đời của máy tính và sâu xa hơn chính là nền sản xuất hiện đại ngàynay Các sản phẩm của công nghiệp điện tử đã đi sâu vào đời sống của mỗi cuốcgia, vùng lãnh thổ và mỗi con người chúng ta Công nghiệp điện tử là lĩnh vựckhông thể thiếu đối với tất cả các khía cạnh trong cuộc sống hiện đại ngày nay

Nằm trong chương trình đào tào kĩ sư công nghệ thông tin chuyênnghành kỹ thuật máy tính Đại học Công nghệ thông tin và Truyền thông – Đạihọc Thái Nguyên Em được thầy cô tận tình hướng dẫn thực hiện nghiên cứu và

thiết kê đề tài ’’Thiết kế bảng điện tử dùng trong bóng đá’’ đây là đề tài hay và

có khối lượng công việc khá lớn bao gồm cơ khí, điện tử, lập trình điều khiển có

độ chính xác cao và được ứng trong thực tế

Trong quá trình thực hiện đồ án, em đã tính toán và thiết kế sao cho quátrình hoạt động của bảng điện tử là tối nhất trong khả năng của mình, công năngnhiều nhất.Tuy nhiên em đã gặp nhiều khó khăn trong việc thiết kế như về thờigian và kinh nghiệm nên bảng điện tử vẫn chưa được như mong muốn, kínhmong thầy, cô và các bạn đóng góp ý kiến để đề tài của em hoàn thiện hơn

Trang 2

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

LỜI NÓI ĐẦU 3

MỤC LỤC 4

CHƯƠNG 1:TỔNG QUAN VỀ HỆ THỐNG NHÚNG 9

1.1 Giới thiệu về hệ thống nhúng 9

1.1.1 Định nghĩa 9 1.1.2 Lịch sử phát triển 10 1.1.3 Cấu trúc cơ bản của một hệ thống nhúng 11 1.2 Đặc điểm 12

1.2.1 Đặc điểm chung của hệ thống nhúng 12 1.3 Giao diện hệ thống nhúng 13

1.4 Kiến trúc CPU 13

1.5 Thiết bị ngoại vi 13

1.6 Công cụ phát triển 14

1.7 Độ tin cậy 14

1.8.Vấn đề thời gian thực 15

1.9 Các đặc trưng của hệ thống nhúng 16

1.10 Các hệ điều hành nhúng và phần mềm nhúng 17

1.10.1 Các hệ điều hành nhúng 17 1.10.2 Phần mềm nhúng (Embedded Software) 17 1.10.3 Phần cứng nhúng 18 1.10.4 Các bộ VĐK cho các hệ thống nhúng 19 1.11 Xu hướng phát triển và những vấn đề tồn tại của hệ thống nhúng 20

1.11.1 Xu hướng phát triển 20 1.11.2 Những thách thức và các vấn đề tồn tại của hệ nhúng 21 1.12 Mộ số ứng dụng của hệ thống nhúng 21

1.13 Kết luận 22

CHƯƠNG 2 23

HỌ VI ĐIỀU KHIỂN MCS51 23

2.1 Giới thiệu về họ vi điều khiển 23

2.2 Từ bộ vi xử lý đến vi điều khiển 23

2

Trang 3

2.3 Cấu trúc, tính năng của vi điều khiển 8051 25

2.3.1 Cấu trúc của 8051 25 2.3.2 Đơn vị xử lý trung tâm 25 2.3.3 Các bus 25 2.3.4 Bộ nhớ 26 2.3.5.Cổng vào/ra song song 26 2.3.6 Cổng vào/ra nối tiếp 26 2.3.7 Bộ đếm/bộ định thời 27 2.4 Một số chip thuộc họ MSC-51 28

2.5 Sơ đồ chân của 8051 28

2.5.1 Cổng P0 29 2.5.2.Cổng P1 30 2.5.3 Cổng P2 31 2.5.4 Cổng P3 32 2.6.Chân VCC 33

2.7.Chân GND 33

2.8 Chân XTAL1 và XTAL2 33

2.9 Chân RST 34

2.10 Chân EA 34

2.11 Chân PSEN 35

2.12 Chân ALE 35

2.13 Tổ chức bộ nhớ 35

2.13.1.Tổ chức bộ nhớ trong 35 2.13.2 Tổ chức bộ nhớ ngoài36 2.14 Bộ nhớ chương trình ngoài 37

2.15 Bộ nhớ dữ liệu ngoài 38

2.16 Bộ nhớ chương trình và bộ nhớ dữ liệu dùng chung 39

CHƯƠNG 3: THIẾT KẾ , XÂY DỰNG MẠCH 40

3.1 Phương án thiết kế mạch 40

3.2 Giới thiệu các linh kiện 40

3.2.1 Cấu tạo và nguyên lý hoạt động của led 7 thanh 40 3.2.2 Nguyên lý hoạt động của led 7 thanh 41 3.3 Cấu tạo và nguyên lý hoạt động của led matrix 8x8 41

3.4 Cấu tạo và nguyên lý hoạt động của IC74HC573 42 3.4.1 Cấu tạo của IC 74HC573 42

Trang 4

3.4.2 Nuyên lý hoạt động của IC 74HC573 43

3.5 Cấu tạo và nguyên lý hoạt động của IC 74HC595 443.5.1 Cấu tạo của IC 74HC595 44

3.5.2 Nguyên lý hoạt động của IC 74HC595 443.7 Cấu tạo và nguyên lý hoạt động của bàn phím 3x4 453.7.1 Nguyên lý hoạt động của bàn phím 3x4 45

3.7.2 Nguyên lý quét bàn phím 3x4 45

3.8.Mạch nguyên lý khối công suất 463.9.Mạch nguyên lý khối conector(kết nối) 463.8 Sơ đồ khối chức năng 473.8.1 Sơ đồ khối hiển thị 47

3.8.2 Sơ đồ khối xử lý 47

3.8.3 Sơ đồ thuật toán chương trình 48

3.9.Xây dựng chương trình dùng phần mềm keil C 513.9.1 Khởi tạo project chon new project (Cách lập trình keil C) 51

3.9.1 Lựa chọn vi xử lý 513.9.2 Lựa chọn new file 52

3.9.3 Tạo file manhkha.c 52

3.9 Mạch mô phỏng chương trình 533.9.1.Giao diện ban đầu khởi động chương trình 53

3.9.1.Chương trình tỷ số trận đấu 54

3.9.1.Chương trình hiển thị thời gian bù giờ 55

3.9.2.Chương trình hiển thị thời gian bù giờ trận đấu 56

3.10.Thiết kế mạch phần cứng 563.10.1.Linh kiện dùng trong thiết kế phần cứng 56

3.10.1 Sơ đồ mạch in khối hiển thị 57

3.11.11 Sơ đồ mạch in khối điều khiển 57

3.12 Kết quả thực nghiệm 583.12.1 Giao diện mạch ban đầu khi cấp nguồn nuôi 58

3.12.2 Giao diện mạch ở chế độ thời gian bù giờ 59

3.12.3 Giao diện mạch ở chế độ hiển thị tỷ số trận đấu bóng đá 60

3.12.3 Giao diện mạch ở chế độ hiển thay người trong bóng đá 61

KẾT LUẬN 62

4

Trang 5

DANH MỤC CÁC HÌNH

Hình1.1: Một số hình ảnh về các ứng dụng của hệ thống nhúng 9

Hinh 1.2: Kiến trúc điển hình của các chip VXL/VĐK nhúng 11

Hình 1.3: Phân bố và quan hệ giữa hệ nhúng và thời gian thực 15

Hình 1.4 – Hệ thống nhúng tích hợp trong giày thể thao thông minh của hãng Adidas 18

Hình 1.5– Hệ thống camera 18

giám sát không dây 18

Hinh 1.6: Các hình ảnh minh họa ứng dụng của HTN 21

Hình 2.1 : Hệ thống vi xử lý được so sánh với hệ thống vi điều khiển 24

Hình 2.3: Sơ đồ chân 8051 29

Hình 2.4: Cổng P0 với các điện trở kéo 30

Bảng 3.1 cung cấp các chức năng khác của cống P3 Thông tin này áp dụng cho cả 8051 và 8031 32

Hình 2.5 : a) Nối XTAL tới 8051 b) Nối XTAL tới nguồn đồng bộ ngoài 33

Hình 2.6: a) Mạch tái bật nguồn RESET b) Mạch tái bật nguồn với Debounce 34 Hinh 2.7 : Tổ chức bộ nhớ RAM trong họ µC8051 36

Hình 2.9: Giao tiếp bộ nhớ chương trình ngoài 38

Hinh 2.10: Giao tiếp bộ nhớ dữ liệu ngoài 38

Hình 2.11 : Giao tiếp bộ nhớ chương trình và dữ liệu ngoài dùng chung 39

Hình 3.1 Led 7 thanh 40

Hình 3.2 Sơ đồ mạch nguyên lý led 7 thanh 41

Hình 3.2 led matrix 8x8 41

Hình 3.3.Sơ đồ nguyên lý của led matrix 8x8 42

Hình 3.4 IC 74HC573 42

Hình 3.5 nguyên lý hoạt động IC74HC573 43

Hình 3.6 IC 74HC595 44

Hình 3.8 Bàn phím 45

Hình 3.9 Mạch nguyên lý khối công suất 46

Hình 3.10 Mạch nguyên lý khối conector 46

Hình 3.11 Khối hiển thị 47

Hình 3.12 Sơ đồ khối xử lý 47

Hình 3.13 Sơ đồ thuật toán vi xử lý 1(CPU1) 48

Trang 6

Giải thích sơ đồ thuật toán chương trình vi xử lý 1(CPU1) 49

Hinhd 3.14.Sơ đồ thuật toán vi xử lý 2(CPU2) 50

Hinhd 3.15 Khởi tạo project chon new project 51

Hinhd 3.16 Lựa chọn vi xử lý 51

Hinhd 3.17 Lựa chọn new file 52

Hinhd 3.19 Tạo file hoangmanhkha.c 52

Hình 3.20 Dịch chương trình sang file.hex 53

Hình 3.21 Giao diện phần mềm proteus 53

Hình 3.22 Giao diện phần mềm proteus 54

Hình 3.24 Giao diện phần mềm proteus 56

Hình 3.25 Sơ đồ mạch in khối hiển thị 57

Hình 3.26 Sơ đồ mạch in khối điều khiển 57

6

Trang 7

CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG NHÚNG

1.1 Giới thiệu về hệ thống nhúng

1.1.1 Định nghĩa

Hệ thống nhúng (Embedded System): Là một thuật ngữ để chỉ một hệ thống

có khả năng tự trị (có khả năng tự điều khiển mà không cần tác động của bênngoài) được nhúng vào trong một môi trường hay một hệ thống mẹ Hệ thốngnhúng có vai trò đảm nhận một công việc cụ thể của hệ thống mẹ Hệ thốngnhúng có thể là một hệ thống phần cứng, cũng có thể là một hệ thống phần mềm

và có thể là một hệ thống kết hợp cả phần cứng lẫn phần mềm

Hình1.1: Một số hình ảnh về các ứng dụng của hệ thống nhúng

Hệ thống nhúng được thiết kế để thực hiện một chức năng chuyên biệt nào

đó trong một hệ thống lớn, phức tạp hơn Khác với máy tính đa chức năng, chẳnghạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vàichức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một sốthiết bị máy móc và phần cứng chuyên dụng mà ta không tìm thấy trong một máytính đa năng nói chung Vì hệ thống chỉ được xây dựng cho một số nhiệm vụnhất định nên các nhà thiết kế có thể tối ưu hoá nó nhằm giảm thiểu kích thước

và chi phí sản xuất Các hệ thống nhúng thường được sản xuất hàng loạt với sốlượng lớn Hệ thống nhúng rất đa dạng và phong phú về chủng loại Đó có thể lànhững thiết bị cầm tay nhỏ gọn như đồng hồ kỹ thuật số hay máy chơi nhạc MP3,hoặc những sảm phẩm lớn như thiết bị điều khiển đèn giao thông, bộ kiểm soáttrong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân Xét về độphức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức

Trang 8

tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được lắp ráp nhỏ gọntrong một lớp vỏ máy lớn.

1.1.2 Lịch sử phát triển

Hệ thống nhúng đầu tiên là Apollo Guidance Computer (Máy tính dẫnđường Apollo) được phát triển bởi Charles Stark Draper tại phòng thí nghiệm củatrường đại học MIT Hệ thống nhúng được sản xuất hàng loạt đầu tiên là máydẫn đường cho tên lửa quân sự vào năm 1961 Nó là máy dẫn đường AutoneticsD-17, được xây dựng sử dụng từ các bóng bán dẫn và một đĩa cứng để làm bộnhớ Khi Minuteman II được đưa vào sản xuất năm 1996, D-17 được thay thế vớimột máy tính mới sử dụng các mạch tích hợp Tính năng thiết kế chủ yếu củamáy tính Minuteman là nó đưa ra thuật toán có thể lập trình lại sau đó để điềukhiển tên lửa chính xác hơn, và máy tính có thể kiểm tra hoạt động của tên lửa,giảm trọng lượng của cáp điện và đầu nối điện

Từ những ứng dụng đầu tiên vào những năm 1960, các hệ thống nhúng đãđược giảm giá và phát triển mạnh mẽ về khả năng xử lý Bộ xử lý đầu tiên hướngtới người tiêu dùng là Intel 4004, được phát minh phục vụ máy tính điện tử vànhững hệ thống nhỏ khác Tuy nhiên nó vẫn cần các chip nhớ ngoài và những hỗtrợ khác Vào những năm cuối năm 1970, những bộ xử lý 8-bit đã được sản xuất,nhưng nhìn chung chúng vẫn cần đến các chip nhớ bên ngoài

Vào giữa thập niên 80, kỹ thuật mạch tích hợp đã đạt trình độ cao dẫn đếnnhiều thành phần có thể tích hợp vào một chip xử lý Các bộ vi xử lý nàyđượcgọi là các vi điều khiển và được chấp nhận rộng rãi Với giá cả thấp, các vi điềukhiển đã trở nên rất hấp dẫn để xây dựng nên các hệ thống chuyên dụng Đã cómột sự bùng nổ về số lượng các hệ thống nhúng trong tất cả các lĩnh vực thịtrường và số các nhà đầu tư sản xuất theo hướng này Ví dụ, rất nhiều chip xử lýđặc biệt xuất hiện với nhiều giao diện lập trình hơn là kiểu song song truyềnthống để kết nối các vi xử lý Vào cuối những năm 80, các hệ thống nhúng đã trởnên phổ biến trong hầu hết các thiết bị điện tử, khuynh hướng này vẫn còn tiếptục cho đến tận bây giờ

Khái niệm hệ thống nhúng được nhiều người chấp nhận nhất là: hệ thốngthực hiện một số chức năng đặc biệt có sử dụng vi xử lý Không có hệ thốngnhúng nào chỉ có phần mềm

8

Trang 9

1.1.3 Cấu trúc cơ bản của một hệ thống nhúng

Các hệ nhúng là những hệ kết hợp phần cứng và phần mềm một cách tối

ưu Một số đặc trưng cơ bản của hệ nhúng ngoài tính chuyên dụng nó còn bị ràngbuộc về hoạt động trong chế độ thời gian thực, hạn chế về bộ nhớ, năng lượng vàgiá thành mà lại đòi hỏi hoạt động tin cậy và tiêu tốn ít năng lượ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ácsả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ý (hoặcmột bộ vi điều khiển) để thực hiện một nhiệm vụ và chỉ một mà thôi

Các khối chức năng cơ bản của một hệ vi xử lý/vi điều khiển nhúng gồm:

 Đơn vị xử lý trung tâm (CPU)

 Bộ nhớ gồm có bộ nhớ chương trình và bộ nhớ dữ liệu

 Thiết bị vào (Input)

 Thiết bị ra (Output)

Hinh 1.2: Kiến trúc điển hình của các chip VXL/VĐK nhúng

1.1.4 Đơn vị xử lý trung tâm CPU- Central Processing Unit

Đóng vai trò như một bộ não chịu trách nhiệm thực thi các phép tính vàthực hiện các lệnh Phần chính của CPU đảm nhiệm chức năng này là đơn vị xử

lý toán học ALU (Arthimetic Logic Unit) Ngoài ra để hỗ trợ cho hoạt động củaALU còn có thêm một số các thành phần khác như bộ giải mã (decoder), bộ tuần

tự (sequencer) và các thanh ghi (registers) Trong các hệ thống nhúng thường sửdụng các loại CPU đa dụng - các thiết bị ngoại vi như: bộ nhớ, cổng vào ra đãđược tích hợp sẵn trên chip như 8051, 8031, 8052, 8032, AT89C51, AT89S52

Trang 10

1.1.5 Bộ nhớ (Memory)

Nhìn chung có hai loại bộ nhớ là bộ nhớ chương trình và bộ nhớ dữ liệu

Bộ nhớ chương trình dùng để chứa mã chương trình hướng dẫn CPU thực hiệnmột nhiệm vụ nào đó có thể kể ra một số loại như ROM, PROM, EPROM, Flash

Bộ nhớ dữ liệu là bộ nhớ dùng để chứa dữ liệu (bao gồm các tham số, các biếntạm thời, ) Bộ nhớ được sử dụng để chứa mã chương trình và các dữ liệu điềukhiển hoạt động của hệ thống, thường được tích hợp sẵn trên chip

1.2.1 Đặc điểm chung của hệ thống nhúng

Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyêndụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng Một số

hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ antoàn và tính ứng dụng, một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ,cho phép đơn giản hoá hệ thống phần cứng để giảm thiểu chi phí sản xuất

Một hệ thống nhúng thường không phải là một khối riêng biệt mà là mộtkhối phức tạp nằm trong thiết bị mà nó điều khiển

Phần mềm được viết cho hệ thống nhúng được gọi là firmware và đượclưu trữ trong một chip nhớ chỉ đọc (read- only memory) hoặc bộ nhớ flash (tíchhợp sẵn trong CPU) chứ không phải là trong một ổ đĩa Phần mềm thường chạyvới số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc cónhưng với kích thước nhỏ, bộ nhớ hạn chế

10

Trang 11

1.3 Giao diện hệ thống nhúng

Các hệ thống nhúng có thể không có giao diện HMI - người dùng (đối vớinhững hệ thống đơn nhiệm) hoặc có đầy đủ giao diện giao tiếp với người dùngtương tự như các hệ điều hành trong các thiết bị để bàn Đối với các hệ thống đơngiản thiết bị nhúng sử dụng nút bấm, đèn LED và hiển thị chữ cỡ nhỏ hoặc chỉhiển thị số, thường đi kèm với một hệ thống menu đơn giản

Còn trong hệ thống phức tạp hơn, một màn hình đồ hoạ, cảm ứng hoặc cócác nút bấm ở lề màn hình cho phép thực hiện các thao tác phức tạp mà tối thiểuhoá được khoảng không gian cần sử dụng; ý nghĩa +của các nút bấm có thể thayđổi theo màn hình và các sự lựa chọn Các hệ thống nhúng thường có một mànhình với một nút bấm dạng cần điều khiển (joystick button) Sự phát triển mạnh

mẽ của mạng toàn cầu đã mang đến cho những nhà thiết kế hệ nhúng một sựchọn lựa mới là sử dụng giao diện wed thông qua việc kêt nối mạng Điều này cóthể giúp tránh được chi phí cho những màn hình phức tạp nhưng đồng thời vẫncung cấp khả năng hiển thị và nhập giữ liệu phức tạp khi cần đến thông qua mộtmáy tính khác

1.4 Kiến trúc CPU

Các bộ xử lý bên trong hệ thống nhúng có thể được chia thành hai loại: vi

xử lý và vi điều khiển Các vi điều khiển thường có các thiết bị ngoại vi được tíchhợp trên chip nhằm giảm kích thước của hệ thống Có rất nhiều loại kiến trúcCPU được sử dụng trong thiết kế hệ nhúng như họ MCS51 Điều này trái ngượcvới các loại máy tính để bàn, thường bị hạn chế với một vài kiến trúc máy tínhnhất định Các hệ thống nhúng có kích thước nhỏ và được thiết kế để hoạt độngtrong môi trường thường lựa chọn PC /104 và PC/104++ làm nền tảng Những hệthống này thường sử dụng DOS, Linux, NetBSD hoặc các hệ điều hành nhúngthời gian thực như QNX hay VxWorks Còn các hệ thống nhúng có kích thướcrất lớn thường sử dụng một cấu hình thông dụng là hệ thống on-chip (System onchip - SoC), một bảng mạch tích hợp cho những ứng dụng cụ thể (an application-specific integrated circuit-ASIC)

1.5 Thiết bị ngoại vi

Hệ thống nhúng giao tiếp với hệ thống bên ngoài thông qua các thiết bịngoại vi, ví dụ như:

– Serial Communication Interface (SCI): RS-232, RS-422, RS-485

– Synchronous Serial Communcation Interface: 12C, JTAG,SPI, SSC và ESSI

Trang 12

– Universal Serial Bus (USB)

– Networks: Controller Area Network, Lon Works

– Bộ định thời: PLL(s), Capture/Compare và Time Processing Units

– Discrete IO: General Purpose Input/Output (GPIO)

1.6 Công cụ phát triển

Tương tự như các công cụ phần mềm khác, phần mềm hệ thống nhúngcũng được phát triển nhờ việc sử dụng các trình biên dịch (compilers), chươngtrình hợp ngữ (assembler) hoặc các công cụ gỡ rối (debuggers) Tuy nhiên cácnhà thiết kế hệ thống nhúng cá thể sử dụng một số công cụ chuyên dụng như:

 Bộ gỡ rối mạch hoặc các chương trình mô phỏng (emulator)

 Tiện ích để thêm các giá trị checksum hoặc CRC vào chương trình,giúp hệ thống có thể kiểm tra tính hợp lệ của chương trình đó

 Đối với các hệ thống xử lý tín hiệu số, người phát triển hệ thống cóthể sử dụng phần mềm workbench như MathCad hoặc Mathematica

để mô phỏng các phép toán

 Các trình biên dịch và trình liên kết (linker) chuyên dụng được sửdụng để tối ưu hoá một thiết bị phần cứng

 Một hệ thống nhúng có thể có ngôn ngữ lập trình và công cụ thiết

kế riêng của nó hoặc sử dụng và cải tiến từ một ngôn ngữ có sẵn Các công cụ phần mềm có thể được tạo ra bởi các công ty phần mềmchuyên dụng về hệ thống nhúng hoặc chuyển đổi từ các công cụ phát triển phầnmềm GNU Đôi khi, các công cụ phát triển dành cho máy tính cá nhân cũng được

sử dụng nếu bộ vi xử lý của hệ thống nhúng đó gần giống với bộ vi xử lý củamáy tính PC thông dụng

1.7 Độ tin cậy

Các hệ thống nhúng thường nằm trong các cỗ máy được kỳ vọng là sẽchạy hàng năm trời liên tục mà không bị lỗi hoặc có thể khôi phục hệ thống khigặp lỗi Vì thế, các phần mềm hệ thống nhúng được phát triển và kiểm thử mộtcách cận thận hơn là phần mềm cho máy tính cá nhân Ngoài ra các thiết bị rờikhông đáng tin cậy như ổ đĩa, công tắc hoặc nút bấm thường bị hạn chế sử dụng.Việc khôi phục hệ thống khi gặp lỗi có thể được thực hiện bằng cách sử dụng các

kỹ thuật như watchdog timer - nếu phần mềm không đều đặn nhận được các tínhiệu watchdog định kỳ thì hệ thống sẽ bị khởi động lại

Một số vấn đề cụ thể về độ tin cậy như:

12

Trang 13

 Hệ thống không ngừng để sửa chữa một cách an toàn, ví dụ như ởcác hệ thống không gian, hệ thống dây cáp dưới đáy biển, các đèntín hiệu đường, Giải pháp đưa ra là chuyển sang sử dụng các hệthống con dự trữ hoặc các phần mềm cung cấp một phần chứcnăng.

 Hệ thống phải được chạy liên tục vì tính an toàn, ví dụ như cácthiết bị đường dẫn máy bay, thiết bị kiểm soát độ an toàn trong cácnhà máy hoá chất, Giải pháp đưa ra là lựa chọn backup hệ thống

 Nếu hệ thống ngừng hoạt động sẽ gây tổn thất rất nhiều về tiền của

ví dụ như các dịch vụ buôn bán tự động, hệ thống chuyển tiền, hệthống kiểm soát trong các nhà máy

1.8.Vấn đề thời gian thực

Trong ngành khoa học máy tính, bộ môn tính toán thời gian thực nghiêncứu các hệ thống phần cứng và phần mềm chịu "ràng buộc thời gian thực"- cácgiới hạn về khoảng thời gian từ sự kiện xảy ra cho tới khi phản ứng với sự kiện

đó Ngựơc lại một hệ thống phi thời gian thực là hệ thống không có giới hạn về

thời gian phản ứng, ngay cả khi phản ứng nhanh hay hiệu quả cao là điều được

mong muốn Nhu cầu về phần mềm thời gian thực thường được sử dụng trongngữ cảnh của các hệ điều hành thời gian thực và các ngôn ngữ lập trình đồng bộ(Synchronous programming language)- những thứ cung cấp framework cho việcxây dựng các phần mềm ứng dụng thời gian thực

Thời gian thực cứng là khi hệ thống hoạt động với yêu cầu thoả mãn sựràng buộc trong khung thời gian cứng tức là nếu vi phạm thì sẽ dẫn đến toàn bộhoạt động của toàn hệ thống bị sai hoặc bị phá huỷ

Thời gian thực mềm là khi hệ thống hoạt động với yêu cầu thoả mãn ràngbuộc trong khung thời gian mềm, nếu vi phạm và sai lệch nằm trong khoảng chophép thì hệ thống vẫn có thể hoạt động được và chấp nhận được

Hình 1.3: Phân bố và quan hệ giữa hệ nhúng và thời gian thực

Hình vẽ trên cho thấy rằng hầu hết hệ nhúng là các hệ thời gian thực vàhầu hết thời gian thực là hệ nhúng Điều này phản ánh mối quan hệ mật thiết giữa

Trang 14

hệ nhúng và thời gian thực, và tính thời gian thực đã trở thành như một thuộc tínhtiêu biểu của hệ nhúng Vì vậy hiện nay khi đề cập đến các hệ nhúng người tađều nói đến đặc tính cơ bản của nó là tính thời gian thực.

Mỗi hệ thống thời gian thực có thể là một hệ thống mà việc nó phản ứng

đủ nhanh với các sự kiện để đáp ứng được các thời hạn có tính chất quyết địnhđối với thành công của hệ thống Hệ thống bó phanh của ô tô là một ví dụ đơngiản về một hệ thống tính toán thời gian thực - ràng buộc thời gian thực trong hệthống này là khoảng thời gian ngắn mà phanh phải được nhả ra sau khi giữ đểtránh việc bánh xe bị khoá lại Các tính toán thời gian thực được coi là thất bạinếu chúng không được hoàn thành trứơc thời hạn, trong đó thời hạn được tínhtương đối đối với một sự kiện Hệ thống nhất định phải tính toán kịp thời hạn, bất

kể trọng tải của hệ thống cao đến đâu

 Hiệu quả về thời gian thưc hiện

 Kích thước và khối lượng

 Giá thành

– Phân hoạch tác vụ và chức năng hóa: Các bộ vi xử lý trong các hệ nhúng thường được sử dụng để đảm nhiệm và thực hiện một hoặc một nhóm chức năng rất độc lập và cũng đặc thù cho từng phần chức năng của hệ thống lớn

mà nó được nhúng vào Khả năng này làm tăng thêm sự chuyên biệt hóa về chức năng của một hệ thống lớn và dễ dàng hơn cho quá trình xây dựng, vận hành và bảo trì

14

Trang 15

1.10 Các hệ điều hành nhúng và phần mềm nhúng

1.10.1 Các hệ điều hành nhúng

Khác với PC thường chạy trên hệ điều hành Windows hoặc Unix, các hệthống nhúng có các hệ điều hành nhúng riêng của mình Các hệ điều hành dùngtrong các hệ nhúng nổi trội hiện nay là Embedded Linux, Vxworks, Win CE,Lynyos, BSD, Green Hills, QNX, DOS

Embedded Linux hiện đang phát triển và chiếm vị trí số một Hiện nay40% các nhà thiết kế các hệ nhúng cân nhắc đầu tiên sử dụng là EmbeddedLinux cho các ứng dụng mới của mình và sau đó mới đến các hệ nhúng truyềnthống như VxWorks, Win CE Các đối thủ cạnh tranh của Embedded Linux hiênnay là các hệ điều hành nhúng tự tạo và Windowns CE

Sở dĩ Embedded Linux có sự phát triển vượt bậc là do sức hấp dẫn đối vớicác ứng dụng không đòi hỏi thời gian thực như sep-top, các hệ server nhúng, cácứng dụng giá thành thấp và đòi hỏi thời gian đưa sản phẩm ra thị trường nhanh.Mặt khác Linux là phần mềm mã nguồn mở nên bất kỳ ai cũng có thể hiểu vàthay đổi theo ý của mình Linux cũng là một hệ điều hành có cấu trúc module vàchiếm ít bộ nhớ mà trong khi Windows không có các đặc tính ưu việt này

Bên cạnh các ưu điểm thì Embedded Linux có các nhược điểm sau:

 Embedded Linux không phải là hệ điều hành thời gian thực nên cóthể không phù hợp với một số ứng dụng như điều khiển quá trình,các ứng dụng có các yêu cầu cần xử lý khẩn cấp

 Embedded Linux thiếu một chuẩn thống nhất và không phải là sảnphẩm của một nhà cung cấp duy nhất nên khả năng hỗ trợ kỹ thuật ít

1.10.2 Phần mềm nhúng (Embedded Software)

Phần mềm nhúng là phần mềm tạo nên phần hồn, phần trí tuệ của các sảnphẩm nhúng Phần mềm nhúng ngày nay có tỷ lệ giá trị cao trong giá trị của cácsản phẩm nhúng

Hiện nay phần lớn các phần mềm nhúng nằm trong các sản phẩm truyềnthống và các sản phẩm điện tử tiêu dùng (consumer electronics), tiếp đến là trongcác sản phẩm ô tô, phương tiện vận chuyển, máy móc, thiết bị y tế, các thiết bịnăng lượng, các thiết bị cảnh báo bảo vệ, các sản phẩm đo và điều khiển

Để có thể tồn tại và phát triển, các sản phẩm công nghiệp và tiêu dùngphải thường xuyên đổi mới và ngày càng có nhiều chức năng tiện dụng và thôngminh hơn Các chức năng này phần lớn do các chương trình nhúng tạo nên Phần

Trang 16

mềm nhúng là một lĩnh vực công nghệ then chốt cho sự phát triển kinh tế củanhiều quốc gia trên thế giới như: Nhật Bản, Hàn Quốc, Phần Lan, Trung Quốc.Tại Mỹ có nhiều chương trình hỗ trợ của nhà nước để phát triển các hệ thống vàphần mềm nhúng Hàn Quốc có những dự án lớn nhằm phát triển công nghệ phầnmềm nhúng như các thiết bị gia dụng, nối mạng internet, hệ thống phần mềmnhúng cho phát triển thành phố thông minh, dự án phát triển nghành công nghiệpphần mềm nhúng, trung tâm hỗ trợ các nghành công nghiệp hậu PC Hàn Quốccũng chấp nhận Embedded Linux là một hệ điều hành chủ chốt trong việc pháttriển các sản phẩm nhúng của mình Thuỵ Điển coi việc phát triển các hệ nhúng

là một chiến lược quan trọng trong sự phát triển của đất nước Phần Lan cónhững chính sách quốc gia tích cực cho nghiên cứu phát triển những hệ nhúngđặc biệt là các phần mềm nhúng Những quốc gia này còn thành lập nhiều việnnghiên cứu và trung tâm phát triển các hệ nhúng

1.10.3 Phần cứng nhúng

Vì sự phát triển hệ nhúng là sự kết hợp nhuần nhuyễn giữa phần cứng vàphần mềm nên công nghệ gắn liền với nó cũng chính là công nghệ kết hợp giữacác giải pháp cho phần cứng và mềm Vì tính chuyên biệt của các thiết bị /hệnhúng nên các nền phần cứng cũng được chế tạo để ưu tiên đáp ứng cho chứcnăng hay nhiệm vụ cụ thể của yêu cầu thiết kế đặt ra, từ đơn giản đến phức tạp và

sự ra đời của các hệ nhúng nhằm thỏa mãn các ứng dụng đa dạng đó Chính vìvậy các chíp vi xử lý, vi điều khiển 8 bít, 16 bít, 32bít và các chíp siêu xử lý khácvẫn đang được ứng dụng rộng rãi cho hệ nhúng

Hình 1.4 – Hệ thống nhúng tích hợp trong giày

thể thao thông minh của hãng Adidas.

Hình 1.5– Hệ thống camera giám sát không dây.

Với mỗi một nền phần cứng thường có những đặc thù riêng và kèm theomột giải pháp phát triển phần mềm tối ưu tương ứng Không có một giải phápnào chung và chuẩn tắc cho việc thiết kế cụ thể của tất cả các hệ thống nhúng.Chính vì vậy thông thường các nhà phát triển và cung cấp phần cứng cũng lại

16

Trang 17

chính là nhà cung cấp giải pháp phần mềm hoặc công cụ phát triển phần mềmkèm theo Rất phổ biến hiện nay các chíp vi xử lý hay vi điều khiển cũng nhưnhiều các chíp xử lý nhúng đều có hệ phát triển (Starter Kit hay Emulator) để hỗtrợ cho các nhà ứng dụng và xây dựng hệ nhúng với hiểu biết hạn chế về phầncứng Điều này cho phép các nhà thiết kế tối ưu và đơn giản hóa rất nhiều chocác bước phát triển và xây dựng hệ nhúng.

Vi điều khiển thực chất có thể coi là một máy tính được tích hợp trên mộtchíp, nó thường được sử dụng để điều khiển các thiết bị điện tử Vi điều khiểnthực chất là một hệ thống bao gồm một vi xử lý có hiệu suất đủ dùng và giáthành thấp (khác với các bộ vi xử lý đa năng dùng trong máy tính) kết hợp vớicác khối ngoại vi như bộ nhớ, các mô đun vào/ra, các mô đun biến đổi số sangtương tự và tương tự sang số, Ở máy tính thì các mô đun thường được xâydựng bởi các chíp và mạch ngoài

Hầu hết các vi điều khiển ngày nay được xây dựng dựa trên kiến trúcHarvard - kiến trúc mà trong đó phân biệt rõ ràng bộ nhớ dữ liệu và bộ nhớchương trình, chúng có những đường truyền (bus) riêng để truy cập vào bộ nhớ

dữ liệu và bộ nhớ chương trình Kiến trúc này định nghĩa bốn thành phần cầnthiết của một hệ thống nhúng Những thành phần này là lõi CPU, bộ nhớ chươngtrình (thông thường là ROM hoặc bộ nhớ Flash), bộ nhớ dữ liệu (RAM), mộthoặc vài bộ định thời và các cổng vào/ra để giao tiếp với các thiết bị ngoại vi vàcác môi trường bên ngoài - tất cả các khối này được tích hợp trong một vi mạch

Vi điều khiển khác với các bộ vi xử lý đa năng ở chỗ là nó có thể hoạt động vàthực hiện một công việc chỉ với vài vi mạch hỗ trợ bên ngoài

Vì vậy ta có thể nói vi điều khiển là hạt nhân của hệ thống nhúng Vi điềukhiển thường được dùng để xây dựng các hệ thống nhúng Nó xuất hiện khánhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lò vi sóng, điện thoại,đầu đọc DVD, thiết bị đa phương tiện, dây chuyền tự động, v.v

1.10.4 Các bộ VĐK cho các 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ácsả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ý (hoặcmột bộ vi điều khiển để thực hiện một nhiệm vụ và chỉ một mà thôi Một máy in

là 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 Điều này khác với một máy tình PC dựa trên bộ xử lýPentium (hoặc một PC tương thích với IBM  86 bất kỳ) Một PC có thể được

sử dụng cho một số bất kỳ các trạm dịch vụ in, bộ đầu cuối kiểm kê nhà băng,

Trang 18

máy chơi trò chơi điện tử, trạm dịch vụ mạng hoặc trạm đầu cuối mạng Internet.Phần mềm cho các ứng dụng khác nhau có thể được nạp và chạy Tất nhiên là lý

do hiển nhiên để một PC thực hiện hàng loạt các công việc là nó có bộ nhớ RAM

và một hệ điều hành nạp phần mềm ứng dụng thường được nạp vào trong ROM.Một máy tính PC 86 chứa hoặc được nối tới các sản phẩm nhúng khác nhauchẳng hạn như bàn phím, máy in, Modem, bộ điều khiển đĩa, Card âm thanh, bộđiều khiển CDROM, chuột v.v Mỗi thiết bị ngoại vi này có một bộ vi điềukhiển bên trong nó để thực hiện chỉ một công việc, ví dụ bên trong mỗi con chuột

có một bộ vi điều khiển để thực thi công việc tìm vị trí chuột và gửi nó đến PC Chúng ta sẽ tìm hiểu kỹ hơn về vi điều khiển ở chương sau

1.11 Xu hướng phát triển và những vấn đề tồn tại của hệ

thống nhúng

1.11.1 Xu hướng phát triển

Sau máy tính lớn (mainframe), PC và Internet thì hệ thống nhúng đang lànàn sóng đổi mới thứ ba trong công nghệ thông tin và truyền thông

Xu hướng phát triển của các hệ nhúng hiện nay là:

 Phần mềm ngày nay chiếm tỷ trọng cao và đã trở thành thành phầncấu tạo nên thiết bị bình đẳng như các phần cơ khí, linh kiện điện

tử, linh kiện quang học

 Các hệ nhúng ngày càng phức tạp hơn đáp ứng yêu cầu khắt khehơn về thời gian thực, tiêu ít năng lượng và hoạt động tin cậy ổnđịnh hơn

 Các hệ nhúng ngày nay càng có độ mềm dẻo cao đáp ứng các yêucầu nhanh chóng đưa sản phẩm ra thị trường, có khả năng bảo trì từ

xa, có tính cá nhân cao

 Các hệ nhúng ngày càng có khả năng hoà nhập cao, có khả năngkết nối mạng và hoà nhập được với các đầu đo cơ cấu chấp hành vàvới người sử dụng

 Các hệ nhúng ngày càng có tính thích nghi, tự tổ chức cao, có khảnăng tái cấu hình như một thực thể, một tác nhân

 Các hệ nhúng ngày càng có khả năng tiếp nhận năng lượng từnhiều nguồn khác nhau (ánh sáng, rung động, điện từ trường, sinhhọc ) để tạo nên các hệ thống tự tiếp nhận năng lượng trong quátrình hoạt động

18

Trang 19

1.11.2 Những thách thức và các vấn đề tồn tại của hệ nhúng

Hệ nhúng hiện nay còn phải đối đầu với các tồn tại sau:

– Độ phức tạp của hệ thống tăng cao do đó kết hợp nhiều lĩnh vực đa ngành, kết hợp phần cứng-mềm, trong khi các phương pháp thiết kế và kiểm tra chưa đạt được kết quả Khoảng cách giữa lý thuyết và thực hành lớn và còn thiếu các phương pháp và lý thuyết hoàn chỉnh cho khảo sát phân tích toàn cục của hệ thống

– Thiếu phương pháp tích hợp tối ưu giữa các thành phần tạo nên hệ nhúng baogồm lý thuyết điều khiển tự động, thiết kế máy, công nghệ phần mềm, điện

tử, vi xử lý, các công nghệ hỗ trợ khác

– Thách thức đối với độ tin cậy và tính mở của hệ thống: Do hệ thống nhúng thường phải giao tiếp với môi trường xung quanh nên nhiều khi gặp những tình huống không được thiết kế trước để dẫn đến hệ thống bị loạn Trong quátrình hoạt động một số phần mềm thường phải chỉnh lại và thay đổi nên hệ thống phần mềm có thể không kiểm soát được Đối với hệ thống mở, các hãng thứ ba đưa các module mới, thành phần mới vào cũng có thể gây nên sựhoạt động thiếu tin cậy

1.12 Mộ số ứng dụng của hệ thống nhúng

Hinh 1.6: Các hình ảnh minh họa ứng dụng của HTN

Trong thế giới thực của chúng ta bất kỳ một thiết bị hay hệ thống điện,điện tử có khả năng xử lí thông tin và điều khiển đều có thể tiềm ẩn một hệnhúng bên trong ví dụ như các thiết bị truyền thông, thiết bị đo lường điều khiển,các thiết bị phục vụ sinh hoạt hàng ngày như lò vi sóng, máy giặt, camera…Rất

dễ dàng để có thể kể ra hàng loạt các thiết bị hay hệ thống như vậy đang tồn tạiquanh ta, chúng là hệ nhúng

Trang 20

Rất nhiều các ứng dụng của hệ thống nhúng đang được sử dụng hiện nay

và xu thế sẽ còn tiếp tăng nhanh Một số các lĩnh vực và sản phẩm thị trường

rộng lớn của các hệ nhúng có thể được nhóm lại như sau:

 Các thiết bị điều khiển

 Máy bay, ôtô, tàu lửa tốc độ cao

 Hệ thống điều khiển tàu trụ

 Truyền thông

 Thiết bị y tế

 Hệ thống đo lường thẩm định

 Tòa nhà thông minh

 Thiết trong các dây chuyền sản xuất

 Rôbốt

 Các thiết bị quân sự (hệ thống tên lửa, máy bay chiến đấu, tàu

chiến )

 ………

Mặc dù phạm vi ứng dụng rất đa dạng và khác nhau nhiều về thiết kế vật

lý nhưng chúng đều có nguyên lý xử lý chung, tạo nên nét đặc thù của hệ nhúng

1.13 Kết luận

Một thực tế khách quan chúng ta mới thấy bề nổi của công nghệ thông tin

còn phần chìm của công nghệ thông tin chiếm 99% số processor trên toàn cầu

nằm trong các hệ thống nhúng thì còn ít được biết đến Trong khi đó công nghệ

thông tin và viễn thông trên thế giới lại đang bước vào thời đại hậu PC- thời đại

của các thiết bị, hệ thống nhúng thông minh cao

Sức kéo của thị trường đòi hỏi các thiết bị phải có nhiều chức năng thân

thiện với người dùng, có mức độ thông minh ngày càng cải thiện đưa đến vai trò

và tầm quan trọng của các hệ thống nhúng ngày càng cao trong nền kinh tế quốc

dân

CHƯƠNG 2

HỌ VI ĐIỀU KHIỂN MCS51

2.1 Giới thiệu về họ vi điều khiển

Vi xử lý đầu tiên trên thế giới mang tên 4004 ra đời vào năm 1971, đây là

vi xử lý 4-bit, được tích hợp từ khoảng 23000 transistor và có khả năng thực hiện

được 92000 lệnh trong một giây

20

Trang 21

Năm 1975, Intel tiếp tục cho ra đời vi điều khiển đầu tiên trên thế giới

8048 Đó là vi điều khiển 8-bit, một hệ máy tính được thiết kế tối ưu cho các ứngdụng điều khiển Đơn vị xử lý trung tâm CPU, bộ nhớ ROM, bộ nhớ RAM, tất cảđược tích hợp trên một chip nhỏ gọn Ngay sau khi ra đời, 8048 đã được ứngdụng vô cùng rộng rãi trong các bàn phím máy tính (keyboard) Ngày nay saugần 25 năm, người ta vẫn có thể tìm thấy các chip 8048 trong một số bàn phímmáy tính kiểu cổ

Cho đến năm 1980 vi điều khiển được Intel công bố với thế giới, như mộttrong những thành quả mới trong công cuộc chạy đua thiết kế chip không mệtmỏi giữa các hãng bán dẫn Một lần nữa Intel cùng với vi điều khiển 8-bit nàyđược thị trường đón nhận nồng nhiệt Kiến trúc của 8051- kiến trúc của nhữngnăm đầu thập kỷ 80 vẫn đang xuất hiện bên trong hàng ngàn chip được sản xuấtmỗi ngày Rất nhiều hãng bán dẫn, trong đó có thể kể đến các hãng nổi tiếng nhưAtmel, Analog Devices, Texas Instrument, Philip (nay là NXP), Siemens, đãmua thiết kế cấu trúc từ Intel rồi sau đó phát triển thành các dòng vi điều khiểntương thích với tính năng phong phú hơn, mạnh hơn Cho đến nay có đến hơn 20hãng bán dẫn đang phát triển và sản xuất các chip thuộc hơn 200 biến thể của họ

Trang 22

Hình 2.1 : Hệ thống vi xử lý được so sánh với hệ thống vi điều khiển

Kiến trúc của một vi xử lý bao gồm những phần cứng sau:

 Đơn vị xử lý trung tâm CPU (Central Processing Unit)

 Các bộ nhớ (Memories)

 Các cổng vào/ra song song (Parallel I/O Port)

 Các cổng vào/ra nối tiếp (Serial I/O Port)

 Các bộ định thời (Times)

Ngoài ra với mỗi loại vi điều khiển cụ thể còn có thêm một số phần cứngkhác như bộ biến đổi tương tự - số ADC, bộ biến đổi số - tương tự DAC, cácmạch điều chế dạng sóng WG, điều chế độ rộng xung PWM

2.3 Cấu trúc , tính năng của vi điều khiển 8051

2.3.1 Cấu trúc của 8051

22

CPU General-

Time r

Seria l COM Port

I/O Port

Seria l COM Port

Data bus

(a) General-Purpose Microcessor

8052 4K-8051 8K-8052

128bytes RAM (8032/8052)

Timer1

Timer 2 (8032/805 2)

P 3 3

ALE PSEN

INT0*

Time2 (8032/8052) Time1

Time 0 Serial port

TO* T1* T2*

µC-8051

Trang 23

2.3.2 Đơn vị xử lý trung tâm

CPU có cấu tạo gồm đơn vị xử lý số học và logic ALU, các thanh ghi, cáckhối logic và các mạch giao tiếp Chức năng của CPU là tiến hành các thao táctính toán xử lý, đưa ra các tín hiệu địa chỉ, dữ liệu và điều khiển nhằm thực hiệnmột nhiệm vụ nào đó do người lập trình đưa ra thông qua các lệnh (Instructions)

2.3.3 Các bus

Để có thể giao tiếp và điều khiển các cơ quan chấp hành (các ngoại vi),CPU sử dụng 3 loại tín hiệu cơ bản là tín hiệu địa chỉ (Address), tín hiệu dữ liệu(Data), tín hiệu điều khiển (Control) Về mặt vật lý thì các đường tín hiệu này làcác đường nhỏ dẫn điện nối từ CPU đến các ngoại vi hoặc thậm chí giữa cácngoại vi với nhau Tập hợp của các tín hiệu có cùng chức năng gọi là Bus Nhưvậy ta có bus địa chỉ, bus dữ liệu và bus điều khiển

2.3.4 Bộ nhớ

Nhìn chung có hai loại bộ nhớ là bộ nhớ chương trình và bộ nhớ dữ liệu

Bộ nhớ chương trình dùng để chứa mã chương trình hướng dẫn CPU thực hiệnmột nhiệm vụ nào đó Thông thường bộ nhớ mã chường trình là các loại bộ nhớnon- volatile nghĩa là không bị mất nội dung chứa bên trong khi ngừng cung cấpnguồn nuôi, có thể kể ra một số loại như ROM, PROM, EPROM, Flash Bộ nhớ

dữ liệu là bộ nhớ dùng để chứa dữ liệu (bao gồm các tham số, các biến tạmthời, ) Tuỳ thuộc vào dữ liệu mà bộ nhớ này là loai non- volatile hoặc volatile(mất dữ liệu khi mất nguồn nuôi) Loại volatile thường thấy ở SRAM

Trang 24

2.3.5.Cổng vào/ra song song

Đây là các đường tín hiệu được nối với một số chân của IC dùng để giaotiếp với thế giới bên ngoài IC Giao tiếp ở đây là đưa điện áp ra hoặc đọc vào giátrị điện áp tại chân cổng Các giá trị điện áp đưa ra hay đọc vào được thể hiệnbằng một trong hai giá trị logic (0 hoặc 1) Trong kỹ thuật vi xử lý người tathường dùng quy ước logic dương: giá trị logic 0 ứng với mức điện áp thấp xấp

xỉ 0VDC, giá trị logic 1 ứng với mức điện áp cao xấp xỉ +5DVC Tuỳ loại màkhoảng xấp xỉ đó là khác nhau nhưng nhìn chung là tương thích với mức logicTTL Mỗi cổng vào ra song song thường gồm 8 đường vào/ra khác nhau và gọi làcác cổng 8 bit Các đường tín hiệu vào/ra cho các cổng và thuộc cùng một cổng

là độc lập với nhau Điều đó có nghĩa là ta có thể đưa ra hay đọc vào các giá trịlogic khác nhau đối với từng chân cổng (từng đường tín hiệu vào/ra) Một điềuchú ý nữa đối với các cổng vào/ra là chúng có thể tích hợp thêm (nói đúng hơn làkiêm thêm) các chức năng đặc biệt liên quan đến các ngoại vi khác

2.3.6 Cổng vào/ra nối tiếp

Khác với cổng song song, với cổng nối tiếp các bit được truyền lần lượttrên cùng một đường tín hiệu thay vì truyền cùng một lúc trên các đường tín hiệukhác nhau Thông thường việc truyền dữ liệu bằng cổng nối tiếp phải tuân theomột cơ chế, một giao thức hay một nguyên tắc nhất định Có thể kể ra một sốgiao thức như SPI, I2C, SCI,

 Cổng nối tiếp có hai kiểu truyền dữ liệu chính:

 Truyền đồng bộ (synchronous): thiết bị truyền và thiết bị nhận đềudùng chung xung nhip (clock)

 Truyền dị bộ (asynchronous): thiết bị truyền và thiết bị nhận sửdụng hai nguồn xung nhịp riêng Tuy nhiên hai nguồn xung nhipkhông được khác nhau quá nhiều

Xung nhịp là yếu tố không thể thiếu trong truyền dữ liệu nốitiếp và nó có vai trò xác định giá trị của bit dữ liệu (hay nói đúnghơn là xác định thời điểm đọc mức logic trên đường truyền dữ liệu)

 Cổng nối tiếp có thể có một trong các tính năng sau:

 Đơn công: thiết bị chỉ có thể hoặc truyền hoặc nhận dữ liệu

 Bán song công: thiết bị có thể truyền và nhận dữ liệu nhưng tại mộtthời điểm chỉ có thể làm một trong hai việc đó

 Song công: Thiết bị có thể truyền và nhận giữ liệu đồng thời

24

Trang 25

2.3.7 Bộ đếm/bộ định thời

Đây là các ngoại vi được thiết kế để thực hiện một nhiệm vụ đơn giản:đếm các xung nhịp Mỗi khi có thêm một xung nhịp tại đầu vào đếm thì giá trịcủa bộ đếm sẽ được tăng lên một đơn vị (trong chế độ đếm tiến/đếm lên) haygiảm đi một đơn vị (trong chế độ đếm lùi/đếm xuống)

 Xung nhịp đưa vào đếm có thể là một trong hai loại:

 Xung nhịp bên trong IC: Đó là xung nhịp được tạo ra nhờkết hợp mạch dao động bên trong IC và các linh kiện phụ bên ngoàinối với IC Ta có thể ví đó là "nhịp tim" để toàn bộ các phần cứngbên trong vi xử lý (bao gồm cả CPU và các thiết bị ngoại vi) có thểhoạt động được Trong trường hợp sử dụng xung nhịp loại này,người ta gọi là các bộ định thời (timers) Do xung nhịp bên loại nàythường đều đặn nên ta có thể dùng để đếm thời gian một cách kháchính xác

 Xung nhịp bên ngoài IC: Đó là các tín hiệu logic thay đổiliên tục giữa hai mức logic 0 và 1 không nhất thiết phải đều đặn.Trong trường hợp này người ta gọi là các bộ đếm (counters) Ứngdụng phổ biến của các bộ đếm là đếm các sự kiện bên ngoài nhưđếm các sảm phẩm chạy trên bẳng truyền, đếm xe vào/ra kho bãi Một khái niệm quan trọng cần phải nói đến là sự kiện "tràn" (overflow) Nóđược hiểu là sự kiện bộ đếm vượt quá giá trị tối đa mà nó có thể biểu diễn vàquay trả về giá trị 0 Với bộ đếm 8 bit, giá trị tối đa là 255 và là 65535 với bộđếm 16 bit

2.4 Một số chip thuộc họ MSC-51

Vi mạch chủ yếu của họ MCS - 51 là chip 8051, linh kiện đầu tiên của họnày được đưa ra thị trường Chip 8051 có các đặc trưng được tóm tắt như sau:

 4 KB ROM và 128 byte RAM

 4 port 8- bít, 32 lối vào/ra

 2 bộ định thời (Timmer) 16 bít

 Mạch giao tiếp nối tiếp

 Không gian nhớ chương trình ngoài (mở rộng) 64K

 Không gian nhớ dữ liệu ngoài 64K

 Bộ xử lý bít (thao tác trên các bít riêng rẽ)

 210 vị trí bit nhớ được định địa chỉ

Trang 26

 Thực hiện phép toán Nhân, Chia trong thời gian 4s

Các thành viên khác của họ MCS-51 có các tổ hợp ROM (EPROM),RAM trên chip khác nhau, bộ biến đổi tín hiệu tương tự-số và số-tương tự, và cóthể có thêm bộ định thời thứ ba Mỗi một chíp của họ MCS-51 đều có phiên bảnCMOS tiêu thụ công suất thấp

Dưới đây là thông số cơ bản của một số IC họ MCS-51:

Chip Bộ nhớ chương

trình trên chip

Bộ nhớ dữ liệu trên chip

Các bộ nhớ định thời

2.5 Sơ đồ chân của 8051

Hình 2.3 cho ta thấy sơ đồ chân chip 8051 Chức năng tóm tắt của từngchân như sau: 32 trong tổng số 40 chân của 8051 có công dụng vào/ra, tuy nhiên

24 trong 32 đường này có hai mục đích, mỗi đường có thể hoạt động vào/ra hoặchoạt động như một đường điều khiển hoặc hoạt động như một đường địa chỉ/dữliệu của bus địa chỉ dữ liệu dồn kênh 32 chân nêu trên hình thành 4 cổng 8 bit.Tất cả các cổng khi RESET đều được cấu hình như các đầu ra, sẵn sàng để được

sử dụng như các cổng đầu ra Muốn sử dụng cổng nào trong số các cổng này làmđầu vào thì nó phải được lập trình

26

Trang 27

nó giống như Cô-lec-tơ hở đối với các chíp TTL Trong bất kỳ hệ thống nào sửdụng 8751, 89C51 hoặc DS5000 ta thường nối cổng P0 tới các điện trở kéo, Xemhình 3.1 bằng cách này ta có được các ưu điểm của cổng P0 cho cả đầu ra và đầuvào Với những điện trở kéo ngoài được nối khi tái lập cổng P0 được cấu hìnhnhư một cổng đầu ra

Trang 28

Hình 2.4: Cổng P0 với các điện trở kéo

Cổng P0 đầu vào: Với các điện trở được nối tới cổng P0 nhằm để tạo nóthành cổng đầu vào thì nó phải được lập trình bằng cách ghi 1 tới tất cả các bit.Đoạn mã dưới đây sẽ cấu hình P0 lúc đầu là đầu vào bằng cách ghi 1 đến nó vàsau đó dữ liệu nhận được từ nó được gửi đến P1

MOV A,#FFH ; Gán A = FF dạng HexMOV P0, A ; Tạo cổng P0 làm cổng đầu vào bằngcách ; Ghi tất cả các bit của nó

BACK: MOV A, P0 ; Nhận dữ liệu từ P0

MOV P1, A ; Gửi nó đến cổng 1SJMP BACK ; Lặp lại

Vai trò kép của cổng P0: Như trình bày trên cổng P0 được gán AD0

-AD7 cho phép nó được sử dụng vừa cho địa chỉ, vừa cho dữ liệu Khi nối8051/8031 tới bộ nhớ ngoài thì cổng 0 cung cấp cả địa chỉ và dữ liệu 8051 dồn

dữ liệu và địa chỉ qua cổng P0 để tiết kiệm số chân ALE báo nếu P0 có địa chỉhay dữ liệu khi ALE = 0 nó cấp dữ liệu D0 - D7 Do vậy, ALE được sử dụng đểtách địa chỉ và dữ liệu với sự trợ giúp của chốt địa chỉ 74LS373

2.5.2.Cổng P1

– So với cổng P0 thì cổng này không cần đến điện trở kéo vì nó đã có các điện trở kéo bên trong Trong quá trình tái lập thì cổng P1 được cấu hình như một cổng đầu ra Ví dụ, đoạn mã sau sẽ gửi liên tục các giá trị 55h và AAH ra cổng

P0.3

P0.4 P0.5 P0.6 P0.7

DS5000

8751 8951

Trang 29

ACALL DELAY

cổng P1 thành đầu vào thì nó phải được lập trình bằng cách ghi một đến tất

cả các bit của nó Trong đoạn mã sau, cổng P1 lúc đầu đươc cấu hình như cổng đầu vào bằng cách ghi 1 vào các bit của nó và sau đó dữ liệu nhận được

từ cổng này được cất vào R7, R6 và R5

MOV A, #0FFH ; Nạp A = FF ở dạng hexMOV P1, A ; Tạo cổng P1 thành cổng đầu vào bằng

; cách ghi 1 vào các bit của nó

MOV A, P1 ; Nhận dữ liệu từ P1MOV R7, A ; Cất nó vào thanh ghi R7ACALL DELAY ; Chờ

MOV A, P1 ; Nhận dữ liệu khác từ P1MOV R6, A ; Cất nó vào thanh ghi R6ACALL DELAY ; Chờ

MOV A, P1 ; Nhận dữ liệu khác từ cổng P1MOV R5, A ; Cất nó vào thanh ghi R53

2.5.3 Cổng P2

Nó có thể được sử dụng như đầu vào hoặc đầu ra giống như cổng P1, cổngP2 cũng không cần điện trở kéo vì nó đã có các điện trở kéo bên trong Khi táilập, thì cổng P2 được cấu hình như một cổng đầu ra Ví dụ, đoạn mã sau sẽ gửiliên tục ra cổng P2 các giá trị 55H và AAH Đó là tất cả các bit của P2 lên xuốngliên tục

MOV A, #55H BACK: MOV P2,A

ACALL DELAYCPL A

SJMP BACK– Cổng P2 như đầu vào

Để tạo cổng P2 như đầu vào thì nó phải được lập trình bằng cách ghi các

số 1 tới tất cả các chân của nó Đoạn mã sau đây đầu tiên cấu hình P2 là cổng vàobằng cách ghi 1 đến tất cả các chân của nó và sau đó dữ liệu nhận được từ P2được gửi liên tục đến P1

Trang 30

MOV A, 0FFH ; Gán A giá trị FF dạng HexMOV P2, A ; Tạo P2 là cổng đầu vào bằng cách

; ghi một đến các chân của nó BACK: MOV A, P2 ; Nhận dữ liệu từ P2

MOV P1, A ; Gửi nó đến P1SJMP BACK ; Lặp lại

– Vai trò kép của P2

Trong các hệ thống dựa trên 8751, 89C51 và DS5000 thì P2 được dùngnhư đầu ra đơn giản Tuy nhiên trong các liên kết với bộ nhớ ngoài thì cổng P2phải được dùng cùng với P0 để tạo ra địa chỉ 16 Như chỉ ra trên hình 2.3 cổngP2 cũng được chỉ định như là A8 - A15 báo chức năng kép của nó Vì một bộ

8031 có khả năng truy cập 64k byte bộ nhớ ngoài, nó cần một đường địa chỉ 16bít Trong khi P.0 cung cấp 8 bit thấp qua A0 - A7 Công việc của P2 là cungcấp các bít địa chỉ A8 - A15 Hay nói cách khác khi 8031được nối tới bộ nhớngoài thì P2 được dùng cho 8 bít cao của địa chỉ 16 bit và nó không thể dùng chovào/ra

Từ những trình bày trên đây ta có thể kết luận rằng trong các hệ thống dựatrên các bộ vi điều khiển 8751, 89C51 hoặc DS5000 thì ta có 3 cống P0, P1và P2cho các thao tác vào ra và như thế là có thể đủ cho các ứng dụng với hầu hết các

bộ vi điều khiển Còn cổng P3 là để dành cho ngắt và ta sẽ cùng bàn dưới đây

Bộ định thời 0 (TO)

1 Bộ định thời 1(T1)Ghi (WR)

Đọc (RD)

1011121314151617

Bảng 3.1 cung cấp các chức năng khác của cống P3 Thông tin này áp

dụng cho cả 8051 và 8031.

30

Trang 31

Các bit P3.0 và P3.1 được dùng cho các tín hiệu nhận và phát dữ liệutrong truyền thông dữ liệu nối tiếp Các bit P3.2 và P3.3 được dành cho các ngắtngoài Bit P3.4 và P3.5 được dùng cho các bộ định thêm 0 và 1 Cuối cùng cácbit P3.6 và P3.7 được cấp cho các tín hiệu ghi và đọc các bộ nhớ ngoài được nốitới các hệ thống dựa trên 8031 Trong các hệ thống dựa trên 8751, 89C51 hoặcD35000 thì các chân P3.6 và P3.7 được dùng cho vào/ra còn các chân khác củaP3 được sử dụng bình thường trong vai trò chức năng thay đổi.

2.6.Chân VCC

Chân số 40 là VCC cấp điện áp nguồn cho chíp Nguồn điện áp là +5V

2.7.Chân GND

Chân GND: Chân số 20 là GND

Cung cấp nguồn nối đất cho vi xử lý

2.8 Chân XTAL1 và XTAL2

8051 có một bộ giao động trên chíp nhưng nó yêu cầu có một xung đồng

hồ ngoài để chạy nó Bộ giao động thạch anh thường xuyên nhất được nối tới cácchân đầu vào XTAL1 (chân 19) và XTAL2 (chân 18) Bộ giao động thạch anhđược nối tới XTAL1 và XTAL2 cũng cần hai tụ điện giá trị 30pF Một phía của

tụ điện được nối xuống đất như được trình bày trên hình 2.4a

Cần phải lưu ý rằng có nhiều tốc độ khác nhau của họ 8051 Tốc độ đượccoi như là tần số cực đại của bộ giao động được nối tới chân XTAL Ví dụ, mộtchíp 12MHz hoặc thấp hơn Tương tự như vậy thì một bộ vi điều khiển cũng yêucầu một tinh thể có tần số không lớn hơn 20MHz Khi 8051 được nối tới một bộgiao động tinh thể thạch anh và cấp nguồn thì ta có thể quan sát tần số trên chânXTAL2 bằng máy hiện sóng Nếu ta quyết định sử dụng một nguồn tần số khác

bộ giao động thạch anh chẳng hạn như là bộ giao động TTL thì nó sẽ được nốitới chân XTAL1, còn chân XTAL2 thì để hở không nối như hình 2.4b

Hình 2.5 : a) Nối XTAL tới 8051 b) Nối XTAL tới nguồn đồng bộ ngoài

C2

C1

30pF

XTAL 2 XTAL 1 GND

XTAL 2 XTAL 1 GND

NC EXTERRNAL OSCILLATA OR SIGNAL

Trang 32

2.9 Chân RST

Chân số 9 là chân tái lập RESET Nó là một đầu vào và có mức tích cực cao(bình thường ở mức thấp) Khi cấp xung cao tới chân này thì bộ vi điều khiển sẽtái lập và kết thúc mọi hoạt động Điều này thường được coi như là sự tái bậtnguồn Khi kích hoạt tái bật nguồn sẽ làm mất mọi giá trị trên các thanh ghi.Bảng 2.1 cung cấp một cách liệt kê các thanh ghi của 8051 và các giá trị củachúng sau khi tái bật nguồn

Lưu ý rằng giá trị của bộ đếm chương trình PC là 0 khi tái lập để ép CPUnạp mã lệnh đầu tiên từ bộ nhớ ROM tại vị trí ngăn nhớ 0000 Điều này có nghĩa

là ta phải đặt dòng đầu tiên của mã nguồn tại vị trí ngăn nhớ 0 của ROM vì đây là

mã CPU tĩnh thức và tìm lệnh đầu tiên Hình 2.5 trình bày hai cách nối chân RSTvới mạch bật nguồn

Hình 2.6: a) Mạch tái bật nguồn RESET b) Mạch tái bật nguồn với Debounce

Nhằm làm cho đầu vào RESET có hiệu quả thì nó phải có tối thiểu 2 chu

kỳ máy Hay nói cách khác, xung cao phải kéo dài tối thiểu 2 chu kỳ máy trước

khi nó xuống thấp Trong 8051 một chu kỳ máy được định nghĩa bằng 12 chu kỳ

dao động

2.10 Chân EA

Cổng vào này (chân 31) có thể được nối với 5V (logic 1) hoặc với GND(logic 0) Nếu chân này nối lên 5V, 8051/8052 thực thi chương trình trong ROMnội (chương trình nhỏ hơn 4K/8K) Nếu chân này nối với GND (và chân PSENcũng ở logic 0), chương trình cần thực thi chứa ở bộ nhơ ngoài Đối với8031/8032 chân EA phải ở logic 0 vì chúng không có bộ nhớ chương trình trên

9 18

10F 11.0592

MHz

Trang 33

chip Nếu chân EA ở logic 0 đối với 8051/8052, ROM nội bên trong chip được

vô hiệu hoá và chương trình cần thực thi chứa ở EPROM bên ngoài

2.11 Chân PSEN

8051 cung cấp cho ta 4 tín hiệu điều khiển bus Tín hiệu PSEN (programstore enable) là tín hiệu trên chân 29 Đây là tín hiệu điều khiển cho phép ta truyxuất bộ nhớ chương trình ngoài Chân này thường nối với chân cho phép xuất OE(output enable) của EPROM (hoặc ROM) để cho phép đọc các byte lệnh

Tín hiệu PSEN ở logic 0 trong suốt thời gian tìm nạp lệnh (InstructionFetch) Các mã nhị phân của chương trình hay opcode (mã thao tác) được đọc từEPROM, qua bus dữ liệu và được chốt vào thanh ghi lệnh IR của 8051 để đượcgiải mã

Khi thực hiện một chương trình chứa ở ROM nội, PSEN được duy trì ởlogic không tích cực (logic 1)

2.12 Chân ALE

8051 sử dụng chân 30, chân cho phép chốt địa chỉ ALE (address latchenable) để giải dồn kênh (demultiplexing) bus dữ liệu và bus địa chỉ Khi port 0được sử dụng làm bus địa chỉ/dữ liệu dồn kênh, chân ALE đưa ra tín hiệu để chốtđịa chỉ (byte thấp của địa chỉ 16-bít) vào một thanh ghi ngoài trong suốt 1/2 đầucủa chu kỳ bộ nhớ (memory cycle) Sau khi địa chỉ đã được chốt các chân củaport 0 sẽ làm nhiệm vị vào/ra dữ liệu trong 1/2 thứ hai của chu kỳ bộ nhớ

2.13 Tổ chức bộ nhớ

2.13.1.Tổ chức bộ nhớ trong

Bộ nhớ của họ MCS-51 có thể chia thành 2 phần : bộ nhớ trong và bộ nhớngoài Bộ nhớ trong bao gồm 4KB ROM và 128 byte RAM (256 byte trong8052) Các byte RAM có địa chỉ từ 00h - 7Fh và các thanh ghi chức năng đặcbiệt (SFR) có địa chỉ từ 80h - 0FFh không thể truy xuất trực tiếp mà chỉ có thểtruy xuất gián tiếp

Bộ nhớ trong của MCS-51 gồm ROM và RAM RAM bao gồm nhiềuvùng có mục đích khác nhau Vùng RAM đa dụng (địa chỉ byte 30h - 7Fh và cóthêm vùng 80h - 0FFh ứng với 8052), vùng có định địa chỉ bit (địa chỉ byte từ20h - 2Fh, gồm 128 bit được định địa chỉ bit từ 00h - 7Fh), các bank thanh ghi(từ 00h - 1Fh) và các thanh ghi chức năng đặc bịêt (từ 80h - 0FFh)

Trang 34

Hinh 2.7 : Tổ chức bộ nhớ RAM trong họ µC8051

2.13.2 Tổ chức bộ nhớ ngoài

MCS-51 có bộ nhớ theo cấu trúc Harvard : phân biệt bộ nhớchương trình và bộ nhớ dữ liệu Bộ nhớ chương trình được truy xuất thông quachân PSEN, còn bộ nhớ dữ liệu được truy xuất thông qua chân WR và RD

Các bộ vi xử lý họ MCS-51 có khả năng mở rộng các tài nguyên trên chíp(bộ nhớ, I/O, v.v…) để tránh hiện tượng cổ chai trong thiết kế Cấu trúc củaMCS-51cho khả năng mở rộng không gian bộ nhớ chương trình đến 64K ROMngoài và không gian bộ nhớ dữ liệu đến 64K RAM ngoài khi cần thiết

34

Trang 35

Các IC giao tiếp ngoại vi cũng có thể được thêm vào để mở rộng khả năngvào/ra Chúng trở thành một phần của không gian bộ nhớ dữ liệu ngoài bằng cách

sử dụng cách định địa chỉ kiểu I/O ánh xạ bộ nhớ Khi bộ nhớ ngoài được sửdụng, port 0 làm nhiệm vụ của port vào/ra Port này trở thành bus địa chỉ (A0-A7) và bus dữ liệu ( D0-D7) dồn kênh Lối ra ALE chốt byte thấp của địa chỉ ởthời điểm bắt đầu mỗi một chu kì bộ nhớ ngoài Port 2 thường (nhưng không phảiluôn luôn) được dùng làm byte cao của bus địa chỉ

2.14 Bộ nhớ chương trình ngoài

Bộ nhớ chương trình ngoài là bộ nhớ chỉ đọc, được cho phép truy xuất bởitín hiệu PSEN Khi có một EPROM ngoài được sử dụng, cả hai port 0 và port 2không được sử dụng cho mục đích vào/ra

Trong quá trình này, Port 0 và Port 2 không còn là các Port nhập xuất màchứa địa chỉ dữ liệu Sơ đồ kết nối bộ nhớ chương trình ngoài mô tả như hình 2.9

Memory cycle

Memory cycle Address

Data

Address A0-A15

Hình 2.8 Đa hợp địa chỉ ( byte thấp ) và Bus dữ liệu

(a) không dồn kênh ( 24 chân) , ( b) dồn kênh ( 16 chân)

Trang 36

Hình 2.9: Giao tiếp bộ nhớ chương trình ngoài

2.15 Bộ nhớ dữ liệu ngoài

Bộ nhớ dữ liệu ngoài là bộ nhớ đọc/ghi được cho phép bởi các tín hiệu RD

và WR ở các chân của cổng P3 Lệnh dùng để truy xuất bộ nhớ dữ liệu ngoài là:MOVX, sử dụng hoặc con trỏ dữ liệu 16-bít DPTR hoặc R0, R1 làm thanh ghichứa địa chỉ

RAM có thể giao tiếp với 8051 theo cách như EPROM ngoại trừ đường

RD nối với đường cho phép xuất (OE) của RAM và WE nối với đường ghi (WR)của RAM Các kết nối với bus dữ liệu và bus địa chỉ giống như EPROM Bằngcách sử dụng các port 0 và port 2 và các chip nhớ, ta có dung lượng RAM vàROM ngoài lên đến 64K

Hinh 2.10: Giao tiếp bộ nhớ dữ liệu ngoài

36

Trang 37

Bộ nhớ dữ liệu ngoài được truy xuất bằng lệnh MOVX thông qua cácthanh ghi xác định địa chỉ DPTR (16 bit) hay R0, R1 (8 bit) Sơ đồ kết nối

dữ liệu ngoài được mô tả như hình 2.10

Quá trình thực hiện đọc hay ghi dữ liệu được cho phép bằng tín hiệu RD

và WR (chân P3.7 và P3.6)

2.16 Bộ nhớ chương trình và bộ nhớ dữ liệu dùng chung

Hình 2.11 : Giao tiếp bộ nhớ chương trình và dữ liệu ngoài dùng chung

Trong các ứng dụng phát triển phần mềm xây dựng dựa trên AT89C51,ROM sẽ được lập trình nhiều lần nên dễ bị hỏng Một giải pháp đặt ra là sử dụngRAM để chứa các chương trình tạm thời Khi đó, RAM vừa là bộ nhớ chươngtrình vừa là bộ nhớ dữ liệu Yêu cầu này có thể được thực hiện bằng cách kếthợp chân RD và PSEN thông qua cổng AND Khi thực hiện đọc mã lệnh, chânPSEN tích cực cho phép đọc từ RAM và khi đọc dữ liệu chân RD sẽ tích cực Sơ

đồ kết nối mô tả như hình 2.11

Trang 38

CHƯƠNG 3 THIẾT KẾ , XÂY DỰNG MẠCH

3.1 Phương án thiết kế mạch

 Xây dựng sơ đồ khối tổng quát

 Xây dựng sơ đồ thuật toán cho từng khối

 Sử dụng phần mềm mô phỏng proteus thiết kế mạch

 Lập trình bằng ngôn ngữ C

 Sử dụng phần mềm keil C dịch chương trình sang file hex

 Sử dụng phần mềm orcad thiết kế mạch in

 In mạch lên bo đồng

 Lắp ráp linh kiện , nạp trương trình và chạy thử

3.2 Giới thiệu các linh kiện

3.2.1 Cấu tạo và nguyên lý hoạt động của led 7 thanh

Trang 39

3.2.2 Nguyên lý hoạt động của led 7 thanh

Hình 3.2 Sơ đồ mạch nguyên lý led 7 thanh

 Led 7 đoạn được ứng dụng trong rất nhiều trong các thiết bị trong thực tế,trong các thiết bị đo, trong các bảng hiệu, nó có tác dụng hiển thị số liệu…

 4 led 7 thanh anot chung, 4 chân anot chung (chân dương) được nối với 4transitor để ta có thể quét led sử dụng 4 chân của PORTD, các chân điềukhiển sáng các thanh còn lại được nối song song nhau và đưa vào PORTBcủa 8051

3.3 Cấu tạo và nguyên lý hoạt động của led matrix 8x8

Hình 3.2 led matrix 8x8

Trang 40

Hình 3.3.Sơ đồ nguyên lý của led matrix 8x8

Ma trận led bao gồm nhiều led đơn bố trí thành hàng và cột trong mộtvỏ.Các tín hiệu điều khiển cột được nối với Anode của tất cả các led trên cùngmột cột Các tín hiệu điểu khiển hàng cũng được nối với Cathode của tất cả cácled trên cùng một hàng như hình vẽ

Khi có một tín hiệu điều khiển ở cột và hàng ,các chân Anode của các ledtrên cột tương ứng được cấp điện áp cao , đồng thời các chân Cathode của các ledtrên hàng tương ứng được được cấp điện áp thấp Tuy nhiên lúc đó chỉ có một ledsáng ,vì nó có đồng thời điện thế cao trên Anode và điện thế thấp trênCathode.Như vậy khi có một tín hiệu điều khiển hàng và cột ,thì tại một thờiđiểm chỉ có duy nhất một led tại chỗ gặp nhau của hàng và cột là sáng

đối với ma trận led 8x8 hiển thị một màu, thì số chân ra là 16,trong đó 8 chân dùng để điều khiển hàng và 8 chân còn lại dùng để điều khiển cột

3.4 Cấu tạo và nguyên lý hoạt động của IC74HC573

3.4.1 Cấu tạo của IC 74HC573

Hình 3.4 IC 74HC573

40

Ngày đăng: 30/12/2015, 15:22

HÌNH ẢNH LIÊN QUAN

Hỡnh 2.2  Sơ đồ cấu trỳc của chip  àC 8051 - Thiết kế bảng điện tử dùng trong bóng đá
nh 2.2 Sơ đồ cấu trỳc của chip àC 8051 (Trang 22)
2.5. Sơ đồ chân của 8051 - Thiết kế bảng điện tử dùng trong bóng đá
2.5. Sơ đồ chân của 8051 (Trang 26)
Hình 2.3: Sơ đồ chân 8051 - Thiết kế bảng điện tử dùng trong bóng đá
Hình 2.3 Sơ đồ chân 8051 (Trang 27)
Hình 2.8  Đa hợp địa chỉ ( byte thấp ) và Bus dữ liệu (a) không dồn kênh ( 24 chân) ,  ( b) dồn kênh ( 16 chân) - Thiết kế bảng điện tử dùng trong bóng đá
Hình 2.8 Đa hợp địa chỉ ( byte thấp ) và Bus dữ liệu (a) không dồn kênh ( 24 chân) , ( b) dồn kênh ( 16 chân) (Trang 35)
Hình 2.9: Giao tiếp bộ nhớ chương trình ngoài - Thiết kế bảng điện tử dùng trong bóng đá
Hình 2.9 Giao tiếp bộ nhớ chương trình ngoài (Trang 36)
Hình 2.11 : Giao tiếp bộ nhớ chương trình và dữ liệu ngoài dùng chung - Thiết kế bảng điện tử dùng trong bóng đá
Hình 2.11 Giao tiếp bộ nhớ chương trình và dữ liệu ngoài dùng chung (Trang 37)
Hình 3.3.Sơ đồ nguyên lý của led matrix 8x8 - Thiết kế bảng điện tử dùng trong bóng đá
Hình 3.3. Sơ đồ nguyên lý của led matrix 8x8 (Trang 40)
Hình 3.5 nguyên lý hoạt động IC74HC573 - Thiết kế bảng điện tử dùng trong bóng đá
Hình 3.5 nguyên lý hoạt động IC74HC573 (Trang 41)
Hình 3.9 Mạch nguyên lý khối công suất - Thiết kế bảng điện tử dùng trong bóng đá
Hình 3.9 Mạch nguyên lý khối công suất (Trang 44)
3.8. Sơ đồ khối chức năng - Thiết kế bảng điện tử dùng trong bóng đá
3.8. Sơ đồ khối chức năng (Trang 45)
Hình 3.12 Sơ đồ khối xử lý - Thiết kế bảng điện tử dùng trong bóng đá
Hình 3.12 Sơ đồ khối xử lý (Trang 46)
Hình 3.22 Giao diện phần mềm proteus - Thiết kế bảng điện tử dùng trong bóng đá
Hình 3.22 Giao diện phần mềm proteus (Trang 52)
Hình 3.23 Giao diện phần mềm proteus - Thiết kế bảng điện tử dùng trong bóng đá
Hình 3.23 Giao diện phần mềm proteus (Trang 53)
3.10.1. Sơ đồ mạch in khối hiển thị - Thiết kế bảng điện tử dùng trong bóng đá
3.10.1. Sơ đồ mạch in khối hiển thị (Trang 55)

TỪ KHÓA LIÊN QUAN

w