Tiểu luận Đo và điều khiển tốc độ động cơ dùng vi xử lí 8051
BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
Đề tài: “ĐO VÀ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ DÙNG VI XỬ LÍ 8051”
Môn:Kỹ thuật vi xử lí
1
MỤC LỤC
LỜI NÓI MỞ ĐẦU .............................................................................................................3
CHƯƠNG 1:TỔNG QUAN VI XỬ LÝ 8051..................................................................4
I.Kiến trúc phần cứng AT89C52......................................................................................4
1.Cấu hình các chân của AT89C52 ..........................................................................4
2. Mô tả các chân......................................................................................................4
3.Tổ chức bộ nhớ......................................................................................................7
4.Các thanh ghi đặc biệt. ..........................................................................................9
II.Hoạt động của timer......................................................................................................11
1.Các thanh ghi của bộ định thời..............................................................................11
2.Các chế độ của timer và cờ tràn.............................................................................13
III.Hệ thống ngắt ...............................................................................................................14
1.Giới thiệu chung. ...................................................................................................14
2.Tổ chức ngắt. .........................................................................................................15
3.Độ ưu tiên ngắt. .....................................................................................................15
4.Cơ chế lựa chọn tuần tự.........................................................................................16
5.Vector ngắt ............................................................................................................17
CHƯƠNG 2: THIẾT KẾ MÔ PHỎNG HỆ THỐNG....................................................18
I.Sơ đồ khối: .......................................................................................................................18
II.Lưu đồ thuật toán..........................................................................................................20
1.Lưu đồ chương trình của mạch.................................................................................20
2.Lưu đồ các mạch chức năng .....................................................................................21
3.Code của mạch..........................................................................................................31
III.Mạch khi hoàn thành...................................................................................................38
2
LỜI NÓI MỞ ĐẦU
Trong những năm gần đây với sự phát triển mạnh mẽ của khoa học – kĩ thuật.Đặc biệt
của ngành công nghiệp chế tạo các linh kiện bán dẫn,các các vi mạch tích hợp IC một
hướng phát triển mới của Vi xử lý đã hình thành đó là Vi Điều Khiển.Với những ưu điểm
to lớn về tốc độ,độ chính xác cao,khả năng sử lý các bìa toán,tính linh hoạt nên các Vi
Điều khiển đã được ứng dụng trên hầu hết các lĩnh vực trong cuộc sống. Bằng cách áp
dụng Vi Điều Khiển trong sản xuất và xử lý,Vi Điều Khiển đã thực sự thể hiện được các
ưu điểm của mình so với các thiết bị thông thường khác.
Vì những ứng dụng to lớn của Vi điều khiển,do đó mà ở các trường Đại Học,Cao
Đẳng,TCCN…. Về khoa học – công nghệ .Môn vi xử lý đã trở thành một môn học không
thể thiếu được trong trương trình đào tạo.Vi điều khiển 8051 sẽ cung cấp cho sinh viên
những khái nhiện cơ bản cách thức hoạt động của Vi xử lý qua đó sinh viên có tư duy
,kiến thức nền tảng,để có thể giải quyết các bài toán ứng dụng thực tế trong cuộc
sống,cũng như là cơ sở để học tập nghiên cứu các dòng Vi xử lý khác như :PIC,AVR….
Qua báo cáo này chúng em có cái nhìn thực tế hơn,sâu sắc hơn về vi điều khiển.chúng
em cũng đã hiểu thêm nhiều về cách thức xử lý một bài toán thực tế phức tạp.
3
CHƯƠNG 1: TỔNG QUAN VI XỬ LÝ 8051
I.Kiến trúc phần cứng AT89C52:
AT89C51 là phiên bản 8051 có ROM trên chip là Flash. Phiên bản này thích hợp cho ứng
dụng nhanh vì bộ nhớ Flash có thể xoá trong vài giây. AT89C51 có thể được lập trình qua
công COM của máy tính IBM PC.
Các thành phần bên trong nó gồm có:
- 128 byte RAM
- 8Kbyte ROM
- 32 đường xuất nhập
- 3 bộ định thời đếm 16 bit
- 8 nguyên nhân ngắt
- một port nối tiếp song công
- một mạch dao động và tạo xung clock trên chi
1.Cấu hình các chân của 89ATC52:
U1
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
P0.0/AD0
P0.1/AD1
P2.0/A8
P2.1/A9
P0.2/AD2 P2.2/A10
P0.3/AD3 P2.3/A11
P0.4/AD4 P2.4/A12
P0.5/AD5 P2.5/A13
P0.6/AD6 P2.6/A14
P0.7/AD7 P2.7/A15
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
P1.0/T2
P1.1/T2-EX P3.1/TXD
P3.0/RXD
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
19
18
30
29
XTAL1
XTAL2
ALE/PROG
PSEN
31
9
EA/VPP
RST
AT89C52
2. Mô tả các chân
- Vcc (40):chân cấp điện (5V)
- GND (20):chân đất (0V)
4
* Cổng Port 1 được chỉ định là cổng I/O từ chân 1 đến 8. Chúng được sử dụng cho mục
đích duy nhất là giao tiếp với thiết bị khi cần thiết. Ngoài ra các chân P1.0, P1.1 là 2 chân
liên quan đến hoạt động ngắt của bộ định thời 2.
Trong những mô hình thiết kế không dùng bộ nhớ ngoài, Port 0 là cổng I/O. Còn đối
với các hệ thống lớn hơn có yêu cầu một số lượng đáng kể bộ nhớ ngoài thì Port 0 trở
thành các đường truyền dữ liệu và 8 bit thấp của bus địa chỉ. Ngoài ra chân P1.0(T2) là
ngõ vào của bộ đếm thời gian 2. P1.1(T2EX) là chân capture/reload của bộ đếm thời gian
2.
* Cổng Port 2 là cổng I/O hoặc là đường tryển 8 bit cao của bus địa chỉ cho những mô
hình thiết kế có bộ nhớ chương trình ở nằm ngoài học có hơn 256 byte bộ nhỡ dữ liệu
ngoài .
*
Cổng Port 3 ngoài mục đích chung là cổng I/O, những chân này còn kiêm luôn nhiều
chức năng khác liên quan đến đặc tính đăc biệt của vi điều khiển.
Bit
Tên
RXD
TXD
‘INTO
‘INT1
T0
Địa chỉ bit
B0H
Chức năng thứ hai
Nhận dữ liệu cho cổng nối tiếp
Truyền dữ liệu cho cổng nối tiếp
Ngắt 0 bên ngoài
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
B1H
B2H
B3H
Ngắt 1 bên ngoài
B4H
Ngõ vào bộ đếm thời gian 0
Ngõ vào bộ đếm thời gian 1
Tín hiệu điều khiển ghi bộ nhớ dữ liệu ngoài
Tín hiệu điều khiển đọc bộ nhớ dữ liệu ngoài
T1
B5H
‘WR
‘RD
B6H
B7H
Những chức năng thứ hai của chân cổng Port 3
- /PSEN là một tín hiệu điều khiển cho phép bộ nhớ chương trình bên ngoài hoạt
động. Nó thường được kết nối đến chân /OE (Output Enable) của /EPROM để đọc
các byte chương trình. Xung tín hiệu /PSEN luôn ở mức thấp trong suốt phạm vi
quá trình của một lệnh. Còn khi thi hành chương trình từ ROM ở ngay bên trong
chip, chân /PSEN luôn ở mức cao.
5
- Tín hiệu ALE có chức năng đặc biệt tách byte địa chỉ thấp và bus dữ liệu khi cổng
P0 được sử dụng cở chế độ tuần tự hay còn gọi là chế độ dồn kênh, nghĩa là sử dụng
cùng một đường truyền cho các bit dữ liệu và byte thấp của bus địa chỉ
- Khi chân /EA ở mức cao, vi điều khiển được thực hiện các chương trình lưu trữ ỏ
vùng nhớ thấp hơn 8Kbyte ROM bên trong chip. Còn /EA ở mức thấp chỉ có những
chương trình lưu ở bộ nhớ ngoài mới được thực hiện
- AT89S52có một bộ dao động nội bên trong chip hoạt động theo tần số của một
dao động thạch anh nằm bên ngoài. Tần số thông dụng của thạch anh là 11,0592
MHZ.
- RST (9):ngõ vào reset ở mức cao trên chân này trong 2 chu kì máy.
RST
Mạch reset tác động bằng tay và sẽ tự động reset lại máy.
- XTAL1 và XTAL2:là hai ngõ vào và ra của bộ khuếch đại đảo của mạch giao
động,được cấu hình dùng để dùng như một bộ giao động trên chíp.
Không có yêu cầu nào về chu kì nghiện vụ của tín hiệu xung Clock bên ngoài do tín
hiệu này phải qua mạch flip-flop chia hai trước khi tới mạch tạo xung bên trong.Tuy
6
nhiên các chi tiết kĩ thuật về thời gian mức thấp và thời gian mức cao,điện áp cực đại
,điện áp cực tiểu cần được xem xét.
3.Tổ chức bộ nhớ
Không gian bộ nhớ của bộ vi điều khiển được phân chia thành 2 phần: bộ nhớ dữ liệu
và bộ nhớ chương trình. Hầu hết các IC MCS đều có bộ nhớ chương trình nằm bên trong
chip, tuy nhiên cũng có thể mở rộng dung lượng lên đến 64K bộ nhớ chương trình và 64K
dữ liệu bằng cách sử dụng một số bộ nhớ ngoài.
Bên trong chip vi điều khiển AT89C51 có 128 byte bộ nhớ dữ liệu. Không gian bộ
nhớ bên trong được chia thành các bank thanh ghi, RAM địa chỉ theo bit, RAM dùng
chung và các thanh ghi chức năng đặc biệt.
7F
FF
F0
F
7
F
6
F
5
F
4
F
3
F
2
F
1
F
0
B
E0
D0
E E E E E E E E ACC
RAM dùng chung
7
6
5
4
3
2
1
0
D D D D D D D D PSW
7 6 5
4
3
2
1
0
CD
CC
CB
TH2
TL2
RCAP
2L
30
CA
C8
B8
RCAP
2H
T2CO
N
-
-
-
B B B B B IP
C B A 9
8
2F
7
7
7
7
7
7
7
7 B0
B B B B B B B B P3
F E D C B A 9
8
7
6
5
4
3
2
1
0
7
2E
7
7
7
6
7
5
7
4
7
3
7
2
7
1
7 A8
0
A -
F
-
A A A A A IE
C B A 9
8
2D 6
6
6
6
6
6
6
6 A0
A A A A A A A A P2
F E D C B A 9
8
7
6
5
4
3
2
1
0
2C 6
6
6
6
5
6
4
6
3
6
2
6
1
6 99
0
SBUF
7
2B 5
5
5
5
5
5
5
5 98
8
9
F
9
9
9
9
9
9
9
8
SCO
N
F E D C B A 9
E D C B A 9
2A 5
5
6
5
5
5
4
5
3
5
2
5
1
5 90
0
9
7
9
6
9
5
9
4
9
3
9
2
9
1
9
0
P1
7
29
28
27
26
25
24
23
22
21
4
4
4
4
4
4
4
4 8D
8
TH1
TH0
TL1
TL0
F E D C B A 9
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4 8C
0
3
3
3
3
3
3
3
3 8B
8
F E D C B A 9
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3 8A
0
2
2
2
2
2
2
2
2
8
F E D C B A 9
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2 89
0
TMO
D
1
1
1
1
1
1
1
1
8
F E D C B A 9
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1 88
0
8
F
8
8
8
8
8
8
8
8
TCO
N
E D C B A 9
0
0
0
0
0
0
0
0
8
PCO
N
F E D C B A 9
8
20
1F
0
7
0
6
0
5
0
4
0
3
0
2
0
1
0
0
Bank Register
83
82
81
80
DPH
DPL
SP
00
8
7
8
6
8
5
8
4
8
3
8
2
8
1
8
0
P0
Sơ đồ chi tiết không gian bộ nhớ dữ liệu bên trong vi điều khiển
4.Các thanh ghi đặc biệt.
AT89C52 có các thanh ghi R0 đến R7 và 21 thanh ghi chức năng đặc biệt SFR
(Special Function Register) nằm ở phần trên của RAM từ địa chỉ 80H đến FFH.
-
Thanh ghi trạng thái PSW (program stastus word):
Bit
Ký hiệu
CY
Địa chỉ
D7H
D6H
D5H
D4H
D3H
Mô tả bit
PSW.7
PSW.6
PSW.5
PSW.4
PSW.3
Cờ nhớ
AC
Cờ nhớ phụ
FO
Cờ 0
RS1
RS0
Chọn dãy thanh ghi(bit 1)
Chọn dãy thanh ghi(bit 0)
00=bank1: địa chỉ từ 00h đến 07h
01=bank2: địa chỉ từ 08h đến 0Fh
9
10=bank3: địa chỉ từ 10h đến 17h
01=bank2: địa chỉ từ 18h đến 1Fh
Cờ tràn
PSW.2
PSW.1
PSW.0
OV
-
D2H
D1H
D0H
Dự trữ
P
Cờ kiểm tra chẵn lẻ
- Thanh ghi B: thanh ghi luôn được sử dụng kèm theo thanh ghi A để thực hiện các
phép toán nhân và chia. Thanh ghi B xem như là thanh ghi đệm dùng chung. Nó có địa chỉ
từ F0 đến F7.
- Con trở ngăn xếp: là một thanh ghi 8 bit, nó chứa địa chỉ của phần dữ liệu đang
hiện diện tại đỉnh ngăn xếp. Ngăn xếp hoạt động theo phương thức LIFO. Hoạt động đẩy
vào ngăn xếp làm tăng SP lên trước khi ghi dữ liệu vào. Hoạt động lấy ra khỏi ngăn xếp sẽ
đọc dữ liệu ra rồI giảm SP.
- Con trỏ dữ liệu DPTR(Data Pointer): DPTR được sử dụng để truy cập vào bộ nhớ
chương trình và bộ nhớ dữ liệu ngoài, đó là thanh ghi 16 bot có 8 bit thấp ở địa chỉ 82H
(DPL) và 8 bit cao ở địa chỉ 83h (DPL)
- Các thanh ghi cổng: Các cổng I/O của VDL bao gồm P0 tại địa chỉ 80H, P1 ở địa
chỉ 90H, P2 tại địa chỉ A0H, P3 tạI địa chỉ B0H. Tất cả các cổng đều có địa chỉ bit nên
cung cấp khả năng giao tiếp với bên ngoài rất mạnh
- Các thanh ghi bộ đếm thời gian: AT89C52 có 3 bộ đếm thời gian 16 bit để định
các khoảng thời gian hay đếm các sự kiện. Timer0 có địa chỉ 8AH (TL0: bit thấp) và
8CH(TH0: byte cao). Timer1 có địa chỉ 8BH (TL1: bit thấp) và 8DH(TH1: byte cao).
Timer2 có địa chỉ CCH (TL2: bit thấp) và 8CD(TH2: byte cao). Hoạt động của các bộ đếm
thời gian được thiết lập bởi các thanh ghi TMOD,TCON, T2CON. Ngoài ra các thanh ghi
RCAP2L, RCAP2H được sử dụng trong chế độ tự nạp của 16 bitbộ định thời 2.
- Các thanh ghi cổng tuần tự: IC AT89C52 chứa một cổng nối tiếp để kết nối với
các thiết bị nối tiếp như moderm hoặc để giao tiếp với các IC khác sử dụng giao tiếp nối
tiếp. Bộ đệm dữ liệu nối tiếp SBUF lưu giữ cả dữ liệu truyền đi và dữ liệu nhận được.
- Các thanh ghi ngắt: AT89C52 có 6 nguyên nhân ngắt và 2 ngắt ưu tiên. Các ngắt
bị cấm sau khi hệ thống khởi động lại và để được bật bằng cách ghi vào thanh ghi cho
phep ngắt IE. Mức ưu tiên được thiết lập thông qua thanh ghi ưu tiên IP.
10
- Thanh ghi điều khiển năng lượng PCON (Power Control Register): chứa nhiều
bit điều khiển đảm bảo các chức năng khác nhau.
II.Hoạt động của timer.
1.Các thanh ghi của bộ định thời.
Để truy cập bộ định thời ta sử dụng 11 thanh ghi FSR:
SFR
Mục đích
Địa chỉ
88H
Định địa chỉ bit
Có
TCON
TMOD
TL0
Điều khiển
Chọn chế độ
89H
Không
Không
Không
Không
Không
Có
Byte thấp của bộ định thời 0
Byte thấp của bộ đinh thời 1
Byte cao của bộ đinh thời 0
Byte cao của bộ đinh thời 1
Điều khiển bộ định thời 2
8AH
8BH
8CH
8DH
C8H
CAH
CBH
CCH
CDH
TL1
TH0
TH1
T2CON
RCAP2L Nhận byte thấp của bộ định thời 2
RCAP2H Nhận byte cao của bộ định thời 2
Không
Không
Không
Không
TL2
TH2
Byte thấp của bộ đinh thời 2
Byte cao của bộ định thời 2
- Thanh ghi TMOD (Timer Moder Register):
Bit
7
Tên
Timer Chức năng
GATE 1
Khi bit Gate=1 và ‘INT1 cao thì Timer 1 mới hoạt động
6
C/’T
M1
1
1
1
Bit chọn counter/timer (1/0)
Bit mode 1
5
4
M0
Bit mode 0
11
3
2
1
0
GATE 0
Bit GATE của timer 0
C/’T
M1
0
0
0
Bit chọn counter/timer (1/0) Timer 0
Bit mode 1 của Timer 0
M0
Bit mode 0 của Timer 0
Các bít địa chỉ của thanh ghi TMOD:
Thanh ghi TMOD được chia thành 2 nhóm 4 bit dùng để truy cập các chế độ hoạt động
của Timer0 và Timer1.
Các chế độ hoạt động của bộ định thời:
+ M1=0, M0=0: Mode 0 (Chế độ định thời 13-bit)
+ M1=0, M0=1: Mode 1 (Chế độ định thời 16 bit)
+ M1=1, M0=0: Mode 2 (Chế độ tự động nạp 8 bit)
+ M1=1, M0=1: Mode 3 (Chế đô định thời chia xẻ).
- Thanh ghi điều khiển bộ định thời TCON (Timer control register):
Bit
Ký hiệu Địa chỉ bit
Mô tả
Cờ tràn bộ định thời
TCON.7
TCON.6
TCON.5
TCON.4
TCON.3
TCON.2
TCON.1
TCON.0
TF1
TR1
TF0
TR0
IE1
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
Bit điều khiển hoạt động của bộ định thời 1
Cờ tràn bộ định thời 0
Bit điều khiển hoạt động của bộ định thời 1
Cờ ngắt bên ngoài 1
IT1
Cờ ngắt bên ngoài 1
IE0
Cờ ngắt bên ngoài 0
IT0
Cờ ngắt bên ngoài 0
12
2.Các chế độ của timer và cờ tràn
❖ Chế độ định thời 13 bit (mode 0):
Mode 0 ít được sử dụng trong các hệ thống mới. Byte cao của bộ định thời THx được
kết hợp vớI 5 bit có trọng số nhỏ nhất vủa byte thấp của bộ định thời TLx để tạo nên bộ
định thời 13 bit. #bit còn lại của TLx không được sử dụng.
TLx (5bit)
THx (8bit)
❖ Chế độ định thời 16 bit (mode1):
Trong Mode 1, tín hiệu đồng hồ được đưa vào cả 2 byte cao và thấp của bộ định thời
(TLx,THx). Khi nhận xung đồng hồ, bộ định thời bắt đầu đếm lên từ 0000H. Hiện tượng
tràn xảy ra khi có chuyển tiếp từ FFFFH về 0000H và làm bật cờ tràn.
Timer Clock
TLx(8bit)
THx(8bit)
TFx(cờ tràn)
❖ Chế độ định thời 8 bít tự động nạp lại (mode 2):
Trong Mode 2, thanh ghi định thời TLx hoạt động như là bộ dịnh thời 8 bit trong
khi byte cao của bộ dịnh thời lưu giá trị nạp lại. Khi quá trình đếm ở TLx bị tràn từ
FFH về 00H thì không những cờ tràn bật lên mà giá trị tổng THx được nạp vào TLx, và
tiếp tục quá trình đếm từ giá trị này tới khi xảy ra sự chuyển đổi tiếp theo từ FFH về
00H.
Timer Clock
TLx(8bit)
TFx(cờ tràn)
THx(8bit)
❖ Chế độ định thời phân chia (mode 3):
Timer 0 trong mode 3 được chia thành 2 bộ định thời 8b bit. TL0 và TH0 hoạt động
như 2 bộ định thời riêng rẽ và sử dụng các cờ tràn tương ứng là TF0,TF1. Timer 1
trong mode 3 ngừng làm việc nhưng có thể hoạt động bằng cách chuyển nó sang một
13
trong mode khác. Điều hạn chế duy nhất là cờ tràn của Timer mode không bị ảnh
hưởng khi xảy ra tràn Timer1, bởi vì nó được nối đến TH0
Timer Clock
TL1(8bit)
TL0(8bit)
TH1(8bit)
TF0(cờ tràn)
TF1(cờ tràn)
TH0(8bit)
III.Hệ thống ngắt.
1.Giới thiệu chung.
Ngắt đóng vai trò trong việc thiết kế và thực hiện các ứng dụng của vi điều khiển.
Chúng cho phép hệ thống đáp ứng một cách không đồng bộ đến một sự kiện và giải quyết
sự kiện đó khi chương trình khác đó khi chương trình khác đang chạy.
Chương trình giải quyết yêu cầu của một ngắt gọi là thủ tục phục vụ ngắt ISR. ISR
dùng để đáp ứng lại một ngắt và thường là thực hiện các hoạt động vào ra đối với một thiết
bị vào ra nối với vi điều khiển. Khi xảy ra một ngắt chương trình chính tạm dừng công
việc đang thi hành và rẽ nhánh sang ISR, tiếp theo ISR hoạt động để đáp ứng yêu cầu của
ngắt và nó sẽ kết thúc bằng lệnh quay trở về, chương trình chính sẽ hoạt đông tiếp tạu ngay
sau điểm rẽ nhánh. Chương trình chính thực hiện ở mức cơ bản còn ISR thực hiện ở mức
ngắt.
Chương trình chính
ISR
Tới chương trình phục vụ ngắt
ngắt
trở về chương trình chính nơi xảy ra
Cơ chế thực hiện ngắt
14
2.Tổ chức ngắt.
AT89C51 có tất cả 6 nguyên nhân ngắt: hai ngắt do bên ngoài, ba ngắt do bộ định
thời, một ngắt do port nối tiếp. Tất cả các ngắt đều bị cấm sau khi hệ thống khởi động
(reset) sau đó chúng được cho phép bằng phần mềm.
3.Độ ưu tiên ngắt.
Mỗi một nguồn ngắt có thể được lập trình để đạt đươc một trong 2 mức ưu tiên
thông qua thanh ghi chức năng đặc biệt có địa chỉ bit IP tạI 0B8H. Thanh ghi IP bị xoá sau
khi hệ thống khởi động để đặt các ngắt ở mức ưu tiên thấp hơn so với mặc định. Trong
AT89C51 tồn tạI 2 mức ưu tiên. Khi một ưu ngắt có mức ưu tiên cao xuất hiện trong một
ISR có mức ưu tiên thấp đang thi hành thì ISR đó sẽ bị ngừng lại, ISR có mức ưu tiên cao
hơn sẽ được thực hiện. Nếu 2 ngắt có mức ưu tiên khác nhau xảy ra cùng một lúc thì ngắt
có mức ưu tiên cao hơn sẽ được phục trước:
Thanh ghi IE.
Các bít trong thanh ghi IP (thanh ghi điều khiển ưu tiên ngắt):
Bit
Ký hiệu
Địa chỉ bit Mô tả
IP.7
IP.6
IP.5
IP.4
-
-
Không định nghĩa
-
-
Không định nghĩa
PY2
PS
BDH
BCH
Ưu tiên cho ngắt Timer 2
Ưu tiên cho ngắt cổng nốI tiếp
15
IP.3
IP.2
IP.1
IP.0
PT1
PX1
PT0
PX0
BBH
BAH
B9H
B8H
Ưu tiên cho ngắt Timer 1
Ưu tiên cho ngắt ngoài 1
Ưu tiên cho ngắt Timer 0
Ưu tiên cho ngắt ngoài 0
4.Cơ chế lựa chọn tuần tự.
Nếu có 2 ngắt cùng mức ưu tiên xảy ra đồng thời, một cơ chế chọn lựa theo thứ tự có
sẵn sẽ xác định ngắt nào được đáp ứng trước. Việc chọn lựa theo thứ tự là: External 0,
Timer 0, External 1, Timer 1, Serial Port, Timer 2.
Quá trình xử lý ngắt:
Khi một ngắt xuất hiện và nó được CPU chấp nhận, chương trình chính bị ngừng,
các hoạt động tiếp theo xảy ra như sau:
+ Thực hiện xong lệnh hiện hành đó
+ Bộ đếm chương trình PC được lưu vào trong Stack
+ Lưu giữ tình trạng của ngắt hiện tại
+ Các nguồn ngắt được giữ tại mức của ngắt hiện tại
+ Nap vào PC địa chỉ Vector của ISR
+ ISR thực hiên
ISR hoạt động để đáp ứng lại yêu cầu ngắt. ISR kết thúc bằng lệnh RETI có tác
dụng quay trở về chương trình chính, lệnh này sẽ nạp lại giá trị cũ của PC trong ngăn xếp
và khôi phục tình trạng của ngắt cũ. Việc thực hiện chương trình chính tiếp tục diễn ra tại
nơi nó tạm dừng.
16
5.Vector ngắt.
Khi một ngắt được chấp nhận thì giá trị nạp vào PC gọi là vectơ ngắt. Nó chính là
địa chỉ bắt đầu của ISR tương ứng với ngắt được chấp nhận.
* Hàm ngắt:
Void tenhamngat(void) interrupt nguồn ngắt
{
// Chương trình ngắt ở đây
}
* Chú ý về hàm ngắt.
- Hàm ngắt không được trả lại hay truyền biến vào hàm
- Tên hàm bất kỳ
- Interrupt là hàm ngắt phải phân biệt với hàm khác
- Nguồn ngắt từ 0-5 theo bảng vecto ngắt
- Băng thanh ghi Ram chọn từ 0-3
-
Sau đây là bảng các vectơ ngắt
Ngắt
Cờ
Địa chỉ Vector
0000H
System reset
External 0
Timer 0
RST
IE0
0003H
TF0
000BH
External 1
Timer 1
IE1
0013H
TF1
001BH
Serial Port
Timer 2
RI or TI
0023H
TF2 or EXF2
Bảng:Các vecto ngắt.
002BH
17
CHƯƠNG 2: THIẾT KẾ MÔ PHỎNG HỆ THỐNG
I.Sơ đồ khối:
HIỂN
THỊ
NGUỒN 12
Phím ấn
LED 7
seg
ĐIỀU
KHIỂN
ĐỘNG
VI XỬ
LÝ 8051
ĐỘNG
CƠ
CƠ
ỔN ÁP
NGUỒN
Xung điện
ENCODER
Sơ đồ khối của mạch.
Chức năng từng thành phần trong sơ đồ khối:
❖ Động cơ:động cơ điện được sử dụng trong mạch là động cơ điện một chiều có điện áp
đặt vào tối đa 24V.Trên trục động cơ có gắn một đĩa tròn có khoét các lỗ tròn để cho
ánh sáng từ led phát quang có thể đi qua tới con mắt thu quang để có thể đo được tốc
độ động cơ.ở đây chúng ta dùng động cơ DC 12V.
❖ Encoder :dùng để đo số vòng quay của động cơ và phát hiện chiều quoay của động
cơ.encoder nó sẽ đo tốc độ động cơ thông qua sự liên lạc, mất liên lạc của led phát
quang và bộ phận thu quang rồi chuyển thành các xung điện áp vuông gửi tới chân ngắt
của Vi Xử Lý.
❖ Vi Xử Lý:nhận các tín hiệu từ encoder thông qua cơ chế ngắt từ đó căn cứ vào số xung
do đó nó sẽ tính toán xử lý để:
- Đưa ra tốc độ động cơ hiển thị lên led 7 thanh.
- Điều chế độ rộng xung PWM để điều khiển tốc độ động cơ cho phù hợp với yêu
cầu.
Khối vi xử lý là trái tim là khối óc của hệ thống là phần quan trọng nhất điều khiển
mọi hoạt động của mạch.
18
❖ Khối điều khiển:điều khiển hướng của động cơ điện một chiều.trong bài toán này
chúng em xử dụng mạch cầu H để điều khiển hướng của động cơ.
❖ Khối hiển thị:nhận số liệu về tốc độ động cơ từ vi xử lý rồi hiển thị lên các led 7 thanh
theo sự điều khiển của Vi điều khiển.
❖ Khối nguồn ổn áp 5V:có chức năng cung cấp điện áp ổn định cho các khối trong
mạch.Cụ thể trong mạch ta sử dụng hai nguồn riêng biệt:
- Nguồn 5V DC dùng để nuôi các IC trong mạch hoạt động tạo ra các tín hiệu xuất ra
chuẩn TTL,tránh các trường hợp nhiễu điện áp không đúng với điện áp cấp cho IC
=> tránh IC không hoạt động,hỏng hóc,chập cháy.
- Nguồn 12V DC dùng để cung cấp cho động cơ một chiều DC (trong đồ án này sử
dụng động cơ một chiều DC 12V.)
19
II.Lưu đồ thuật toán
1.Lưu đồ chương trình của mạch.
start
Khởi tạo:
-timer 0:chế độ 16bit (50.000us).
-timer2 :chế độ 16bit.
- timer 1:chế độ count1 16 bit
2
Kiểm tra nút ấn
STO
GT
TT
QN
QT
Đ
S
Đ
S
Đ
S
Đ
S
Đ
S
Tin hieu ĐK
Động Cơ
TR2=1
PWM
Động cơ
END
1
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Tiểu luận Đo và điều khiển tốc độ động cơ dùng vi xử lí 8051", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
tieu_luan_do_va_dieu_khien_toc_do_dong_co_dung_vi_xu_li_8051.docx

