1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình Vi xử lý CĐ Nghề Công Nghiệp Hà Nội

274 4 0

Đ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

Tiêu đề Giáo Trình Vi Xử Lý
Trường học CĐ Nghề Công Nghiệp Hà Nội
Chuyên ngành Vi xử lý
Thể loại Giáo Trình
Thành phố Hà Nội
Định dạng
Số trang 274
Dung lượng 28,57 MB

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

Nội dung

Bộ nhớ dùng để chứa chương trình cho vi xử lý thực hiện và chứa dữ liệu xử lý, các IC ngoại vi dùng để xuất nhập dữ liệu từ bên ngoài vào xử lý và điều... Ứng dụng của vi xử lý rất nhiều

Trang 1

GIÁO TRÌNH

VI XỬ LÝ

( Lưu hành nội bộ)

HÀ NỘI

Trang 2

BÀI 1 SƠ LƯỢC VỀ LỊCH SỬ VÀ HƯỚNG PHÁT TRIỂN

CỦA VI XỬ LÝ Mục tiêu:

+ Kiến thức:

- Trình bày được lịch sử phát triển của vi xử lý;

- Trình bày được cấu trúc chung của vi xử lý;

- Phát biểu đúng các ứng dụng của vi xử lý và hướng phát triển của vi xử lý;

+ Kỹ năng:

- Nâng cao kỹ năng hoạt động nhóm trong quá trình học tập;

+ Thái độ:

- Đảm bảo an toàn cho người và thiết bị,

Các thuật ngữ chuyên môn: Được giải thích chi tiết trong nội dung bài học Nội dung:

A LÝ THUYẾT

1.1 Giới thiệu lịch sử phát triển của vi xử lý

Trước khi tìm hiểu lịch sử phát triển của vi xử lý chúng ta cùng nhắc lạilịch sử phát triển của vi xử lý Lịch sử phát triển của vi xử lý gắn liền với sự pháttriển của các vi mạch điện tử vì vi xử lý là vi mạch điện tử chế tạo theo côngnghệ LSI (Large Scale Integrated) cho đến VLSI (Very Large Scale Integrated)

Với sự khám phá ra transistor và phát triển của công nghệ chế tạo vi mạchSSI, MSI, máy tính vẫn còn là một nhóm gồm nhiều IC kết hợp lại với nhau, chođến thập niên 70, với sự phát triển của công nghệ LSI, cấu trúc máy tính được rútgọn bởi các nhà thiết kế và được chế tạo thành một IC duy nhất được gọi là vi xử

lý (microprocessor)

Vi xử lý kết hợp với các thiết bị khác tạo ra các máy tính có khả năng tínhtoán rất lớn như máy vi tính và có thể tạo ra các sản phẩm khác các máy điệnthoại, các tổng đài điện thoại, các hệ thống điều khiển tự động

Vi xử lý đầu tiên có khả năng xử lý 4 bit dữ liệu, các vi xử lý này có tốc

độ xử lý rất chậm, các nhà thiết kế cải tiến thành vi xử lý 8 bit, sau đó là vi xử lý

16 bit và 32 bit Sự phát triển về dung lượng các bit của vi xử lý làm tăng thêm

số lượng các lệnh điều khiển và các lệnh tính toán phức tạp

Vi xử lý có rất nhiều loại bắt đầu từ 4 bit cho đến 32 bit, vi xử lý 4 bit hiệnnay không còn nhưng vi xử lý 8 bit vẫn còn mặc dù đã có vi xử lý 32 bit

Lý do sự tồn tại của vi xử lý 8 bit là phù hợp với một số yêu cầu điềukhiển của các thiết bị điều khiển trong công nghiệp Các vi xử lý 32 bit thường sửdụng cho các máy tính với khối lượng dữ liệu của máy tính rất lớn nên cần các vi

xử lý càng mạnh càng tốt

Các hệ thống điều khiển trong công nghiệp sử dụng các vi xử lý 8 bit đểđiều khiển như hệ thống điện của xe hơi, hệ thống điều hòa, hệ thống điều khiểncác dây chuyền sản xuất,…

Khi sử dụng vi xử lý cần phải thiết kế một hệ thống gồm có:

- Vi xử lý

- Bộ nhớ

- Các IC ngoại vi

Bộ nhớ dùng để chứa chương trình cho vi xử lý thực hiện và chứa dữ liệu

xử lý, các IC ngoại vi dùng để xuất nhập dữ liệu từ bên ngoài vào xử lý và điều

Trang 3

khiển trở lại Các khối này liên kết với nhau tạo thành một hệ thống vi xử lý Yêucầu điều khiển càng cao thì hệ thống càng phức tạp và nếu yêu cầu điều khiểnđơn giản ví dụ chỉ cần đóng mở một đèn Led theo một thời gian yêu cầu nào đóthì hệ thống vi xử lý cũng phải có đầy đủ các khối trên.

Để kết nối các khối trên tạo thành một hệ thống vi xử lý đó hỏi người thiết

kế phải rất hiểu biết về tất cả các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại

vi Hệ thống tạo ra khó phức tạp, chiếm nhiều không gian, mạch in, và vấn đềchính là đó hỏi người thiết kế, người sử dụng hiểu thật sự về hệ thống Một lý dochính nữa là vi xử lý thường xử lý dữ liệu theo byte hoặc word trong khi đó cácđối tượng điều khiển trong công nghiệp thường điều khiển theo bit

Chính với sự phức tạp nên các nhà chế tạo đó tích hợp một ít bộ nhớ vàmột số các thiết bị ngoại vi cùng với vi xử lý tạo thành một IC gọi là vi xử lý –Microcontroller

Khi vi xử lý ra đời đó mang lại sự tiện lợi là dễ dàng sử dụng trong điềukhiển công nghiệp, việc sử dụng vi xử lý không đòi hỏi người sử dụng phải hiểubiết một lượng kiến thức quá nhiều như người sử dụng vi xử lý – dĩ nhiên người

sử dụng hiểu biết càng nhiều thì càng tốt nhưng đối với người bắt đầu thì việc sửdụng vi xử lý là điều rất phức tạp trong khi đó mong muốn là sử dụng được ngay

Các phần tiếp theo chúng ta sẽ khảo sát vi xử lý để thấy sự sự tiện lợitrong vấn đề điều khiển trong công nghiệp

Có rất nhiều hãng chế tạo được vi xử lý, hãng sản xuất nổi tiếng làATMEL Hãng Intel là nhà thiết kế

Có nhiều họ vi xử lý mang các mã số khác nhau, một trong họ nổi tiếng là

Song song với họ 51 là họ 52 có 3 timer nhiều hơn họ

MCS-51 một timer và dung lượng bộ nhớ nội lớn gấp đôi tức là 8Kbyte

Hiện nay có rất nhiều vi xử lý thế hệ mới với nhiều đặc tính hay hơn,nhiều thanh ghi hơn, dung lượng bộ nhớ lớn hơn

Ứng dụng của vi xử lý rất nhiều trong các hệ thống điều khiển côngnghiệp, các dây chuyền sản xuất, các bộ điều khiển lập trình, máy giặt, máy điềuhòa nhiệt độ, máy bơm xăng tự động… có thể nói vi xử lý và vi xử lý được ứngdụng trong hầu hết mọi lĩnh vực tự động

Trang 4

1.2 Các bộ vi xử lý so với bộ vi xử lý dùng chung.

Sự khác nhau giữa một bộ vi xử lý và một bộ vi xử lý như thế nào? Bộ vi

xử lý ở đây là các bộ vi xử lý công dụng chung như họ Intell x86(8086, 80286,

80386, 80486 và Pentium) hoặc họ Motorola 680x0 (68000, 68010, 68020,

68030, 68040 v.v…) Những bộ vi xử lý này không có RAM, ROM và không cócác cổng vào ra trên chíp Với lý do đó mà chúng được gọi chung là các bộ vi xử

là linh hoạt chẳng hạn người thiết kế có thể quyết định về số lượng RAM, ROM

và các cổng vào ra cần thiết phù hợp với bài toán trong tầm tay của mình Điềunày không thể có được đối với một bộ vi xử lý Một bộ vi xử lý có một CPU (một

bộ vi xử lý) cùng với một số 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 chíp Hay nói cách khác là bộ xử lý, RAM,ROM các cổng vào ra, bộ định thời đều được nhúng với nhau trên một chíp dovậ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 nó, chính vì vậy chúng trở lên lý tưởng 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ụ một điều khiển từ xa ti vi thì không cần côngsuất tính toán của một bộ vi xử lý 80486 hoặc 8086 Trong rất nhiều ứng dụng

mà trong đó giá thành và không gian nó chiếm, công suất nó tiêu tốn và giá thànhtrê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ínhtoá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ới lý do đó mà một số người gọi các bộ xử lýnày là IBP (Itty Bitty Processor) Điều thú vị nhất là một số nhà sản xuất các bộ

vi xử lý đó đi xa hơn là tích hợp cả bộ chuyển đổi ADC và các ngoại vi khác vàotrong bộ vi xử lý

Trang 5

Máy photocopyMáy in …

Điều khiển động cơ Điều khiển túi đệm khíThiết bị ABS

Thiết bị đo lường

Hệ thống bảo mậtĐiều khiển truyền tinGiải trí

Điều hòa nhiệt độ

Mở cửa không cần chìakhóa…

1.3 Các bộ vi xử lý cho các hệ thống nhúng

Trong các tài liệu về vi xử lý, vi xử lý ta thường thấy khái niệm về hệthống nhúng (Embeded system) Các bộ vi xử lý, vi xử lý được sử dụng rộng rãitrong 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ý hoặc một bộ vi xử lý để thực hiện một nhiệm vụ chỉ một mà thôi Máy in làmột ví dụ về một việc nhúng với bộ vi xử lý bên trong nó chỉ làm một việc lànhận dữ liệu và in ra Điều này khác với một máy tính PC dựa trên bộ vi xử lýPentium (hoặc một PC tương ứng với IBM x86 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ê trong ngânhàng, máy 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 dịch vụ khác nhau có thể được nạp và chạy Tất nhiên là lý dohiể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 đốt vào trong ROM.Một máy tính chứa hoặc được nối tới các sản phẩm nhúng khác nhau chẳng hạnnhư bàn phím, máy in, moderm, bộ điều khiển CD ROM, Card âm thanh, chuộtmáy tính…Một nội ngoại vi này có một bộ vi xử lý bên trong nó để thực hiện chỉmột công việc, ví dụ trong mỗi con chuột máy tính đều có một bộ vi xử lý đểthực thi công việc tìm vị trí chuột và gửi nó đến PC

1.4 Các tiêu chuẩn lựa chọn bộ vi xử lý

Có 4 bộ vi xử lý 8 bít chính Đó là 6811 của Motorola, 8051 của Intel, Z8của Xilog và PIC 16xx của Microchip Technology Mỗi một kiểu loại trên đây

Trang 6

đều có một tập lệnh và thanh ghi riêng, nên chúng đều không tương thích lẫnnhau Cũng có những bộ vi xử lý 16 bít và 32 bít được sản xuất bởi các hãng sảnxuất chíp khác nhau Với tất cả những bộ vi xử lý khác nhau như thế thì lấy gìlàm tiêu chuẩn lựa chọn và các nhà thiết kế phải cân nhắc? Có ba tiêu chuẩn đểlựa chọn các bộ vi xử lý là:

1.Tiêu chuẩn đầu tiên và trước hết trong lựa chọn một bộ vi xử lý là nóphải đáp ứng nhu cầu bài toán về một mặt công suất tính toán và giá thành hiệuquả Trong khi phân tích các nhu cầu của một dự án dựa trên bộ vi xử lý chúng tatrước hết phải biết là bộ vi xử lý nào 8 bit, 16 bit hay 32 bit có thể đáp ứng tốtnhất nhu cầu tính toán của bài toán một cách hiệu quả nhất? những tiêu chuẩnđược đề ra để cân nhắc là:

a Tốc độ: Tốc độ lớn nhất của mà bộ vi xử lý hỗ trợ là bao nhiêu

b Kiểu đóng vỏ: Đóng vỏ kiểu 40 chân DIP hay QFP hay là kiểu đóng vỏkhác (DIP – đóng vỏ theo 2 hàng chân QFP – đóng vỏ vuông dẹt)? Đây là điềuquan trọng đối với không gian, kiểu lắp ráp và tạo mẫu thử cho sản phẩm cuốicùng

c Công suất tiêu thụ : Điều này đặc biệt khắt khe đối với những sản phẩmdùng pin, ắc quy

d Dung lượng bộ nhớ RAM và ROM trên chíp

e Số chân vào – ra và bộ định thời trên chíp

f Khả năng dễ dàng nâng cấp cho hiệu suất cao hoặc giảm công suất tiêuthụ

g Giá thành cho một đơn vị: Điều này quan trọng quyết định giá thànhcuối cùng của sản phẩm mà một bộ vi xử lý được sử dụng

2 Tiêu chuẩn thứ 2 trong lựa chọn một bộ vi xử lý là khả năng phát triểncác sản phẩm xung quanh nó dễ dàng như thế nào? Chủ yếu bao gồm khả năng

có sẵn trình lượng ngữ, gỡ rối, trình biên dịch ngôn ngữ hiệu quả về mã nguồn,trình mô phỏng hỗ trợ kỹ thuật và khả năng sử dụng trong như nguồn môi trường.Trong nhiều trường hợp sự hỗ trợ nhà cung cấp thứ 3 (nghĩa là nhà cung cấpkhác không phải là hãng sản xuất chíp)

3 Tiêu chuẩn thứ ba trong lựa chọn một bộ vi xử lý là khả năng sẵn sàngđáp ứng về số lượng trong hiện tại và trong tương lai Đối với một số thiết kếđiều này thậm chí cũng quan trọng hơn cả hai tiêu chuẩn đầu tiên Hiện nay, các

bộ vi xử lý 8 bít dẫn đầu, họ 8051 là có số lượng lớn nhất các nguồn cung cấp đadạng Nhà cung cấp có nghĩa là nhà sản xuất bên cạnh nhà sáng chế của bộ vi xử

lý Trong trường hợp 8051 thì nhà sáng chế của nó là Intel, nhưng hiện nay có rấtnhiều hãng sản xuất nó (cũng như trước kia đó sản xuất) như Intel, Atmel,Philips/signe-tics, AMD, Siemens, Matra và Dallas, Semicondictior…

B THẢO LUẬN NHÓM

1 Ứng dụng thực tế của vi xử lý trong điện tử dân dụng?

2 Ứng dụng thực tế của vi xử lý trong điện tử công nghiệp?

3 So sách một chíp vi xử lý với một chíp vi xử lý về mặt cấu trúc?

Trang 7

C THỰC HÀNH (Không)

D ĐÁNH GIÁ KẾT QUẢ: (tính theo thang điểm 10)

Kiến thức

- Nêu được lịch sử phát triển của vi xử lý 1

- Phân biệt được vi xử lý với vi xử lý về cấu

- Nêu được các bộ vi xử lý cho hệ thống nhúng

và các tiêu chuẩn lựa chọn một bộ vi xử lý 2

Kỹ năng

- Tổng hợp và phân tích nội dung bài học 1

- Khả năng hoạt động nhóm khi làm việc 1

- Khả năng hoạt động độc lập khi làm việc 1

Thái độ - Đảm bảo an toàn vệ sinh công nghiệp- Chủ động, tích cực trong hoạt động học 12

E CÂU HỎI VÀ BÀI TẬP

Câu1 Trình bày lịch sử phát triển của vi xử lý?

Câu 2 So sánh sự giống và khác nhau giữa bộ vi xử lý so với bộ vi xử lý dùngchung?

Câu 3 Thế nào là hệ thống nhúng, giải thích các bộ vi xử lý cho hệ thống nhúng?Câu 4 Nêu các tiêu chuẩn lựa chọn bộ vi xử lý?

Trang 8

BÀI 2 CẤU TRÚC HỌ VI ĐIỀU KHIỂN 8051

Mục tiêu:

+ Kiến thức:

- Mô tả được cấu trúc họ vi xử lý họ 8051;

- Giải thích được tổ chức bộ nhớ của họ vi xử lý 8051;

- Phân tích được cấu trúc, chức năng nhiệm vụ các thanh ghi của họ 8051;

- Trình bày được nguyên lý hoạt động của mạch dao động, mạch reset;

- Phân tích được chức năng, nhiệm vụ của các IC ngoại vi,

+ Kỹ năng:

- Vẽ được sơ đồ cấu trúc, sơ đồ kết nối bên trong của vi xử lý 8051;

+ Thái độ:

- Đảm bảo an toàn cho người và thiết bị,

Các thuật ngữ chuyên môn: được giải thích chi tiết trong nội dung bài học

Nội dung:

A LÝ THUYẾT

2 1 Tổng quan

2.1.1 Họ 8051

Vào năm 1981 hãng Intel giới thiệu một số bộ vi xử lý được gọi là 8051

Bộ vi xử lý này có 128byte RAM, 4Kbyte ROM trên chip, hai bộ định thời, mộtcổng nối tiếp và 4 cổng vào ra 8 bit tất cả được đặt trên một chíp

Lúc ấy nó được coi là một “hệ thống trên chip” 8051 là một bộ xử lý 8bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm Dữliệu lớn hơn 8 bit được chia thành các dữ liệu 8 bit để xử lý Mặc dù 8051 có thể

có một ROM trên chíp cực đại là 64Kbyte, nhưng các nhà sản xuất lúc đó đó choxuất xưởng chỉ với 4Kbyte ROM trên chíp, điều này sẽ được bàn chi tiết hơn saunày 8051 đó trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sảnxuấ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

để lại mã tương thích với 8051, điều này dẫn đến sự ra đời của nhiều phiên bản

8051 với các tốc độ khác nhau và dung lượng ROM trên chip khác nhau đượcbán, hơn nửa các nhà sản xuất Điều này quan trọng là mặc dự có nhiều biến thểkhác nhau của 8051 về tốc độ và dung lượng nhớ ROM trên chíp, nhưng tất cảchúng đều tương thích với 8051 ban đầu về các lệnh Điều này có nghĩa là nếu taviế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ớimọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào

Bảng 2.1: Các đặc tính của 8051 đầu tiên

Trang 9

2.1.2 Các thành viên khác của họ 8051

Có hai bộ vi xử lý thành viên khác của họ 8051 là 8052 và 8031

a- Bộ vi xử lý 8052:

Bộ vi điều khiển 8052 là một thành viên khác của họ 8051, 8052

có tất cả các đặc tính chuẩn của 8051 ngoài ra nó có thêm 128 byte RAM và một

bộ định thời nữa Hay nói cách khác là 8052 có 256 byte RAM và 3 bộ định thời

Nó cũng có 8K byte ROM Trên chíp thay với 4K byte như 8051

Bảng 2.2: Đặc tính của các thành viên họ 8051

b- Bộ vi xử lý 8031:

Một thành viên khác nữa của 8051 là chíp 8031 Chíp này thườngđược coi như là 8051 không có ROM trên chíp với nó có 0 Kbyte ROM trênchíp Để sử dụng chíp này ta phải bổ xung ROM ngoài cho nó ROM ngoàiphải chứa chương trình mà 8031 sẽ nạp và thực hiện So với 8051 mà chươngtrình được chứa trong ROM trên chíp bị giới hạn bởi 4K byte, cũng ROM ngoàichứa chương trình được gắn vào 8031 thì có thể lớn đến 64K byte Khi bổ xungcổng, như vậy chỉ cũng 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 Ngoài ra cũng 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

2.1.3 Các bộ vi xử lý 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 UV-PROM của 8051 là 8751 Phiên bản FlashROM đượ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ũng phiên bản NV-RAM của 8051 do Dalas Semi Conductor cungcấp thì được gọi là DS5000 Ngoài ra cũng có phiên bản OTP (khả trình một lần)của 8051 được sản xuất bởi rất nhiều hãng

a- Bộ vi xử lý 8751

Chíp 8751 chỉ có 4K byte bộ nhớ UV-EPROM trên chíp Để sử dụng chípnày để phát triển yêu cầu truy cập đến một bộ đốt PROM cũng như bộ xóa UV-

Trang 10

EPROM để xóa nội dung của bộ nhớ UV-EPROM bên trong 8751 trước khi ta cóthể lập trình lại nó Do một thực tế là ROM trên chíp đối với 8751 là UV-EPROM nên cần phải mất 20 phút để xóa 8751 trước khi nó có thể được lập trìnhtrở lại Điều này dẫn đến nhiều nhà sản xuất giới thiệu các phiên bản FlashROM và UV-RAM của 8051 Ngoài ra cũng có nhiều phiên bản với các tốc độkhác nhau của 8751 từ nhiều hãng khác nhau.

b- Bộ vi xử lý AT8951 từ Atmel Corporation.

Chíp 8051 phổ biến này có ROM trên chíp ở dạng bộ nhớ Flash.Điều này là lý tưởng đối với những phát triển nhanh với 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êucầu Với lý do này mà AT89C51 để phát triển một hệ thống dựa trên bộ vi xử lýyêu cầu một bộ đốt ROM mà có hỗ trợ bộ nhớ Flash Tuy nhiên lại không yêucầu bộ xóa ROM Lưu ý rằng trong bộ nhớ Flash ta phải xóa toàn bộ nộidung của ROM nhằm để lập trình lại cho nó Việc xóa bộ nhớ Flash được thựchiệ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ộxóa Để loại trừ nhu cầu đối với một bộ đốt PROM hãng Atmel đang nghiên cứumột phiên bản của AT89C51 có thể được lập trình qua cổng truyền thông COMcủa máy tính IBM PC

Bảng 2.3: Các phiên bản của 8051 từ Atmel (Flash ROM).

Đóng vỏ

c- Bộ vi xử lý 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 DallasSemiconductor Bộ nhớ ROM trên chíp của DS5000 ở dới dạng NV-RAM Khảnăng đọc/ ghi của nó cho phép chương trình được nạp vào ROM trên chíp trongkhi nó vẫn ở trong hệ thống (không cần phải lấy ra) Điều này còn có thể đượcthực hiện thông qua cổng nối tiếp của máy tính IBM PC Việc nạp chương trìnhtrong hệ thống (in-system) của DS5000 thông qua cổng nối tiếp của PC làm cho

nó trở thành một hệ thống phát triển tại chỗ lý tưởng Một ưu việt của NV-RAM

là khả năng thay đổi nội dung của ROM theo từng byte tại một thời điểm Điềunày tương phản với bộ nhớ Flash và EPROM mà bộ nhớ của chúng phải đượcxoá sạch trước khi lập trình lại cho chúng

Trang 11

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

Đóng vỏ

d- Phiên bản OTP của 8051.

Các phiên bản OTP của 8051 là các chíp 8051 có thể lập trình được mộtlầ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 đượcdùng để sản hàng loạt vì nó sẽ hơn rất nhiều theo giá thành một đơn vị sản phẩm

Trang 12

2.1.4 Cấu trúc bên trong vi xử lý họ 8051

Hình 2.1: Cấu trúc bên trong vi xử lý họ 8051

Sơ đồ cấu trúc bên trong vi xử lý bao gồm các thành phần sau:

- Khối ALU đi kèm với các thanh ghi Temp1, Temp2 và thanh ghi trạng tháiPSW

- Bộ điều khiển logic (Timing and Control)

- Vùng nhớ RAM nội và vùng nhớ Flash ROM lưu trữ chương trình

- Mạch tạo dao động nội kết hợp với tụ thạch anh bên ngoài để tạo dao động

- Khối xử lý ngắt, truyền dữ liệu, khối timer/counter

Trang 13

- Thanh ghi A, B, DPTR và 4 port0, port1, port2, port3 có chốt và đệm.

- Thanh ghi bộ đếm chương trình PC (Program Counter)

- Con trỏ dữ liệu DPTR (Data Pointer)

- Thanh ghi con trỏ ngăn xếp SP (Stack Pointer)

- Thanh ghi lệnh IR (Instruction Register)

- Ngoài ra còn có 1 số các thanh ghi hỗ trợ để quản lý địa chỉ bộ nhớ RAM nộibên trong cũng như các thanh ghi quản lý địa chỉ truy xuất bộ nhớ bên ngoài

2.2 Sơ đồ chân vi xử lý 8051

Hình 2.2: Vi xử lý 8051 và sơ đồ chân

Vi xử lý 89C51 có tất cả 40 chân Trong đó có 24 chân có tác dụng kép(có nghĩa là 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuấtnhập điều khiển IO (input-output) hoặc là thành phần của các bus dữ liệu và busđịa chỉ để tải địa chỉ và dữ liệu khi giao tiếp với bộ nhớ ngoài

Các tín hiệu điều khiển:

- Tín hiệu PSEN (Program Store Enable):

PSEN là tín hiệu đầu ra ở chân 29 có tác dụng cho phép đọc bộ nhớchương trình mở rộng thường nối đến chân OE ( output enable hoặc RD) củaEPROM cho phép đọc các byte mã lệnh Khi có giao tiếp với bộ nhớ chươngtrình bên ngoài thì mới dùng đến PSEN , nếu không có giao tiếp thì chân PSEN

bỏ trống PSEN ở mức thấp trong thời gian vi xử lý 8051 lấy lệnh Các mã lệnhcủa chương trình đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghilệnh bên trong 8051 để giải mã lệnh Khi 8051 thi hành chương trình trongEPROM nội thì PSEN ở mức logic 1

- Tín hiệu điều khiển ALE (Address Latch Enable) :

Khi vi xử lý 89C51 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bustải địa chỉ và bus dữ liệu (AD7 ÷ AD0) do đó phải tách các đường dữ liệu và địachỉ 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

Trang 14

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 ra ở chânALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nênviệc chốt địa chỉ được thực hiện 1 cách hoàn toàn tự động Các xung tín hiệuALE có tần số bằng 1/6 tần số dao động thạch anh gắn vào vi xử lý và có thểdùng tín hiệu xung đầu ra ALE làm xung clock cung cấp cho các phần khác của

hệ thống Trong chế độ lập trình cho bộ nhớ nội của vi xử lý thì chân ALE đượcdùng làm đầu vào nhận xung lập trình từ bên ngoài để lập trình cho bộ nhớ FlashROM trong 8051

- Tín hiệu EA (External Access):

Tín hiệu vào EA ở chân 31 thường nối lên mức 1 hoặc mức 0 Nếu nối EA lênmức logic 1 (+5v) thì vi xử lý sẽ thi hành chương trình từ bộ nhớ nội Nếu nối

EA với mức logic 0 (0V) thì vi xử lý sẽ thi hành chương trình từ bộ nhớ ngoại

- Tín hiệu RST (Reset):

Đầu vào RST ở chân 9 là đầu vào Reset của 8051 Khi cấp điện cho hệthống hoặc khi nhấn nút reset thì mạch sẽ reset vi xử lý Khi reset thì tín hiệureset phải ở mức cao ít nhất là 2 chu kỳ máy, khi đó các thanh ghi bên trong đượcnạp những giá trị thích hợp để khởi động hệ thống

Trạng thái của tất cả các thanh ghi sau khi reset hệ thống được tóm tắt nhưbảng

Bảng 2.5: Trạng thái của các thanh ghi sau khi reset hệ thống

Thanh ghi trạng thái PSW 00H

- 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

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

Trang 15

- Chân XTAL1 và XTAL2: 8051 có một bộ dao động trên chíp nhưng nó yêucầu có một xung đồng hồ ngoài để chạy nó Bộ dao động thạch anh thường xuyênnhất được nối tới các chân đầu vào XTAL1 (chân 19) và XTAL2 (chân 18) Bộdao động thạch anh được nối tới XTAL1 và XTAL2 cũng cần hai tụ điện giá trị30pF

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ộ dao độ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 xử lý cũng yêu cầumột tinh thể có tần số không lớn hơn 20MHz Khi 8051 được nối tới một bộ daođộ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ộ dao động thạch anh chẳng hạn như là bộ dao động TTL thì nó sẽ được nối tớichân XTAL1, còn chân XTAL2 thì để hở không nối

Hình 2.3: Kết nối mạch dao động với vi xử lý

2.3 Cấu trúc Port I/O

a Port 0:

Hình 2.4: Cấu trúc Port 0

Port 0 là port có 2 chức năng với số thứ tự chân 32÷39 Trong các hệthống điều khiển đơn giản sử dụng bộ nhớ bên trong không dùng bộ nhớ mở rộngbên ngoài thì port 0 được dùng làm các đường điều khiển IO (Input- Output)

XTAL2 XTAL1 GND

NC EXTERRNA L OSCILLATA OR SIGNAL

Trang 16

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

có chức năng là bus địa chỉ và bus dữ liệu AD7 ÷ AD0 (Address: địa chỉ, data:

Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài thìport 2 có chức năng là bus địa chỉ cao A8÷A15

Trang 17

d Port 3

Cổng P3 chiếm tổng cộng là 8 chân từ chân 10 đến chân 17 Nó có thểđược sử dụng như đầu vào hoặc đầu ra Cống P3 không cần các điện trở kéo cũngnhư P1 và P2 Mặc dù cống P3 được cấu hình như một cống đầu ra khi tái lập,nhưng đây không phải là cách nó được ứng dụng phổ biến nhất Cổng P3 cóchức năng bổ sung là cung cấp một số tín hiệu quan trọng đặc biệt chẳng hạn nhưcác ngắt

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

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

Ghi (WR)Đọc (RD)

1011121314151617

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ời 0 và 1 Cuối cùng các bitP3.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ối tớicá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.4 Tổ chức bộ nhớ

Vi xử lý 89C51 có bộ nhớ nội bên trong và có thêm khả năng giao tiếp với

bộ nhớ bên ngoài nếu bộ nhớ bên trong không đủ khả năng lưu trữ chương trình

Bộ nhớ nội bên trong gồm có 2 loại bộ nhớ: bộ nhớ dữ liệu và bộ chương trình Bộ nhớ dữ liệu có 256 byte, bộ nhớ chương trình có dung lượng 4kbyte (89C52 có 8 kbyte, 89W55 có 16kbyte).

Bộ nhớ mở rộng bên ngoài cũng được chia ra làm 2 loại bộ nhớ: bộ nhớ

dữ liệu và bộ nhớ chương trình Khả năng giao tiếp là 64kbyte cho mỗi loại Bộnhớ mở rộng bên ngoài và bộ nhớ chương trình bên trong không có gì đặc biệtchỉ có chức năng lưu trữ dữ liệu và mã chương trình nên không cần phải khảosát

Bộ nhớ chương trình bên trong của vi xử lý thuộc loại bộ nhớ Flash ROMcho phép xóa bằng xung điện và lập trình lại

Bộ nhớ RAM nội bên trong là một bộ nhớ đặc biệt người sử dụng vi xử lýcần phải nắm rõ các tổ chức và các chức năng đặc biệt của bộ nhớ này

Trang 18

Hình 2.7: Phân chia RAM bên trong 8951

RAM bên trong 89C51 được phân chia như sau:

- Các bank thanh ghi có địa chỉ từ 00H đến 1FH

- RAM truy xuất từng bit có địa chỉ từ 20H đến 2FH

- RAM đa dụng từ 30H đến 7FH

- Các thanh ghi chức năng đặc biệt từ 80H đến FFH

32 byte thấp của bộ nhớ nội được dành cho 4 bank thanh ghi

Bộ lệnh 89C51 hỗ trợ thêm 8 thanh ghi có tên là R0 đến R7 và theo mặcđịnh sau khi reset hệ thống thì các thanh ghi R0 đến R7 được gán cho 8 ô nhớ cóđịa chỉ từ 00H đến 07H, khi đó bank 0 có 2 cách truy xuất bằng địa chỉ trực tiếp

và bằng thanh ghi R

Các lệnh dùng các thanh ghi R0 đến R7 sẽ có số lượng byte mã lệnh ít hơn

và thời gian thực hiện lệnh nhanh hơn so với các lệnh có chức năng tương ứngnếu dùng kiểu địa chỉ trực tiếp

Các dữ liệu dùng thường xuyên nên lưu trữ ở một trong các thanh ghi này

Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh ghiđược truy xuất bởi các thanh ghi R0 đến R7, để chuyển đổi việc truy xuất cácbank thanh ghi ta phải thay đổi các bit chọn bank trong thanh ghi trạng thái

Người lập trình dùng vùng nhớ 4 bank thanh ghi để lưu trữ dữ liệu phục

vụ cho việc xử lý dữ liệu khi viết chương trình

Chức năng chính của 4 bank thanh ghi này là nếu trong hệ thống có sửdụng nhiều chương trình thì chương trình thứ nhất bạn có thể sử dụng hết cácthanh ghi R0 đến R7 của bank0, khi chuyển sang chương trình thứ 2 để xử lý mộtcông việc gì đó và vẫn sử dụng các thanh ghi R0 đến R7 để lưu trữ cho việc sử lý

dữ liệu mà không làm ảnh hưởng đến các dữ liệu R0 đến R7 trước đây và khôngcần phải thực hiện công việc cất dữ liệu thì cách nhanh nhất là gán nhóm thanhghi R0 đến R7 cho bank1 là xong Tương tự có thể mở thêm hai chương trìnhnữa và gán cho các bank 3 và 4

Trang 19

Hình 2.8: Cấu trúc bộ nhớ RAM bên trong vi xử lý 8951

Trang 20

Bảng 2.7: Minh họa cách gán Bank thanh ghi cho nhóm thanh ghi R

RAM có thể truy xuất từng bit:

Vi xử lý 89C51 có 210 ô nhớ bit có thể truy xuất từng bit, trong đó có 128bit nằm ở các ô nhớ byte có địa chỉ từ 20H đến 2FH và các bit còn lại chứa trongnhóm thanh ghi có chức năng đặc biệt

Các ô nhớ cho phép truy xuất từng bit và các lệnh xử lý bit là một thếmạnh của vi xử lý Các bit có thể được đặt, xóa, AND, OR bằng 1 lệnh duy nhất,

trong khi đó để xử lý các bit thì vi xử lý vẫn có thể xử lý được nhưng phải sử dụng rất nhiều lệnh để đạt được cùng một kết quả vì vi xử lý thường xử lý byte.

Các port cũng có thể truy xuất được từng bit

128 ô nhớ bit cho phép truy xuất từng bit và cũng có thể truy xuất bytephụ thuộc vào lệnh được dùng là lệnh xử lý bit hay lệnh xử lý byte Chú ý địa chỉcủa ô nhớ byte và bit trùng nhau

Người lập trình dùng vùng nhớ này để lưu trữ dữ liệu phục vụ cho việc xử

lý dữ liệu byte hoặc bit Các dữ liệu xử lý bit nên lưu vào vùng nhớ này

Chú ý: các ô nhớ nào mà chia ra làm 8 và có các con số bên trong là các ô

nhớ vừa cho truy xuất byte và cả truy xuất bit Những ô nhớ còn lại thì không thểtruy xuất bit Các số nằm bên trong từng ô bit là địa chỉ của từng bit

RAM đa dụng :

Trang 21

Vùng nhớ RAM đa dụng gồm có 80 byte có địa chỉ từ 30H đến 7FH –vùng nhớ này không có gì đặc biệt so với 2 vùng nhớ trên Vùng nhớ bank thanhghi 32 byte từ 00H đến 1FH cũng có thể dùng làm vùng nhớ RAM đa dụng mặc

dù các ô nhớ này có chức năng như đã trình bày

Mọi địa chỉ trong vùng RAM đa dụng đều có thể truy xuất tự do dùng kiểuđịnh địa chỉ trực tiếp hoặc gián tiếp Bộ nhớ ngăn xếp của vi xử lý dùng RAMnội nên dung lượng bộ nhớ ngăn xếp nhỏ, trong khi đó các vi xử lý dùng bộ nhớbên ngoài làm bộ nhớ ngăn xếp nên dung lượng tùy ý mở rộng

2.5 Các thanh ghi có chức năng đặc biệt

Các thanh ghi nội của 89C51 được truy xuất ngầm định bởi bộ lệnh

Các thanh ghi trong 89C51 được định dạng như một phần của RAM trênchip vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chươngtrình và thanh ghi lưu trữ mã lệnh vì các thanh ghi này đã có chức năng cố định).Cũng như các thanh ghi R0 đến R7, vi xử lý 89C51 có 21 thanh ghi có chức năngđặc biệt nằm ở vùng trên của RAM nội có địa chỉ từ 80H đến FFH

Chú ý: 128 ô nhớ có địa chỉ từ 80H đến FFH thì chỉ có 21 thanh ghi có

chức năng đặc biệt được xác định – còn các ô nhớ còn lại thì chưa thiết lập vàtrong tương lai sẽ được các nhà thiết kế vi xử lý thiết lập thêm, khi đó sẽ có các

vi xử lý thế hệ mới hơn

Bảng 2.9: Bảng địa chỉ và giá trị khi Reset của các thanh ghi chức năng

của AT89S52

Trang 22

2.5.1 Thanh ghi trạng thái chương trình (PSW: Program Status Word):

Bảng 2.10:Thanh ghi trạng thái chương trình ở địa chỉ D0H

- Cờ Carry CY (Carry Flag): Cờ nhớ có tác dụng kép Thông thường nóđược dùng cho các lệnh toán học: C=1 nếu phép toán cộng có sự tràn hoặc phéptrừ có mượn và ngược lại C=0 nếu phép toán cộng không tràn và phép trừ không

có mượn

- Cờ Carry phụ AC (Auxiliary Carry Flag): Khi cộng những giá trị BCD(Binary Code Decimal), cờ nhớ phụ AC được set nếu kết quả 4 bit thấp nằmtrong phạm vi xử lý 0AH - 0FH Ngược lại AC=0

- Cờ 0 (Flag 0): Cờ 0 (F0) là 1 bit cờ đa dụng dùng cho các ứng dụng củangười dùng

Những bit chọn bank thanh ghi truy xuất:

RS1 và RS0 quyết định dãy thanh ghi tích cực Chúng được xóa sau khireset hệ thống và được thay đổi bởi phần mềm khi cần thiết

Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn Bank tích cực tươngứng là Bank 0, Bank1, Bank2, Bank3

Trang 23

Bảng 2.11: Bít chọn bank thanh ghi truy xuất

Bit Parity (P) :Bit tự động được set hay Clear ở mỗi chu kỳ máy để lậpParity chẵn với thanh ghi A Sự đếm các bit 1 trong thanh ghi A cộng với bitParity luôn luôn chẵn Ví dụ A chứa 10101101B thì bit P set lên 1 để tổng số bit

Thanh ghi B cũng có thể được dùng như một thanh ghi trung gian, thanhghi này được định địa chỉ theo bit từ F0H đến F7H

2.5.3 Con trỏ ngăn xếp SP (Stack Pointer)

Con trỏ ngăn xếp là một thanh ghi 8 bit ở địa chỉ 81H dùng đểù chứa địachỉ của đỉnh ngăn xếp Các lệnh thao ngăn xếp bao gồm các lệnh cất dữ liệu vàongăn xếp (PUSH) và lấy dữ liệu ra khỏi ngăn xếp (POP) Lệnh cất dữ liệu vàongăn xếp sẽ làm tăng SP và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP Ngăn xếpcủa AT89S52 là 128 byte đầu của RAM nội

2.5.4 Con trỏ dữ liệu DPTR (Data Pointer).

Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài Con trỏdữliệu là một thanh ghi 16 bit ở địa chỉ 82H (DPL: byte thấp) và 83H (DPH: bytecao)

Ví dụ: 03 lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H:

MOV A , #55H

MOV DPTR, #1000H

MOV @DPTR, A

2.5.5 Các thanh ghi Port (Port Register).

Các thanh ghi của các Port của AT89S52 bao gồm thanh ghi của Port 0 ởđịa chỉ 80H, thanh ghi của Port1 ở địa chỉ 90H, thanh ghi của Port2 ở địa chỉ

Trang 24

A0H, và thanh ghi của Port3 ở địa chỉ B0H Tất cả các thanh ghi của các Port nàyđều có thể truy xuất theo bit và theo byte.

2.5.6 Các thanh ghi của các bộ Timer (Timer Register).

AT89S52 có chứa ba bộ đếm/định thời (Timer/Counter)16 bit được dùngcho việc định thời hoặc đếm sự kiện Bộ định thời 0 (Timer0) ở địa chỉ 8AH(TLO: byte thấp) và 8CH ( THO: byte cao) ; Timer1 ở địa chỉ 8BH (TL1: bytethấp) và 8DH (TH1 : byte cao) ; Timer2 ở địa chỉ CCH (TL2 byte thấp) và CDH(TH2 : byte cao) Các thanh ghi này không được định địa chỉ bit (xem thêmchương 3)

2.5.7 Các thanh ghi Port nối tiếp (Serial Port Register)

AT89S52 chứa một Port nối tiếp phục vụ cho việc trao đổi thông tin vớicác thiết bị có khả năng giao tiếp nối tiếp như máy tính (qua cổng com), modemhoặc các bộ vi xử lý khác có cùng chức năng Thanh ghi đệm dữ liệu nối tiếp(SBUF) ở địa chỉ 99H làm cả hai nhiệm vụ truyền và nhận dữ liệu Khi truyền dữliệu được ghi lên SBUF, khi nhận dữ liệu được đọc từ SBUF Thanh ghi nàycũng khong được định địa chỉ bit (xem thêm chương 4)

2.5.8 Các thanh ghi ngắt (Interrupt Register)

AT89S52 có 6 nguồn ngắt, 2 mức ưu tiên Các ngắt bị cấm sau khi bị reset

hệ thống và sẽ được cho phép bằng việc set các bit của thanh ghi cho phép ngắt(IE) ở địa chỉ A8H, thứ tự ưu tiên của các ngắt được đặt bằng cách set các bit ởthanh ghi ưu tiên ngắt (IP) ở địa chỉ B8H Cả hai thanh ghi này đều được địnhđịa chỉ theo bit (xem thêm chương 5)

2.5.9 Thanh ghi điều khiển nguồn PCON (Power Control Register):

PCON gồm 8 bit nằm ở địa chỉ 87H Thanh ghi này không được định địachỉ theo bit, ý nghĩa của từ bit như sau:

- Bit 7 (SMOD) : Bit có tốc độ Baud ở mode 1, 2, 3 ở Port nối tiếp khi set

- Bit 6, 5, 4 : Không sử dụng

- Bit 3 (GF1) : Bit cờ đa năng 1

- Bit 2 (GF0) : Bit cờ đa năng 2

- Bit 1 (PD) : Set để khởi động mode Power Down và thoát để reset

- Bit 0 (IDL) : Set để khởi động mode Idle và thoát khi ngắt mạch hoặcreset

2.6 Bộ nhớ ngoài

Bộ nhớ dữ liệu ngoài là bộ nhớ RAM được đọc hoặc ghi bởi tín hiệu /RD

và WR.Các RAM có thể giao tiếp với AT89S52 tương tự cách thức như EPROMngoại trừ chân /RD của AT89S52 nối với chân /OE (Output Enable) của RAM và/chân WR của AT89S52 nối với chân /WE của

Trang 25

Hình 2.9: Sơ đồ ghép nối 8051 với RAM

Nếu có nhiều vi mạch ROM và RAM cùng được ghép nối với 89S52 thì cóthể dùng thêm vi mạch giải mã 74LS138 (hình dưới)

Hình 2.10: Giải mã địa chỉ cho các vi mạch nh

Như đã nói ở trên, bộ nhớ chương trình và bộ nhớ dữ liệu của 89S52 có thể trùngđịa chỉ, điều này cho phép người thiết kế có thể xây dựng một bộ nhớ dữ liệuchứa chương trình thực thi (Bộ nhớ dữ liệu đọc như bộ nhớ chương trình) nhưhình dưới

OEWE

OG

CS CS CS

CS CS CS

D0-D7 D0-D7

EPROM 8KBytes

Select another EPROM/RAM

Trang 26

Hình 2.11: Bộ nhớ dữ liệu chứa chương trình thực thi

2.7 Mạch tạo dao động và hoạt động Reset

Chế độ X1 (chế độ mặc định):Ở chế độ này tần số thạch anh được chia 12

lần, nghĩa là nếu một lệnh thực hiện trong 1 chu kỳ máy và tần số thạch anh là12Mhz thì thời gian thực hiện lệnh đó sẽ là 1 (µs)

Chế độ X2: Ở chế độ này tần số thạch anh được chia 6 lần, chế độ này được

đặt bằng cách đặt các bit ở 2 thanh ghi CLKCON0 và CLKCON1

Thanh ghi CLKCON0:

Trang 27

B ng 2.12: Mô t ho t ảng 2.12: Mô tả hoạt động thanh ghi CLKCON0 ảng 2.12: Mô tả hoạt động thanh ghi CLKCON0 ạt động thanh ghi CLKCON0 động thanh ghi CLKCON0ng thanh ghi CLKCON0

CLKCON07 CANX2

CLKCON06 WDX2

Cho phép đặt hệ số chia cho watchdog timer:

0: hệ số chia là 61: hệ số chia là 12CLKCON05 PCAX2

CLKCON04 SIX2

Cho phép đặt hệ số chia port nối tiếp ( mode 0 vàmode 2):

0: hệ số chia là 61: hệ số chia là 12

CLKCON03 T2X2

Cho phép đặt hệ số chia cho timer 2:

0: hệ số chia là 61: hệ số chia là 12

CLKCON02 T1X2

Cho phép đặt hệ số chia cho timer 1:

0: hệ số chia là 61: hệ số chia là 12

CLKCON01 T0X2

Cho phép đặt hệ số chia cho timer 0:

0: hệ số chia là 61: hệ số chia là 12

CLKCON00 X2

Cho phép đặt hệ số chia cho CPU:

0: hệ số chia là 12 (chế độ X1)1:hệ số chia là 6 (chế độ X2)

Thanh ghi CLKCON1:

B ng 2.13: Mô t ho t ảng 2.12: Mô tả hoạt động thanh ghi CLKCON0 ảng 2.12: Mô tả hoạt động thanh ghi CLKCON0 ạt động thanh ghi CLKCON0 động thanh ghi CLKCON0ng thanh ghi CLKCON1

CLKCON10 SPIX2 Cho phép đặt hệ số chia cho tần số xung clock khi

truy xuất ngoại vi:

0: hệ số chia là 12 (chế độ X1)1:hệ số chia là 6 (chế độ X2)

Trang 28

Hình 2.13: Mô tả hoạt động của bộ chia tần

Trang 29

Có 4 cách để RESET 8051 lần lượt là: RESET khi cấp nguồn, RESET bởiWDT, RESET bằng phần mềm và RESET bằng mạch ngoài qua chân RST

Hình 2.14: Hoạt động Reset

Trong một hệ thống gồm nhiều vi mạch khả trình thì một mạch RESET tíchhợp cả 2 cách RESET khi bật nguồn và RESET bởi mạch ngoài thường được sửdụng

Trang 30

2.8 Các vi mạch ngoại vi

2.8.1 IC chốt

Hình 2.16: Sơ đồ chân và sơ đồ logic IC chốt 74573.

Trong hệ thống vi xử lý có đa hợp địa chỉ và dữ liệu thì khi kết nối vi xử

lý với hệ thống phải tiến hành tách riêng từng đường địa chỉ và dữ liệu Các ICthường được dùng để tách địa chỉ và dữ liệu là IC chốt 8 bit 74573

Bảng 2.14: trạng thái hoạt động của IC chốt 74573.

Trong bảng trạng thái thì khi đầu cho phép chốt (LE) ở mức cao (H) thì dữliệu đầu ra Q phụ thuộc vào dữ liệu đầu vào D (Q = D), khi LE ở mức thấp dữliệu tại các đầu ra được chốt lại không phụ còn phụ thuộc dữ liệu của đầu vào(không thay đổi) bất chấp dữ liệu đầu vào Khi đó ta xem dữ liệu đã được chốtlại

Trang 31

Chân điều khiển cho phép OE tích cực mức thấp Khi OE ở mức cao thì 8đầu ra sẽ ở trạng thái tổng trở cao

Các IC số thường được dùng để giải mã bộ nhớ trong các hệ thống vi xử lý

là các cổng logic, các IC giải mã và các IC PROM hay PAL, …

Trong phần này giới thiệu các IC giải mã thường sử dụng như IC 74139giải mã 2 đường sang 4 đường và IC 74138 giải mã 3 đường sang 8 đường

Hình 2.17: Sơ đồ chân và sơ đồ logic IC giải mã 74138.

Bảng 2.15: trạng thái hoạt động của IC giải mã 74138

Trang 32

Trong bảng trạng thái, 3 trạng thái đầu thì IC không được phép giải mã –tất cả các đầu ra đều ở mức H 8 trạng thái còn lại cho phép giải mã 8 đầu ra theo

3 đầu vào, mỗi một trạng thái có 1 đầu ra ở mức L

Khi cần nhiều đầu ra thì kết nối nhiều IC giải mã 74138 ví dụ như cần giải

mã 5 đường sang 32 đường thì sẽ dùng 4 IC giải mã kết nối như hình dưới

Hình 2.18: Kết nối 4 IC giải mã 74138 để giải mã 5 đường sang 32 đường.

Cùng họ với IC giải mã 74138 thì còn IC giải mã 74139 giải mã 2 đường sang 4đường có sơ đồ chân và sơ đồ logic như hình dưới:

Hình 2.19: Sơ đồ chân và sơ đồ logic IC giải mã 74139.

Trong IC giải mã 74139 có 2 mạch giải mã 2 đường sang 4 đường

Trang 33

Bảng 2.16: Trạng thái hoạt động của IC giải mã 74139.

Ở trạng thái đầu tiên thì chân cho phép E ở mức H sẽ không cho phép giải

mã, các đầu ra ở mức H 4 trạng thái còn lại thì cho phép giải mã, đầu ra tích cựcmức thấp

2.8.3 IC đệm

Các IC đệm có dòng vào, dòng ra, áp vào, áp ra lớn để đệm các đườngđịa chỉ và các đường dữ liệu khi vi xử lý kết nối với nhiều IC nhớ hay IC ngoạivi

Có 2 dạng IC đệm: đệm 1 chiều và đệm 2 chiều Đệm 2 chiều thường sửdụng là IC74245 có sơ đồ chân và sơ đồ logic như hình:

Hình 2.20: Sơ đồ chân và sơ đồ logic IC đệm 74245.

Trang 34

Bảng 2.17: Bảng trạng thái hoạt động của IC đệm 74245.

Trong bảng trạng thái thì 2 trạng thái đầu OE = L cho phép IC hoạt động

và nếu Direction = L thì dữ liệu truyền từ bus đầu vào B sang bus đầu ra A,Direction = H thì dữ liệu truyền từ bus đầu vào A sang bus đầu ra B Khi OE = Hthì các bus ở trạng thái tổng trở cao

IC 74245 thường được dùng để đệm bus dữ liệu hai chiều của vi xử lý Ngoài IC đệm 2 chiều còn có các IC đệm một chiều 74244 và IC đệm đảo

74240, đệm 1 chiều thường sử dụng là IC74244 có sơ đồ chân và sơ đồ logic nhưhình:

Hình 2.21: Sơ đồ chân và sơ đồ logic IC đệm 74244.

Trong IC 74244 chia ra làm 2 khối đệm 4 bit hoạt động độc lập

Trang 35

Hình 2 22: Sơ logic IC đệm 74244 chia ra làm 2 khối.

Bảng 2.18: trạng thái hoạt động của IC đệm 74244.

Trong bảng trạng thái thì 2 trạng thái đầu OE = L cho phép IC đệm dữliệu Khi OE = H thì các đầu ra ở trạng thái tổng trở cao

IC 74240 là IC đệm hoạt động giống như IC đệm 74244 nhưng đầu ra bị đảo

2.8.4 IC nhớ ROM, RAM

Trong các hệ thống vi xử lý luôn sử dụng bộ nhớ ROM và bộ nhớ RAM

để lưu chương trình và dữ liệu xử lý Tuỳ thuộc vào yêu cầu mà hệ thống bộ nhớđược sử dụng nhiều hay ít

Các bộ nhớ ROM thường sử dụng là loại EPROM họ 27×××, loạiEEPROM họ 28×××, họ 29×××

Bộ nhớ RAM sử dụng nhiều loại và phổ biến là họ 62××

Trang 36

a Khảo sát EPROM họ 27×××:

Hình 2.23: Sơ đồ chân IC nhớ họ 27xxx

Trong sơ đồ tổng quát thì các IC 2716 và 2732 chỉ có 24 chân, các IC từ

2764 đến 27512 thì có 28 chân EPROM 2716 có dung lượng 2 Kbyte, 2732 códung lượng 4Kbyte, 2764 có dung lượng 8Kbyte

Hình 2.24: Sơ đồ chân các IC nhớ

Trang 37

Bảng 2.19: Tên các chân của IC nhớ họ 27.

Bảng trạng thái hoạt động của các IC nhớ 2716, 2732 và 2764:

Bảng 2.20: Bảng trạng thái hoạt động của IC2716.

Bảng 2.21: Bảng trạng thái hoạt động của IC2732.

Trang 38

Bảng 2.22: Bảng trạng thái hoạt động của IC2764

Trong bảng trạng thái liệt kê đầy đủ các trạng thái nhưng nếu sử dụngtrong hệ thống giao tiếp với vi xử lý thì chỉ cần quan tâm đến các trạng thái sau:

“Read”, “Standby” và “Output Disable” Các trạng thái còn lại dành cho các nhànghiên cứu thiết kế bộ nạp EPROM

Khi sử dụng bộ nhớ kết nối với vi xử lý thì cần phải quan tâm đến cácthông số của IC nhớ cho đầy đủ trong datasheet của IC Có rất nhiều thông sốnhưng người sử dụng cần biết các thông số cơ bản đó là thời gian try xuất bộ nhớ

Hình 2.25: Dạng sóng truy xuất bộ nhớ của IC nhớ 2716:

Phân tích dạng sóng: sau khi bộ nhớ 2716 nhận được địa chỉ đã xác lập,

tiếp theo chân điều khiển CE chuyển trạng thái từ H xuống mức L để cho phép

bộ nhớ, tiếp theo chân OE chuyển trạng thái từ H xuống mức L để cho phép xuất

dữ liệu

Nhìn vào dạng sóng thì ta thấy có 3 thông số:

- Thông số tOE được tính từ khi chân OE xuống mức L cho đến khi dữ liệu

Trang 39

Bảng 2.23: Thông số thời gian hoạt động của IC2716.

Trang 40

Bảng 2.24: trạng thái hoạt động của các IC nhớ 6264

Bảng 2.25: Bảng trạng thái hoạt động của IC6264.

Dạng sóng đọc dữ liệu từ bộ nhớ RAM 6264 và các thông số: Tương tựnhư bộ nhớ EPROM khi sử dụng phải quan tâm đến các thông số truy xuất bộnhớ đọc và ghi dữ liệu

Hình 2.27: Dạng sóng đọc bộ nhớ RAM 6264.

Phân tích dạng sóng: sau khi bộ nhớ 6264 nhận được địa chỉ đã xác lập,

tiếp theo các chân điều khiển 1CE và CE2 chuyển sang trạng thái cho phép bộ

Ngày đăng: 16/12/2023, 15:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Kỹ thuật vi xử lý và lập trình Assembly cho hệ vi xử lý, Đỗ Xuân Tiến, 2003 Khác
2. Tài liệu hướng dẫn sử dụng bộ thí nghiệm MTS-51, 8051 Microcomputer Trainer – K&H MFG. CO.,LTD Khác
3. Tài liệu hường dẫn sử dụng bộ thí nghiệm AVR, Training kit SAT128-350 (Dr.kim Training kit Atmega128- SAT128-350) Khác
4. Vi xử lý – Nguyễn Đình Phú, Đại học sư phạm Kỹ thuật HCM Khác
5. Programming Embedded Systems I – Michael J.Pont, University of Leicester Khác
6. Họ vi xử lý 8051, I. Sott Mackenzie, dịch: Tống Văn On và Hoàng Đức Hải, 2001 Khác
11. www.atmel.com - datasheet Atmel 89C51 12. www.robotkim.com/drkimrobot.com Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Cấu trúc bên trong vi xử lý họ 8051 - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.1 Cấu trúc bên trong vi xử lý họ 8051 (Trang 12)
Hình 2.9: Sơ đồ ghép nối 8051 với RAM - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.9 Sơ đồ ghép nối 8051 với RAM (Trang 25)
Hình 2.10: Giải mã địa chỉ cho các vi mạch nh - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.10 Giải mã địa chỉ cho các vi mạch nh (Trang 25)
Hình 2.13: Mô tả hoạt động của bộ chia tần - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.13 Mô tả hoạt động của bộ chia tần (Trang 28)
Hình 2.16:  Sơ đồ chân và sơ đồ logic IC chốt 74573. - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.16 Sơ đồ chân và sơ đồ logic IC chốt 74573 (Trang 30)
Hình 2.18: Kết nối 4 IC giải mã 74138 để giải mã 5 đường sang 32 đường. - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.18 Kết nối 4 IC giải mã 74138 để giải mã 5 đường sang 32 đường (Trang 32)
Hình 2. 22: Sơ logic IC đệm 74244 chia ra làm 2 khối. - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2. 22: Sơ logic IC đệm 74244 chia ra làm 2 khối (Trang 35)
Hình 2.24: Sơ đồ chân các IC nhớ - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.24 Sơ đồ chân các IC nhớ (Trang 36)
Bảng 2.26: Bảng thông số thời gian hoạt động đọc của IC 6264. - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Bảng 2.26 Bảng thông số thời gian hoạt động đọc của IC 6264 (Trang 41)
Hình 2.27: Dạng sóng ghi dữ liệu vào bộ nhớ RAM 6264. - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 2.27 Dạng sóng ghi dữ liệu vào bộ nhớ RAM 6264 (Trang 42)
Bảng 2.27: Bảng thông số thời gian hoạt động ghi của RAM 6264. - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Bảng 2.27 Bảng thông số thời gian hoạt động ghi của RAM 6264 (Trang 42)
Hình 7.2. Cấu trúc cơ bản của AVR - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 7.2. Cấu trúc cơ bản của AVR (Trang 229)
Hình 7.4.  Bộ nhớ chương trình có và không có sử dụng boot loader - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 7.4. Bộ nhớ chương trình có và không có sử dụng boot loader (Trang 232)
Hình 7.13. Sơ đồ một cổng vào – ra - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 7.13. Sơ đồ một cổng vào – ra (Trang 240)
Hình 7.15. Sơ đồ khối bộ định thời 1 và 3 - Giáo trình Vi xử lý  CĐ Nghề Công Nghiệp Hà Nội
Hình 7.15. Sơ đồ khối bộ định thời 1 và 3 (Trang 242)

🧩 Sản phẩm bạn có thể quan tâm

w