Tài liệu Đồ án tốt nghiệp - Thiết kế hệ thống quảng cáo - Pdf 97



Đồ án tốt nghiệp

Thiết kế hệ thống quảng
cáo


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
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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 Intel
ký 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.

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 Port
SERIAL
PORT
RXD
TXD
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

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
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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 do
Dalas 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ộ

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ững
sả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.
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệp

Hoàng Quang Lý
-7-

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
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệp


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.

Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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 ADD
REGISTER

POINTER
FLASH
DPTR
PROGRAM
COUNTER
PC
INCREMENTER
BUFFER
PROGRAM
ADDRESS
REGISTER
P2.0 - P2.7
PORT 0 DRIVE
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệp

Hoàng Quang Lý
-10-
Hình 2.1: Sơ Đồ Khối Của Vi Điều Khiển AT89C51
2. Đặc Tính Của AT89C51
Chíp AT89C51 chứa trên 60000 Transistor bao gồm 4Kbyte ROM,
128Byte RAM, 32 đường xuất nhập, 1 Port nối tiếp và 2 bộ định thời 16
bit. Một số lượng mạch đáng chú ý trong IC đơn. Các thành viên mới được
thêm vào cho họ MCS-51 và các biến thể này gần như có gấp đôi các đặc
trưng này. Tập đoàn Seimens, nguồn sản xuất thứ hai các bộ vi điều khiển
thuộc họ MCS-50 cung cấp Chíp SAB80515, một cải tiến của 8051 chứa
trong một vỏ 68 chân, có 6 Port xuất nhập 8-bit, 13 nguồn tạo ra ngắt và
một bộ biến đổi A/D 8-bit với 8 kênh ngõ vào. Họ 8051 là một trong những
bộ vi điều khiển 8-bit mạnh và linh hoạt nhất, đã trở thành bộ vi điều khiển
hàng đầu trong những năm gần đây.

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

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
INTEL
89C51
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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.

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
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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.

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
X1
12MHz
C2
30pF
C1
30pF
IC 1
8051
IC 1
8051
19
18
TTL
Oscillator
74LS04
Oscillator
Tổng quan Vi điều khiển họ 8051 Đồ án tốt

Q
D
Write
to Latch
Read
latch
Read
pin
Interrnal
Pull-up
Port
Latch
Porrt
pin
8051 Internal bus
Tng quan Vi iu khin h 8051 ỏn tt
nghip

Hong Quang Lý
-17-
P1.5). Chõn Port khụng th lm nhim v tip theo l ngừ nhp tr khi
trc tiờn ta phi SET b cht ( nh SETB P1.5).
5. T chc b nh

7F
77
6F
67
5F
56

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
7B
73

79
71
69
61
59
51
49
41
39
31
29
21
19
11
09
01
78
70
68
60
58
50
48
40
38
30
28
20
18
10

Bank 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

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

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.
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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 đơn
giả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ạng
thá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

+ Cờ nhớ : C = 1 Nếu phép toán cộng có tràn hoặc phép toán trừ có mượn
và ngược lại C = 0.
Nếu thanh ghi A có giá trị FF thì lệnh sau : ADD A,#1 . Phép cộng này có
tràn nên bit C = 1 và kết quả trong thanh ghi A = 00H.
Cờ nhớ có thể xem là thanh ghi 1 bit cho các luận lý thi hành trên bit
ANL C,25H
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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.

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ứ 3
sử 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.
Tổng quan Vi điều khiển họ 8051 Đồ án tốt
nghiệ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ặc
nế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.

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 IC
khá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

Trích đoạn Hoạt Động Của Thanh Ghi TIME
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status