00 Thiet Ke He Thong Quang Cao 2895

88
Tng quan Vi điu khin h8051 Đồ án tt nghi  p Hoàng Quang Lý -1- Đề tài thiết k ế HThng Qung Cáo. CHƯƠ NG I TNG QUAN VHVI XỬ LÝ 8051 I. NHỮ NG ĐẶC ĐIM CƠ BN HVI XỬ LÝ 8051 1.Tóm tt vlch sử ca 8051. Vào năm 1981, hãng Intel gi ớ i thiu mt sbvi điu khin đượ c gi là 8051. Bvi điu khi n này có 128 byte RAM, 4K byte ROM, hai b định thờ i, mt cng ni tiế  p và 4 cng 8 bit. Tt c đều đượ c tích hợ  p trên mt chíp. Lúc by giờ , bvi điu khin như vy đượ c coi là mt “hthố ng trên chíp”. 8051 là mt bxlý 8 bit, tc là CPU chcó thlàm vic vớ i 8 bit dliu. Dliu lớ n hơ n 8 bit đượ c chia ra thành các dliu 8 bit để xlý. 8051 có t t c4 cng I/O mi cng r ng 8 bit, có thcó mt ROM trên chíp cc đại là 64 K byte. Tuy nhiên, lúc đó các nhà sn xut đã cho xut xưở ng chvớ i 4K byte ROM trên chíp. 8051 đã tr ở nên phbiến sau khi Intel cho phép các nhà s n xut khác sn xut và bán bt k dng biến th nào ca 8051 mà hthích vớ i điu kin hphi để mã chươ ng trình tươ ng thích vớ i 8051. T đó dn đến sra đờ i nhiu phiên bn ca 8051 vớ i các tc độ khác nhau. Tuy nhiên, điu quan tr ng là mc dù có nhi u biến th ca 8051, như khác nhau vtc độ và dung lượ ng nhớ ROM trên chíp, nhưng tt ccác lnh đều tươ ng thích vớ i 8051 ban đầu. Điu này có ngh  ĩ a

Transcript of 00 Thiet Ke He Thong Quang Cao 2895

Page 1: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 1/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -1-

Đề tài thiết k ế Hệ Thống Quảng Cáo.

CHƯƠ NG I

TỔNG QUAN VỀ HỌ VI XỬ LÝ 8051

I. NHỮ NG ĐẶC ĐIỂM CƠ BẢN HỌ VI XỬ LÝ 8051

1.Tóm tắt về lịch sử của 8051.

Vào năm 1981, hãng Intel giớ i thiệu một số bộ vi điều khiển đượ c gọi là

8051. Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM, hai bộ định

thờ i, một cổng nối tiế p và 4 cổng 8 bit. Tất cả đều đượ c tích hợ p trên một

chíp. Lúc bấy giờ , bộ vi điều khiển như vậy đượ c coi là một “hệ thố ng trên

chíp”. 8051 là một bộ xử lý 8 bit, tức là CPU chỉ có thể làm việc vớ i 8 bit

dữ liệu. Dữ liệu lớ n hơ n 8 bit đượ c chia ra thành các dữ liệu 8 bit để xử lý.

8051 có tất cả 4 cổng I/O mỗi cổng r ộng 8 bit, có thể có một ROM trên

chíp cực đại là 64 K byte. Tuy nhiên, lúc đó các nhà sản xuất đã cho xuất

xưở ng chỉ vớ i 4K byte ROM trên chíp. 8051 đã tr ở nên phổ biến sau khi

Intel cho phép các nhà sản xuất khác sản xuất và bán bất k ỳ dạng biến thể

nào của 8051 mà họ thích vớ i điều kiện họ phải để mã chươ ng trình tươ ng

thích vớ i 8051. Từ đó dẫn đến sự ra đờ i nhiều phiên bản của 8051 vớ i các

tốc độ khác nhau. Tuy nhiên, điều quan tr ọng là mặc dù có nhiều biến thể

của 8051, như khác nhau về tốc độ và dung lượ ng nhớ ROM trên chíp,

nhưng tất cả các lệnh đều tươ ng thích vớ i 8051 ban đầu. Điều này có ngh ĩ a

Page 2: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 2/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -2-

là nếu ta viết chươ ng trình của mình cho một phiên bản nào đó thì nó cũng

sẽ chạy vớ i mọi phiên bản bất k ỳ khác mà không phân biệt nó từ hãng sản

xuất nào.

2. Bộ ví điều khiển 8051

Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051. Hãng Intelký hiệu nó như là MCS51

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

3. Sơ đồ khối chung của họ vi điều khiển 8051

Interrupt control : Điều khiển ngắt.

Other registers : Các thanh ghi khác.

128 Byte RAM : RAM 128 Byte.

Timer 2, 1 , 0 : Bộ định thờ i 2 , 1 , 0

CPU : Đơ n vị điều khiển trung tâm.

Oscillator : Mạch dao động.

Bus control: Điều khiển Bus

Đặc tính Số lượ ng

ROM trên chíp 4K byte

RAM 128 byte

Bộ định thờ i 2

Các chân vào - ra 32

Cổng nối tiế p 1

Nguồn ngắt 6

Page 3: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 3/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -3-

I/O ports: Các ports vào/ ra

Serial port: port nối tiế p

Address/data : địa chỉ/ dữ liệu

Hình 1.1. Bố trí bên trong của sơ đồ khố i 8051

II. THÀNH VIÊN HỌ VI XỬ LÝ 8051

1. Bộ vi điều khiển 8052:

Interrupt

Control

Timer 2 ( 8032,8052)

Timer 1

Timer 0

Serial port

INT 1

INT 0

CPU

Oscillator Bus control

EA

RST

ALE

PSEN

I/O PortSERIALPORT

RXDTXD

P 0 P 1 P 2 P 3

Address/Data

Other

registers

128 Byte

RAM

128 Byte

RAM

(8032/8052)ROM

0K - 8031/8032

4K - 8051

8K - 8052 Timer 0

Timer 1

Timer 2

(8032/8052)

T 0

T 1

T 2

T 2 EX

Page 4: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 4/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -4-

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 3 bộ định thờ i và có 8K byte ROM trên chíp thay vì 4K byte như 8051.

Đặc tính 8051 8052 8031

ROM trên chíp 4K byte 8K byte

RAM 128 byte 256 byte 128 byte

Bộ định thờ i 2 3 2

Chân vào - ra 32 32 32

Cổng nối tiế p 1 1 1

Nguồn ngắt 6 8 6

Bảng 1.2. So sánh các đặ c tính của các thành viên họ 8051.

Như nhìn thấy từ bảng 1.2 thì 8051 là tậ p con của 8052, do vậy tất cả

mọi chươ ng trình viết cho 8051 đều chạy trên 8052 nhưng điều ngượ c lại làkhông đúng.

2. Bộ vi điều khiển 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ì nó có OK byte ROM trên

chíp. Để sử dụng chíp này ta phải bổ xung ROM ngoài cho nó. ROM ngoài

phải chứa chươ ng trình mà 8031 sẽ nạ p và thực hiện. So vớ i 8051 màchươ ng trình đượ c chứa trong ROM trên chíp bị giớ i hạn bở i 4K byte, còn

ROM ngoài chứa chươ ng trinh đượ c gắn vào 8031 thì có thể lớ n đến 64K

byte. Khi bổ xung cổng, như vậy chỉ còn lại 2 cổng để thao tác. Để giải

quyết vấn đề này ta có thể bổ xung cổng vào - ra cho 8031. Phối phép 8031

Page 5: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 5/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -5-

vớ i bộ nhớ và cổng vào - ra chẳng hạn vớ i chíp 8255. Ngoài ra còn có các

phiên bản khác nhau về tốc độ của 8031 từ các hãng sản xuất khác nhau.

3. Các bộ vi điều khiển 8051 từ các hãng khác nhau.

Mặc dù 8051 là thành viên phổi 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 Flash ROM đượ c bán bở i nhiều hãng khác nhau chẳng hạn của

Atmel corp vớ i tên gọi là AT89C51 còn phiên bản NV-RAM của 8051 doDalas Semi Conductor cung cấ p thì đượ c gọi là DS5000. Ngoài ra còn có

phiên bản OTP (khả trình một lần) của 8051 đượ c sản xuất bở i r ất nhiều

hãng.

3.1. Bộ vi đ i ề u khi ể n 8751

Chíp 8751 chỉ có 4K byte bộ nhớ UV-EPROM trên chíp. Để sử dụng

chíp này để phát triển yêu cầu truy cậ p đến một bộ đốt PROM cũng như bộ xoá UV- EPROM để xoá 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 để xoá 8751 tr ướ c khi nó có

thể đượ c lậ p trình tr ở 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 FLASH ROM và UV-RAM của 8051. Ngoài ra còn 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.

3.2. Bộ vi đ i ề u khi ể n 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ì bộ nhớ Flash có thể

đượ c xoá trong vài giây trong tươ ng quan so vớ i 20 phút hoặc hơ n mà 8751

yêu cầu. Vì lý do này mà AT89C51 để phát triển một hệ thống dựa trên bộ

Page 6: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 6/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -6-

vi điều khiển yêu cầu một bộ đốt ROM mà có hỗ tr ợ bộ nhớ Flash. Tuy

nhiên lại không yêu cầu bộ xoá ROM. Lưu ý r ằng trong bộ nhớ Flash ta

phải xoá toàn bộ nội dung của ROM nhằm để lậ p trình lại cho nó. Việc xoá

bộ nhớ Flash đượ c thực hiện bở i chính bộ đốt PROM và đây chính là lý do

tại sao lại không cần đến bộ xoá. Để loại tr ừ nhu cầu đối vớ i một bộ đốt

PROM hãng Atmel đang nghiên cứu một phiên bản của AT 89C51 có thể

đượ c lậ p trình qua cổng truyền thông COM của máy tính IBM PC .

Số linh kiện ROM RAM Chân I/O Timer Ngắt Vcc Đóng vỏ

AT89C51 4K 128 32 2 6 5V 40

AT89LV51 4K 128 32 2 6 3V 40

AT89C1051 1K 64 15 1 3 3V 20

AT89C2051 2K 128 15 2 6 3V 20

AT89C52 8K 256 32 3 8 5V 40

AT89LV52 8K 128 32 3 8 3V 40

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

Chữ C trong ký hiệu AT89C51 là CMOS.

Cũng có những phiên bản đóng vỏ và tốc độ khác nhau của nhữngsản phẩm trên đây xem bảng 1.4. Ví dụ để ý r ằng chữ “C” đứng tr ướ c số 51

trong AT 89C51 -12PC là ký hiệu cho CMOS “12” ký hiệu cho 12 MHZ và

“P” là kiểu đóng vỏ DIP và chữ “C” cuối cùng là ký hiệu cho thươ ng mại

(ngượ c vớ i chữ “M” là quân sự ). Thông thườ ng AT89C51 - 12PC r ất lý

tưở ng cho các dự án của học sinh, sinh viên.

Mã linh kiện Tốc độ Số chân Đóng vỏ Mục đích

AT89C51-12PC 42MHZ 40 DTP Thươ ng mại

Bảng 1.4: Các phiên bản 8051 vớ i t ố c độ khác nhau của Atmel

3.3. Bộ vi đ i ề u khi ể n DS5000 t ừ hãng Dallas Semiconductor.

Page 7: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 7/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -7-

Một phiên bản phổ biến khác nữa của 8051 là DS5000 của hãng

Dallas Semiconductor. Bộ nhớ ROM trên 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 trong khi nó vẫn ở trong hệ thống (không cần phải lấy ra).

Điều này còn có thể đượ c thự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ình trong 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ều này tươ ng phản vớ i

bộ nhớ Flash và EPROM mà bộ nhớ của chúng phải đượ c xoá sạch tr ướ c

khi lậ p trình lại cho chúng.Mã linh kiện ROM RAM Chân I/O Timer Ngắt Vcc Đóng vỏ

DS5000-8

DS5000-32

DS5000T-8

DS5000T-8

8K

32K

8K

32K

128

128

128

128

32

32

32

32

2

2

2

2

6

6

6

6

5V

5V

5V

5V

40

40

40

40

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

Chữ “T” đứ ng sau 5000 là có đồng hồ thờ i gian thự c.

Lưu ý r ằng đồng hồ thờ i gian thực RTC là khác vớ i bộ định thờ i

Timer. RTC tạo và giữ thờ i gian l phút giờ , ngày, tháng - năm k ể cả khi tắt

nguồn.

Còn có nhiều phiên bản DS5000 vớ i những tốc độ và kiểu đóng gói

khác nhau. Ví dụ DS5000-8-8 có 8K NV-RAM và tốc độ 8MHZ. Thông

thườ ng DS5000-8-12 hoặc DS5000T-8-12 là lý tưở ng đối vớ i các dự án

của sinh viên.

Mã linh kiện NV- RAM Tốc độ

DS5000-8-8 8K 8MHz

Page 8: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 8/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -8-

DS5000-8-12

DS5000-32-8

DS5000T-32-12

DS5000-32-12

DS5000-8-12

8K

32K

32K

32K

8K

12MHz

8MHz

8MHz (with RTC)

12MHz

12MHz (with RTC)

Bảng 1.6: M ột số thành viên của họ 8051

3.4. 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ột lần và đượ c cung cấ p từ nhiều hãng sản xuất khác nhau. Các phiên bản

Flash và NV-RAM thườ ng đượ c dùng để phát triển sản phẩm mẫu. Khi một

sản phẩm đượ c thiết k ế và đượ c hoàn thiện tuyệt đối thì phiên bản OTP

của 8051 đượ c dùng để sản hàng loạt vì giá thành một đơ n vị sản phẩm sẽ

r ẻ hơ n.

3.5. H ọ 8051 t ừ Hãng Philips

Một nhà sản xuất chính của họ 8051 khác nữa là Philips Corporation.

Thật vậy, hãng này có một dải lựa chọn r ộng lớ n cho các bộ vi điều khiển

họ 8051. Nhiều sản phẩm của hãng đã có kèm theo các đặc tính như các bộ

chuyển đổi ADC, DAC, cổng I/0 mở r ộng và cả các phiên bản OTP và

Flash.

Page 9: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 9/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -9-

CHƯƠ NG II

GIỚ I THIỆU VI ĐIỀU KHIỂN AT89C51

1. Sơ Đồ Khối Của Vi Điều Khiển AT89C51

P1.0 - P1.7

PORT 1

LATCH

ALU

PORT 1 DRIVE

P0.0 - P0.7

PORT 0 DRIVE

RAM ADDREGISTER

ALE/PROG

RST

EA/Vpp

PSEN

INTRUCTIONREGISTER

OSC

TIMING

ANDCONTROL

PSW

B

REGISTER

TMP2

ACC

RAM

GND

Vcc

P3.0 - P3.7

PORT 2LATCH

PORT 0LATCH

INTERRUPT SERIAL PORT

AND TIMER BLOCKS

PORT 3

LATCH

PORT 3 DRIVE

TMP1

STACK

POINTER

FLASH

DPTR

PROGRAM

COUNTER

PC

INCREMENTER

BUFFER

PROGRAM

ADDRESS

REGISTER

P2.0 - P2.7

PORT 0 DRIVE

Page 10: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 10/88

Page 11: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 11/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -11-

3. Sơ đồ chân và chứ c năng các chân của Chíp AT89C51

Hình 2.2: S ơ đồ chân và chứ c nă ng các chân của Chíp AT89C51

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20 21

22

23

24

27

26

25

28

29

34

30

31

33

32

35

36

37

38

40

39

P 1.0

P 1.1

P 1.2

P 1.3

P 1.4

P 1.5

P 1.6P 1.7

RST

P 3.0

P 3.1

P 3.2

P 3.3

P 3.4

P 3.5

P 3.6

P 3.7

XTAL 2

XTAL 1

Vss

Vcc

P 0.0

P 0.1

P 0.2

P 0.3

P 0.4

P 0.5P 0.6

P 0.7

EA

ALE

PSEN

P 2.7

P 2.6

P 2.5

P 2.4

P 2.3

P 2.2

P 2.1

P 2.0

RXD

TXD

LNT 0

LNT 1

T 0

T 1

WR

RD

INTEL89C51

Page 12: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 12/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -12-

- PORT 0 : Nằm trên các chân từ 32 đến 39 có 2 công dụng. Trong

các thiết k ế có tối thiểu thành phần thì Port 0 đượ c sử dụng làm nhiệm vụ

xuất/nhậ p. Trong các thiết k ế lớ n hơ n có bộ nhớ ngoài, Port 0 tr ở thành Busđịa chỉ và Bus dữ liệu đa hợ p..

- PORT 1 : Nằm trên các chân 1 đến 8, chỉ có một cộng dụng là để

gao tiế p vớ i thiết bị ngoài khi có yêu cầu.

- PORT 2 : Nằm trên các chân 21 đến 28 có 2 công dụng hoặc làm

nhiệm vụ xuất/nhậ p hoặc là Byte địa chỉ cao của BUS địa chỉ 16 bit cho

các thiết k ế có nhiều hơ n 256Byte bộ nhớ dữ liệu ngoài.

- PORT 3 : Nằm trên các chân 10 đến 17 có 2 công dụng. một là

chức năng xuất/nhậ p bình thườ ng còn khi không hoạt động xuất nhậ p các

chân của PORT 3 có nhiều chức năng riêng . Cụ thể các chức năng của các

chân ở PORT 3 như sau :

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

P 3.0 RxD B0H Nhận dữ liệu của Port nối tiế p

P 3.1 TxD B1H Phát dữ liệu của Port nối tiế p.

P3.2 INT 0 B2H Ngõ vào ngắt ngoài 0

P 3.3 INT 1 B3H Ngõ vào ngắt ngoài 1

P 3.4 T 0 B4H Ngõ vào của bộ định thờ i/đếm 0.

P 3.5 T 1 B5H Ngõ vào của bộ định thờ i/đếm 1

P 3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngoài.

P 3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài.

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

Page 13: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 13/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -13-

- Chân cho phép bộ nhớ chươ ng trình PSEN

8051 Cung cấ p cho ta 4 tín hiệu điều khiển BUS. Tín hiệu cho phép

bộ nhớ chươ ng trình PSEN (Program Store Enable) là tín hiệu xuất trênchân 29. Đây là tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chươ ng

trình ngoài. Chân này thườ ng đượ c 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 ở mức Logic 0 trong suất thờ i gian tìm nạ p lệnh, các

mã nhị phân của chươ ng trình hay mã thao tác (Opcode) đượ c đọc từ

EPROM qua BUS dữ liệu và đượ c chốt vào thanh ghi IR của 8051 để đượ c

giải mã.

Khi thực thi một chươ ng trình chứa ở ROM nội PSEN đượ c duy trì

ở mức Logic tích cực 1.

- Chân cho phép chốt địa chỉ ALE.

Chân này nằm trên chân 30 của 8051 là chân xuất tín hiệu cho phép

chốt địa chỉ ALE (Address Latch Enable) để giải đa hợ p. Bus dữ liệu và

Bus địa chỉ. Khi Port 0 đượ c sử dụng làm Bus địa chỉ/dữ liệu đa hợ p chân

ALE xuất tín hiệu để chôt địa chỉ ( Byte thấ p của địa chỉ 16bit) vào một

thanh ghi ngoài trong suốt 1/2 đầu chu k ỳ bộ nhớ . Sau khi điều này đã đượ c

thực hiện các chân của Port 0 sẽ xuất nhậ p dữ liệu hợ p lệ trong suốt 1/2 thứ

2 của chu k ỳ bộ nhớ .

Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động bên trong

vi điều khiển và có thể đượ c dùng làm xung Clock cho phần còn lại của hệ thống. Nếu mạch dao động có tần số 12MHz, tín hiệu ALE có tần số

2MHz. Ngoại lệ duy nhất là trong thờ i gian thực thi lệnh MOVX, một xung

ALE sẽ bị bỏ qua. Chân ALE còn đượ c dùng để nhận xung ngõ vào lậ p

Page 14: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 14/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -14-

trình cho EPROM trên CHIP đối vớ i các phiên bản của 8051 có EPROM

này.

- Chân truy xuất ngoài EA.

Ngõ vào này ở chân 31 có thể đượ c nối vớ i nguồn +5V (Logic 1)

hoặc GND (Logic 0). Nếu chân này nối lên 5V , 8051/8052 thực thi

chươ ng trình trong ROM nội( chươ ng trình nhỏ hơ n 4K/8K). Nếu chân này

nối vớ i GND( và chân PSEN cũng ở mức Logic 0), chươ ng trình cần thực

thi chứa ở bộ nhớ ngoài. Đối vớ i 8031/8032 chân EA phải ở mức Logic 0vì chúng không có bộ nhớ chươ ng trình trên CHIP. Nếu chân EA ở mức

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.

Các phiên bản EPROM của 8051 còn sử dụng chân EA làm chân

nhận điện áp cấ p nguồn 21VPP cho việc lậ p trình EPROM nội ( Nạ p

EPROM).

- Chân RESET ( RST).

Ngõ vào RST ở chân 9 là ngõ vào xoá chính (Master reset) của 8051

dùng để thiết lậ p lại tr ạng thái ban đầu cho hệ thống hay còn gọi tắt là

Reset hệ thống. Khi ngõ vào này đượ c treo ở mức Logic 1 tối thiểu hai chu

k ỳ máy , các thanh ghi bên trong của 8051 đượ c nạ p các giá tr ị thích hợ p

cho việc khở i động lại hệ thống.

- Các chân thạch anh XTAL 1 và XTAL 2.

Nằm trên chân 18 và 19 của CHIP, 2 chân này đượ c dùng để nối vớ i

thạch anh ngoài nhằm tái tạo dao động và xác định tần số làm việc cho

mạch dao động ở bên trong CHIP. K ết hợ p vớ i thạch anh có thêm 2 tụ gốm

Page 15: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 15/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -15-

để ổn định tần số dao động. Tần số danh định của thạch anh là 12MHz cho

hầu hết các CHIP của họ MCS - 51.

Hình 2.3: M ạch dao động Thạch Anh XTAL 1 và XTAL 2

Hoặc ta cũng có thể dùng một nguồn xung CLOCK TTL để tạo dao

động cho 8051 như mạch sau :

Hình 2.4: M ạch dao động

4. Cấu trúc của PORT In/Out.

Oscillator

18 19

X112MHz C2

30pFC1

30pF

IC 1

8051

IC 1

8051

19

18TTL

Oscillator

74LS04

Oscillator

Page 16: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 16/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -16-

- Sơ đồ cấu trúc bên trong của chân PORT xuất/nhậ p như sau :

Hình 2.5: C ấ u trúc của PORT In/Out

Việc ghi đến 1 chân của Port sẽ nạ p dư liệu vào bộ chốt của Port,

ngõ ra Q của bộ chốt điều khiển một Transistor tr ườ ng và Transistor này

nối vớ i chân của Port. Khả năng phân chia đầu ra (Fan - out) của các Port

1, 2 và 3 là 4 tải vi mạch TTL loại Schottky công suất thấ p (LS) còn của

Port 0 là 8 tải loại LS.

Lưu ý là điện tr ở kéo lên (Pull Up) không có ở Port 0 ( tr ừ khi port này làm

nhiệm vụ của Port địa chỉ dữ liệu đa hợ p) Do vậy phải nối thêm một điện

tr ở kéo lên bên ngoài cho Port 0.

Giá tr ị điện tr ở này phụ thuộc vào đặc tính ngõ vào của thành phần ghép

nối vớ i chân của Port.

Ở đây ta thấy có 2 khả năng " Đọc bộ chốt" và "Đọc chân port". Các lệnh

yêu cầu thao tác đọc - sửa - ghi, đọc bộ chốt để tránh nhầm mức điện áp do

sự hiểu nhầm điện áp do sự kiện dòng tải tăng. Các lệnh nhậ p một Bit củaPort, đọc chân port. Trong tr ườ ng hợ p này bộ chốt của port phải chứa 1 nếu

không FET sẽ đượ c kích bão hoà và điều này kéo ngõ ra xuống mức thấ p.

Việc Reset hệ thống sẽ set tất cả các bộ chốt port. Do vậy các chân port có

thể đượ c dùng làm các ngõ nhậ p mà không cần phải SET các bộ chốt port

một cách tườ ng minh. Tuy nhiên nếu một bộ chốt port bị xoá (như CLR

VDD

QD

Write

to Latch

Read

latchRead

pin

Interrnal

Pull-up

Port

Latch

Porrt

pin

8051 Internal bus

Page 17: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 17/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -17-

P1.5). Chân Port không thể làm nhiệm vụ tiế p theo là ngõ nhậ p tr ừ khi

tr ướ c tiên ta phải SET bộ chốt ( như SETB P1.5).

5. Tổ chứ c bộ nhớ

7F77

6F

67

5F

56

4F

47

3F

37

2F

27

1F

17

0F

07

7E76

6E

66

5E

56

4E

46

3E

36

2E

26

1E

16

0E

06

7D75

6D

65

5D

55

4D

45

3D

35

2D

25

1D

15

0D

05

7C 74

6C

64

5C

54

4C

44

3C

34

2C

24

1C

14

0C

04

7B73

6B

63

5B

53

4B

43

3B

33

2B

23

1B

13

0B

03

7A72

6A

62

5A

52

4A

42

3A

32

2A

22

1A

12

0A

02

7971

69

61

59

51

49

41

39

31

29

21

19

11

09

01

7870

68

60

58

50

48

40

38

30

28

20

18

10

08

00

2F2E

2D

2C

2B

2A

29

28

27

26

25

24

23

22

21

20

1F

18

17

10

0F

08

07

00

BANK 3

BANK 2

BANK 1

Defauk registerBank for R0 - R7

30

7F

Vïng RAM ®a dông(General Purpose RAM)

RAM(CÊu tróc RAM néi)

87 86 85 84 83 82 81 80

Not bit addressable

Not bit addressable

Not bit addressable

Not bit addressable

Not bit addressable

Not bit addressable

Not bit addressable

Not bit addressable

8F 8E 8D 8C 8B 8A 89 88

97 96 95 94 83 92 91 90

9F 9E 9D 9C 9B 9A 99 98

Not bit addressable

Thanh ghi chøc

n¨ng ®Æc biÖt

A7 A6 A5 A4 A3 A2 A1 A0

AF AE AD AC AB AA A9 A8

B7 B6 B5 B4 B3 B2 B1 B0

BF BE BD BC BB BA B9 B8

D7 D6 D5 D4 D3 D2 D1 D0

E7 E6 E5 E4 E3 E2 E1 E0

EF EE ED EC EB EA E9 E8

Not bit addressable

80

81

82

83

87

88

89

8A

8B

8C

8D

90

98

99

A0

A8

B0

B8

D0

E0

F0

FF

P0

SP

DPL

DPH

PCON

TCON

TMOD

TL0

TL1

TH0

TH1

P1

SCON

SBUF

P2

IE

P3

IP

PSW

ACC

B

§Þa

chØByte

§Þa chØ Bit( Bit Address )

§Þa

chØByte

§Þa chØ Bit( Bit Address )

8

8

8

8

3 2 B y t e

B i t

a d d r e s s a b l e l o c a t i o n s

8 0 B y t e

Page 18: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 18/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -18-

Hình 2.6: T ổ chứ c bộ nhớ RAM

Bộ nhớ bên trong 89C51 bao gồm ROM và RAM.

RAM bao gồm nhiều thành phần : Phần lưu tr ữ đa dụng, phần lưu tr ữ

địa chỉ hóa từng bit, các thanh ghi (BANK) và các thanh ghi chức năng đặc

biệt ( Special Funtion Registers).

AT89C50 có bộ nhớ theo cấu trúc : Có những vùng nhớ riêng biệt

cho chươ ng trình và dữ liệu. Chươ ng trình và dữ liệu có thể chứa bên trong

AT89C51 nhưng AT89C51 vẫn có thể k ết nối vớ i 64K Byte bộ nhớ chươ ngtrình và 64KByte bộ nhớ dữ liệu mở r ộng.

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

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

- RAM địa chỉ hóa 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.

- RAM đa dụng

Mọi địa chỉ trong vùng RAM đa dụng đều có thể đượ c truy xuất tự

do dùng kiểu địa chỉ tr ực tiế p hay gián tiế p.

Hoặc truy xuất dùng cách địa chỉ gián tiế p qua R0 hay R1.

- RAM có thể truy xuất từ ng bit.AT89C51 chứa 210 bit đượ c địa chỉ hoá từng bit, trong đó 128 bit

chứa ở các địa chỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh

ghi chức năng đặc biệt.

Page 19: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 19/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -19-

Ý tưở ng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của

vi điều khiển nói chung. Các bit có thể đượ c đặt, xoá, nhân, cộng... vớ i 1

lệnh đơ n. Ngoài ra các Port cũng có thể truy xuất đượ c từng bit làm đơ ngiản phần mềm xuất nhậ p từng bit.

- Các thanh ghi (BANK).

Bộ lệnh AT89C51 hỗ tr ợ 8 thanh ghi có tên là từ R0 đến R7 và theo

mặc định ( sau khi RESET hệ thống ), các thanh ghi này ở các địa chỉ 00H

đến 07F. Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích luỹ.

MOV A,R5Đây là lệnh 1Byte dùng địa chỉ thanh ghi. Tuy nhiên có thể thi hành bằng

lệnh 2Byte dùng địa chỉ tr ực tiế p nằm trong Byte rhứ 2 :

MOV A,05H

Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơ n và nhanh hơ n nhiều so

vớ i lệnh tươ ng ứng dùng địa chỉ tr ực tiế p.

Thanh ghi tích cực bằng cách thay đổi các bit trong thanh ghi tr ạngthái chươ ng trình (PSW)

Giả sử băng thanh ghi thứ 3 đang đượ c truy xuất, lệnh sau đây sẽ di chuyển

nội dung của thanh ghi A vào ô nhớ có địa chỉ 18H

MOV R0,A

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

AT89C51 có 21 thanh ghi chức năng đặc biệt ( SFR : Special Function

Register) ở vùng trên của RAM nội từ địa chỉ 80H đến FFH.

Tất cả 128 địa chỉ từ 80H đến FFH không đượ c định ngh ĩ a, chỉ có 21 thanh

ghi chức năng năng đặc biệt đượ c định ngh ĩ a sẵn các địa chỉ.

Page 20: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 20/88

Page 21: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 21/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -21-

+ Cờ nhớ phụ : Khi cộng các số BCD, cờ nhớ phụ AC = 1. Nếu k ết quả 4

bit thấ p trong khoảng 0AH đến 0FH, ngượ c lại AC = 0.

+ Cờ 0 : Cờ 0 là cờ đa dụng dành cho các ứng dụng của ngườ i dùng.

+ Các bit chọn Bank thanh ghi truy xuất :

Các bit chọn Bank thanh ghi (RS0 và RS1) xác định Bank thanh ghi

đượ c truy xuất. Chúng đượ c xoá sau khi RESET hệ thống và đượ c thay đổi

bằng phần mềm nếu cần.

Lệnh sau cho phép Bank thanh ghi 3 và di chuyển nội dung của thanh ghi

R7 (địa chỉ byte 1Fh) vào thanh ghi A :

SETB RS1

SETB RS0

MOV A,R7

- Thanh ghi B.

Thanh ghi B ở địa chỉ F0H đượ c dùng cùng vớ i thanh ghi tích luỹ A cho

các phép toán nhân và chia. Lệnh MUL AB sẽ nhân các giá tr ụ không dấu

8bit trong A và B r ồi tr ả k ết quả về 16bit trong A (Byte thấ p) và B (Byte

cao). Lệnh DIV AB sẽ chia A cho B r ồi tr ả k ết quả nguyên trong A và phần

dư trong B. Thanh ghi cũng có thể xem như thanh ghi đệm đa dụng.

- Con trỏ ngăn xếp.

Con tr ỏ ngăn xế p SP là một thanh ghi 8 bit ở địa chỉ 18H. Nó chứa địa chỉ

của Byte dữ liệu hiện hành trên đỉnh của ngăn xế p. Các lệnh trên ngăn xế p

bao gồm các lệnh cất dữ liệu vào ngăn xế p và lấy dữ liệu ra khỏi ngăn

xế p.. Lệnh cất dữ liệu vào ngăn xế p sẽ làm tăng SP tr ướ c khi ghi dữ liệu và

lệnh lấy dữ liệu ra khỏi ngăn xế p. Lệnh cất dữ liệu vào ngăn xế p sẽ làm

giảm SP. Ngăn xế p của 89C51 đượ c cất giữ trong RAM nội và giớ i hạn các

Page 22: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 22/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -22-

địa chỉ có thể truy xuất bằng các địa chỉ gián tiế p, chúng là 128Byte đầu

của AT89C51.

Để khở i động SP vớ i ngăn xế p bắt đầu tại địa chỉ 60H, ta dùng lệnh sau :

MOV SP,#5FH

Nếu không dùng lệnh khở i động SP hoặc khi RESET lại AT89C51

thì SP sẽ bắt đầu tại địa chỉ mặc định là 07H và dữ liệu đầu tiên sẽ đượ c cất

vào ô nhớ ngăn xế p có địa chỉ là 08H. Ngăn xế p đượ c truy xuất tr ực tiế p

bằng các lệnh PUSH và POP để lưu tr ữ tạm thờ i và lấy lại dữ liệu hoặc truy

xuất ngầm bằng lệnh gọi chươ ng trình con ACALL, LCALL và các lệnhtr ở về RET, RETI để lưu tr ữ giá tr ị của bộ đếm chươ ng trình khi bắt đầu

thực hiện chươ ng trình con và lấy lại khi k ết thúc chươ ng trình con.

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

Con tr ỏ DPTR đượ c dùng để truy xuất bộ nhớ ngoài, DPTR là một

thanh ghi 16bit ở địa chỉ 28H (DPL , Byte thấ p) và 83H ( DPH , Byte cao).

Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H

MOV A,#55H

MOV DPTR,#1000H

MOVX @DPTR,A

Lệnh đầu tiên sử dụng kiểu định địa chỉ tức thờ i để nạ p hằng dữ liệu

55H vào thanh ghi chứa A. Lệnh thứ 2 cũng sử dụng kiểu định địa chỉ tức

thờ i, nạ p hằng địa chỉ 16bit 1000H cho con tr ỏ dữ liệu DPTR. Lệnh thứ 3sử dụng kiểu định địa chỉ gián tiế p di chuyển giá tr ị 55H chứa trong A đến

RAM ngoài tại địc chỉ chứa trong DPTR (1000H).

- Các thanh ghi PORT.

Page 23: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 23/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -23-

Các Port xuất nhậ p của 89C51 bao gồm Port 0 tại địa chỉ 80H, Port 1

tại địa chỉ 90H, Port 2 tại địa chỉ A0H và Port 3 tại địa chỉ B0H. các Port

0,2,3 không đượ c dùng để xuất nhậ p nếu sử dụng thêm bộ nhớ ngoài hoặcnếu có một số đặc tính đặc biệt của 89C51 đượ c sử dụng ( như là ngắt, Port

nối tiế p.....).P1.2 đến P1.7, ngượ c lại, luôn luôn là các đườ ng xuất nhậ p đa

mục đích hợ p lệ.

Tất cả các Port đều đượ c định địa chỉ từng bit nhằm cung cấ p các

khả năng giao tiế p mạnh.

Thí dụ ta có một động cơ một cuộn dây và một mạch kích dùng

Transistor nối tớ i bit 7 của Port 1, động cơ có thể ngưng hay chạy chỉ nhờ

vào

Hinh 2.7: M ột l ệnh đơ n của 8051.

SETB P1.7 sẽ làm động cơ chạy và lệnh CLR P1.7 làm động cơ ngưng.

VDD

QD

Write

to Latch

Read

latchRead

pin

Interrnal

Pull-up

Port

Latch

Porrt

pin 1.7

8051 Internal bus§éng

+B

+5V

Page 24: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 24/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -24-

Các lệnh trên sử dụng toán tử (dot) để định chỉ 1 bit trong 1Byte cho phép

định địa chỉ từng bit.

Trình dịch hợ p ngữ thực hiện biến đổi dạng ký hiệu thành địa chỉ thực tế ngh ĩ a là 2 lệnh sau sẽ tươ ng đươ ng

CLR P.17 tươ ng đươ ng vớ i lệnh CLR 97H.

- Các thanh ghi định thờ i (Timer)

AT89C51 chưa 2 bộ định thờ i 2 bộ định thờ i/ đếm 16bit đượ c dùng cho

việc định thờ i hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0 : Byte thấ p)

và 8CH (TH0 : Byte cao). Timer 1 ở địa chỉ 8BH (TL0 : Byte thấ p) và 8DH( TH1 : Byte cao). Việc khở i động Timer đượ c SET bở i TIMER Mode

(TMOD) ở địa chỉ 89H và thanh ghi điều khiển

Timer (TCON) ở địa chỉ 88H, chỉ có TCON đượ c địa chỉ hoá từng bit.

- Các thanh ghi nối tiếp.

AT89C51 chứa một Port nối tiế p dành cho việc trao đổi thông tin vớ i các

thiết bị nối tiế p như máy tính, Modem hoặc giao tiế p nối tiế p vớ i các ICkhác. Một thanh ghi gọi là bộ đệm dữ liệu nối tiế p (SBUF) ở địa chỉ 99H sẽ

giữ cả 2 dữ liệu truyền và dữ liệu nhận. Khi truyền dữ liệu thì ghi lên

SBUF, khi nhận dữ liệu thì đọc SBUF. Các mode vận hành khác nhau đượ c

lậ p trình ghi điều khiển port nối tiế p SCON ở địa chỉ 98H.

- Các thanh ghi ngắt.

Thực tế ở 8051 chỉ có 5 ngắt dành cho ngườ i dùng, song nhiều tài liệu k ỹ thuật của các nhà sản xuất vẫn nói r ằng có 6 ngắt vì họ tính cả lệnh reset bố

trí sáu ngắt của 8051 như sau:

-Reset: khi chân reset đượ c kích hoạt thì 8051 nhảy về địa chỉ 0000

Page 25: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 25/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -25-

-Hai ngắt dành cho bộ định thờ i time 0 và time 1, đia chỉ ở bảng vector

ngắt của hai ngắt này tươ ng ứng vớ i time 0 và time 1 là 000B4 và 001B4

Hai ngắt phần cứng dành cho các thiết bị bên ngoài nối tớ i chân 12 (P3.2)và 13 (P3.2) của cổng P3 là INTO và INT1 tươ ng ứng. Các ngắt ngoài cũng

còn đượ c gọi là EX1 và EX2. Vị trí nhớ trong bảng vector ngắt của hai ngắt

INT0 và INT1 này là 0003H và 0013H

Truyền thông nối tiế p có một ngắt cho cả thu lẫn phát, địa chỉ nủa

ngắt này trong bảng vector ngắt 0023H

Bảng vector ngắt của 8051Ngắt Đỉa chỉ ROM (Hexa) Chân

RESET 0000 9

Ngắt phần cứng ngoài (INTO) 0003 12 (P3 : 2)

Ngắt bọ timer 0 (TFO) 0008

Ngắt phần cứng ngoài 1 (INT1) 0013 12 (P3 : 3)

Ngắt bộ timer 1 (TF1) 0018

Ngắt COM nối tiế p (R1 và T1) 0023

ORG 0 ; Địa chỉ bắt đầu của ROM khi khơ i động lạiLJMP MAIN ;bỏ qua bảng vector ngắt

;……… Chươ ng trình khở i động lại

ORG30HMAIN:….

END

Bảng 2.3: Bảng vector ng ắ t của 8051

- Cho phét ngắt và cấm ngắt

Page 26: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 26/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -26-

Khi reset thì tất cả mọi ngắt bị cấm, có ngh ĩ a là không có ngắt nào đượ c bộ

vi điều khiển đáp ứng nếu chúng đượ c kích hoạt. các ngắt phải đượ c cho

phép bằng phần mềm để bộ vi điều khiển có thể đáp ứng đượ c. Có mộtthanh ghi đượ c gọi là cho phép ngắt IE (Interrup Enable), chịu trách nhiệm

về việc cho phép ngắt và cấm các ngắt IE là thanh ghi có thể định địa chỉ

bit.

Thanh ghi cho phét ngắt IE

Bảng 2.4: Thanh ghi cho phét ng ắ t IE

- Các bướ c thự c hiện khi cho phép một ngắt

• Để cho phép 1 ngắt, trình tự thực hiện các bướ c như sau

• bit D7 của thanh ghi IE là EA phải đượ c bật lên cao cho phép các bit

còn lại của thanh ghi có hiệu lực.

D7 D0

EA ---- ET2 ES ET1 EX1 ET0 EX0EA IE.7 Nếu EA=0 thì không ngắt nào đượ c báo nhận

Nếu EA=1 thì từng nguồn ngắt sẽ đượ c mở hoặc cấm bằng cách bật hoặc xóa bit cho phét tươ ng ứng

-- IE.6 Dự phòng cho tươ ng lại

ET2 IE.5 Cho phép hoặc cấm ngắt chàn hoặc thu của timer 2 (89C52)

ES IE.4 Cho phép hoặc cấm cổng nối tiế p

ET1 IE.3 Cho phép hoặc cấm ngắt tràn của time 1

EX1 IE.2 Cho phép hoặc cấm ngắt ngoài 1

ET0 IE.1 Cho phép hoặc cấm ngắt tràn của time 0

EX0 IE.0 Cho phép hoặc cấm ngắt ngoài 0

* Các bit này có thể dùng ở các bộ vi điều khiển có đặc tính mớ i trongtươ ng lai

Page 27: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 27/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -27-

• Nếu EA=1 thì tất cả mọi ngắt đều đượ c phép và sẽ đượ c đáp ứng nếu

các bit tươ ng ứng của các ngắt này trong IE có mức cao.

• Nếu EA=0 thì không có ngắt nào đượ c đáp ứng cho dù bit tươ ng ứngtrong IE có giá tr ị cao.

- Thanh ghi điều khiển công suất.

Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa các bit

điều khiển.

- Tín hiệu RESET.

AT89C51 có ngõ vào RESET (RST) tác động ở mức cao trong khoảng thờ i

gian 2 chu k ỳ sau đó xuống mức thấ p để AT89C51 bắt đầu làm việc. RST

có thể kích tay bằng một phím nhấn thườ ng mở . sơ đồ mạch RESET như

hình sau:

Thanh ghi quan tr ọng nhất là thanh ghi bộ đếm chươ ng trình PC đượ c

RESET tại địa chỉ 0000H. Nội dung của RAM trong chíp không bị thay đổi

bở i tác động của ngõ vào RESET.

Hình 2.8: M ạch RESET

9 RST

INTEL

89C51

R110KΩ

R2

100Ω

C1

10/16

+ 5VRESET

Page 28: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 28/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -28-

Bảng giá tr ị của các thanh ghi sau khi RESET hệ thống :

THANH GHI NỘI DUNG

Bộ đếm chươ ng trình 0000H

Thanh chứa A 00H

Thanh ghi B 00H

PSW 00H

SP 07H

DPTR 0000H

Port 0 – 3 xxx00000B

IPxx000000B

0xx00000B

Các thanh ghi định00H

SCON 00H

SBUF 00H

PCON (HMOS) 0xxxxxxxB

PCON (CMOS) 0xxx0000B

Bảng 2.5: Bảng giá tr ị của các thanh ghi sau khi RESET hệ thố ng

6. Hoạt Động Của Thanh Ghi TIME

AT89C51 có hai timer 16 bit, mỗi timer có bốn cách làm việc. Ngườ i ta sử

dụng các timer để:

• Định khoảng thờ i gian• Đếm sự kiện

Page 29: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 29/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -29-

• Tạo tốc độ baud port nối tiế p trong 89C51.

Trong các ứng dụng định khoảng time, ngườ i ta lậ p trình timer ở

những khoảng đều đặn và đặt cờ tràn timer. Cờ đượ c dùng để đồng bộ hóa

chươ ng trình để thực hiện một tác động như kiểm tra tr ạng thái của các ngõ

vào hoặc gửi sự kiện ra các ngõ ra. Các ứng dụng khác có thể sử dụng việc

tạo xung nhị p đều đặn của timer để đo thờ i gian trôi qua giữa hai sự kiện

(Vi dụ đo độ r ộng xung).

Truy xuất các timer của AT89C51 dùng sáu thanh ghi chức năng đặc

biệt cho trong bảng sau:

SFR Mục đích Địa chỉ Địa chỉ hóa từ ng

bit

TCON Điều khiểm timer 88H Có

TMOD Chế độ timer 89H Không

TLO Byte thấ p của Timer 0 90H Không

TL1 Byte thấ p của Timer 1 91H KhôngTH0 Byte cao của Timer 0 92H Không

TH1 Byte cao của Timer 1 93H Không

Các Thanh nghi chức năng của timer trong 8031

Bảng 2.6: Các Thanh nghi chứ c nă ng của timer trong 8031

Thanh Ghi Chế Độ Timer (TMOD):

Cả hai bộ định thờ i timer 0 và timer 1 đều dùng chung một thanh

nghi đượ c gọi là TMOD để thiết lậ p các chế độ làm việc khác nhau của bộ

định thờ i. Thanh ghi TMOD là thanh nghi 8 bít gồm có 4 bít dành cho bộ

timer0 và 4 bít dành cho timer 1. Trong đó hai bít thấ p của chúng dung để

Page 30: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 30/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -30-

thiết lậ p chế độ của bộ định thờ i, còn 2 bít cao dùng để xác định phép toán.

Dướ i đây chung ta sẽ tìm hiểu về các phét toán.

Bít Tên Timer Mô tả

7 Gate 1 Bít mở cổng = 0, Set TRx

6 C/T 1 Bít chọn chế độ Count/ Timer

1=bộ đếm sự kiện

0 = Bộ định khoảng thờ i gian

5 M1 1 Bít 1 của chế độ mode

4 M0 0 Bít 0 của chế độ mode

3 GATE 0 Bít mở cổng = 0, Set TRx

2 C/T 0 Bít chọn chế độ Count/ Timer

1 M1 0 Bít 1 của chế độ mode

0 M0 0 Bít 0 của chế độ mode

Tóm tắt thanh nghi chức năng TMOD

Bảng 2.7: Tóm t ắ t thanh nghi chứ c nă ng TMOD

Page 31: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 31/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -31-

Thanh Ghi Điều Khiển Timer (TCON)

Thanh nghi TCON chứa các bít tr ạng thái và các bít điều khiển cho timer 1,

timer 0.

Bít Ký

iệu

Địa chỉ Mô tả

TCON 7 TF1 8FH Cơ bản tràn timer 1. Đặt bở i phần cứng khi

ượ c xóa bở phần mềm, hoặc phần cứng khi

lý chỉ đến chươ ng trình phục vụ ngắt

TCON 6 TR1 8EH Bít điều khiển timer 1 chạy đặt xóa bằng

mềm để cho timể chạy ngừng

TCON 5 TF0 8DH Cờ báo tràn timer 0

TCON 4 TR0 8CH Bít điều khiển timer 0 chạy

TCON 3 IE1 8BH Cớ cạnh ngắt 1 bên ngoài. Đặt bở i phần

khi phát hiện một cạnh xuống ở INT1 xóa

phần mềm hoạc phần cứng khi CPU chỉ đến

g trình phục vụ ngắt

TCON 2 IT1 8AH Cờ kiểu ngắt 1 bên ngoài. đặt xóa bằng

mềm để ngắt ngoài tich cực cạnh xuống

hấ p

Page 32: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 32/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -32-

TCON 1 IE0 89H Cờ cạnh ngắt 0 bên ngoài

TCON 0 IT0 88H Cờ cạnh ngắt 0 bên ngoài

Bảng 2.8: Các thanh nghi chứ c nă ng của timer trong 8031

Chúng ta đã biết công dụng của các cờ TR0 và TR1 để bật/tắt các bộ

định thờ i. Các bít này thuộc thanh ghi điều khiển bộ định thờ i TCON (Time

Control). Đây là thanh ghi 8 bít như bảng trên giờ i thiệu, bốn bít cao dùng

để lưu các TF, TR cho cả timer 0 và time 1. Còn bốn bít thấ p đượ c thiết

lậ p dành cho điều khiển bít ngắt. Cũng cần lưu ý r ằng thanh ghi TCON là

thanh nghi có thể định địa chỉ bít đượ c lên hoàn toàn có thể thay các lệnhnhư “SETB TR1” và “CLR TR1” bằng các lệnh tươ ng ứng như “SET

TCON.6” và CLR TCON.6”, xem bảng sau.

Đôi vơ i timer 0

SETB TR0 = SETB TCON.4

SETB TR0 = CLR TCON.4

SETB TF0 = SETB TCON.5

CLR TF0 = CLR TCON.5

Đôi vớ i Timer 1

SETB TR1 = SETB TCON.6

CLR TR1 = CLR TCON.6

SETB TF1 = SETB TCON.7

CLR TF1 = CLR TCON.7

Bảng 2.9: Các l ệnh t ươ ng ứ ng đố i vớ i thanh ghi đ iề u khiể n bộ định thờ i

Khở i Động Và Truy Xuất Thanh Ghi Timer

Thông thườ ng các thanh ghi đượ c khở i động một lần đầu ở chươ ng trinh để

đặt ở chế độ làm việc đúng. Sau đó trong thân chươ ng trình, các thanh ghi

Page 33: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 33/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -33-

timer đượ c cho chạy, dừng các bít đượ c kiểm tra và xóa, các thanh ghi

timer đượ c đọc và cậ p nhật… theo dõi hỏi các ứng dụng.

TMOD là thanh ghi thứ nhất đượ c khở i động vì nó đặt chế độ hoạt động.Ví dụ, các lệnh sau khở i động timer 1 như timer 16 bít (Chế độ 1) có xung

nhị p từ bộ dao động trên chíp cho việc định khoảng thờ i gian.

MOV TMOD, #1B

Lệnh này sẽ đặt M1 = 1 và M0 = 0 cho chế độ 1, C/T=0 và Gate = 0 cho

xung nhị p nội và xóa các bít chế độ Timer 0. D ĩ nhiên, timer không thật sự

bắt đầu định thờ i cho đến khi bít điều khiển chạy TR1 đượ c đặt lên 1. Nếu cần số đếm ban đầu, các thanh ghi TL1/TH1 cũng phải đượ c khở i

động, một khoảng 100µm có thể đượ c khở i động bằng các khơ i động giá tr ị

cho TH1/TL1 là FF9CH

MOV TL1 , #9CH

MOV TH1 , #0FFH

R ồi timer đượ c cho chạy bằng cách đặt bít điều khiển chạy như sau:

SETB TR1

Cờ báo tràn đượ c tự động đặt lên một sau 100µm. Phần mềm có thể đờ i

trong 100µm bằng cách dùng lệnh r ẽ nhánh có điều kiện nhẩy đến chính nó

trong khi cờ bào tràn chưa đượ c lên 1:

WAIT: JNB TF1, WAIT

Khi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm.

CLR TR1

CLR TF1

7. Bộ Đếm Chươ ng Trình Và Không Gian ROM Của 8051

Page 34: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 34/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -34-

Một thanh ghi quan tr ọng khác của 8051 là bộ đếm chươ ng trình. Bộ

đếm chươ ng trình có nhiệm vụ tr ỏ đến địa chỉ của lệnh k ế tiế p cần đượ c

thực hiện. mỗi khi CPU nhận mã lệnh từ bộ nhớ ROM, thì bộ đếm chươ ngtrình tăng lên để tr ỏ đến lệnh k ế tiế p. Bộ đếm chươ ng trình 8051 r ộng

16bít, điều đó có ngh ĩ a là, 8051 có thể truy cậ p đượ c địa chỉ chươ ng trình

từ 0000 đến FFFFH, tổng cộng là 64Kb. Tuy nhiên không phải thành viên

nào của 8051 cũng có đủ 64Kb ROM/Chíp. Vấn đề tiế p theo là, khi 8051

đượ c bật nguồn thì địa chỉ khở i đầu đượ c bắt đầu từ đâu?

Địa chỉ bắt đầu khi 8051 đượ c bật nguồn

Mỗi họ vi điều khiển khi đượ c bật nguồn đều đượ c bắt đầu từ

những địa chỉ khác nhau. Đối vớ i 8051 địa chỉ bắt đầu từ 0000. Bật nguồn

có ngh ĩ a là cấ p điện áp Vcc đến chân reset, nói cách khác khi 8051 đượ c

cấ p nguồn, thì bộ đếm chươ ng trình có giá tr ị 0000. điều naỳ có ngh ĩ a nó sẽ

thực hiện mã lệnh đầu tiên đượ c lưu ở ROM 0000. Tại sao lại ở vị trí này

của bộ nhớ ROM? Đó là nhờ chỉ dẫn ORG ở chươ ng trình nguồn. Dướ i đây

là toàn bộ trình tự hoạt động của bộ đếm chươ ng trình trong quá trình nhậnvà thực thi một chươ ng trình mẫu.

Mã Chươ ng trinh Ở ROM

Để hiểu rõ hơ n về bộ đếm chươ ng trình, ta sẽ xem xét hoạt động của

bộ đếm chươ ng trình mỗi khi nhận và thực hiện lệnh. Ta khảo sát một tệ p

liệt kê của chươ ng trình mẫu đượ c lưu ở ROM. Như có thể thấy mã lệnh và

toán hạng của từng lệnh đượ c liệt k ể ở bên trái của tệ p liệt kê.

Địa chỉ ROM Ngôn Ngữ Máy Hợ p Ngữ

00000 7D25 MOV R5, #25H

00000 7F34 MOV R7, #34H

00002 7400 MOV A,#0

Page 35: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 35/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -35-

Địa Chỉ Mã lệnh

0000 7D

0001 25

0002 7F

0003 34

0004 74

0005 00

0006 2D

0007 2F

0008 24

0009 12

000A 80

000B FE

Bảng 2.11: N ội dung ROM

Sau khi chươ ng trình đượ c nạ p vào ROM của họ 8051, như

AT89C51 thì mã lệnh và toán hạng đượ c đặt luôn bắt đầu từ địa chỉ 0000.

Nội dung ROM của chươ ng trinh trên

đượ c giớ i thiệu ở bảng sau. Tại địa chỉ 0000 có

mã 7D là mà lệnh chuyển một giá tr ị vào thanh

ghi R5, còn địa chỉ 0001, chứa toán hạng (Giá tr ị

250000) Cần đượ c chuyển vào R5. Do vậy lệnh

“MOV R5 #25H” có mã lệnh là “7D25” trong

đó 7D là mã lệnh còn 25 là toán hạng. Tươ ng tự

mã máy “7F 34” đượ c ghi ở địa chỉ 0002 và 0003 biêu diễn mà lệnh và toán hạng của lệnh “MOV

R7, #34H” cũng như vậy, mã máy “74 00” tại địa

chỉ 0004 và 0005 là biểu diễn lệnh “MOV A, #0”

ô nhớ 0006 có mã 2D là mã lệnh của “ADD A,

R5”, còn ô nhớ 007 có nội dung 2F là mã lệnh

của “ADD A, R7” mã lệnh của lệnh “ADD A,

#12H” đượ c đặt ở ô nhớ 0008 và toán hạng 12H

đượ c đặt ở ô nhớ 0009. Ô nhớ 000A có mã lệnh

của lệnh SJMP và địa chỉ đích của nó đượ c đặt ở

ô nhớ 000B.

00004 2D ADD A, R5

00006 2F ADD A, R7

00008 2412 ADD A, #12H0000A 80EF HERE: SUMP HERE

Page 36: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 36/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -36-

Trình Tự Thự c Hiện Chươ ng Trình

Giả sử chươ ng trình trên đã đượ c ghi vào ROM của 8051 thì trình tự

các bướ c hoạt động khi đượ c cấ p nguồn như sau:• Khi 8051 đượ c bật nguồn bộ đếm chươ ng trình PC có nội dung 0000

và bắt đầu

• Nạ p mã lệnh đầu tiên từ vị trí nhớ đầu tiên 0000 của ROM chươ ng

trình. Đối vớ i chươ ng trình nêu trên đó là mã 7D(Chuyển một toán

hạng vào R5). Khi thực hiện

• Mã lệnh CPU nhận giá tr ị 25 và chuyển vào R5. Đến đây việc thực

hiện một lệnh đượ c k ết thúc. Sau đó bộ đếm chươ ng trình đượ c tăng

lên để tr ỏ tớ i ô nhớ 0002 (PC = 0002), tại đây có chứa mã 7Flà mã của

lệnh chuyển một toán hạng vào R7 “MOV R7” ,…..

Khi thực hiện mã lệnh 7F thì giá tr ị 34H đượ c chuyển vào R7 sau đó

PC đượ c tăng lên 0004

• Ô nhớ 0004 chứa mã lệnh của lệnh “MOV A, #0”, lệnh này đượ c

thựchiện và sau đó PC đượ c tăng lên 2 đơ n vi: PC = 0006, lưy ý tất cả

các lệnh nêu trên đều là các lệnh 2byte

• Vớ i PC= 0006, bộ đếm chươ ng trình tr ỏ tớ i vị trí k ế kiế plà : “ADD A,

R5” Đây là lệnh 1 byte, sau khi thực hiện lệnh PC = 0007

• Ngăn nhớ 0007 chứa mã 2F là mã lệnh của “ADD A,R7” Đây là lệnh

1Byte sau khi thực hiện PC đượ c tăng lên 0008 quá trình này cứ tiế p

tục cho đến khi tất cả mọi lệnh đều đượ c nhận và thực hiện. Do bộ đếm chươ ng trình có ý ngh ĩ a và có cách thức làm việc như vậy lên ở

một số bộ vi xử lý, đặc biệt là dòng Intel X86, bộ đếm chươ ng trình

còn đượ c gọi là con tr ỏ lệnh IP

Bản Đồ Nhớ ROM của họ 8051

Page 37: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 37/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -37-

Điểm cần chú ý là không có thành viên nào của họ 8051 có thể truy

cậ p đượ c trên 64kb mã lệnh, vì bộ đếm chươ ng trình của 8051 là 16bit (Dải

địa chỉ từ 0000 đến FFFFH)Điểm lưu ý số 2 là lệnh đâu tiên của Rom chươ ng trình đều đặt ở

0000, còn lệnh cuối cùng phục thuộc vào dung lượ ng của ROM/Chíp của

mỗi thành viên của họ 8051. Như vậy 8751 và AT98C51 vớ i 4 kb ROM thì

dải địa chỉ sẽ từ 0000 đến 0FFFH do đó, ngăn nhớ đầu tiên có địa chỉ 0000

và ngăn nhớ cuối cùng có địa chi 0FFFH

Vớ i 4k byte không gian nhớ ROM trên Chíp ta có 4096 byte bằng

1000H ở dạng Hexa (4*1024 = 4096D = 1000H). Bộ nhớ này đượ c sắ p xế p

trong các ngăn nhớ từ 0000 đến 0FFFH. Lưy ý không luôn là ngăn nhớ đầu

tiên.

Vớ i 32K byte nhớ ta có 32768 byte (32*1024 ). Chuyển 32768 về số

hexa ta nhận đượ c 8000H.

0FFF

1FFF

7FFF

Page 38: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 38/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -38-

Hình 2.9: Dải địa chỉ của ROM trên Chip của một số thành viên họ 8051

Page 39: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 39/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -39-

CHƯƠ NG III

CÁC CHẾ ĐỘ ĐỊNH ĐỊA CHỈ CỦA 8051

CPU có thể truy cậ p dữ liệu theo nhiều cách khác nhau. Dữ liệu có

thể ở trong một thanh ghi hoặc trong bộ nhớ hoặc đượ c cho như một giá tr ị

tức thờ i các cách truy cậ p dữ liệu khác nhau đượ c gọi là các chế độ đánh

địa chỉ. Phần này chúng ta bàn luận về các chế độ đánh địa chỉ của 8051

Các chế độ đánh địa chỉ khác nhau của bộ vi xử lý đượ c xác định

như nó đượ c thiết k ế và do vậy khi lậ p trình không thể đánh địa chỉ khác

nhau là:

1. tức thờ i 2. Theo thanh ghi 3. Tr ực tiế p

4. gián tiế p qua thanh ghi 5. Theo chỉ số

I .CÁC CHẾ ĐỘ ĐỊNH ĐỊA CHỈ TỨ C THỜ I VÀ THEO THANH GHI

1 Chế độ đánh địa chỉ tứ c thờ i

Trong chế độ đánh địa chỉ này, toán hạng nguồn là một hằng số và

như tên gọi, của nó thì khi một lệnh đượ c hợ p dịch toán hạng đi tức thi

ngay sau mã lệnh. Lưu ý r ằng tr ướ c dữ liệu tức thờ i phải đượ c đặt dấu

‘’(#)’’ chế độ đánh địa chỉ này có thể đượ c dùng để nạ p thông tin vào bất

k ỳ thanh ghi nào k ể cả thanh ghi con tr ỏ dữ liệu DPTR.

DPTR là 16 bit nó cũng có thể đượ c truy cậ p như 2 thanh ghi 8 bit

DPH và DPL trong đó DPH là byte cao và DPL là byte thấ p.

2. chế độ đánh địa chỉ theo thanh ghi:

Chế độ đánh địa chỉ theo thanh ghi là sử dụng các thanh ghi để dữ

liệu cần đượ c thao tác các .ví dụ về đánh địa chỉ theo thanh ghi như sau:

Page 40: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 40/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -40-

Các thanh ghi nguồn và đích phải phù hợ p về kích thướ c.

Hay nói cách khác, nếu viết “ MOV DPTR, A” sẽ cho một lỗi vì

nguồn là thanh ghi 8 bit và đích lại là thanh ghi 16 bit.Để ý r ằng ta có thể chuyển dữ liệu giữa thanh ghi tích luỹ A và thanh

ghi Rn (n từ 0 đến 7) nhưng việc chuyển dữ liệu giữa các thanh ghi Rn thì

không đượ c phép. Ví dụ, lệnh “MOV R4, R7” là không hợ p lệ.

Trong hai chế độ đánh địa chỉ đầu tiên, các toán hạng có thể hoặc ở

bên trong thanh ghi hoặc đượ c gắn liền vớ i lệnh. Trong hầu hết các chươ ng

trình dữ liệu cần đượ c xử lý thườ ng ở trong một số ngăn của bộ nhớ RAM

hoặc trong ROM .R ất nhiều cách để truy cậ p dữ liệu này mà phần tiế p theo

sẽ xét đến.

II. TRUY CẬP BỘ NHỚ SỬ DỤNG CÁC CHẾ ĐỘ ĐỊNH ĐỊA CHỈ KHÁC

NHAU

1 Chế độ đánh địa chỉ trự c tiếp.

Như đã nói ở trong 8051 có 128 byte bộ nhớ RAM. Bộ nhớ RAM

đượ c gán các địa chỉ từ 00 đến FFH và đượ c phân địachỉ như sau:.• Các ngăn nhớ từ 00 đến 1FH đượ c gán cho các băng thanh ghi và

ngăn xế p.

• Các ngăn nhớ từ 20H đến 2FH đượ c dành cho không gian đánh địa

chỉ theo bit để lưu các dữ liệu 1 bit.

• Các ngăn nhớ từ 30H đến 7FH là không gian để lưu dữ liệu có kích

thướ c 1byte.Mặc dù toàn bộ byte của bộ nhớ RAM có thể đượ c truy cậ p bằng chế

độ đánh địa chỉ tr ực tiế p, nhưng chế độ này thườ ng đượ c sử dụng nhất để

truy cậ p các ngăn nhớ RAM từ 30H đến 7FH. Đây là do một thực tế là các

ngăn nhớ dành cho băng đượ c truy cậ p bằng thanh ghi theo các tên gọi của

Page 41: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 41/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -41-

chúng là R0 - R7 còn các ngăn nhớ khác của RAM thì không có tên như

vậy. Trong chế độ đánh địa chỉ tr ực tiế p thì dữ liệu ở trong một ngăn nhớ

RAM mà địa chỉ của nó đượ c biết và địa chỉ này đượ c cho như là một phần của lệnh. Khác vớ i chế độ đánh địa chỉ tức thì mà toán hạng tự nó

đượ c cấ p vớ i lệnh dấu (#) là sự phân biệt giữa hai chế độ đánh địa chỉ.

Như đã nói ở tr ướ c thì các ngăn nhớ tr ừ 0 đến 7 của RAM đượ c cấ p

cho bằng 0 của các thanh ghi R0 - R7. Các thanh ghi này có thể đượ c truy

cậ p theo 2 cách như sau:

MOV A, R4

MOVA, 4Hai lệnh này giống nhau đều sao nội dung thanh ghi R4 vào A

MOV A, 7;

MOV A,R7

Hai lệnh này đều như nhau là sao nội dung R7 vào thanh ghi A

Mặc dù sử dụng các tên R0 - R7 dễ hơ n các địa chỉ bộ nhớ của chúng

nhưng các ngăn nhớ 30H đến 7FH của RAM không thể đượ c truy cậ p theo

bất k ỳ cách nào khác là theo địa chỉ của chúng vì chúng không có tên.

2 Các thanh ghi SFSR và các địa chỉ của chúng.

Trong các thanh ghi đượ c nói đến từ tr ướ c đến giờ ta thấy r ằng các thanh

ghi R0 - R7 là một phần trong 128 byte của bộ nhớ RAM. Vậy còn các

thanh ghi A, B, PSW và DPTR là một bộ phận của nhóm các thanh ghi

nhìn chung đượ c gọi là các thanh ghi đặc biệt SFR (Special Funtion

Register). Có r ất nhiều thanh ghi vớ i chức năng đặc biệt và chúng đượ c sử dụng r ất r ộng rãi mà ta sẽ trình bày ở các chươ ng sáu. Các thanh ghi FR có

thể đượ c truy cậ p theo tên của chúng (mà dễ hơ n r ất nhiều) hoặc theo các

địa chỉ của chúng. Ví dụ địa chỉ của thanh ghi A là EOH và thanh ghi B là

FOH những cặ p lệnh có cùng ý ngh ĩ a dướ i đây:

Page 42: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 42/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -42-

MOV 0E0H, #55H ; Nạ p 55H vào thanh ghi A(A=55H)

MOV A, #55H ;

MOV 0F0H, #25H ; Nạ p 25H vào thanh ghi B ( B = 25)

MOV 3, #25H ;

Bảng 3.1 dướ i đây liệt kê các thanh ghi chức năng đặc biệt SFR của

8051 và các địa chỉ của chúng. Cần phải lưu ý đến hai điểm sau về các địa

chỉ của SFR:• Các thanh ghi SFR có địa chỉ nằm giữa 80H và FFH các địa chỉ này ở

trên 80H, vì các địa chỉ từ 00 đến 7FH là địa chỉ của bộ nhớ RAM bên

trong 8051.

• không phải tất cả mọi địa chỉ từ 80H đến FFH đều do SFH sử dụng,

nhưng vị trí ngăn nhớ từ 80H đến FFH chưa dùnglà để dữ tr ữ và lậ p

trình viên 8051 cũng không đượ c sử dụng.

Lệnh Tên Địa chỉ

ACC Thanh ghi tích luỹ (thanh ghi tổng ) A 0E0H

B Thanh ghi B 0F0H

PSW Từ tr ạng thái chươ ng trình 0D0H

SP Con tr ỏ ngăn xế p

DPTR Con tr ỏ dữ liệu hai byte

DPL Byte thấ p của DPTR 82H

DPH Byte cao của DPTR 83H

P0 Cổng 0 80H

Page 43: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 43/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -43-

P1 Cổng 1 90H

P2 Cổng 2 0A0H

P3 Cổng 3 0B0H

IP Điều khiển ưu tiên ngắt 0B8H

IE Điều khiển cho phép ngắt A08H

TMOD Điều khiển chế độ bộ đếm/ Bộ định thờ i 89H

TCON Điều khiển bộ đếm/ Bộ định thờ i 88H

T2CON Điều khiển bộ đếm/ Bộ định thờ i 2 0C8H

T2MOD Điều khiển chế độ bộ đếm/ Bộ định thờ i 2 0C9H

TH0 Byte cao của bộ đếm/ Bộ định thờ i 0 8CH

TL0 Byte thấ p của bộ đếm/ Bộ định thờ i 0 8AH

TH1 Byte cao của bộ đếm/ Bộ định thờ i 1 8DH

TL1 Byte thấ p của bộ đếm/ Bộ định thờ i 1 8BHTH2 Byte cao của bộ đếm/ Bộ định thờ i 2 0CDH

TL2 Byte thấ p của bộ đếm/ Bộ định thờ i 2 0CCH

RCAP2H Byte cao của thanh ghi bộ đếm/ Bộ định thờ i 2 0CBH

RCAP2L Byte thấ p của thanh ghi bộ đếm/ Bộ định thờ i 2 0CAH

SCON Điều khiển nối tiế p

SBUF Bộ đệm dữ liệu nối tiế p

PCON Điều khiển công suất 87H

Bảng 3.1 Các địa chỉ của thanh ghi chứ c nă ng đặ c biệt SFR

*Các thanh ghi có thể đánh địa chỉ theo bit.

Page 44: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 44/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -44-

Xét theo chế độ đánh địa chỉ tr ực tiế p thì cần phải lưu ý r ằng giá tr ị

địa chỉ đượ c giớ i hạn đến 1byte, 00 - FFH. Điều này có ngh ĩ a là việc sử

dụng của chế độ đánh địa chỉ này bị giớ i hạn bở i việc truy cậ p các vị tríngăn nhớ của RAM và các thanh ghi vớ i địa chỉ đượ c cho bên trong 8051.

3 Ngăn xếp và chế độ đánh địa chỉ trự c tiếp.

Một công dụng chính khác của chế độ đánh địa chỉ tr ực tiế p là ngăn xế p.

Trong họ 8051 chỉ có chế độ đánh địa chỉ tr ực tiế p là đượ c phép đẩy vào

ngăn xế p. Do vậy, một lệnh như “PUSH A” là không hợ p lệ. Việc đẩy

thanh ghi A vào ngăn xế p phải đượ c viết dướ i dạng “PUAH 0E0H” vớ i0E0H là địa chỉ của thanh ghi A. Tươ ng tự như vậy để đẩy thanh ghi R3

vào ngăn xế p ta phải viết là “PUSH 03”. Chế độ đánh địa chỉ tr ực tiế p phải

đượ c sử dụng cho cả lệnh POP. Vì dụ “POP 04” sẽ kéo đỉnh của ngăn xế p

vào thanh ghi R4.

4 Chế độ đánh địa chỉ gián tiếp thanh ghi.

Trong chế độ này, một thanh ghi đượ c sử dụng như một con tr ỏ đến dữ liệu. Nếu dữ liệu ở bên trong CPU thì chỉ các thanh ghi R0 và R1 đượ c sử

dụng cho mục đích này. Hay nói cách khác các thanh ghi R2 - R7 không có

thể dùng đượ c để giữ địa chỉ của toán hạng nằm trong RAM khi sử dụng

chế độ đánh địa chỉ này khi Ro và R1 đượ c dùng như các con tr ỏ, ngh ĩ a là

khi chúng giữ các địa chỉ của các ngăn nhớ RAM thì tr ướ c chúng phải đặt

dấu (@) như chỉ ra dướ i đây.

MOV A, @ R0

Chuyển nội dung của ngăn nhớ RAM có địa chỉ trong R0 và A

MOV @ R1, B

Chuyển nội dung của B vào ngăn nhớ RAM có địa chỉ ở R1

Page 45: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 45/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -45-

Lưu ý r ằng R0 cũng như R1 luôn có dấu “@” đứng tr ướ c. Khi không có

dấu này thì đó là lệnh chuyển nội dung các thanh ghi Ro và R1 chứ không

phải dữ liệu ngăn nhớ mà địa chỉ có trong R0 và R1.DJNZ R2, AGAIN ; Lặ p lại cho đến khi bộ đếm = 0.

5. ư u điểm của chế độ đánh địa chỉ gián tiếp thanh ghi.

Một trong những ưu điểm của chế độ đánh địa chỉ gián tiế p thanh ghi

là nó làm cho việc truy cậ p dữ liệu năng động hơ n so vớ i chế độ đánh địa

chỉ tr ực tiế p.6. Hạn chế của chế độ đánh địa chỉ gián tiếp thanh ghi trong 8051.

Như đã nói ở phần tr ướ c r ằng R0 và R1 là các thanh ghi duy nhất có

thể đượ c dùng để làm các con tr ỏ trong chế độ đánh địa chỉ gián tiế p thanh

ghi. Vì R0 và R1 là các thanh ghi 8 bit, nên việc sử dụng của chúng bị hạn

chế ở việc truy cậ p mọi thông tin trong các ngăn nhớ RAM bên trong (các

ngăn nhớ từ 30H đến 7FH và các thanh ghi SFR). Tuy nhiên, nhiều khi ta

cần truy cậ p dữ liệu đượ c cất trong RAM ngoài hoặc trong không gian mãlệnh của ROM trên chip. Hoặc là truy cậ p bộ nhớ RAM ngoài hoặc ROM

trên chíp thì ta cần sử dụng thanh ghi 16 bit đó là DPTR.

7. Chế độ đánh địa chỉ theo chỉ số và truy cập bộ nhớ ROM trên chíp.

Chế độ đánh địa chỉ theo chỉ số đượ c sử dụng r ộng rãi trongviệc truy

cậ p các phân tử dữ liệu của bảng trong không gian ROM chươ ng trình của

8051. Lệnh đượ c dùng cho mục đích này là “Movc A, @ A + DPTR”.

Thanh ghi 16 bit DPTR là thanh ghi A đượ c dùng để tạo ra địa chỉ của phântử dữ liệu đượ c lưu cất trong ROM trên chíp. Do các phân tử dữ liệu đượ c

cất trong không gian mã (chươ ng trình) của ROM trên chip của 8051, nó

phải dùng lệnh Movc thay cho lệnh Mov (chủ C ở cuối lệnh là chỉ mà lệnh

Code). Trong lệnh này thì nội dung của A đượ c bổ xung vào thanh ghi 16

bit DPTR để tạo ra địa chỉ 16 bit của dữ liệu cần thiết.

Page 46: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 46/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -46-

8 Bảng xắp xếp và sử dụng chế độ đánh địa chỉ theo chỉ số.

Bảng xắ p xế là khái niệm đượ c sử dụng r ất r ộng rãi trong lậ p trình

các bộ vi xử lý. Nó cho phép truy cậ p các phần tử của một bảng thườ ngxuyên đượ c sử dụng vớ i thao tác cực tiểu. Như một ví dụ, hãy giả thiết r ằng

đối vớ i một ứng dụng nhất định ta cần x2 giá tr ị trong phạm vi 0 đến 9. Ta

có thể sử dụng một bảng xắ p xế p thay cho việc tính toán nó.

CHƯƠ NG IV: Ứ NG DỤNG

I. Bài toán:

Yêu cầu thiết k ế mạch quảng cáo điều khiển:• Ma tr ận LED 8x56 đượ c cấu trúc từ 7 ma tr ận LED 8x8

• Hiển thị dòng chữ theo yêu cầu (Trôi từ phải qua trái)

• Dùng vi điều khiển AT89C51

• IC giải mã 74HC595, IC đệm cột ULN2803, đệm hàng

dùng Transistor II. Sơ dồ khối và các chứ c năng của hệ quảng cáo

1.Sơ dồ khối của hệ quảng cáo

VI ĐIỀU

KHIỂ N

AT89C5

1

Hàng

BẢ NG ĐÈN

Cột

XUẤT

DỮ

LLIỆU

LIỆU

HÀNG

BỘ

ĐỆM

NGÕ RA

HÀNG

GIẢI

CỘT

(quét

BỘ

ĐỆM

NGÕ RA

CỘT

Khối

Nguồn

Page 47: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 47/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -47-

Hình 4.1.: S ơ d ồ khố i của hệ quảng cáo

2.Chứ c năng các khối

a Khối nguồn.

- Biến áp 220V/9VAC /2A

- Cầu chỉnh lưu (D7-D10) làm nhiệm vụ chỉnh lưu cả chu k ỳ - Tụ C29,C30,C31 làm nhiệm vụ triệt nhiễu

- LM7850C làm nhiệm vụ ổn áp nguồn ra 5v r ồi cấ p cho mạch điều khiển

- nguồn cấ p cho mạch có thể dùng nguồn của máy tính thông qua cổng USB

-Điện tr ở R24 có nhiệm vụ hạn chế dòng

b . Khối điều khiển trung tâm là vi điều khiển AT89C51

Chươ ng trình lậ p trình sẵn đượ c nạ p vào trong vi điều khiển 8951 sẽ

điều khiển các khối xuất dữ liệu hàng, và giải mã cột thông qua các Port

của vi điều khiển

c. Khối Xuất dữ liệu hàng

Khối này làm nhiệm vụ xuất dữ liệu chứa trong vi điều khiển ra hàng

của bảng đèn LED ma tr ận để điều khiển các bóng đèn của LED ma tr ận

hiển thị dòng thông báo mong muốn. Dữ liệu xuất ra ở hàng phải đồng bộ

vớ i hoạt động của khối quét cột

d. Khối giải mã cột (quét cột)

Page 48: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 48/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -48-

Theo nguyên lý hoạt động của mạch, tại mỗi thờ i điểm chỉ cho phép

các đèn ở một cột đượ c sáng. Như vậy cần tạo ra một khối quét cột làm

nhiệm vụ lựa chọn cột đượ c phép sáng tại mỗi thờ i điểm. Khối này sẽ nhậnđiều khiển tr ực tiế p từ vi điều khiển thông qua một Port xuất khác.

e. Khối đệm ngõ ra hàng, ngõ ra cột

Các khối này làm nhiệm vụ cách li tải vớ i các mạch ở tr ướ c nó. Bộ

đệm còn có chức năng làm tăng dòng điện của các đầu ra, tr ướ c khi cho nối

vào các chân hàng (anod) và các chân cột (cathod) của bảng đèn LED ma

tr ận

f. Bảng đèn LED ma trận

Đây là khối hiển thị thông tin quảng cáo. Bảng đèn sẽ nhận đồng thờ i

tín hiệu điều khiển từ khối xử lý hàng ( xuất dữ liệu hàng và bộ đệm hàng)

và khối xử lý cột ( khối quét cột, và bộ đệm cột). Để từ đó sẽ cho phép đèn

nào sáng, đèn nào tắt, nhằm hiển thị ra những thông tin quảng cáo mong muốn.

III . THIẾT K Ế CHI TIẾT CÁC KHỐI

1.Thiết k ế chi tiết khối nguồn

Hình 4.2: Thiế t k ế chi tiế t khố i nguồn

Gnd

OutIn 7805220VAC 9VAC 1N4007 1N4007

1N40071N4007

D9 D7

D8

D10100µF/25VC31C29

470µF/25V 470µF/25VC30

R24

K100

104C32

Page 49: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 49/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -49-

Linh kiện sử dụng thiết k ế khối nguồn gồm có:

• 01 biến áp 220VAC/9VAC/ 2A

• Gồm 4 Diot 1N4007(1A)

• 2 tụ 470 µF/25v, 1 tụ 100 µF/16v ,1 tụ 104 và 1 điện tr ở 100Ω

• 1 IC ổn áp LM 7805C/TO có cấu trúc bên trong như hình. IC làm

nhiệm vụ nhận điện áp vào 11v/DC

• Điện áp 11v/DC là từ đầu ra của cầu chỉnh lưu ,đượ c đưa vào đầu vào

của IC7805 và đầu ra đượ c ổn áp 5v /1A cấ p cho mạch điều khiển làmviệc.

.

Hình 4.3: C ấ u trúc của IC7805

2. Thiết thiết khối đệm hàng

Linh kiện gồm có:

• 08 transistor (2N2222)

• 08 điện tr ở 1K và 08 điên tr ở 100Ω

Page 50: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 50/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -50-

Hình 4.4: Thiế t k ế khố i đệm hàng

Bảng LED ma tr ận trong thiết k ế này gồm có 8 hàng sẽ lấy dữ liệu từ

1 Port của vi điều khiển 89C51. Trong thiết k ế này Port 2 đượ c chọn làm

Port xuất dữ liệu hàng. Như vậy khối xuất dữ liệu hàng thực chất là Port 2

của vi điều khiển (có 8 chân tươ ng ứng vớ i 8 hàng của ma tr ận LED). Dữ

liệu xuất này đượ c điều khiển bở i chươ ng trình nạ p trong vi điều khiển.

3. Thiết k ế khối giải mã cột chi tiết (quét cột)

* Linh kiện gồm có:

• 07 IC(74HC595)

P2.7

Anode 5

VCC

QC2

2N2222

VCC

P2.6

Anode 2

RC5

1K

RC13

K100

VCC

P2.1

VCCRC2

1K

QC5

2N2222

P2.5

QC4

2N2222

QC1

2N2222

RC3

1K

RC1

1K

QC6

2N2222

VCC

RC14

K100

Anode 3

Anode 6

P2.4

RC10

K100

P2.0

RC11

K100

RC8

1K

QC3

2N2222

RC7

1K

Anode 4

P2.3

VCC

QC82N2222

VCC

Anode 7

Anode 0

RC9

K100

QC7

2N2222

P2.2

RC4

1K

RC12

K100

Anode 1

RC6

1K

VCC

RC16

K100

RC15

K100

Page 51: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 51/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -51-

• 07 IC (ULN2803)

Hình 4.5: Thiế t k ế khố i giải mã cột chi tiế t

C33-C40

C23

C26

C46

C13

U150

74HC595

9

10

13

14

11

12

15

1

2

3

4

5

6

7

SDO

CLR

G

SDI

SRCLK

RCLK

QA

QB

QC

QD

QE

QF

QG

QH

CLOCK

C18

VCC

C33

U145

74HC595

9

10

13

14

11

12

15

1

2

3

4

56

7

SDO

CLR

G

SDI

SRCLK

RCLK

QA

QB

QC

QD

QE

QF

QG

QH

C25-C32

C2

C52

U153

ULN2803

10

1

23

4

5

6

7

8

18

1716

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

U158

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C7

C38

C16-C24

CLOCK

C30

C10

U157

ULN2803

10

1

2

3

4

56

7

8

18

17

16

15

1413

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C12

C22

C25

C45

CLOCK

GND

VCC

C1

C6

C51

C17

C37

C56

C9

C29

C49-C56

C16

C11

C21

VCC

C44

U156

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

CLOCK

U148

74HC595

9

10

13

14

11

12

15

1

2

3

4

5

6

7

SDO

CLR

G

SDI

SRCLK

RCLK

QA

QB

QC

QD

QE

QF

QG

QHC32

GND

C5

VCC

GND

VCC

C36

C55

VCC

C48

C50

GND

C43

CLOCK

C28

C15

CLOCK

C4

C20

C40

C9-C16

C41-C48

GND

C35

U155

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3OUT4

OUT5

OUT6

OUT7

OUT8

U149

74HC595

9

10

13

14

11

12

15

1

23

4

5

6

7

SDO

CLR

G

SDI

SRCLK

RCLK

QA

QB

QC

QD

QE

QF

QG

QH

C33-C40

U159

ULN2803

10

1

2

3

4

5

6

78

18

17

16

15

14

13

1211

COM

IN1

IN2

IN3

IN4

IN5

IN6IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6OUT7

OUT8

C54

U146

74HC595

9

10

13

14

11

12

15

1

2

3

4

5

6

7

SDO

CLR

G

SDI

SRCLK

RCLK

QA

QB

QC

QD

QE

QF

QG

QH

GND

GND

C42

U151

74HC595

9

10

13

14

11

12

151

2

3

4

5

6

7

SDO

CLR

G

SDI

SRCLK

RCLK

QA

QBQC

QD

QE

QF

QG

QH

U147

74HC595

9

10

13

14

11

12

15

1

2

3

4

5

6

7

SDO

CLR

G

SDI

SRCLK

RCLK

QA

QB

QC

QD

QEQF

QG

QH

C49-C56

U154

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C24

C27

C47

C14

C25-C32

C41

CLOCK

C49

C8

C9-C16

C19

C57-C64

C34

C31

C3

C53

C39

C16-C24

C41-C48

Page 52: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 52/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -52-

Bảng đèn trong thiết k ế có 56 cột theo nguyên lý hoạt động của khối

giải mã cột, tại một thờ i điểm khối giải mã cột chỉ đượ c đưa ra tín hiệu điều

khiển cho 1 cột đượ c phép sáng, và các cột sẽ đượ c lần lượ t để đượ c phépsáng.

Để thực hiện đượ c chức năng này, chúng ta sẽ sử dụng IC 74HC595

* IC 74HC595

IC 74HC595 là loại IC dùng giải mã /giải đa hợ p làm việc đượ c vớ i

tần số cao, nó đặc biệt thích hợ p khi dùng làm bộ giải mã địa chỉ tác động

vào chân chọn IC của các IC nhớ lưỡ ng cực.• IC74HC595 có sơ đồ chân như sau:

Hình 4.6: S ơ đồ chân của IC74HC595

• S ơ đồ hoạt động của IC 74HC595

Page 53: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 53/88

Page 54: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 54/88

Page 55: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 55/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -55-

C23

C26

C46

C13

C18

C33

C2

C52

U153

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7OUT8

U158

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C7

C38

C30

C10

U157

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C12

C22

C25

C45

C1

C6

C51

C17

C37

C56

C9

C29

C49-C56

C16

C11

C21

C44

U156

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C32

C5

C36

C55

C48

C50

C43

C28

C15

C4

C20

C40

C9-C16

C41-C48

C35

U155

ULN2803

10

1

2

3

45

6

7

8

18

17

16

1514

13

12

11

COM

IN1

IN2

IN3IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3OUT4

OUT5

OUT6

OUT7

OUT8

C33-C40

U159

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C54

C42

U154

ULN2803

10

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

OUT1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

C24

C27

C47

C14

C25-C32

C41

C49

C8

C19

C57-C64

C34

C31

C3

C53

C39

C16-C24

Page 56: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 56/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -56-

Hình 4.8: Khố i thúc công xuấ t cột

Do dòng ra khỏi bộ giải mã là r ất nhỏ không đủ công suất cung cấ p

cho ma tr ận led do đó chúng ta phải nối cácđầu ra của bộ giải mã vớ i mộtkhối khuếch đại công suất. Trong bài thiết k ế này em sử dụng IC ULN2803

để khuếch đại và đệm cho ngõ ra cột

• Sơ đồ chân của IC ULN2803 :

Hình 4.9: S ơ đồ chân của IC ULN2803

• Sơ đồ cấu tạo và hoạt động của IC ULN2803 là :

Page 57: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 57/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -57-

Hình 4.10: S ơ đồ cấ u t ạo và hoạt động của IC ULN2803

• Nguyên lý hoạt động của IC ULN2803 :

Thực chất của IC là các transistor đượ c mắc theo kiểu darlington sau

đó đượ c mắc qua một cổng đảo và mắc vớ i một diode bảo vệ r ồi đi xuống

đât qua chân số 9.

5. Khối hiển thị

-Điện áp vào board là: 3v

-Dòng vào board là:240 mA

-Thực chất tại một thờ i điểm chỉ có một cột đượ c phép sáng ( tức là 8

led đượ c sáng còn lại đều tắt)

- Thông số áp và dòng nói ở trên chính là k ết quả đo từ một cột

Page 58: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 58/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -58-

Led thực Led tươ ng đươ ng trong mạch

Hình 4.11: Mô t ả ma tr ận LED

Anode 1.4

C2

C7

C6

C1

Anode 1.3

J8

Led 1

1 23 4

5 67 89 10

11 1213 1415 1617 1819 2021 2223 24

Anode 1.0

Anode 1.2

C5

Anode 1.7

Anode 1.6

Anode 1.1

C4

C3

C8

Anode 1.5

Page 59: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 59/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -59-

Hình 4.12: Khố i hiể n thị

Ma tr ận LED trong thiết k ế đượ c ghép bở i 7 ma tr ận LED 8x8 (8 hàng và

56 cột). Mỗi ma tr ận LED 8x8 có 24 chân, trong đó 8 anod và 16 cathod. Để

ghép đượ c thành 1 ma tr ận 8x56 và điều khiển đượ c bảng đèn hiện chữ, chạy

chữ, chúng ta cần phải ghép nối như sau:

- Nối 7 chân anod có cùng vị trí trong mỗi LED lại vớ i nhau và lấy đó làm một

chân anod chung cho bảng ma tr ận mớ i. Như thế ta sẽ đượ c 8 chân anod

(hàng) của ma tr ận LED 8x56

- 56 chân kathod của 7 ma tr ận 8x8 sẽ là 56 cathod của ma tr ận LED 8x56

Trong mỗi LED ma tr ận 8x8 có:

Các chân Anod theo thứ tự từ trên xuống là: A1,A2,A3,A4,A5,A6,A7,A8

C13

Anode 3.4

Anode 4.4

Anode 4.6

Anode 1.4

Anode 5.5C45 C49

Anode 2.7 Anode 3.3

Anode 5.0

C28

Anode 4.0

C2 C14

C40

Anode 6.7

C29

J14

Led 7

1 23 45 67 89 10

11 1213 1415 1617 1819 20

21 2223 24

C7

C55

Anode 3.2

C35

Anode 2.1C17

Anode 6.6 Anode 7.2

C31

C34

Anode 6.1

C12

C23

C53

J10

Led 3

1 23 45 67 89 10

11 1213 1415 1617 1819 2021 2223 24

Anode 5.4

C6

Anode 6.0

C44

Anode 2.6

C1

C22

Anode 7.7

J13

Led 4

1 23 45 67 89 10

11 1213 1415 1617 1819 2021 2223 24

Anode 5.3

C27

C43

C54

C21

Anode 1.3

J8

Led 1

1 23 45 67 89 10

11 1213 1415 1617 1819 2021 2223 24

Anode 6.5

Anode 1.0

Anode 4.7

Anode 4.2

J11

Led 5

1 23 45 67 89 10

11 1213 1415 1617 1819 20

21 2223 24

Anode 2.0

Anode 7.1

Anode 2.5

Anode 3.7

C33

Anode 1.2

C11

Anode 5.2

C48

Anode 4.5

C52

C5

C16

C39

Anode 3.1

Anode 6.4

Anode 7.6

Anode 1.7

Anode 3.6

C42

J9

Led 2

1 23 45 67 89 10

11 1213 1415 1617 1819 2021 2223 24

Anode 4.1

Anode 2.4

C25

C20

Anode 6.3

C37

Anode 1.6

Anode 7.0

Anode 2.3

Anode 1.1

Anode 7.5

J12

Led 6

1 23 45 67 89 10

11 1213 1415 1617 1819 20

21 2223 24

C10

Anode 5.7C51

Anode 3.5

C38

C4

C56

Anode 3.0

Anode 6.2

C9

C30C26

C24

Anode 5.1C41

C3

C8

C15 C19

Anode 7.4

C32

Anode 4.3

Anode 1.5

C36

C47

Anode 2.2C18

Anode 7.3

Anode 5.6C46 C50

Page 60: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 60/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -60-

Các chân cathod theo thứ tự từ phải qua trái là: K 12,K 22,K 32,K 42,K 52,K 62,K 72,K 82

6. Khối Điều Khiển Trung Tâm

Linh kiện gồm có:

01 Chip 89C51 (Cấu trúc bên trong đượ c giớ i thiệu ở Chươ ng II)

1 Mạch dao động thạch anh đượ c k ết nối như hình vẽ gồm có 1 thạch anh

12MHZ, 2 tụ 33p ổn định tần số dao động và xác định tần số cho mạch

1 mạnh reset đượ c mắc như hình vẽ gồm có 1 công tắc reset, 1 tụ 10µF, một điện

tr ờ 10K, 1 điốt bảo vệ 1N4007

VCC

J8

USB

123456

R23

10K

RST

C28

10uF/16V

RST

P2.0

Data

C

R3

RESISTOR SIP 9

1

2 3 4 5 6 7 8 9

GND

C27

33p

P0.5

J10

HEADER 8

12345678

P2.5

HEADER 8

12345678CLOCK

VCC

P0.2P2.1

Y3

12Mhz

P2.6

GND

P0.6

VCC

VCC

GNDP2.2

P2.7

U2

AT89C51

91819

2 0

29

30

31

4 0

12345678

2122232425262728

1011121314151617

3938373635343332

RSTXTAL2XTAL1

G

N

D

PSEN

ALE/PROG

EA/VPP

V

C

C

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

P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13

P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INTOP3.3/INT1

P3.4/TOP3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5

P0.6/AD6P0.7/AD7

VCC

P0.3

P0.7

X

T

A

L 1

VCC

XTAL1

GND

R224.7k

P0.1

P2.3

GND

XTAL2

C2633p

X

T

A

L 2

D6

1N4007

P0.4

D5

LED

P0.0

P2.4

SW1

Reset

Page 61: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 61/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -61-

Hình 4.13: Khố i đ iề u khiể n trung tâm

Chip 89C51 là một hệ vi tính 8 bit đơ n chíp CMOS có hiệu suất cao, công

suất tiêu thụ nguồn thấ p

- Là IC có tính hợ p trên đó hệ vi xử lý

-có 40 chân

- 4Kb ROM ,có thể ghi xóa 1000 lần

- 128x8 bit Ram trong

- 4 cổng vào ra 8 bit (32 đườ ng xuất nhậ p)

- 2 bộ định thờ i / đếm 16 bit, 1 cấu trúc ngắt 2 mức ưu tiên

- Có 6 nguyên nhân ngắt

- Có thể lậ p trình đượ c qua công nối tiế p

-Có tó210 bit đượ c địa chỉ hóa

-Dải tần số hoạt động từ 0MHz dến 24MHz

7. Nguyên lý toàn mạch

7.1.Linh ki ệ n cần cho thi ế t k ế này là:

- 01 IC AT89C51 loại 40 chân PDIP

- 07 IC 74HC595 (đây là bẩy IC dùng cho mạch giải mã cột)

- 07 IC ULN2803 (là các IC đượ c dùng ở khối đệm cột hay chính là khối

thúc công suất cột)

- 14 dế có 16 chân (dùng để cấy IC 74HC595 và IC ULN2803)

- 14 bộ đế r ắc cắm 7dùng cho board led , 7dùng cho board điều khiển và 7

đoạn cáp dùng để k ết nối giữa hai board này.

- 01 điện tr ở kéo 4,7k dùng để cấu hình cho Port o khi cần thiết là cổng vào

Page 62: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 62/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -62-

- 03 đế cắm 8 chân(chờ sẵn) đượ c k ết nối vớ i các cổng còn lại của thiết k ế

dùng để phục vụ cho phát triển mở r ộng kích thướ c board led.

- 08 transistor 2N2222 (dung để làm khối đệm hay thúc công suất hàng)cách k ết nối bộ đệm đượ c trình bày ở thiết k ế chi tiết khối đệm(sơ đồ

nguyên lý)

- 08 điện tr ở 1k dùng trong khối đệm hàng.

- 16 điện tr ở 150Ω dùng trong khối đệm hàng.

- 01 công RESET.

-01 tụ 10µF/16V dùng trong mạch reset.

- 01điện tr ở 10k, 01`điện tr ở 4,1k dùng trong mạch reset.

- 05 diot 1N4007 1A dùng trong mạch reset và chỉnh lưu cầu.

- 01thạch anh 12Mhz dùng trong mạch giao động.

-02 tụ 33p dùng trong mạch giao động.

- 02 tụ 470µF/25V, 01 tụ100µF/16V, 01 tụ 104 và tất cả các tụ này đượ cdùng trong khối nguồn.

-01 điện tr ở 100Ω(dùng cho khối nguồn)

- 01 IC ổn áp LM7805C/TO dùng trong khối ngồn đầu ra của IC này là

5v/DC

- 01 biến áp 220vAC/9Vac điện áp 9v/AC này cáp tớ i cầu chỉnh lưu

- 01 r ắc USB dượ c gắn vào đườ ng nguồn cấ p 5V/DC cho board mạch điềukhiển, để ta có thể sử nguồn từ cổng USB của máy tính.

- 01 r ắc cắm đượ c gắn vào đưở ng nguồn 9V/AC ,(r ắc này lấy điện áp

9V/AC cấ p cho mạch chỉnh lưu cầu.

Page 63: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 63/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -63-

- 14 đế cắm 24 chân để phục vụ cho việc gắn các ma tr ận led (8x8) vào

board led thành ma tr ận led( 8x56).Việc dùng đế cắm 2 4 chân là vì bảng

led(8x8) có trúc 8chân anode và 16 chân cathod gồm hai mầu xanh, đỏ .Trong thiết k ế này tôi chỉ quan tâm đến mầu đỏ có ngh ĩ a còn thừa 8 chân

mầu xanh.

- 07 ma tr ận led(8x8) có24 chân để ghép thành ma tr ận (8x56)

7.2. Sơ đồ nguyên lý toàn mạch và công cụ thiết k ế mạch in

-Giao diện phần mềm hỗ tr ợ thiết k ế sơ đồ nguyên lý ORCAD.9.2 dùng

CARTURE CIS

Hình 4.14: Giao diện ORCAD 9.2 CARTURE CIS

Page 64: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 64/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -64-

-Giao điện phần mềm hỗ tr ợ thiết k ế chuyển mạch nguyên lý sang mạch in

bằng ORCAD 9.2 dùng LAYOUT PLUS

Hình 4.15: Giao diện ORCAD 9.2 LAYOUT PLUS

Page 65: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 65/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -65-

Page 66: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 66/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -66-

GND

GND

C32

C35

C31

P0.1

C4

C33-C40

Anode 4

C7

Anode 4

C

R3

RESISTOR SIP 9

1

2 3 4 5 6 7 8 9

C12

C53

GND

VCC

C36

Anode 3

P0.6

RC6

1K

QC72N2222

Anode 5

Anode 3

C12

VCC

Anode 3

VCC

C50

J13

Led 2

2468101214161820

13579

1113151719

VCC

C42

C41

Anode 6

RC15

K100

RC4

1K

U151

74HC595

9

1013

14

1112

151234567

SDO

CLRG

SDI

SRCLKRCLK

QAQBQCQDQEQFQGQH

SW1

Reset

C17

Anode 2

J10

HEADER 8

12345678

C27

33p

C55

Anode 0

Anode 0

C55

CLOCK

RC14

K100

RC3

1K

QC42N2222

C16

C24

C46

P2.5

RC16

K100

P2.6

GND

C27

C47

C22

RC12

K100

RC9

K100

HEADER 8

12345678

C25-C32

C50

Anode 7

U157

ULN2803

10

12345678

1817161514131211

COM

IN1IN2IN3IN4IN5IN6IN7IN8

OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8

VCC

GNDC19

Anode 1

P2.1

C8

C3

C27

Anode 2

CLOCK

Anode 2

Anode 2

C56

U153

ULN2803

10

12345678

1817161514131211

COM

IN1IN2IN3IN4

IN5IN6IN7IN8

OUT1OUT2OUT3OUT4

OUT5OUT6OUT7OUT8

U146

74HC595

9

1013

14

1112

151234567

SDO

CLRG

SDI

SRCLKRCLK

QAQBQCQDQEQFQGQH

U156

ULN2803

10

12345678

1817161514131211

COM

IN1IN2IN3IN4IN5IN6IN7IN8

OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8

C31

C34

C8

C32

P0.7

C11

CLOCK

Anode 5

Anode 7

Anode 3

Anode 6

C39

C13

C37

C16-C24

C41-C48

Anode 6

Anode 6

C32

104

P0.4

P2.1

C18

C42

C3

C33-C40

VCC

VCC

C54

Anode 5

Y3

12Mhz

P2.6

C23

C26

C46

GND

C23

C47

P2.5

C9-C16

Anode 4

VCC

GNDVCC

C18

C41

C28

C49-C56

C4

D10

1N4007

Anode 1

Anode 1

RC2

1K

X

T

A

L 2

U147

74HC595

9

1013

14

1112

1512345

67

SDO

CLRG

SDI

SRCLKRCLK

QAQBQCQDQEQFQGQH

RC13

K100

C15

C33

C33

Anode 0

Anode 0

C9

QC5

2N2222

J14

Led 3

2468101214161820

13579

1113151719

C25-C32

CLOCK

C49

Anode 4

GND

C38

Anode 7

Anode 6

P2.0C7

C16-C24

C38

GND

C14

C57-C64

Anode 3

Anode 3

R23

10K

C43

P2.2

D6

1N4007

Anode 3

C2

C10

C30

C19

QC12N2222

C53

Anode 0

C49

C22

C48

P2.7

U148

74HC595

9

1013

14

1112

151234567

SDO

CLRG

SDI

SRCLKRCLK

QAQBQCQDQEQFQGQH

P2.4

C9-C16

C25

C45

C24

P0.0

Anode 7

Anode 7

U2

AT89C51

91819

2 0

29

30

31

4 0

12345678

2122232425262728

1011121314151617

3938373635343332

RSTXTAL2XTAL1

G

N

D

PSEN

ALE/PROG

EA/VPP

V

C

C

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

P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INTOP3.3/INT1

P3.4/TOP3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

Anode 0

R24

K100WD9

1N4007

VCC

C5

C29

RST

Anode 2

XTAL1

Anode 2

D8

1N4007

C14

Anode 1

C31

100uF/16V

VCC

C34

Anode 5

CLOCK

Anode 5

C52

X

T

A

L 1

VCC

Anode 5

RC10

K100

D7

1N4007

Anode 4

C17

C37

VCC

C15

C39

Data

C6

GND

Anode 6

U149

74HC595

9

1013

14

1112

151234567

SDO

CLRG

SDI

SRCLKRCLK

QAQBQCQDQEQFQGQH

Anode 6

R224.7k

QC62N2222

P2.3

Anode 0

U145

74HC595

9

1013

14

1112

151234567

SDO

CLR

G

SDI

SRCLKRCLK

QAQBQCQD

QEQFQGQH

Anode 4

C9

C29

C44

J12

Led 1

2468101214161820

13579

1113151719

J11

Jack AC

12

C1

Anode 1

C10

J15

Led 4

2468101214161820

13579

1113151719

C52

Anode 1

QC32N2222

VCC

P0.5

C21

VCC

C44

C25

J17

Led 6

2468101214161820

13579

1113151719

P2.3

Anode 4

RC7

1K

CLOCK

Anode 4

VCC

G

N

D

Anode 7

C20Anode 3

Anode 3

XTAL2

C13

GND

C35

Anode 2

Data

C1

U155

ULN2803

10

12

345678

1817

161514131211

COM

IN1IN2IN3IN4IN5IN6IN7IN8

OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8

CLOCK

Anode 0

Anode 0

C51

U158

ULN2803

10

12345678

1817161514131211

COM

IN1IN2IN3IN4IN5IN6IN7IN8

OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8

C30470uF/25V

RC11

K100

RC8

1K

J16

Led 5

2468101214161820

13579

1113151719

Anode 5

QC82N2222

RC1

1K

C2633p

C5

VCC

C36

GND

C6

C30

Anode 7

Anode 7

D5

LED

VCC

C45

P2.4

Anode 7

C48

C11

GND

C51

Anode 2

Anode 2

QC22N2222

Anode 1

VCC

U154

ULN2803

10

12345678

1817161514131211

COM

IN1IN2IN3IN4IN5IN6IN7IN8

OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8

GND

C43

C16

C40

P0.2

Anode 5

Anode 5

U150

74HC595

9

1013

14

1112

151234567

SDO

CLRG

SDI

SRCLKRCLK

QAQBQCQDQEQFQGQH

C56

RC5

1K

VCC

U160

LM7805C/TO

1 3I N OU T

C29470uF/25V

C28

C21

C54

U159

ULN2803

10

12345678

1817161514131211

COM

IN1IN2IN3IN4IN5IN6IN7IN8

OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8C28

10uF/16V

P2.7

VCC

C49-C56

Anode 6

J8

USB

1

23456

RST

VCC

Anode 6

P0.3

C20

C40

C26

P2.2

C41-C48

CLOCK

Anode 1

C2 Anode 1 J9

HEADER 8

12345678

J18

Led 7

2468101214161820

13579

1113151719

P2.0

Anode 4

Page 67: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 67/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -67-

Hình 4.16: S ơ đồ nguyên lý toàn mạch

7.3.Board đ i ề u khi ể n (mạch đồng 2 l ớ p).

Page 68: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 68/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -68-

Hình 4.17: Board đ iề u khiể n (mạch In 2 l ớ p)

Hình 4.18: Board mạch sơ đồ chân

7.4. Board hi ể n th ị (mạch đồng khố i hi ể n th ị )

Hình 4.19: Board hiể n thị (mạch In)

Page 69: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 69/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -69-

7.5. Nguyên lý hoạt động của toàn mạch:

--Bảng đèn trong thiết k ế này gồm có 7ma tr ận LED 8x8, tức là bảng

đèn gồm có 8 hàng và 56 cột

-Để dữ liệu từ vi điều khiển đưa ra hiển thị đượ c trên bảng đèn theo

một tr ật tự nhất định (hiển thị đúng chữ hoặc đúng hình ảnh) thì dữ liệu gửi

ra này phải đượ c đồng bộ vớ i tín hiệu quét cột.

--Khi dữ liệu từ ô nhớ đầu tiên gở i ra bảng đèn thì chỉ có cột đèn đầu

tiên là đượ c phép sáng (có sự cho phép của tín hiệu quét cột), các cột còn

lại không đượ c phép sáng (không có sự cho phép của tín hiệu quét cột).Tươ ng tự như thế, khi dữ liệu từ ô nhớ thứ hai gở i ra thì chỉ có cột thứ hai

của bảng đèn là đượ c phép sáng, các cột còn lại thì không, cho đến cột thứ

56 đượ c hiển thị dữ liệu từ ô nhớ thứ 56 Đây đượ c tính là một lần quét

Như vậy, xét tại một thờ i điểm nhất định thì chỉ có một cột LED

đượ c phép sáng (LED nào trong cột đượ c phép sáng thì do dữ liệu từ vi

điều khiển gở i đến qua Port P2 quyết định). Nhưng do quét vớ i tần số cao

và nhờ vào sự lưu ảnh của mắt mà ta thấy đượ c các chữ một cách liên tục,

không bị chớ p tắt.

--Sau khi quét 56 ô nhớ lưu giữ trong bộ nhớ ROM của vi điều khiển

đủ lâu (đủ thờ i gian để ngườ i xem có thể đọc đượ c chữ trên bảng đèn, bằng

cách quét đi quét lại nhiều lần) thì vi điều khiển sẽ điều khiển chuyển sang

quét 56 ô nhớ k ế tiế p (dữ liệu đượ c dịch đi một ô nhớ ). Khi dịch chuyển

dữ liệu ở các ô nhớ thì hiển thị trên bảng đèn sẽ tạo cho ta cảm giác như các chữ dịch đi một cột. Khi ô nhớ cuối cùng trong bảng dữ liệu đượ c truy

xuất, vi điều khiển sẽ quay tr ở lại truy xuất ô nhớ đầu tiên.

Quá trình cứ thế tiế p tục và ta sẽ thấy đượ c dòng chữ di chuyển trên

bảng đèn. Và dòng chữ sẽ đượ c chạy vòng.

Page 70: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 70/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -70-

IV. THIẾT K Ế CHƯƠ NG TRÌNH CHO VI ĐIỀU KHIỂN

1.Nguyên lý hoạt động

Theo nguyên lý và thiết k ế phần cứng của mạch quảng cáo, chúng ta

sẽ xây dựng thuật toán cho chươ ng trình điều khiển để nạ p vào vi điều

khiển AT89C51.

Trong sơ đồ nguyên lý, dữ liệu từ Port 2 sẽ đượ c xuất ra hàng, còn

Port3 sẽ có chân đượ c sử dụng làm chân địa chỉ đưa vào IC 74HC595 để

tiến hành giải mã cột. Như vậy mục đích của chươ ng trình sẽ là .- Điều khiển các cột (dịch các cột để đảm bảo tại mỗi thờ i điểm chỉ

có một cột đượ c phép sáng, và sáng theo thứ tự).

- Đồng thờ i vớ i việc điều khiển cột là xuất dữ liệu ra hàng tươ ng

ứng, để hiện chữ (dữ liệu đã đượ c nhậ p từ tr ướ c trong bộ nhớ ROM của

89C51)

- Điều khiển quét Led, tạo hình ảnh liên tục- Điều khiển để dòng chữ chạy từ phải qua trái

Đầu tiên cần phải khai báo dữ liệu (nạ p dữ liệu vào các ô nhớ của

Rom 8951) theo từng byte, mỗi byte chính là mã của một cột (gồm 8 led),

khi byte đó đượ c xuất ra ứng vớ i cột đượ c phép sáng thì vớ i bít 1 led sẽ

sáng, bít 0 led sẽ tắt. Các byte này sẽ đượ c cất vào các ô nhớ liên tiế p của

bộ nhớ Rom của vi điều khiển 8951, khi chúng ta muốn truy xuất dữ liệu

thì chỉ việc truy xuất vào các ô nhớ đã đánh địa chỉ.

Dữ liệu đượ c truy xuất, đưa ra Port 0 để hiển thị chữ bằng cách sau:

Theo nguyên tắc: địa chỉ = bộ đếm + con tr ỏ

Page 71: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 71/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -71-

Con tr ỏ mà chúng ta sử dụng ở đây là con tr ỏ dữ liệu DPTR. Đầu

tiên con tr ỏ sẽ đượ c đặt ở địa chỉ đầu bảng dữ liệu, bộ đếm là đếm địa chỉ

offset , chúng ta sẽ dùng thanh chứa A chứa địa chỉ này. Và lệnh sau sẽ truyxuất vào dữ liệu:

MOVC A, @A+DPTR

Khi đó chỉ việc xuất dữ liệu từ thanh chứa A ra Port 2 là đượ c.

Ở đây bộ đếm đượ c dùng là bộ đếm giảm, giá tr ị thanh chứa đượ c

gán đầu tiên là 56 cột (56 byte dữ liệu ) sẽ đượ c quét r ất nhanh và quét làm

nhiều lần để mắt ta có thể thấy đượ c hình ảnh một cách rõ nét ( hiện tượ nglưu ảnh trên võng mạc ). Khi quét xong số lần quét đã định, con tr ỏ sẽ tăng

lên 1, và công việc sẽ đượ c lặ p lại. Lúc đó hình ảnh sẽ dịch chuyển (đó là

do dữ liệu đã dịch đi ). Khi con tr ỏ đến một vị trí mà dữ liệu đã đượ c truy

xuất hết, chúng ta sẽ đặt nó quay tr ở về vị trí ban đầu. Và công việc cứ thế

đượ c lặ p lại. Trên bảng quảng cáo chúng ta sẽ đượ c thấy một dòng chữ

chạy từ phải qua trái, r ồi mất đi và lại hiện ra

Đồng thờ i vớ i việc xuất dữ liệu ra hàng chúng ta cũng phải tạo một

bộ đếm 56 để giải mã cột, bộ đếm hoạt động gần như cùng lúc vớ i xuất dữ

liệu.

2. Lư u Đồ Thuật Toán

Page 72: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 72/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -72-

N

N

Bắt đầu

Thiết lậ p các tr ạng thái ban đầu

Thiết lậ p con tr ỏ dữ liệuDPTR

Truy xuất bảng dữ liệu

Xuất dữ liệu quét cột

Kiểm tra hếtkhung hình

Tăng con tr ỏ dữ liệu DPTR để dịch ảnh tạo cảm giác

chữ trôi trên bảng đèn

Kiểm tra hết nộidung quảng cáo

K ết thúc

N

Xuất dữ liệu ra hàng

Kiểm tra RESET

Y

Y

Y

Page 73: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 73/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -73-

3.Chươ ng trinh và nạp chươ ng trình cho chíp AT89C51

Giao diện phần KEIL

Hình 4.20: Giao diện phần KEIL

Dùng mạch nạ p ROM và chạy chươ ng trình proload V2.1 for 89series

programmer của hãng Sun Rom chươ ng trình đượ c down load trr ực tiế p từ

Web của hãng Sun Rom.http://www surom.com-Dùng phần mềm Keil

mở File để viết chươ ng trình tên chươ ng trrinh phải có đuôi

Page 74: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 74/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -74-

- asm nếu viết bằng hợ p ngữ ,nếu viết bằng ngôn ngữ c thì tên chươ ng trình

phải có đuôi .c

- Chươ ng trrình đượ c viết thành công ta tiến hành dịch sang file hex ,r ồinạ p vào ROM trên chíp AT89c51

-Mạch nạ p chươ ng trình cho ROM trên chíp AT89... có ảnh dướ i đây

-Hình ảnh nạ p thành công chươ ng trình điều khiển hiển thị dòng chữ

(KHOA ĐIEN TU VIEN THONG ĐAI HOC BACH KHOA HA NOI )

trôi từ trái qua phải

- Chươ ng trình có kich thướ c là:393 byte

Hình 4.21: Giao diện hỗ tr ợ mạch nạ p chươ ng trình

cho ROM/CHIP AT89C51

Từ nguyên lý hoạt động và lưu đồ thuật toán ta có thể xây dựng chươ ng

trinh ASSEMBLY sau đây là mã nguồn của chươ ng trình

Page 75: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 75/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -75-

Page 76: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 76/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -76-

CHƯƠ NG TRÌNH CHẠY DÒNG CHỮ QUẢ NG CÁO

CHAR EQU P2

CLOCK EQU P3.7

INPUT EQU P3.6

; THIET LAP 1

MOV R4, # 38H

AGAIN:

SETB INPUT

CLR CLOCK

CPL CLOCK

MOV R4,#38

DJNZ R4,AGAIN

;-----------------------------

SCAN:MOV DPTR,#DU_LIEU

MOV R0,#255 ;DO DAI DU LIEU

;-----------------------------

;XU LY TROI

SCAN1:

INC DPTR

MOV 30H,DPH ;SAVE DPTR

MOV 31H,DPL

;QUYET LAP LAI

Page 77: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 77/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -77-

SCAN2:

MOV R2,#20 ;SO LAN QUYET

;------------------------------

SCAN3:

Setb INPUT ;CHUYEN 0 VAO

CLR CLOCK

CPL CLOCK

MOV R3,#57 ;SO LAN DICH

SCAN4:

MOV A,#0 ;CHUYEN DU LIEU

MOVC A,@A+DPTR

MOV CHAR,A

CALL DELAY

INC DPTR

Clr INPUT ;CHUYEN 1 VAO

CLR CLOCK

CPL CLOCK

;------------------------------

DJNZ R3,SCAN4 ;QUYET LAI DOAN

;------------------------------MOV DPH,30H

MOV DPL,31H ;LOAD DPTR

DJNZ R2,SCAN3

;------------------------------

Page 78: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 78/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -78-

DJNZ R0,SCAN1

JMP SCAN ;QUYET VO HAN

;------------------------------

;CHUONG TRINH CON

DELAY:

PUSH 05

PUSH 06

MOV R6,#10 ; Tre theo R6

LOOP1:

MOV R5,#10 ;

DJNZ R5,$

DJNZ R6,LOOP1

POP 06

POP 05

RET

;-----------------------------

;DOAN DU LIEU

;HIEN THI DONG CHU:' Khoa dien tu vien thong dai hoc bach khoa ha noi'

DU_LIEU:

DB 0,0,0,0,0,0DB 0,0,0,0,0,0

DB 0,0,0,0,0,0

DB 0,0,0,0,0,0

DB 0,0,0,0,0,0

Page 79: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 79/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -79-

DB 0,0,0,0,0,0

DB 0,0,0,0,0,0

DB 0,0,0,0,0,0

DB 0,0,0,0,0,0

DB 7FH,08H,14H,22H,41H ;CHU_K:

DB 0

DB 7FH,08H,08H,08H,7FH ;CHU_H:

DB 0

DB 3EH,41H,41H,41H,3EH ;CHU_O

DB 0

DB 7CH,06H,05H,06H,7CH;CHU_A

DB 0,0,0,0

DB 08H,7FH,49H,41H,3EH ;CHU_D

DB 0

DB 41H,7FH,41H ;CHU_I:

DB 0

DB 7FH,49H,49H,49H;,49H ;CHU_E:

DB 0

DB 7FH,04H,08H,10H,7FH ;CHU_N:

DB 0,0,0,0DB 01H,01H,7FH,01H,01H ;CHU_T:

DB 0

DB 3FH,40H,40H,40H,3FH ;CHU_U:

DB 0,0,0,0

Page 80: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 80/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -80-

DB 1FH,20H,40H,20H,1FH ;CHU_V:

DB 0

DB 41H,7FH,41H ;CHU_I:

DB 0

DB 7FH,49H,49H,49H;,49H ;CHU_E:

DB 0

DB 7FH,04H,08H,10H,7FH ;CHU_N:

DB 0,0,0,0

DB 01H,01H,7FH,01H,01H ;CHU_T:

DB 0

DB 7FH,08H,08H,08H,7FH ;CHU_H:

DB 0

DB 3EH,41H,41H,41H,3EH ;CHU_O:

DB 0

DB 7FH,04H,08H,10H,7FH ;CHU_N:

DB 0DB 3EH,41H,49H,3AH,08H ;CHU_G:

DB 0,0,0,0

DB 08H,7FH,49H,41H,3EH ;CHU_D

DB 0

DB 7CH,06H,05H,06H,7CH ;CHU_A

DB 0

DB 41H,7FH,41H ;CHU_I:

DB 0,0,0,0

DB 7FH,08H,08H,08H,7FH ;CHU_H:

DB 0

DB 3EH,41H,41H,41H,3EH ;CHU_O:

DB 0

Page 81: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 81/88

Page 82: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 82/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -82-

DB 0,0,0,0,0,0

END

4. K ết quả hệ thống quảng cáo

Page 83: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 83/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -83-

Hình 4.22: K ế t quả sản phẩ m

K ẾT LUẬN

Sau thờ i gian thực hiện đề tài tốt nghiệ p vớ i sự hướ ng dẫn tận tình của các

thầy cô trong bộ môn CNĐT, đặc biệt là sự chỉ bảo và giúp đỡ tận tình của

thầy Phạm Mạnh Hùng cùng những cố gắng của bản thân Tôi đã hoàn

thành đề tài tốt nghiệ p thiết k ế H ệ Thố ng Quảng Cáo dùng vi điều khiển

AT89C51.

Đánh giá k ết quả thự c hành ứ ng dụng vi điều khiển AT89C51.

Vì thờ i gian hạn chế,mà khối lượ ng công việc phải thực hiện của đề tài thì

r ất nhiều, cộng vớ i sự hiểu biết của Tôi về họ vi điều khiển 8051 còn hạn

hẹ p.Cho nên k ết quả mớ i chỉ đạt đượ c ở mức thí nghiệm.

Page 84: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 84/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -84-

Tuy nhiên vớ i sản phẩm này vẫn chỉ là mô hình thí nghiệm. Vậy để phát

triển đề tài thành sản phẩm tiêu dùng thực sự yêu thích, Tôi r ất mong đượ c

sự chỉ bảo của các Thầy Cô và bạn bè.Nhữ ng hướ ng phát triển cho đề tài

- Mở r ộng kích thướ c bảng Led theo yêu cầu sử dụng.

- Khối hiển thì sẽ hiển thị các mầu sắc khác nhau.

- Có nhiều chế độ chạy khác nhau .

- K ết nối vớ i máy tính để tiện cho việc thay đổi nội dung chươ ng trình.

Cuối cùng em xin gửi lờ i cảm ơ n chân thành chân thành nhất tớ i Thầy

Phạm Mạnh Hùng - Giảng viên hướ ng dẫn tr ực tiế p cùng toàn thể các Thầy

Cô trong khoa Điện tử Viễn thông và Tr ườ ng Đại Học Bách Khoa Hà Nội.

Tôi xin chân thành cảm ơ n các bạn đã giúp đỡ tôi trong quá trình học tậ p

tại Tr ườ ng đại học Bách khoa Hà Nội.

TÀI LIỆU THAM KHẢO

• Họ vi điều khiển 8051

Tác giả: Tống văn On, Hoàng Đức Hải

• Cấu trúc và lậ p trình họ vi điều khiển 8051

Tác giả: Nguyễn Tăng Cườ ng, Phạm Quốc Thắng

Page 85: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 85/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -85-

• Website www.diendandientu.com

Page 86: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 86/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -86-

MỤC LỤC

MỞ ĐẦU .............................................................. Error! Bookmark not defined.

CHƯƠ NG I: TỔ NG QUAN VỀ HỌ VI XỬ LÝ 8051.......................................... 1 I. NHỮ NG ĐẶC ĐIỂM CƠ BẢ N HỌ VI XỬ LÝ 8051.............................. 1

1.Tóm tắt về lịch sử của 8051. ............................................................................... 1

2. Bộ ví điều khiển 8051 ........................................................................................ 2

3. Sơ đồ khối chung của họ vi điều khiển 8051 ..................................................... 2

II. THÀNH VIÊN HỌ VI XỬ LÝ 8051 ....................................................... 3

1. Bộ vi điều khiển 8052: ....................................................................................... 3

2. Bộ vi điều khiển 8031: ....................................................................................... 4

3. Các bộ vi điều khiển 8051 từ các hãng khác nhau. ............................................ 5

3.1. Bộ vi đ iề u khiể n 8751 ..................................................................................... 5

3.2. Bộ vi đ iề u khiể n AT8951 t ừ Atmel Corporation. ............................................ 5

3.3. Bộ vi đ iề u khiể n DS5000 t ừ hãng Dallas Semiconductor. .............................. 6

3.4. Phiên bản OTP của 8051. ............................................................................... 8

3.5. H ọ 8051 t ừ Hãng Philips ................................................................................ 8

CHƯƠ NG II GIỚI THIỆU VI ĐIỀU KHIỂ N AT89C51……………………….12

1. Sơ Đồ Khối Của Vi Điều Khiển AT89C51 ....................................................... 9

2. Đặc Tinh Của AT89C51 .................................................................................. 10

3. Sơ đồ chân và chức năng các chân của CHIP 89C51 ...................................... 11

4. Cấu trúc của PORT xuất/nhậ p. ........................................................................ 15

5. Tổ chức bộ nhớ ................................................................................................. 17

6. Hoạt Động Của Thanh Ghi TIME .................................................................... 28

7. Bộ Đềm Chươ ng Trinh Và Không Gian ROM Của 8051 ............................... 33

CHƯƠ NG III: CÁC CHẾ ĐỘ ĐỊ NH ĐỊA CHỈ CỦA 8051 ................................ 39

I CÁC CHẾ ĐỘ ĐỊ NH ĐỊA CHỈ TỨ C THỜI VÀ THEO THANH GHI .. 39 1 Chế độ đánh địa chỉ tức thờ i ............................................................................. 39

2. chế độ đánh địa chỉ theo thanh ghi: .................................................................. 39

II. TRUY CẬP BỘ NHỚ SỬ DỤ NG CÁC CHẾ ĐỘ ĐỊ NH ĐỊA CHỈ

KHÁC NHAU ............................................................................................. 40

1 Chế độ đánh địa chỉ tr ực tiế p. ........................................................................... 40

Page 87: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 87/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

Hoàng Quang Lý -87-

2 Các thanh ghi SFSR và các địa chỉ của chúng. ................................................. 41

3 Ngăn xế p và chế độ đánh địa chỉ tr ực tiế p. ...................................................... 44

4 Chế độ đánh địa chỉ gián tiế p thanh ghi. ........................................................... 44

5. ưu điểm của chế độ đánh địa chỉ gián tiế p thanh ghi. ...................................... 45

6. Hạn chế của chế độ đánh địa chỉ gián tiế p thanh ghi trong 8051. ................... 45

7. Chế độ đánh địa chỉ theo chỉ số và truy cậ p bộ nhớ ROM trên chíp. .............. 45

8 Bảng xắ p xế p và sử dụng chế độ đánh địa chỉ theo chỉ số. .............................. 46

CHƯƠ NG IV: Ứ NG DỤ NG ................................................................................ 46

I. Bài toán: ................................................................................................... 46

II. Sơ dồ khối và các chức năng của hệ quảng cáo ..................................... 46

1.Sơ dồ khối của hệ quảng cáo ............................................................................. 46 2.Chức năng các khối ........................................................................................... 47

III . THIẾT K Ế CHI TIẾT CÁC KHỐI ...................................................... 48

1.Thiết k ế chi tiết khối nguồn .............................................................................. 48

2. Thiết thiết khối đệm hàng ............................................................................... 49

3. Thiết k ế khối giải mã cột chi tiết (quét cột) .................................................... 50

4. Khối thúc công xuất cột (đệm ngõ ra cộT) ...................................................... 54

5. khối hiển thị...................................................................................................... 57

6. Khối Điều Khiển Trung Tâm ........................................................................... 60 7. Nguyên lý toàn mạch ...................................................................................... 61

7.1. Linh kiện cần cho thiế t k ế ..................................................................... 61

7.1. S ơ đồ nguyên lý toàn mạch và công cụ thiế t k ế mạch in ..................... 63

7.2.Board đ iề u khiể n(mạch đồng 2 l ớ p)...................................................... 67

7.3. Board hiể n thị (mạch đồng khố i hiể n thị ) ............................................ 68

7.4. Nguyên lý hoạt động của toàn mạch:................................................... 69

IV. THIẾT K Ế CHƯƠ NG TRÌNH CHO VI ĐIỀU KHIỂ N ...................... 70 1.Nguyên lý hoạt động ......................................................................................... 70

2. Lưu Đồ Thuật Toán .......................................................................................... 71

3.Chươ ng trinh và nạ p chươ ng trình cho chíp AT89C51 .................................... 73

4. K ết quả ............................................................................................................. 82

K ẾT LUẬ N .......................................................................................................... 79

Page 88: 00 Thiet Ke He Thong Quang Cao 2895

8/8/2019 00 Thiet Ke He Thong Quang Cao 2895

http://slidepdf.com/reader/full/00-thiet-ke-he-thong-quang-cao-2895 88/88

Tổng quan Vi điều khiển họ 8051 Đồ án tốtnghiệ p

TÀI LIỆU THAM KHẢO