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

Thiết kế hệ vi xử lý 8051

40 1K 16
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 đề Thiết kế hệ vi xử lý 8051
Tác giả Bùi Anh Tuấn
Trường học Trường Đại Học Kỹ Thuật Công Nghệ
Chuyên ngành Vi xử lý
Thể loại Bài tập
Năm xuất bản 2001
Thành phố Hà Nội
Định dạng
Số trang 40
Dung lượng 2,28 MB

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

Nội dung

Tài liệu tham khảo chuyên ngành tin học Thiết kế hệ vi xử lý 8051

Trang 1

2 Bộ nhớ chương trình ROM : 8KB từ địa chỉ 0000H

3 Bộ nhớ dữ liệu RAM : 8KB có địa chỉ tuỳ chọn

4 Cổng vào tương tự 8 kênh nhận tín hiệu nhiệt độ từ 0 – 10Vtương ứng vói nhiệt độ từ 0 – 100 độ C , các cổng vào/ra số vàcác mạch điều khiển

đó Giá trị cho phép này đặt trong một ô nhớ của Ram

5 Chương trinh dừng lại và báo động bằng còi khi xảy ra mộttrong các trường hợp sau :

- Có ít nhất 4 kênh đo vượt quá hoặc nhỏ hơn giá trị giới hạncho phép cho trước so với giá trị trung bình

- Giá trị nhiệt độ trung bình lớn hơn hoặc nhỏ hơn giá trị giớihạn MAX và MIN tương ứng Các giá trị giới hạn MAX vàMIN được đặt ở hai ô nhớ của RAM

6 Thiết kế bàn phím nhập dữ liệu

Trang 2

BµI tËp vi xö lý

MỤC LỤC

Lời nói đầu ………

I Bộ vi xử lý ……… 4

a Giới thiệu………4

b Bên trong Vi xử lý 8051……… 2

II Thiết kế hệ Vi xử lý dùng 8051……… 5

1 Thiết kế bộ nhớ ……… 8

2 Mạch chuyển đổi số tương tự ADC 0809………9

3 Mạch giải mã địa chỉ 74HC138……….10

4 Mạch chốt 74LS373……… 12

5 Cổng vào ra – vi mạch PPI 8255………13

6 Lập bản đồ bộ nhớ……….15

7 Lưu đồ bộ nhớ………16

8 Soạn thảo chương trình bằng mã ngữ của 8051………….18

9 Sơ đồ chi tiết của hệ vi xử lý ……….36

TÀI LIỆU THAM KHẢO

1 Họ vi điều khiển 8051 – Tống Văn On , Hoàng Đức Hải Nhà xuất bản lao động – xã hội , Hà Nội – 2001

2 Cấu trúc và lập trình họ vi điều khiển 8051 – Nguyễn Tăng Cường , Phan Quốc Thắng Nhà xuất bản khoa học và kỹ thuật , Hà Nội - 2004

Trang 3

BµI tËp vi xö lý

Ngày nay với sự phát triển của khoa học công nghệ, việc áp dụngnhững thành tựu khoa học vào trong đời sống và sản xuất ngày càng nhiều Hơn nữa trong các nhà máy, xí nghiệp việc tự động hoá các quá trình sảnxuất , tự động hoá các thiết bị điều khiển là một vấn đề hết sức quan trọng vàcần thiết Trong các thiết bị tự động muốn điều khiển một quá trình nào đómột cách tối ưu thì nhất thiết phải có các thiết bị đo, chính nhờ các thiết bị đongười ta có thể kiểm soát được các thông số của hệ thống mà từ đó đưa ra cáctín hiệu điều khiển nhằm làm cho hệ thống hoạt động ổn định

Trước đây khi ngành vật liệu chưa tìm ra các vật liệu mới, thì các dụng

cụ đo thường được làm bằng cơ khí có độ chính xác không cao, dải đo hẹp,không làm việc được trong các môi trường đòi hỏi độ bền cơ học cao Khingành vật liệu tìm ra được các vật liệu mới, công nghệ chế tạo phát triển đã

có thể tạo ra các thiết bị đo thông minh, có độ chính cao, làm việc được trongcác môi trường khắc nghiệt như : đo nhiệt độ lò nung, đo nồng độ các chấthoá học … nhờ các thiết bị đo thông minh này người ta có thể kiểm soát cácthông số của hệ thống một cách chặt chẽ

Khi khoa học công nghệ ngày càng phát triển việc đo không chỉ là biếtgiá trị của đại lượng cần đo mà những giá trị này còn là những thông tin cầnđược lưu trữ và xử lý Để cho quá trình thu thập các thông tin đo một cách tựđộng người ta gắn vào các thiết bị đo các bộ vi điều khiển nhằm điều khiểncác quá trình đo, xử lý và có thể là phải truyền đi

Theo như yêu cầu của bài toán đặt ra là xây dung một hệ đo, thu thậpnhiệt độ Với 8 kênh đo nhiệt độ ở những vị trí khác nhau và những dải nhiệt

độ khác nhau thì việc sử dụng một bộ vi điều khiển trong hệ là một điều cầnthiết Hiện nay, trên thị trường có rất nhiều họ vi điều khiển như : 8051,68HC11, PIC, AVR… vì vậy việc lựa chọn một bộ vi điều khiển cho hệ thốngcần phải có giá thành rẻ nhưng vẫn đáp ứng được yêu cầu của bài toán tối ưu

ở đây ta sử dụng bộ vi điều khiển 8051 là đủ để điều khiển hệ thống hoạtđộng tốt

Trang 4

Sơ đồ khối của 8051 là như sau:

Interrupt control

Register

RAM 128 byte

ROM 4K

Port 3

Port 2

Port 1

Port 0

Oscilator CPU

Timer 0 Timer 1 Serial port INT 0

INT 1

Timing and Control

PSEN EA RST ALE

XTAL1,2

Trang 5

 Bản đồ của bộ nhớ:

Khối nhớ trong khoảng [20h 2Fh] gồm 16 bytes = 128 bits có thể đánhđịa chỉ theo từng bit Mỗi bit có địa chỉ từ 0h đến 7Fh Bit 0 của byte 20 là bitđịa chỉ 0 và bit 7 của byte 2Fh là bit địa chỉ 7Fh

FF

§Þa chØ cña c¸c SFR

80 bytes of RAM (Scrach pad)

80h 7Fh

16 bytes of bit-addressable

30h 2Fh

Khèi c¸c thanh ghi Bank 32 bytes ( 4 bank )

Hình Bản đồ bộ nhớ trong vi xử lý 8051

Trang 6

đi qua thanh ghi SFR SBUF Những bit riêng lẻ của SCON xác lập những chế

độ khác nhau của cổng nối tiếp SCON có thể được xem như thanh ghi điềukhiển và SBUF được gọi là thanh ghi dữ liệu SFR có byte địa chỉ trongkhoảng [80h FFh] (Tiếp theo phần địa chỉ của RAM trong từ 00h 07h như đãnói ở trên ) 8051 có thể truy nhập RAM và SFR bằng chế độ địa chỉ gián tiếpthanh ghi

SFR bao gồm cả thanh ghi a, thanh ghi b và PSW PSW bao gồm cả cờ

hệ thống như cờ carry có 2 bit để kích hoạt register bank

8751 và 8752 là EPROM là phiên bản sau của 8051 và 8052, 8031,

8032, 80C535A và 80C537A là ROM phiên bản sau của 8051, 8052,80C515A và 80C517A

Trong bộ nhớ ROM trong chiếm khối nhớ thấp nhất của bộ nhớ chươngtrình Chân EA# (External Enable) của vi điều khiển được cấp +5V để chophép chương trình có thể được tìm và đọc trực tiếp từ ROM trong Tuy nhiênnhững chương trình có khối nhớ trên 4K hoặc 8K thì sẽ tìm và đọc lệnh từ bộnhớ chương trình ngoài Các chương trình sẽ được đọc từ bộ nhớ bên ngoàikhi chân EA# được nối đất (Khi đặt ký hiệu # ở phía sau toán hạng thì sẽ hiểu

là tín hiệu đó được kích hoạt khi ở mức thấp)

 Bộ đếm chương trình:

Bộ đếm chương trình (Program Counter) được dùng để chỉ đến bytelệnh tiếp theo sẽ được đọc Nó không bị ảnh hưởng trực tiếp nhưng sẽ bị thayđổi bằng những lệnh rẽ nhánh như lệnh Jmp hoặc Call Nó cũng có thể dùngnhư địa chỉ cơ sở cho chỉ số địa chỉ khi đọc từ bộ nhớ chương trình

 Cổng vào ra song song:

Trang 7

BµI tËp vi xö lý

8051 có 4 cổng vào ra song song (Parallel input/output port) Khi cổngđược dùng là cổng ra, dữ liệu được để trong SFR tương ứng Giá trị được viếtđến SFR tương ứng sẽ được chốt và phát ra tín hiệu sau khi quá trình ghi kếtthúc Giá trị của cổng ra thay đổi khi giá trị mới được chốt

Khi cổng được dùng là cổng vào, đầu tiên giá trị FFh sẽ được ghi lêncổng, sau đó tất cả các cổng vào làm cho chân điện thế thấp sẽ được đặt bằng

0 Việc đọc các SFR tương ứng sẽ đọc giá trị của cổng Bộ chốt cửa ra sẽ điềukhiển chân cổng lên mức logic 1 nếu không có dòng điện của mạch ngoài hạxuống trên chân

Mặc dù cùng 1 SFR đang được dùng, nhưng bên trong vẫn có hai thaotác được tiến hành khi cổng đang được đọc và đang được ghi Các thao tác đóđược thực hiện hoàn toàn bằng phần cứng, bảo vệ giúp người dùng từ việc giữhướng khi dữ liệu được vận chuyển

Một điều chú ý nữa là mặc dù tất cả các thao tác đọc mà đọc giá trị từchân cổng có 1 vài thao tác đọc vẫn ngầm đọc giá trị của cổng chốt, gọi làthao tác read-modify-write

Để tiến hành lựa chọn các chức năng thì các SFR tương ứng phải đượcthiết lập (Đặt bằng 1)

 Bộ phát dao động:

8051 có 1 bộ phát dao động dùng tinh thể thạch anh ngoài Bộ tạo daođộng tần số giống như tần số của tinh thể và được chia cho 12, nó có thể đượcdùng làm đầu vào của timer

Dùng 12 MHz crystal thì timer input sẽ là 1 MHz 8051 có 12 chu kỳdao động trên 1 chu kỳ máy Nó có 255 thao tác những nhóm mã lệnh, tươngđương 111 chỉ thị Ví dụ có15 mã thao tác cụ thể phụ thuộc vào byte đích,byte nguồn và chế độ địa chỉ Thêm vào đó, có 2 lệnh dịch chuyển bit và 1lệnh dịch chuyển word, lệnh đó dịch chuyển 16 bit vào con trỏ dữ liệu (datapointer) Trong 255 mã thao tác đó, 159 thao tác hết 1 chu kỳ máy, 51 thaotác cần 2 chu kỳ máy, 43 thao tác cần 3 chu kỳ máy và 2 thao tác cần 4 chu kỳmáy Từ khi có nhiều thao tác chỉ cần 1 chỉ thị máy, 8051 đã xem xét đến khảnăng có thể thực hiện hàng triệu lệnh trong 1 giây (Million Instruction PerSecond: MIPS) Rất nhiều hệ thống 8051 dùng dao động tinh thể 11.0592MHz, sở dĩ có sự lựa chọn này vì trong thực tế có rất nhiều dao động đồng hồ

có thể phát ra tốc độ Baud rất cao Với đồng hồ 12 MHz tốc độ Baud lớn nhất

là 4800, còn dùng dao động tinh thể 11.0592MHz tốc độ có thể lên tới19200baud

 Cổng nối tiếp:

Trang 8

có thể diễn ra đồng thời (full duplex operation).

Timer/Counter.

8051 có hai Timer/Counter, mỗi Timer/Counter được dành cho haiSFR Timer/Counter 0 là TH0 và TL0, còn Timer/Counter 1 là TH1 và TL1.Các thanh ghi dành cho Timer/Counter là các thanh ghi 16 bit Khi hoạt động,mỗi khi có xung vào thì số đếm xung lưu trong 1 hoặc 2 SFR sẽ tăng lên.Timer dùng tín hiệu đồng hồ hệ thống làm nguồn của những xung vào.Counter dùng xung ngoài để tăng số lượng xung Xung ngoài được nhận qua

2 bit của cổng 3 Số xung hiện tại của Timer/Counter có thể đọc từ TH0 vàTL0 hoặc TH1 và TL1 Timer/Counter cũng phát ra ngắt với điều kiện lànhững ngắt đó không bị IE chắn Khi bộ đếm bị tràn (và lại quay về 0) thìngắt được phát ra Trạng thái của các ngắt đó được quan sát qua SFR TCON

Hoạt động của Timer/Counter được điều khiển bởi khối xung ngẫunhiên từ nguồn tới thanh ghi đếm dữ liệu Nguồn dữ liệu sẽ tới thanh ghi dữliệu của Timer 0 nếu điều kiện (GATE# or INT0#) And TR0 đúng GATE# làbit điều khiển Timer 0 của TMOD 8051 coi bit điều khiển là GATE Tuynhiên khi Timer/Counter hoạt động trong lúc GATE đang ở mức logic thấpthì sẽ giống như trên, chứng tỏ bit điều khiển là GATE# TR0 cũng là bit điềukhiển của Timer 0 trong thanh ghi TMOD, INT0# là chân P3.2 của 8051.Điều kiện trên đã chỉ rõ rằng những thanh ghi dữ liệu của Timer 0 đã đượccập nhật nguồn khi bit điều khiển TR0 được thiết lập và cả bit điều khiểnGATE# bị xoá hoặc Port P3.2 ở mức logic 1

Timer/Counter có 4 chế độ hoạt động Hoạt động của cả hai Timer đượcquyết định bởi SFR TMOD 4 bit thấp của TMOD điều khiển Timer 0, 4 bitcao của TMOD điều khiển Timer 1

 Điều khiển ngắt:

8051 có 5 ngắt TF0, TF1, INT0#, INT1# và kết quả của cổng nối tiếp.TF0 và TF1của thanh ghi TCON tạo ra 2 ngắt Timer/Counter, chúng phát rangắt khi bộ đếm bị tràn

II.Thiết kế hệ vi xử lý dùng 8051

Sơ đồ khối của hệ vi xử lý như sau:

Trang 9

TÝn HiÖu ANALOG

ThiÕt BÞ Ngo¹i Vi

ADC 8085

Sơ đồ khối hệ vi sử lý 8 bít

Trang 10

BµI tËp vi xö lý

1.Thiết kế bộ nhớ

A0-12

VCC VCC

16 17 18 19

15 13 12 11 10

9 8 7

3

456

2

27

20 22

23

242125

1

11 12 13 15

19 18 17 16

1

25 21 24 23

22 20 27 2

6 5 4 3

7 8 9 10

6264

RAM 8Kx8Bit

2764

ROM 8Kx8Bit

D0 D1 D2 D3 D4 D5 D6 D7

A0 A1 A3 A2

A6 A7 A5 A4

A8 A9 A11 A10 A12

CS1

WE CS2 OE

D7 D6 D5 D4 D3 D2 D1 D0

CE PGM OE VPP

A12

A10 A11 A9 A8

A4 A5 A7 A6

A2 A3 A1 A0

liệu của hệ thống (cổng Port 0 của 8051)

* ROM: - Chân OE của ROM 2764 được nối với PSEN của 8051

Trang 11

BµI tËp vi xö lý

2.Mạch chuyển đổi số tương tự ADC 0809 (8 kênh x 8 bit)

Kªnh 8 Kªnh 7 Kªnh 6 Kªnh5 Kªnh 4 Kªnh3 Kªnh 2 Kªnh 1

ALE 10 6 9 22 23 24 25 7 17 14 15 8 18 19 20 21

16 12

2 3

5 4

28 1 27 26

A 2

A 1

A 0

RD_ADC WR_ADC

INT 0

PORT 0

2-5 2-6 2-8 2-7

2-3 2-4 2-2

ADC0809

CLOCK

ADD-C ADD-B

START ENALBE

ADD-A

EOC

2-1

mf(+) mf(-) IN-7 IN-6 IN-5 IN-4 IN-3 IN-2 IN-1 IN-0

a.Các thông số cơ bản

* Bộ biến đổi ADC 0809 là ADC thông dụng được sử dụng rộng rãi

có tám đầu vào tương tự từ IN_0->IN7 và đầu ra 8 bit số chuyển đổi theophương pháp xấp xỉ liên tiếp

* Các đặc trưng cơ bản của ADC 0809:

- Đầu ra có bộ điện 3 trạng thái để ghép trực tiếp vào kênh dữ liệucủa hệ VXL

- Giải tín hiệu ra vào tương tự SV khi nguồn nuôi là +5V Có thể

mở rộng thang đo bằng các giải pháp kỹ thuật cho từng mạch cụ thể

- Không đòi hỏi điều chỉnh “0”

- Thời gian biến đổi 100s

- Sai số tổng cộng 1/2LSB

- Sử dụng nguồn nuôi đơn +5V, hiệu suất cao

b.Ghép nối

* ADC 0809 được ghép với hệ VXL được thể hiện như trên hình vẽ

Trang 12

BµI tËp vi xö lý

- Đầu ra dữ liệu 2.1-2.7 được nối với Port 0 của 8051

- Các kênh vào anolog được nối với các đầu IN_0->IN7 tương ứngcủa ADC

- Mỗi kênh vào có địa chỉ riêng do tổ hợp 3 bit ADD_A, ADD_B,

đã qua một khâu đảo

- Tín hiệu RD_ADC qua mạch đảo sẽ được nối với Enable củaADC nhằm chốt dữ liệu đã biến đổi xong ở đầu ra

- Tương tự WR_ADC sẽ được đưa vào ALE và Start nhằm khởiđộng ADC và chốt địa chỉ của kênh hiện hành có giá trị là 3 bit ABC

3 Mạch giải mã địa chỉ 74HC138

CS0 CS1 CS2 CS3

CS7 CS6 CS5 CS4

A13A14A15

6 5

1 2 3

4

11 10 9 7

12 13 14

15 C

B A

E1 E2 E3

Trang 13

CS4 : Chọn 8255CS5

CS6CS7

- Giải mã địa chỉ sử dụng IC74HC138 có 3 đầu vào ABC được nốitương ứng với 3 dây Port 2.5, 2.6, 2.7 của 8051 Sử dụng các đầu ra làm tínhiệu /CS để chọn chíp Byte mã xuất ra từ cổng P2 của 8051 có giá trị tươngứng với chế độ chọn chíp như sau:

Trang 14

Chân OE được nối đất.

Chân LE được nối với ALE của 8051 Xung chốt ALE được phát 2lần trong một chu kỳ máy nhằm chốt 8 bit thấp của địa chỉ được lấy ra từPort 0 cộng với 8 bit cao của địa chỉ được xuất ra từ Port 2 tạo thành địa chỉ

16 bit

5 Cổng vào ra - vi mạch PPI 8255

- Vi mạch 8255 A là vi mạch cỡ lớn ISI thường được gọi là mạchphối ghép vào/ra song song lập trình được Do khả năng mềm dẻo trong cácứng dụng thực tế, nó là mạch phối ghép được dùng rất phổ biến cho các hệVXL 8_16_32bit 8255 có các chân được bố trí như trên hình vẽ trong đó cóchứa 24 đường dẫn lớn vào ra được xếp thành 3 cổng song song (port A,port B, portC) Một nửa của cổng Port C (PC4 PC7) thuộc vào nhóm Acòn nửa kia thuộc nhóm B

- Các chân của 8255 được ghép với hệ VXL như trên hình

Trang 15

BµI tËp vi xö lý

+ Các chân RD, WE được nối tương ứng với các chân RD, WR của8051

+ Chân CS được nối với CS4 (đầu ra của giải mã địa chỉ)

* Chế độ làm việc:

Có hai loại từ điều khiển cho 8255A:

- Từ điều khiển định nghĩa cấu hình cho các cổng PA, PB, PC

- Từ điều khiển lập/xoá từng bit ở đầu ra của PC

Tuỳ theo từng lệnh được ghi vào thanh ghi điều khiển khi ???(kd) vimạch mà ta có Port A, B, C hoạt động ở các chế độ 0,1,2 khác nhau

* Trong hệ VXL này 8255 được dùng làm việc ở chế độ 0

- Chế độ 0 hay còn gọi là chế độ vào ra cơ số Trong chế độ này mỗicổng PA, PB, PCH, PCL đều có thể định nghĩa là các cổng vào hoặc ra

- ở đây sử dụng 8255 như các cổng ra (Số liệu ra được chốt)

* Xác định địa chỉ các thanh ghi, chế độ và chiều của cửa

- Do dùng hai bit thấp nhất A0, A1 của Address Bus làm tín hiệu chọnthanh ghi bên trong 8255 tên ta có

PA có địa chỉ 00h (A1=A0=0)

PB có địa chỉ 01h (A1=0, A0=1)

PC có địa chỉ 02h (A1=1, A0=0)

Thanh ghi điều khiển có địa chỉ 03h (A1=1, A0=1)

* Xác định lỗi điều khiển:

Trang 16

BµI tËp vi xö lý

Trang 17

BµI tËp vi xö lý

*8255 có PA dùng để hiển thị 2 LED 7 thanh biểu diễn hàng đơn vị vàhàng chục

- PC dùng để hiển thị LED báo kênh hiện hành ở mức thấp

- PB dùng để hiển thị LED báo kênh hiện hành ở mức cao

6 Lập bản đồ bộ nhớ

* Bản đồ bộ nhớ của hệ VXL được thể hiện như trên hình vẽ

- 8K x 8bit ROM ngoài có địa chỉ từ 0000h -> 1FFFh

- 8K x 8bit RAM ngoài có địa chỉ từ 2000h -> 3FFFh

- 128byte RAM trong được chia thành 3 vùng nhớ chính có địa chỉ từ00h -> 7Fh

* Trang thiết kế hệ VXL này dùng hoàn toàn bộ nhớ chương trìnhngoài (ROM ngoài) và bộ nhớ dữ liệu trong (RAM trong)

RAMNgoa×

00H

07H 08H 0FH 10H 17H 18H 1FH 20H

2FH 30H

7FH

Register bank

Bit addressable segment

scratch rad area

Trang 18

… 8: 37H

- Giá trị trung bình dạng mã Hexa được chứa trong hai ô nhớ

Byte thấp (của số bị chia hoặc của kết quả) : 51H

Byte cao (của số bị chia hoặc của kết quả) : 52H

Trang 19

BµI tËp vi xö lý

- Sử dụng ngắt ngoài INTO khi vào dữ liệu từ ADC

+ Địa chỉ vector ngắt IEO: 0003H

- Sử dụng ngắt ngoài INT1 khi vào dữ liệu từ bàn phím

+ Địa chỉ vector ngắt INT1 : 0013H

Ngày đăng: 22/11/2012, 09:13

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối của 8051 là như sau: - Thiết kế hệ vi xử lý 8051
Sơ đồ kh ối của 8051 là như sau: (Trang 4)
Hình . Bản đồ bộ nhớ trong vi xử lý 8051 - Thiết kế hệ vi xử lý 8051
nh Bản đồ bộ nhớ trong vi xử lý 8051 (Trang 5)
Sơ đồ khối hệ vi sử lý 8 bít - Thiết kế hệ vi xử lý 8051
Sơ đồ kh ối hệ vi sử lý 8 bít (Trang 9)
Sơ đồ ADC - Thiết kế hệ vi xử lý 8051
Sơ đồ ADC (Trang 23)
Sơ đồ chia 16bit - Thiết kế hệ vi xử lý 8051
Sơ đồ chia 16bit (Trang 25)
Sơ đồ tính giá trị trung bình - Thiết kế hệ vi xử lý 8051
Sơ đồ t ính giá trị trung bình (Trang 27)

TỪ KHÓA LIÊN QUAN

w