LUẬN VĂN:ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH pot - Pdf 11

ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 4
LUẬN VĂN Điều khiển thiết bị điện qua
máy vi tính

1.

Điều khiển cùng lúc tối đa 10 thiết bị.
2.

Mạch
phải hoạt động tốt không bị nhiễu trên đường truyền tín hiệu

3.
Mạch
phải chạy ổn định trong quá trình làm việc

IV. MỤC ĐÍCH NGHIÊN CỨU
Khi bắt tay vào thực hiện đề tài này, nhóm thực hiện mong muốn rằng sản
phẩm
của đề tài phải được ứng dụng. Và đặc biệt, đối với nhóm nghiên cứu đây là điều kiện, cơ hội,
cách thức để củng cố, bổ sung và ứng dụng những gì đã được lĩnh hội được trong lý thuyết
cũng như thực tập. Từ đó sử dụng và ứng dụng nó nhằm đáp ứng
cho nhu cầu thực tế. Đây
chính là những tiền đề đầu tiên để mỗi thành viên trong
nhóm có được một số kiến thức
chuyên ngành nhất định, làm hành trang cho công việc sau này. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 6
V. ĐỐI TƯỢNG NGHIÊN CỨU
Đối tượng nghiên cứu của đề tài này chính là:
► Cách thức giao tiếp giữa mạch đo và máy tính.
► Cách thức giao tiếp giữa mạch đo và mạch điều khiển.
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 7
kỹ độ khó và độ phức tạp của đề tài sao cho phù hợp với khả năng, kiến thức và năng lực của
người nghiên cứu.
Độ phức tạp của đề tài thể hiện ở các mặt: lĩnh vực nghiên cứu rộng hay hẹp, ở một
ngành hay liên ngành, đối tượng nghiên cứu là đồng nhất hay không đồng nhất. Tuy nhiên
cần lưu ý rằng giá trị của đề tài không phụ thuộc vào độ phức tạp của nó. Đề tài hẹp chưa
hẳn là đề tài kém giá trị. Mỗi đề tài nghiên cứu khoa học có một phạm vi nhất định, phạm vi
này càng hẹp thì sự nghiên cứu càng sâu. Độ khó của đề tài nói lên tính vừa sức đối với
người nghiên cứu. Do đó độ phức tạp của đề tài thường có mối liên hệ tương hỗ với độ khó
của nó.
Kiến thức của người nghiên cứu (đây là điều kiện chủ quan ở người nghiên cứu).
Trước hết đó là kiến thức, kinh nghiệm của người nghiên cứu.
Người nghiên cứu phải thể
hiện năng lực nghiên cứu khoa học bao gồm việc
nắm vững lý thuyết cơ bản của khoa học
trong lĩnh vực nghiên cứu của mình, nắm
được mức độ nhất định về sự phát triển và tiến bộ
thuộc lĩnh vực nghiên cứu có như thế mới chọn được đề tài có giá trị. Trong tình hình tiến bộ
của khoa học kỹ thuậthiện nay trên thế giới, khối lượng thông tin khoa học gia tăng với qui
mô lớn và nhịp độ nhanh đòi hỏi người nghiên cứu phải tham khảo tài liệu nước ngoài.Để
thực hiện được vấn đề này người nghiên cứu khoa học cần có số vốn ngoại ngữ nhất định.

II. VẤN ĐỀ THỰC TIỄN
Người nghiên cứu phải coi thực tiễn làm cơ sở, là động lực của nhận thức.
Angel
viết: “Khi xã hội có những yêu cầu kỹ thuật thì xã hội thúc đẩy khoa học hơn mười trường
đại học”. Mặt khác thực tiễn cũng là tiêu chuẩn để kiểm tra nhận thức .
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 9
Thực tế là những sự việc có thật, những tình hình cụ thể, những vấn đề đã hoặc chưa
được giải quyết trong cuộc sống. Người nghiên cứu với kinh nghiệm bản thân trong công
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 11

I. CẤU TẠO VI ĐIỀU KHIỂN 8051
1. Tóm tắt phần cứng họ MCS-51 (8051)
MCS-51 là họ IC vi điều khiển do hãng INTEL sản xuất. Các IC tiêu biểu cho họ là
8031, 8051, 8951… Những đặc điểm chính và nguyên tắc hoạt động của các bộ vi điều
khiển này khác nhau không nhiều. Khi đã sử dụng thành thạo một vi điều khiển thì ta có thể
nhanh chóng vận dụng kinh nghiệm để làm quen và làm chủ các ứng dụng của bộ vi điều
khiển khác. Vì vậy để có những hiểu biết cụ thể về các bộ vi điều khiển cũng như để phục


khác nhau c

a các IC trong h

MCS
-
51

ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 12

2. Một số thanh ghi chức năng đặc biệt trong vi điều khiển 8051.
a. Các thanh ghi Port (Port Register):
Các port 0, port 1,port2, port 3 có địa chỉ tương ứng 80H, 90H, A0H, B0H.
Các Port 0, Port 1, Port 2, Port 3 không còn tác dụng xuất nhập nữa nếu bộ
nhớ ngoài được dùng hoặc một vài tính chất đặc biệt của 8051 được dùng
(như Interupt, Port nối tiếp…). Do vậy chỉ còn có tác dụng xuất nhập I/O.
b. Các thanh ghi Timer (Timer Register):
8051 có 2 bộ định thời/đếm16 bit, được dùng cho việc định thì hoặc đêm sự
kiện. Timer 0 có bit thấp TL0 ở địa chỉ 8AH và có bit cao TH0 ở địa chỉ 8CH.
Timer 1 có bit thấp ở địa chỉ 8BH và bit cao TH1 ở địa chỉ 8DH.
Hoạt động định thời được cho phép bởi thanh ghi mode định thời TMOD
(Timer Mode Register). Ở địa chỉ 89H và thanh ghi điều khiển định thời
TCON (Timer Control Registor) ở địa chỉ 88H chỉ có TCON có bit định vị.
c. Các thanh ghi Port nối tiếp (Serial Port Register):
8051 chứa một Port nối tiếp trên Chip cho việc truyền thông tin với những
thiết bị nối tiếp như là những thiết bị đầu cuối, modem, hoặc để giao tiếp IC
khác với những bộ biến đổi A/D, những thanh ghi di chuyển, RAM…Thanh
ghi đệm dữ liệu nối tiếp SBUF ở địa chỉ 99H giữ cả dữ liệu phát lẫn dữ liệu

SUBB A, <src, byte>

INC <byte>
DEC <byte>
MUL AB : (A)

LOW [(A) x (B)]; có ảnh hưởng cờ OV
: (B)

HIGH [(A) x (B)]; cờ Carry được xoá
DIV AB : (A)

Integer result of [(A) / (B)]; cờ OV
: (B)

Remainder of [(A) / (B)]; cờ Carry xoá

 Các lệnh logic:
Tất cả các lệnh logic sử dụng thanh ghi A như là một trong những toán hạng thực
thi một chu kì máy, ngoài A mất 2 chu kì máy. Những hoạt động logic có thể
được thực hiện trên bất kì byte nào trong vị trí nhớ dữ liệu nội mà không thông
qua thanh ghi A.
Các hoạt động logic được tóm tắt như sau:
ANL <dest-byte>,<src-byte>
ORL <dest-byte><src-byte>
XRL <dest-byte>,<src-byte>
RL A : Quay thanh ghi A qua trái 1 bit
RLC A : Quay vòng thanh ghi A qua trái 1 bit có cờ
carry
RR A : Quay thanh A ghi sang phải 1 bit

2 vùng nhớ nào của RAM nội hoặc các vùng nhớ của các thanh ghi chức năng
đặc biệt mà không thông qua thanh ghi A.
Vùng Stack của 8051 chỉ chứa 128 byte RAM nội, nếu con trỏ Stack SP được
tăng quá địa chỉ 7FH thì các byte được PUSH vào sẽ mất đi vào các byte POP ra
thì không biết rõ.
Các lệnh dịch chuyển bộ nhớ nội và bộ nhớ ngoại dùng sự định vị gián tiếp. Địa
chỉ gián tiếp có thể dùng địa chỉ 1 byte (@ Ri) hoặc địa chỉ 2 byte (@ DPTR).
Tất cả các lệnh dịch chuyển hoạt động trên toàn bộ nhớ ngoài thực thi trong 2
chu kỳ máy và dùng thanh ghi A làm toán hạng DESTINATION.
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 15
Việc đọc và ghi RAM ngoài (RD và WR) chỉ tích cực trong suốt quá trình thực
thi của lệnh MOVX, còn bình thường RD và WR không tích cực (mức 1).
● Các lệnh luận lý:
CLR C : Xoá cờ Carry xuống 0. Có ảnh hưởng cờ Carry.
CLR BIT : Xoá bit xuống 0. Không ảnh hưởng cờ Carry.
SET C : Set cờ Carry lên 1. Có ảnh hưởng cờ Carry.
SET BIT : Set bit lên 1. Không ảnh hưởng cờ Carry.
CPL C : Đảo bit cờ Carry. Có ảnh hưởng cờ Carry.
CPL BIT : Đảo bit. Không ảnh hưởng cờ Carry.
ANL C, BIT : Có ảnh hưởng cờ Carry.
ANL C,
BIT
: Không ảnh hưởng cờ Carry.
ORL C, BIT : Tác động cờ Carry.
ORL C, : Tác động cờ Carry.
MOV C, BIT : Cờ Carry bị tác động.
MOV BIT, C : Không ảnh hưởng cờ Carry.

4. Họat động định thời

a. Chế độ timer 13-bit (chế độ 0)
Chế độ 0 là chế độ định thời 13 bit cung cấp khả năng tương thích với bộ vi
điều khiển tiền nhiệm 8048. Byte cao của bộ định thời THx được ghép cascade với 5
bit thấp của byte thấp của bộ định thời TLx để tạo thành một bộ định thời 13-bit. Ba bit
cao của TLx không sử dụng.
b. Chế độ timer 16-bit (chế độ 1)
Chế độ 1 là chế độ timer 16 bit giống như chế độ 0, ngoại trừ lúc này timer hoạt động
như timer 16 bit đầy đủ. Xung nhịp được đưa vào thanh ghi 16 bit được kết hợp bởi
THx và TLx. Khi nhận được xung nhịp thì timer đếm lên: 0000H, 0001H, 0002H,
v.v… Tràn xảy ra khi có chuyển tiếp từ FFFFH sang 0000H trong số đếm và nó đặt cờ
báo tràn timer lên 1. Timer tiếp tục đếm tiếp. Cờ báo tràn là bit TFx trong TCON mà
người ta có thể đọc hoặc ghi vào bằng phần mềm.
c. Chế độ timer 8 bit tự nạp lại trị đầu (chế độ 2)
Bit

Tên Bộ định thời Mô tả
7 GATE 1 Bit điều khiển cổng. khi được set lên 1, bộ định
thời chỉ hoạt động trong khi
INT
ở mức cao.

TC /

1 Bit chọn chức năng đếm hoặc định thời :
1 = đếm sự kiện
0 = định thời trong một khoảng thời gian
5 M1 1 Bit chọn chế độ thứ nhất (xem bảng 4.3)
4 M0 1 Bit chọn chế độ thứ hai (xem bảng 4.3)
3 GATE 0 Bit điều khiển cổng cho bộ định thời 0.
2

định.
Thêm phương pháp nữa để điều khiển timer là dùng bit Gate trong thanh ghi TMOD
và ngõ nhập bên ngoài INTx. Điều này được dùng để đo các độ rộng xung. Giả sử
xung đưa vào chân INT0 ta khởi động timer 0 cho mode 1 là mode timer 16 bit với
TL0/TH0 = 0000H, Gate =1, TR0 =1. Như vậy khi INT0 =1 thì timer “được mở cổng”
và ghi giờ với tốc độ của tần số 1MHz.
Khi INT0 xuống mức thấp thì timer “đóng cổng” và khoảng thời gian của xung tính
bằng us là sự đếm được trong thanh ghi TL0/TH0.
7. Họat động của port nối tiếp 8051.
Phần cứng truy xuất tới Port nối tiếp qua các chân TxD (P3.1) và RxD (P3.0). Port
nối tiếp tham dự hoạt động đầy đủ (sự phát và thu cùng lúc), và thu vào bộ đệm mà nó
cho phép 1 ký tự nhận vào và được cất ở bộ đệm trong khi ký tự thứ hai được nhận vào.
Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được nhận vào hoàn toàn thì dữ liệu
không bị mất.
Hai thanh ghi chức năng đặc biệt cung cấp cho phần mềm truy xuất đến Port nối tiếp
là SBUF và SCON. Sự đệm Port nối tiếp (SBUF) ở địa chỉ 99H là 2 sự đệm thật sự: Ghi
lên SBUF (nạp dữ liệu phát) và đọc SBUF (truy xuất dữ liệu đã nhận). Đây là

hai thanh ghi riêng biệt và rõ rệt, và thanh ghi phát chỉ ghi còn thanh ghi thu chỉ đọc.
Sơ đồ khối của Port nối tiếp như sau:

ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 18


1 1 3 UART 9 bit Thay đổi (thiết lập bởi bộ định thời) Trước khi dùng Port nối tiếp, SCON phải được định đúng chế độ. VD: Để khởi tạo
Port nối tiếp chế độ 1 (SM0/SM1 = 0/1), cho phép thu (REN = 1), và set cờ ngắt của việc
phát sẵn sàng hoạt động (TI = 1), ta dùng lệnh sau :
MOV SCON, #01010010H.
Port nối tiếp của 8051 có 4 mode hoạt động tùy thuộc theo trạng thái của SM0/SM1.
Ba trong 4 mode cho phép truyền động bộ với mỗi ký tự thu hoặc phát sẽ được bố trí
bởi bit Start hoặc bit Stop.
b. Khởi động và truy xuất các thanh ghi Port nối tiếp:
b.1. Cho phép thu:
Bit cho phép thu REN trong thanh ghi SCON phải được set bởi phần mềm để cho
phép sự thu các ký tự. Điều này thường được dùng làm ở đầu chương trình khi các
Port nối tiếp và các timer được khởi động.
Ta có thể tác động bằng lệnh:
SETB REN
hoặc:
MOV SCON, # xxx1xxxxB
b.2. Dùng timer tạo tốc độ Baud cho port nối tiếp:
SCON.1 TI 99H Cờ ngắt phát. Cờ này được set ngay khi kết thúc
việc phát một ký tự; được xóa bởi phần mềm
SCON.0 RI 98H Cờ ngắt thu. Cờ này được set ngay khi kết thúc
việc thu một ký tự; được xóa bởi phần mềm
B

ng Các ch
ế
đ


Ví dụ một hoạt động 1200 Baud đòi hỏi một tốc độ tràn là 1200/32 = 38,4 KHz. Nếu
thạch anh 12MHz lái dao động trên Chip, thì timer 1 được đếm giờ ở tốc độ của tần số 1
MHz. Bởi vì timer phải tràn ở tốc độ tần số 38,4 KHz và Timer đếm giờ ở tốc độ của tần số
1 MHz, nên một sự tràn được yêu cầu với 1000/38,4 = 26,04 clock (làm tròn 26). Bởi vì các
timer đếm lên và tràn khi có sự chuyển đổi từ FFH  00H của bộ đếm, nên 26 là giá trị cần
nạp cho TH1 (giá trị đúng là -26). Ta dùng lệnh: MOV TH1, #26
Ví dụ sau khi khởi động Port nối tiếp hoạt động giống như một UART 8 bit ở tốc độ
2400 Baud, dùng timer 1 để cung cấp tốc độ Baud:
MOV SCON, #01010010B ; Port nối tiêp mode 1
MOV TMOD, #20 ; Timer 1 mode 2
MOV TH1, #-13 ; Nạp vào bộ đếm tốc độ
2400Baud
SETB TR1 ;Start timer 1
Trong SCON có SM0/SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếp
thu các ký tự và TI = 1 cho phép phát ký tự đầu tiên bởi việc cho biết thanh ghi đếm rỗng.
TMOD có M1/M0 = 1/0 để đặt timer 1 vào mode tự động nạp lại 8 bit. Việc set bit TR1 để
mở máy chạy timer. Tốc độ Baud 2400 sẽ cho ta tốc độ tràn timer 1 là 2400/32 = 76,8 KHz
BAUD RATE = TIMER 1 OVERFLOW RATE

32
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 21
(ứng với thạch anh 12 MHz) sẽ cho số xung clock sau mỗi sự tràn là 1000/76,8 = 13,02 (lấy
tròn là 13). Vậy -13 là giá trị cần nạp vào TH1 để có tốc độ Baud là 2400 Baud.

8. Họat động ngắt của 8051.
Khi một chương trình khác đang thực thi. Một hệ thống được điều khiển bởi ngắt cho
ta ảo tưởng đang làm nhiều công việc đồng thời. Tất nhiên CPU không thể thực thi nhiều
lệnh tại một thời điểm, nhưng nó có thể tạm thời treo việc thực thi của chương trình chính để
thực thi chương trình khác và sau đó quay lại chương trình chính.

**

Timer
Thục thi chương trình có ngắt
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 22
1. Tổ chức ngắt của 8051
8051 cung cấp 5 nguồn ngắt, 2 ngắt ngoài, 3 ngắt timer và một ngắt Port nối tiếp. tất
cả các ngắt bị mất tác dụng bởi sự mặc định sau khi reset hệ thống và được cho phép cá
biệt bởi phần mềm.
Trong trường hợp có hai hoặc nhiều hơn sự ngắt xảy ra đồng thời hoặc một sự ngắt
đang được phục vụ mà xuất hiện một sự ngắt khác, thì sẽ có hai cách thực hiện sự ngắt là
sự kiểm tra liên tiếp và sự ưu tiên cấp 2.
1.1. Sự cho phép ngắt và sự cấm ngắt:
Mỗi nguồn ngắt được cho phép riêng biệt hoặc sự cấm riêng biệt qua thanh ghi chức
năng đặc biệt có bit định vị IE (Interrupt Enable) tại địa chỉ 0A8H. Cũng như sự cá biệt
cho phép các bit của mỗi nguồn ngắt có 1 bit cho phép (hoặc cấm) chung mà nó có được
xóa để cấm tất cả các ngắt hoặc được set để cho phép chung các ngắt.
Hoạt động của từng bit trong thanh ghi cho phép ngắt IE được tóm tắt trong bảng
sau:


 Bộ đếm chương trình PC được cất giữ vào Stack.
 Trạng thái ngắt hiện hành được cất giữ vào bên trong.
 Những sự ngắt bị ngăn lại tại mức ngắt.
 Bộ đếm chương trình PC được LOAD với địa chỉ vectơ của thủ tục
phục vụ ngắt ISR.
 Thủ tục phục vụ ngắt ISR được thực thi.
Thủ tục phục vụ ngắt ISR thực thi và đưa hoạt động vào đáp ứng ngắt, thủ tục phục vụ
ngắt ISR kết thúc với lệnh RETI (quay trở về chương trình chính từ Stack). Điều này khôi
phục lại giá trị của bộ đếm chương trình từ Stack và hoàn toàn dừng lại trạng thái cũ. Sự
thực thi của chương trình chính tiếp tục ở nơi mà nó ngừng lại.
- GIỚI THIỆU AT89S52
I. Đặt điểm
Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương tự như
nhau. Ở đây giới thiệu IC89S52 là một họ IC vi điều khiển do hãng Intel của Mỹ sản xuất.
Chúng có các đặc điểm chung như sau:
Các đặc điểm của 89S52 được tóm tắt như sau :
8 KB EPROM bên trong.
128 Byte RAM nội.
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 24
4 Port xuất /nhập I/O 8 bit.
Có khả năng giao tiếp truyền dữ liệu nối tiếp.
Có thể giao tiếp với 64 KB vùng nhớ bên ngoài dùng lưu chương trình điều khiển.
Có thể giao tiếp với 64 KB vùng nhớ bên ngoài dùng lưu dữ liệu.  Xử lí Boolean
(hoạt động trên bit đơn).
Có 210 vị trí nhớ có thể định vị bit

II. Sơ đồ chân
Ngõ vào ngắt cứng thứ
0
P 3.3 INT1\
Ngõ vào ngắt cứng thứ
1
P 3.4 T0
Ngõ vào của
TIMER/COUNTERthứ
0.
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH
Trang 26

Các ngõ tín hiệu điều khiển:
- Ngõ tín hiệu PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương
trình
mở rộng thường được nói đến chân 0E\ (output enable) của Eprom cho phép đọc các byte mã
lệnh.
PSEN ở mức thấp trong thời gian Microcontroller 89S52 lấy lệnh. Các mã lệnh của
chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong
89S52 để giải mã lệnh. Khi 89S52 thi hành chương trình trong ROM nội PSEN sẽ ở mức
logic 1.
- Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :
Khi 89S52 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus dữ

- Các ngõ vào bộ dao động X1, X2:
Bộ dao động được tích hợp bên trong 89S52, khi sử dụng 89S52 người thiết kế
chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ. Tần số
thạch anh thường sử dụng cho 89S52 là 12Mhz.

ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH


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