1. Trang chủ
  2. » Giáo Dục - Đào Tạo

GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps

37 484 1
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

Tiêu đề Giới Thiệu Về Vi Điều Khiển 8051
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Vi Điều Khiển
Thể loại giáo trình
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 37
Dung lượng 597 KB

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

Nội dung

+Thứ nhất: RAMRandom Access Memory : bộ nhớ cho phép đọc và ghi dữ liệu được, ROMRead Only Memory: bộ nhớ chỉ đọc, trong một số chip vi điều khiển cịn sử dụng EPROM là loại lập trình cĩ

Trang 1

Chương1 : GIỚI THIỆU VI ĐIỀU KHIỂN 8051

I.1 Tổng quan về kỹ thuật vi điều khiển:

I.1.1 Khái quát về kỹ thuật vi điều khiển:

Bộ vi điều khiển MC(Microcontroller) là một chíp cĩ thể lập trình được

để điều khiển hoạt động của hệ thống Nhờ chương trình điều khiển, bộ vi điềukhiển sẽ thực hiện đọc các tín hiệu từ bên ngồi vào,lưu trữ rồi xử lý,sau đĩdựa vào kết quả của các quá trình xử lý để dưa ra các thơng báo, tiến hành bậttắt các thiết bị bên ngồi Vi điều khiển ứng dụng rất nhiều trong các sản phẩmcơng nghệ và tiêu dùng

Vi điều khiển được xây dựng từ vi xử lý Năm 1971 tập đồn Intel đã giớithiệu bộ vi xử lý đầu tiên 8080 Sau đĩ một thời gian ngắn, các hãngMotorola,RCA,MOS Technology va Zilog đã lần lượt giới thiệu các chíp vi xử

lý tương ứng là 6800, 1801, 6502 và Z80 Bản thân các mạch tích hợp (IC:Integrated Circuit) này khơng thể tự làm gì khi đứng riêng lẻ, nhưng khi nằmtrong bo mạch chủ của hệ thống máy tính, nĩ trở thành bộ phận trung tâm trongnhững sản phẩm cĩ ích

Xuất phát từ những yêu cầu điều khiển và giám sát hệ thống, một IC gầntương tự với bộ vi xử lý ra đời đĩ là bộ vi điều khiển Năm 1976 Intel giới thiệuchíp vi điều khiển đầu tiên trong họ vi điều khiển MCS-48 là 8748 Mạch tíchhợp này chứa hơn 17000 transistor, nĩ bao gồm:

-Một CPU, 1Kbyte EPROM, 64Byte RAM

-27 chân I/O và một bộ định thời 8 bit

IC này và các chíp xuất hiện về sau trong họ 48 nhanh chĩng chuẩn cơngnghiệp trong các ứng dụng về điều khiển Các ứng dụng phổ biến đầu tiên của

bộ vi điều khiển là trong máy giặt, hệ thống đèn giao thơng và dần dần xuấthiện trong xe hơi, thiết bị cơng nghiệp, sản phẩm tiêu dùng và thiết bị ngoại vicủa máy tính Về sau sức mạnh cũng như sự phức tạp của MC đã nâng lên ởmức cao hơn Năm 1980, Intel đã giới thiệu chip vi điều khiển đầu tiên trong họMCS-51 là 8051 So với 8048, 8051 chứa hơn 60000 transistor, bao gồm :

-1 CPU, 4kbyte ROM, 128byte RAM

-32 chân I/O, 1 cổng nối tiếp, 2 bộ định thời gian 16 bit

Sau đĩ, Simens đưa ra phiên bản nâng cao của 8051 là SAB 80515 cĩ 68chân với 6 cổng I/O 8 bit, 13 ngắt và 1 bộ biến đổi A/D 8 bit với 8 đường ngỏvào Họ 8051 được xem như là họ vi điều khiển 8 bit mạnh và đa năng nhất

I.1.2 Sơ đồ khối của một vi điều khiển:

Sơ đồ khối chung của một vi điều khiển như hình dưới, bao gồm: CPU,

bộ nhớ ROM (hay EPROM) và RAM, mạch giao tiếp nối tiếp, mạch giao tiếp

H1.2.S ơ đồ khối của CPU đồ khối của CPU kh i c a CPU ối của CPU ủa CPU

Thanh ghi l nh(IR) ệnh(IR)

Khối điều khiển

Kh i logic và s ối của CPU ối của CPU

h c ọc

CPU

Các thanh ghi

B ộ đếm chương trình(PC) đếm chương trình(PC) m ch ươ đồ khối của CPU ng trình(PC)

Trang 2

song song, bộ dịnh thời gian, hệ thống ngắt và các đường BUS được tích hợptrên cùng một chip.

I.1.2.1 Đơn vị xử lý trung tâm CPU:

Là thành phần chính của một chip vi điều khiển, quản lý tất cả hoạt độngcủa bộ vi điều khiển, thực hiện phép toán trên số liệu, thực chất nó là tập hợpcác mạch logic nhằm thực hiện liên tục hai hoạt động chính là tìm lệnh và thihành lệnh

Hình 1.2 mô tả các khối bên trong của CPU Nó có một tập các thanh ghidùng cho việc lưu trữ tạm thời các thông tin, khối số học ALU(Arithmatic andLogic Unit) thực hiện các phép toán dựa trên các thông tin được lưu trongthanh ghi, khối điều khiển và giải mã lệnh(Intruction Decode and control unit)xác định phép toán cần thi hành và chuẩn bị các hoạt động cần thiết để thựchiện lệnh đó có kết hợp với các thông tin trong hai thanh ghi phụ.Thanh ghilệnh(Intruction register) chứa mã nhị phân của mỗi lệnh cần thực hiện Bộ đếmchương trình(Program counter) lưu trữ địa chỉ trong bộ nhớ của lệnh cần thựchiện tiếp theo

Bus d li u, a ch , i u khi n ữ liệu, địa chỉ, điều khiển ệnh(IR) địa chỉ, điều khiển ỉ, điều khiển đ ều khiển ển

H.1.S õ ồ khối của CPU ọcử khọỳi bọỹ vi õióửu khióứn kh ọcỳi bọỹ vi õióửu khióứn ọcỹ vi õióửu khióứn i b vi õió u khió n ử khọỳi bọỹ vi õióửu khióứn ứn

Times Bọcỹ vi õióửu khióứn õió uử khọỳi bọỹ vi õióửu khióứn

khió n ứn ngà t ừt

Giao tió p ỳi bọỹ vi õióửu khióứn

n ọcỹ vi õióửu khióứn i tió p ỳi bọỹ vi õióửu khióứn Giao tió psong songỳi bọỹ vi õióửu khióứn CPU

Thió t b ỳi bọỹ vi õióửu khióứn ở

n ọcỳi bọỹ vi õióửu khióứn i tió p ỳi bọỹ vi õióửu khióứn song songThió t bỳi bọỹ vi õióửu khióứn ở

Ngu n ồ khối của CPU đồ khối của CPU ng

h ngoài ồ khối của CPU ngoàiNg tắt

ng h

Đồ khối của CPU ồ khối của CPU

n i ộ đếm chương trình(PC)

Trang 3

I.1.2.2 Bộ nhớ bán dẫn RAM và ROM(EPROM):

Bộ nhớ dùng để lưu trữ chương trình và dữ liệu, cĩ hai loại bộ nhớ làRAM và ROM Chúng ta cĩ thể phân biệt được sự khác nhau giữa RAM vàROM dựa trên hai tính năng

+Thứ nhất: RAM(Random Access Memory) : bộ nhớ cho phép đọc và

ghi dữ liệu được, ROM(Read Only Memory): bộ nhớ chỉ đọc, trong một số chip vi điều khiển cịn sử dụng EPROM là loại lập trình cĩ thể xĩa được.

+Thứ hai: dữ liệu trong RAM sẽ bị mất đi khi ngắt nguồn cung cấp điện,trong khi dữ liệu trong ROM thì vẫn lưu lại khi lúc khơng cấp nguồn.

I.1.2.3 Bus địa chỉ, Bus dữ liệu và Bus điều khiển:

Bus là tập hợp các đường dây mang thơng tin với cùng mục đích Trongchip vi điều khiển cĩ 3 loại Bus là bus địa chỉ, bus dữ liệu và bus điều khiển.Trong hoạt động đọc hay ghi CPU xác định dữ liệu bằng cách đặt một địa chỉlên bus địa chỉ, rồi kích hoạt một tín hiệu trên bus điều khiển để chỉ thị hoạtđộng đĩ là đọc hay ghi

Hoạt động đọc sẽ lấy một byte dữ liệu từ bộ nhớ tại một vị trí xác địnhrồi đặt lên bus dữ liệu CPU đọc dữ liệu này và đặt nĩ vào một trong các thanhghi nội của CPU Hoạt động ghi thì ngược lại, CPU lấy dữ liệu đưa ra bus dữliệu Nhờ cĩ tín hiệu điều khiển bộ nhớ nhận biết được đây là một hoạt độngghi và nĩ sẽ lưu dữ liệu trên vào vùng nhớ đã được xác định nhờ địa chỉ màCPU đã gởi tới từ trước

Bus dữ liệu mang thơng tin trao đổi giữa CPU và bộ nhớ, giữa CPU vàthiết bị I/O Độ rộng của Bus dữ liệu đĩng vai trị khá quan trọng trong vấn đềtăng tốc cho một bộ vi điều khiển, 8051 cĩ độ rộng bus dữ liệu là 8 bit Hiện

H1.2.S ơ đồ khối của CPU đồ khối của CPU kh i c a CPU ối của CPU ủa CPU

Thanh ghi l nh(IR) ệnh(IR)

Khối điều khiển

Kh i logic và s ối của CPU ối của CPU

h c ọc

CPU

Các thanh ghi

B ộ đếm chương trình(PC) đếm chương trình(PC) m ch ươ đồ khối của CPU ng trình(PC)

Trang 4

nay nhiều bộ vi điều khiển sữ dụng bus địa chỉ và bus dữ liệu dồn kênh, nghĩa

là sử dụng cùng một đường truyền cho các bit dữ liệu và một số bit địa chỉ.Trong trường hợp này bộ vi điều khiển có thêm các mạch ngoài dùng để phântích các tín hiệu địa chỉ và dữ liệu trong các bus tương ứng

Các bus dữ liệu hoạt động theo 2 hướng, còn bus địa chỉ hoạt động theomột hướng Bởi vì thông tin địa chỉ luôn luôn được cung cấp bởi CPU, nhưng

dữ liệu thì có thể lưu thông theo cả 2 chiều tùy thuộc vào hoạt đọng ghi vào hayđọc ra Thông tin lưu trữ trên bus dữ liệu có thể là nhữg lệnh của chương trình,địa chỉ gắn vào câu lệnh, dữ liệu được sử dụng bởi chương trình Bus điềukhiển là tổ hợp các báo hiệu, mỗi báo hiệu có một vai trò xác định để điềukhiển hoạt động của hệ thống hoạt động một cách hiệu quả Những tín hiệuđiều khiển là những tín hiệu định thời được cung cấp bởi CPU nhằm đồng bộ

và vận chuyển thông tin trên bus địa chỉ vào bus dữ liệu

I.2 Kiến trúc phần cứng của 8051:

I.2.1 Sơ đồ khối vi điều khiển 8051:

IC 8051 là một chip vi điều khiển trong họ vi điều khiển C51 đã đượcIntel giới thiệu và đưa ra thị trường Các thành phần bên trong gồm có:

-128 byte RAM4

-Cổng vào ra 8 bit

-2 bộ đếm thời gian 16 bit

-Giao tiếp nối tiếp

-64Kbytes không gian bộ nhớ chương trình ngoài

-64Kbytes không gian bộ nhớ dữ liệu ngoài

-Bộ vi xử lý hoạt động trên từng bit riêng lẻ

-210 vị trí có thể đánh địa chỉ theo bit

-Bộ nhân chia 4 us

Trang 5

I.2.2 Chức năng các chân của 8051:

Chip vi điều khiển 8051 có 32 chân trong tổng số 40 chân có chức năngnhư là cổng I/O.Trong đó có 24 chân sử dụng với 2 mục đính Nghĩa là ngoàichức năng I/O, mỗi chân có thể là một đường điều khiển của bus địa chỉ haybus dữ liệu khi hệ thống sử dụng bộ nhớ ngoài Hoặc là mỗi đường hoạt độngmột cách độc lập để giao tiếp với các thiết bị đơn bit như là các công tắc, đènLED, môtơ, transistor , loa

Trong những mô hình thiết kế không có bộ nhớ ngoài Port0 được sửdụng như là cổng I/O Còn đối với những hệ thống lớn hơn có yêu cầu một sốlượng đáng kể bộ nhớ ngoài thì Port0 trở thành các đường truyền dữ liệu và 8bit thấp của Bus địa chỉ

Cổng Port1 được chỉ định là cổng I/O từ chân 1 đến 8 Chúng được sửdụng cho mục đích duy nhất là giao tiếp với các thiết bị ngoài khi cần thiết

Cổng Port2 là cổng I/O hoặc là đường truyền 8 bit cao của bus địa chỉcho những mô hình thiết kế có bộ nhớ chương trình nằm ở ngoài hoặc có hơn

256 byte bộ nhớ dữ liệu ngoài

Cổng Port3 ngoài mục đích chung là cổng I/O, những chân này còn kiêmluôn nhiều chức năng khác nữa liên quan đến các tính năng đặc biệt của 8051

Trang 6

32 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

33 34 35 36 37 38 39

AD7 AD6 AD5 AD4 AD3

AD1 AD0 AD2

8 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0

7 6 5 4 3 2 1

28 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

27 26 25 24 23 22 21

A15 A14 A13 A12 A11

A9 A8 A10

17 P3.7 P3.6 P3.5 P3.4 P 3.3 P3.2 P3.1 P3.0

16 15 14 13 12 11 10

27 26 25 24 23 22 21

A15 A14 A13 A12 A11

A9 A8

Trang 7

Bit Tên Địa chỉ bit Chức năng thứ hai

ngoài

H1.5.S ơ đồ khối của CPU đồ khối của CPU kh i 8051 ối của CPU

CPU

B dao ộ đếm chương trình(PC)

ng

độ đếm chương trình(PC) Đ ều khiểni u khi n BUSển Các c ng Input/ổng Input/

Output C ng n i ổng Input/ ối của CPU

ti p ếm chương trình(PC)

ALE PSEN

EA RST

P

0 P1 P2 P3 TxD RxD

H1.8.C u trúc RAM trong c a 8051 ấu trúc RAM trong của 8051 ủa 8051

Trang 8

Hình 1.6: Những chức năng thứ hai của một số chân cổng

PSEN : là một tín hiệu điều khiển cho phép bộ nhớ chương trình bên

ngoài hoạt động Nó thường được kết nối đến chân OE (output enable) củaEPROM để thực hiện đọc các byte chương trình Xung tín hiệu PSEN luôn ởmức thấp trong suốt phạm vi quá trình của một lệnh Còn khi thi hành chươngtrình từ ROM ở ngay bên trong chip, chân PSEN luôn ở mức cao (không hoạtđộng)

Tín hiệu ALE có chức năng tách byte địa chỉ thấp và bus dữ liệu khicổng P0 được sử dụng ở chế độ tuần tự hay còn gọi là chế độ dồn kênh, nghĩa

là sử dụng cùng một đường truyền cho các bit dữ liệu và byte thấp của bus địachỉ

Khi chân EA ở mức cao, 8051/8052 được phép thực hiện các chươngtrình lưu trữ ở vùng nhớ thấp hơn 4kbyte/8 kbyte ROM bên trong chip Còn khi

EA ở mức thấp, chỉ có những chương trình lưu ở bộ nhớ bên ngoài mới đượcthực hiện.(Dùng cho 8051)

8051 có một bộ dao động nội bên trong chip hoạt động bám theo tần sốcủa dao động thạch anh nằm bên ngoài Tần số thông dụng của thạch anh là 12Mhz cho hầu hết các IC thuộc họ 51

I.2.3 Tổ chức bộ nhớ:

B nh bên trong chip ộ đếm chương trình(PC) ớ bên trong chip

B nh ộ đếm chương trình(PC) ớ bên trong chip

ch ươ đồ khối của CPU ng trình

ho t ạt động độ đếm chương trình(PC) ng

nh tín hi u ờ tín hiệu ệnh(IR) PSEN

FFFFH

B nh ộ đếm chương trình(PC) ớ bên trong chip

ch ươ đồ khối của CPU ng

trình 00H

FFH

B nh bên ngoài ộ đếm chương trình(PC) ớ bên trong chip H1.7.Không gian b nh c a 8051 ộ đếm chương trình(PC) ớ bên trong chip ủa CPU

Trang 9

Byte Address Bit Address Byte Address Bit Address

7F

Ram duỡng chung

FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW

23 1F 1E 1D 1C 1B 1A 19 18 8D Not bit addressable TH1

22 17 16 15 14 13 12 11 10 8C Not bit addressable TH0

21 0F 0E 0D 0C 0B 0A 9 8 8B Not bit addressable TL1

20 7 6 5 4 3 2 1 0 8A Not bit addressable TL0

10

7 Default Register bank 0

Hình 1.8 trình bày chi tiết bộ nhứ dữ liệu Không gian bộ nhớ trong đượcphân chia ra gồm các BANK thanh ghi (00H-1FH), RAM địa chỉ theo bit (20H-2FH) RAM dùng chung(30H-7FH), và các thanh ghi chức năng đặc biệt

I.2.4 Các thanh ghi chức năng đặc biệt:

8051 có các thanh ghi RO-R7 và 21 thanh ghi chức năng đặc biệt SFR(Special Function Rigister) nằm ở phần trên của RAM trong từ địa chỉ 80H-FFH

H1.8.C u trúc RAM trong c a 8051 ấu trúc RAM trong của 8051 ủa 8051

Trang 10

Thanh ghi trạng thái chương trình PSW (Progam Status Word): Thanhghi PSW chứa các bit trạng thái được tóm tắt trong hình 1.9.

+Cờ nhớ CY(Carry Flag): Cờ nhớ được sử dụng cho 2 mục đích Nó đượcdùng trong các phép toán số học, cờ nhớ được lập khi kết quả phép toán có nhớhoặc phải mượn Ngoài ra cờ nhớ được sử dụng như là một thanh ghi một bitcho các lênh boolean hoạt động trên các bit

+Cờ nhớ phụ AC(Auxiliary Carry Flag): Khi thực hiện phép tính BCD,Bit AC được bật nếu kết quả phép toán vừa thực hiện có nhớ hay có mượn đốivới 4 bit thấp

+Cờ OFO(Flag O):Là bit cờ dùng chung được dành sẵn cho các ứng dụngcủa người sử dụng

+Bit chọn lựa Bank thanh ghi: Các bit RSO và RSI dùng để xác định bankthanh ghi tích cực Chúng được xóa mỗi khi hệ thống khởi động lại và đượcthay đổi bởi phần mềm khi cần thiết

+Cờ tràn OV(Overflow Flag) :Cờ tràn được bật nếu kết quả của một phéptoán cộng hay trừ các số có dấu bị sai

+Bit chẵn lẻ P(Parity Bit):Bit parity được tự động lập hay xóa sau mỗi chu

kỳ máy để thiết lập parity chẵn với thanh ghi A Nghĩa là tổng số bit 1 củathanh ghi A cộng với bit Parity thì luôn luôn chẵn

Thanh ghi B: Thanh ghi B được sử dụng đi kèm với thanh ghi A để thựchiện các phép toán nhân và chia Thanh ghi B cũng được xem như là thanh ghiđệm dùng chung Nó có địa chỉ bit từ F0H-F7H

Con trỏ ngăn xếp: là một thanh ghi 8 bit, nó chứa địa chỉ của phần dữ liệuđang hiện diện tại đỉnh của ngăn xếp Ngăn xếp hoạt động theo phương thứcvào trước ra sau Hoạt động đẩy vào ngăn xếp làm tăng SP lên trước khi ghi dữliệu vào Hoạt động lấy ra khỏi ngăn xếp sẽ đọc dữ liệu ra rồi giảm SP

Con trỏ dữ liệu DPTR(Data pointer) :DPTR được sử dụng để truy cậpvào bộ nhớ chương trình và bộ nhớ dữ liệu ngoài, đó là thanh ghi 16 bit có 8 bitthấp ở địa chỉ 82H(DPL) và 8 bit cao ở địa chỉ 83H(DPH)

Các thanh ghi cổng: Các cổng I/O của 8051 bao gồm P0 tại địa chỉ 80H,P1 tại địa chỉ 90H, P2 tại địa chỉ AOH, P3 có địa chỉ BOH Tất cả các cổng đều

có địa chỉ nên cung cấp khả năng giao tiếp với bên ngoài rất mạnh

Các thanh ghi bộ đếm thời gian: 8051 có 2 bộ đếm thời gian 16 bit để địnhcác khoảng thời gian hay đếm các sự kiện Timer0 có địa chỉ 8AH (TL0:bytethấp) và 8CH(TH0:byte cao),timer1 có địa chỉ 8BH(TL1:Byte thấp) và8DH(TL2:Byte cao).Hoạt động của bộ đếm thời gian được thiết lập bởi thanh

H1.11: Gi n ản đồ thời gian trong chế độ dồn kênh và không dồn đồ thời gian trong chế độ dồn kênh và không dồn th i gian trong ch ời gian trong chế độ dồn kênh và không dồn ế độ dồn kênh và không dồn độ dồn kênh và không dồn ồ thời gian trong chế độ dồn kênh và không dồn d n kênh và không d n ồ thời gian trong chế độ dồn kênh và không dồn

kênh

Trang 11

ghi chế độ thời gian TMOD và thanh ghi điều khiển thời gian TCON có địa chỉbit.

Cổng nối tiếp để kết nối với các thiết bị thanh ghi cổng tuần tự: IC 8051chứa một cổng nối tiếp như Modem hoặc để giao tiếp với các IC khác sử dụnggiao tiếp nối tiếp( Bộ chuyển đổi A/D, thanh ghi dịch, bộ nhớ RAM ).Bộ đệm

dữ liệu nối tiếp SBUF lưu giữ cả dữ liệu truyền đi và dữ liệu nhận được.Hoạtđộng ghi SBUF sẽ nạp vào dữ liệu để truyền đi, còn hoạt động đọc SBUF sẽtruy cập vào dữ liệu đã nhận được Nhiều chế độ hoạt động khác nhau có thểlập trình được thông qua địa chỉ bit của thanh ghi điều khiển cổng nối tiếp tạiđịa chỉ 98H

Các thanh ghi ngắt: IC 8051 có 5 nguồn ngắt và 2 mức ưu tiên Các ngắt

bị cấm sau khi hệ thống khởi động lại và sẽ được bật bằng cách ghi vào thanhghi cho phép ngắt IE(Interupt Enable register).Mức ưu tiên được thiết lập thôngqua thanh ghi ưu tiên ngắt IP(Interrupt Priority register).Cả hai thanh ghi nàyđều có địa chỉ bit

Thanh ghi điều khiển năng lượng PCON(Power Control register): Chứanhiều bit điều khiển đảm nhiệm những chức năng khác nhau

Hình 1.10 : Các bit trong thanh ghi điều khiển năng lượng

*Bit SMOD làm tăng gấp đôi tốc độ baud của cổng nối tiếp khi ở chế độ

1, 2 hay 3.Bit 2 và bit 3 là các bit cờ dùng chung được dành sắn cho các ứngdụng của người dùng Các bit điều khiển năng lượng là: Bit hạ thấp năng lượngPD(Power down) và bit ngừng không hoạt động IDL(Idle).các bít này sẽchuyển bộ vi điều khiển sang hai chế độ hoạt động cơ bản

I.2.5 Bộ nhớ ngoài:

Vi điều khiển cho phép mở rộng lên đến 64 Kbytes không gian bộ nhớchương trình và 64 Kbytes không gian bộ nhớ dữ liệu ngoài Khi sử dụng bộnhớ ngoài thì cổng P0 không được dành cho hoạt động I/O, nó trở thành đườngtruyền bus dữ liệu (D0-D7) và byte thấp (A0-A7) của bus địa chỉ Cổng P2thường được sử dụng cho đường truyền byte cao của bus địa chỉ

Trong suốt một nữa chu kỳ bộ nhớ đầu, tín hiệu ALE sẽ chốt byte thấpcủa bus địa chỉ vào bộ chốt 74H573, và trong nữa chu kỳ nhớ còn lại, cổng P0được sử dụng như là bus dữ liệu để đọc dữ liệu vào MC hay ghi dữ liệu ra bộ

a ch Địa chỉ, điều khiển ỉ, điều khiển

Chu k máy ỳi bọỹ vi õióửu khióứn

a ch Địa chỉ, điều khiển ỉ, điều khiển

Chu k máy ỳi bọỹ vi õióửu khióứn A

15

Ghép kênh(16 đườ tín hiệu ng) Không ghép kênh(24 đườ tín hiệu ng)

Trang 12

I.2.5.1 Phương thức truy cập vào bộ nhớ chương trình ngoài:

Bộ nhớ chương trình ngoài được đọc bởi tín hiệu PSEN khi bộ nhớchương trình bên ngoài được sử dụng, cả cổng P0 và P2 đều không được sửdụng như cổng I/O Các kết nối phần cứng được mô tả như trên hình vẽ Mộtvòng chu kỳ máy của 8051 gồm có 12 chu kỳ dao động Nếu bộ dao động nộihoạt động bám theo một dao động thạch anh 12 Mhz thì một chu kỳ máy là1us Suốt một chu kỳ máy chuẩn, tín hiệu ALE dao động 2 lần và 2 byte đượcđọc ra từ bộ nhớ chương trình

I.2.5.2 Truy cập bộ nhớ dữ liệu ngoài:

H1.11: Gi n ản đồ thời gian trong chế độ dồn kênh và không dồn đồ thời gian trong chế độ dồn kênh và không dồn th i gian trong ch ời gian trong chế độ dồn kênh và không dồn ế độ dồn kênh và không dồn độ dồn kênh và không dồn ồ thời gian trong chế độ dồn kênh và không dồn d n kênh và không d n ồ thời gian trong chế độ dồn kênh và không dồn

EA

H1.12.S ơ đồ đấu nối 8051 với ROM ngoài đồ thời gian trong chế độ dồn kênh và không dồn đấu trúc RAM trong của 8051 u n i 8051 v i ROM ngoài ối 8051 với ROM ngoài ới ROM ngoài

Trang 13

Các hoạt động đọc ghi bộ nhớ dữ kiệu được điều khiển bởi 2 tín hiệu RD

và WR Cách duy nhất truy cập đến bộ nhớ dữ liệu ngoài là dùng lệnh MOVX,

sử dụng con trỏ dữ liệu DPTR 16 bit hoặc R0 hay R1 làm thanh ghi địa chỉ

Trang 14

H1.14.S ơ đồ đấu nối 8051 với ROM ngoài đồ thời gian trong chế độ dồn kênh và không dồn đấu trúc RAM trong của 8051 u n i ph n c ng c a 8051 v i RAM ngoài ối 8051 với ROM ngoài ần cứng của 8051 với RAM ngoài ứng của 8051 với RAM ngoài ủa 8051 ới ROM ngoài

Giản đồ thời gian cho hoạt động đọc bộ nhớ dữ liệu ngoài bằng lệnhMOVX A, @DPTR được chỉ trong hình 1.3.Lúc này, một xung ALE và mộtxung PSEN bị bỏ qua và thay vào đó là một xung RD để đọc ra RAM, Giản đồthời gian cho một hoạt động ghi cũng tương tự , chỉ khác là xung WR ở mứcthấp để ghi dữ liệu ra cổng P0 và RD tồn tại ở mức cao

P1 P2 S1

M t chu k máy ộ đếm chương trình(PC) ỳi bọỹ vi õióửu khióứn

Trang 15

S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6

M ọcỹ vi õiĩửu khiĩứn t chu ky ỡ

máy Mọcỹ vi õiĩửu khiĩứn t chu ky ỡ

máy S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6

M ọcỹ vi õiĩửu khiĩứn t chu ky ỡ

máy Mọcỹ vi õiĩửu khiĩứn t chu ky ỡ

N C Mass

Trang 16

I.2.6.Reset hệ thống:

Để Reset 8051, ta phải giữ chân RST ở mức cao trong tối thiểu 2 chu kỳmáy rồi mới trở lại mức thấp Việc Reset có thể thực hiện hoàn toàn bằng taythông qua công tắc, hoặc có thể tự động reset khi cấp điện

Tình trạng các thanh ghi trong 8051 sau khi reset được tóm tắt trong hình1.7 Bộ đếm chương trình sẽ nạp vào giá trị 0000H, bởi vì khi RST xuống mứcthấp, sự thực hiện chương trình luôn luôn bắt đầu tại địa chỉ đầu tiên của bộnhớ chương trình:0000H Nội dung của RAM bên trong chip không bị ảnhhưởng bởi hoạt động của reset

I.3 Giới thiệu các chế độ địa chỉ của 8051:

I.3.1.Các chế đọ địa chỉ của 8051:

Bộ vi điều khiển 8051 sử dụng 8 chế độ địa chỉ để xác định vùng dữ liệucần thiết cung cấp cho các lệnh hoạt động

H1.16.S ơ đồ đấu nối 8051 với ROM ngoài đồ thời gian trong chế độ dồn kênh và không dồn m ch th c hi n RESET ạt động đọc bộ nhớ chương ực hiện RESET ệnh MOVX

Trang 17

Địa chỉ thanh ghi, địa chỉ trực tiếp, địa chỉ gián tiếp, địa chỉ tức thời, địachỉ tương đối, địa chỉ tuyệt đối, địa chỉ dài, địa chỉ liệt kê.

I.3.1.1 Địa chỉ thanh ghi:

8051 cung cấp 8 thanh ghi ký hiệu từ R0 đến R7 Khi mã hóa những lệnh

sử dụng địa chỉ thanh ghi, 3 bit có trị số nhỏ nhất của mã lệnh(OPCODE)đượcdùng để xác định thanh ghi nào được sử dụng Như vậy, mã chức năng và mãthanh ghi kết hợp với nhau tạo thành một lệnh ngắn(1byte)

Hình 1.18a: Địa chỉ thanh ghi

Có tất cả 4 bank thanh ghi, nhưng tại mỗi thời điểm chỉ có 1 bank là hoạtđộng(Active), nhờ vào bit RSI và RSO của thanh ghi trạng thái PSW sẽ xácđịnh thanh ghi nào hoạt động

I.3.1.2 Địa chỉ trực tiếp:

Sử dụng địa chỉ trực tiếp thì có thể truy cập vào bất cứ vùng nhớ haythanh ghi phần cứng nào khác 1byte được thêm vào trong mã lệnh để xác địnhvùng nhớ cần sử dụng

Vùng nhớ được truy cập có thể là 128 byte thấp trong bộ nhớ RAM( cóđịa chỉ từ 00H đến 7FH) hoặc các cổng I/O, thanh ghi chức năng đặc biệt, vàthanh ghi trạg thái ( có địa chỉ từ 80H-FFH)

I.3.1.3 Địa chỉ gián tiếp:

R0 và R1 có thể hoạt động như là những thanh ghi con trỏ, nội dung củachúng cho biết địa chỉ của vùng dữ liệu cần ghi hay đọc trong RAM Bit cótrọng số nhỏ nhất của mã lệnh xác định thanh ghi nào được sử dung làm contrỏ

Trong hợp ngữ của 8051, địa chỉ gián tiếp được biểu thị bằng dấu Yỵđứng trước R0 hay R1

I.3.1.4.Địa chỉ tức thời:

Opcode Direct Address

H1.18b Địa chỉ trực tiếp a ch tr c ti p ỉ trực tiếp ực hiện RESET ế độ dồn kênh và không dồn

H1.18.c Địa chỉ trực tiếp a ch gián ti p ỉ trực tiếp ế độ dồn kênh và không dồn

Trang 18

Khi toán hạng nguồn là một hằng số, thì nó có thể kết hợp vào luôn tronglệnh như là byte dữ liệu tức thời.

Trong ngôn ngữ Assembly, các toán hạng tức thời được đứng trước bởi 1

ký hiệu # Toán hạng có thể là hằng số, biến số tượng trưng, hoặc là biểu thứctoán học sử dụng hằng số, ký hiệu, toán tử

I.3.1.5 Địa chỉ tương đối:

Địa chỉ tương đối chỉ được sử dụng với những lệnh nhảy nào đó Địa chỉtương đối hay coàn gọi là khoảng cách(Offset) tương đối là một giá trị 8 bit, nóđược cộng thêm vào bộ đếm chương trình để tạo nên địa chỉ của lệnh kế tiếpcần thi hành Bởi vì sử dụng giá trị 8 bit nêm khoảng cách nhảy nằm giữa -128đến +127 Khoảng cách tương đối này được đưa thêm vào lệnh và trở thành

byte thứ 2

I.3.1.6.Địa chỉ tuyệt đối:

Địa chỉ tuyệt đối chỉ được sử dụng trong lệnh ACALL và AJMP.Địa chỉđích gồm 11 bit địa chỉ thấp nhất được phân bố vào trong mã lệnh 3 bit (A10-A8) và 8 bit(A0-A7) và byte 2 của lệnh Còn 5 bit địa chỉ cao A15-A11 chính

là 5 bit cao trong bộ đếm chương trình được giữ nguyên không đổi

I.3.1.7 Địa chỉ dài:

Địa chỉ dài chỉ được sử dụng trong lệnh LCALL và LJMP Lệnh 3 bytenày chứa địa chỉ8 đích 16 bit trong byte 2 và byte 3, vì vậy cho phép truy cập

đủ 64 K bộ nhớ chương trình

I.3.1.8 Địa chỉ liệt kê:

Opcode H1.18.e Địa chỉ tương đối a ch t ỉ tương đối ương đối ng đối i

Ngày đăng: 01/07/2014, 18:20

HÌNH ẢNH LIÊN QUAN

I.1.2. Sơ đồ khối của một vi điều khiển: - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
1.2. Sơ đồ khối của một vi điều khiển: (Trang 1)
Hình 1.2 mô tả các khối bên trong của CPU. Nó có một tập các thanh ghi dùng cho việc lưu trữ tạm  thời các thông tin, khối số học ALU(Arithmatic and Logic Unit) thực hiện các phép toán dựa trên các thông tin được lưu trong thanh ghi, khối điều khiển và gi - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.2 mô tả các khối bên trong của CPU. Nó có một tập các thanh ghi dùng cho việc lưu trữ tạm thời các thông tin, khối số học ALU(Arithmatic and Logic Unit) thực hiện các phép toán dựa trên các thông tin được lưu trong thanh ghi, khối điều khiển và gi (Trang 2)
I.2.1. Sơ đồ khối vi điều khiển 8051: - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
2.1. Sơ đồ khối vi điều khiển 8051: (Trang 4)
Hình 1.6: Những chức năng thứ hai của một số chân cổng - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.6 Những chức năng thứ hai của một số chân cổng (Trang 8)
Hình 1.8 trình bày chi tiết bộ nhứ dữ liệu. Không gian bộ nhớ trong được phân chia ra gồm các BANK thanh ghi (00H-1FH), RAM địa chỉ theo bit  (20H-2FH) RAM dùng chung(30H-7FH), và các thanh ghi chức năng đặc biệt. - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.8 trình bày chi tiết bộ nhứ dữ liệu. Không gian bộ nhớ trong được phân chia ra gồm các BANK thanh ghi (00H-1FH), RAM địa chỉ theo bit (20H-2FH) RAM dùng chung(30H-7FH), và các thanh ghi chức năng đặc biệt (Trang 9)
Hình 1.20. Các thanh ghi chức năng đặc biệt của bộ định thời trong 8051. - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.20. Các thanh ghi chức năng đặc biệt của bộ định thời trong 8051 (Trang 21)
Hình 1.21 : Các Bit trong thanh ghi TMOD Thanh ghi TMOD được chia ra thành 2 nhóm 4 bit dùng để thiết lập các chế độ hoạt động của Timer0 và Timer1.Thanh ghi TMOD không có địa chỉ bit, thông thường nó được tải lên một lần ở đầu chương trình để thiết lập c - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.21 Các Bit trong thanh ghi TMOD Thanh ghi TMOD được chia ra thành 2 nhóm 4 bit dùng để thiết lập các chế độ hoạt động của Timer0 và Timer1.Thanh ghi TMOD không có địa chỉ bit, thông thường nó được tải lên một lần ở đầu chương trình để thiết lập c (Trang 21)
Hình 1.29 : Các bit trong thanh ghi IP (Interrupt Priority) - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.29 Các bit trong thanh ghi IP (Interrupt Priority) (Trang 30)
Hình 1.28 : Các bit trong thanh ghi IE (Interrupt Enable) - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.28 Các bit trong thanh ghi IE (Interrupt Enable) (Trang 30)
Hình 1.31 : Các Vector ngắt. - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
Hình 1.31 Các Vector ngắt (Trang 33)
Bảng địa chỉ cơ bản của cổng COM: - GIÁO TRÌNH VI ĐIỀU KHIỂN 8051 pps
ng địa chỉ cơ bản của cổng COM: (Trang 37)

TỪ KHÓA LIÊN QUAN

w