Các ngắt và các hoạt động Khởi tạo bên ngòai
Vi xử lí 8085 có năm tín hiệu ngắt có thể được sử dụng để ngắt một sự thi hành
chương trình. Vi xử lí trả lời một ngắt bằng tín hiệu INTA (Interrupt Acknowledge).
Ngòai các ngắt, ba chân –RESET, HOLD và READY- Tiếp nhận các tín hiệu khởi
tạo bên ngoài như là các ngõ vào.
Để đáp ứng yêu cầu HOLD, vi xử lí có một tín hiệu gọi là HLDA (Hold Acknowledge)
*RESET IN : Khi tín hiệu trên chân này xuống mức logic thấp,bộ đém chương trình
được đặt lại về không, các tuyến ở trạng thái tổng trở cao và vi xử lí bị đặt lại (reset)
*RESET OUT : Tín hiệu này chỉ thị rằng vi xử lí đang đặt lại.Tín hiệu này có thể
được sử dụng để đặt lại các thiết bị khác.
Các tín hiệu khác ,xem Bảng 4.2
Bảng 4.2 : Các ngắt và các tín hiệu khởi tạo bên ngoài 8085
56 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1711 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế mạch điều khiển mô hình cánh tay máy 5 bậc tự do, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ta điều chỉnh thời gian sao cho động cơ dừng hẳn thì thôi cấp nguồn
Về thời gian hãm ngược thì phụ thuộc vào người thiết kế chương trình điều
khiển
* Tốc độ động cơ được điều chỉnh phụ thuộc vào điện áp nguồn đưa vào.
Biểu đồ biểu thị mối quan hệ giữa điện áp và tốc độ động cơ:
M M
chinh sua boi: nguyenvanbientbd47@gmail.com
n
O u
Hình 3.6 : Giản đồ biểu thị mối quan hệ giữa điện áp và tốc độ động cơ
Qua giản đồ trên ta thấy tốc độ động cơ tỉ lệ thuận với điện áp nguồn cung cấp .
Để đảm bảo động cơ chạy ổn định khi thiết kế nên chọn bộ nguồn có điện áp tải
2 đến 3A.
3.5.3 CÁC CỔNG NỐI KẾT VÀ CÁC HỆ THỐNG HIỂN THỊ CỦA
ROBOT L2001
* Cổng kết nối:
Để đảm bảo tính độc lập của các khớp các động cơ được bố trí thành 10 cổng nối
kết riêng biệt
Do mỗi cặp Jắc nối được lắp với một động cơ.
Vì vậy ta có tất cả 5 cặp nối và được đánh số tư ø1-10.
Trình tự được sắp xếp như sau :
- 1,2 cho động cơ hàm kẹp
- 3,4 cho động cơ cổ tay
- 5,6 cho động cơ khuỷu tay
- 7,8 cho động cơ cánh tay
- 9,10 cho động cơ xoay chân đế
Do đó khi nối kết với với bên ngoài phải đảm bảo cách ly riêng biệt từng cặp
như đã đánh số ở trên
* Cơ cấu hiển thị.
Tay máy L2001 có các hệ thống hiển thị báo tín hiệu ngỏ vào và ngõ ra được
lắp trên vi xử lý.
Các tín hiệu thuận sẽ báo bằng đèn xanh, ngược lại sẽ báo bằng đèn đỏ.
3.6 GIỚI THIỆU HỆ THỐNG BĂNG TẢI
Do cánh tay máy chỉ làm nhiệm vụ gắp chi tiết đến vị trí cố định, vì vậy để
chuyển sản phẩm đến một khâu khác đòi hỏi phải có hệ thống băng tải.
3.6.1 CẤU TẠO
Dây băng được lắp trên giá đỡ bằng nhôm phẳng nằm ngang, hai đầu lắp với 2
rơle mụïc đích là tạo sự chuyển động. Chuyển động quay nhờ động cơ điện một chiều
có công suất 5W.
3.6.2 TRANG BỊ ĐIỆN CHO HỆ THỐNG BĂNG TẢI
chinh sua boi: nguyenvanbientbd47@gmail.com
- Băng tải được lắp với động cơ một chiều có công suất 5W
- Động cơ được điều khiển bởi một công tắc tơ
- Thông qua công tắc tơ dộng cơ tải được liên kết với động cơ thứ hai; động cơ
này có nhiệm vụ đưa chi tiết cần chuyển tải đến đúng vị trí quy định
- Đầu băng tải được lắp một công tắc dùng để xác định chi tiết được tải, bộ phận
này được kết nối đến vi xử lí để đém số chi tiết được vận chuyển.
3.6.3 NGUYÊN LÝ HỌAT ĐỘNG
Khi một chi tiết được đưa đến băng tải thì công tắc thứ nhất (công tắc thường hở)
được đóng lập tức băng tải được hoạt động, đồng thời một chi tiết khác được cơ cấu
định vị xếp đúng vị trí. Sau mỗi lần thực hiện một hành trình vi xử lí sẽ đếm số chi
tiết. Khi cơ cấu định vị đã xác định xong thì công tắc thứ hai (công tắc thường kín)
được tác động báo ngắt điện hệ thống sau đó công tắc này được đóng lại cấp điện
cho hệ thống chuẩn bị thực hiện hành trình kế tiếp.
chinh sua boi: nguyenvanbientbd47@gmail.com
CHƯƠNG 4
chinh sua boi: nguyenvanbientbd47@gmail.com
4.1 XÁC CẤU TRÚC MẠCH ĐIỀU KHIỂN
Dựa vào yêu cầu về phần điều khiển của cánh tay máy làm cơ sở cho việc xác
định cấu trúc mạch.
Do đó vấn đề đầu tiên là phải nghiên cứu kỹ cấu tạo của tay máy,tiếp theo phải
tìm hiểu rõ yêu cầu để điều khiển cánh tay máy .Việc nghiên cứu này sẽ cho cái nhìn
về cấu trúc mạch điều khiển. Cân nhắc giữa cấu hình và yêu cầu điều khiển sẽ chọn
cấu trúc mạch hợp lí.
Sơ đồ khối của mạch điều khiển được trình bày ở hình 4.1
chinh sua boi: nguyenvanbientbd47@gmail.com
Sơ đồ khối của mạch điều khiển
chinh sua boi: nguyenvanbientbd47@gmail.com
4. 2 ĐỊNH NGHĨA CÁC CHÂN VI XỬ LÍ
Vi xử lí (microproccesser) là một thiết bị bán dẫn chứa các mạch logic điện tử
đuộc chế tạo theo công nghệ LSI hoặc VLSI. Vi xử lí có khả năng thực hiện các chức
năng tính toán và tạo ra các quyết định làm thay đổi trình tự thi hành chương trình. vi
xử lí là một thiết bị logic lập trính đuợc, được thiết kế bằng các thanh ghi, các flip_flop
và các phần tử định thời. Vi xử lí có một tập lệnh được thiết kế bên trong,đễ xử lí dữ
liệu và truyền thông với các thiết bị ngoại vi. Có nhiều loại vi xử lí và cũng có nhiều
hãng chế tạo vi xử lí (Intel, Zilog, Motorola)
8085 là một bộ vi xử lí 8 bit do Intel sản xuất , đầu tiên vào năm 1977. Nó có
khả năng định địa chỉ cho bộ nhớ tới 64Kbyte. thiết bị này có 40 chân, dạng DIP, đòi
hỏi nguồn đơn +5v. Hình trình bày sơ đồ chân của bộ vi xử lí 8085. Toàn bộ các tín
hiệu có thể được phân thành 6 nhóm:
(1) Tuyến địa chỉ.
(2) Tuyến dữ liệu .
(3) Các tín hiệu trạng thái và điều khiển
(4) Nguồn cung cầp và các tín hiệu tần số
(5) Các ngắt và các tín hiệu khởi tạo ngoại vi
(6) Các cổng I/O nối tiếp
Control
and
Status Signals
+5V
AD7
AD0
A15
A8
SID
SOD
TRAP
X1 X2 Vcc Vss
INTR
READY
HOLD
8085
GND
RST 7.5
RST 6.5
RST 5.5
RESET IN
RESET
OUT
CLK
OUT
28
21
19
12
30
29
33
34
32
31
11
18
35
39
36
2121
1 2
5
4
6
7
8
9
10
40 20
ALE
S0
S1
IO/M
RD
WR
INTA
HLDA
High Outer
Address Bus
Multiplexed
Address/Data Bus
Serial
I/O
Ports
Interrupts
and
Externally
Initiated
Signals
chinh sua boi: nguyenvanbientbd47@gmail.com
Hình 4.2 : sơ đồ chân và các tín hiệu của 8085
Tuyến địa chỉ
8085 có 8 đường tín hiệu, A15_A8 là các tín hiệu một chiều, được sử dụng như
tuyến địa chỉ cao
Tuyến dữ liệu / địa chỉ đa hợp
Các đường tín hiệu AD7 –AD0 là các đường hai chiều chúng phục vụ một mục
đích kép. Các đường này được sử dụng lúc thì như tuyến địa chỉ thấp khi thì như một
tuyến dữ liệu. Khi thi hành một lệnh, trong một phần đầu của chu kì, các đường này
8085
CLK(OUT)
RESET(OUT)
A11
S0
AD6
22
INTA
Vss
AD2
3 HLDA
32
35
38
15
5
S1
AD5
21
24
18
7
RST5.5
IO/M
X2
RST7.5
AD1 13
10
9
8
SOD
INTR WR
17
2 HOLD
28
30
39
11
4
AD4
29
31
37
40
6
1
READY
X1
AD0
19
A10
A12
A15
RD
SID
16
Vcc
36
14
RST6.5
20
23
26
A9
A14
ALE
AD7
25
A8
A13
TRAP
27
33
12
AD3
34
RESET IN
8085 Pinout
chinh sua boi: nguyenvanbientbd47@gmail.com
được sử dụng như là tuyến địa chỉ thấp. Suốt phần còn lại của chu kì, các đường này
được dùng như tuyến dữ liệu. Điều này cũng được gọi là đa hợp tuyến (multiplexing the
bus). Tuy nhiên, tuyến địa chỉ thấp có thể được tách ra từ các tín hiệu này nhờ sử dụng
một mạch chốt (latch)
Các tín hiệu điều khiển và trạng thái
Nhóm các tín hiệu này bao gồm hai tín hiệu điều khiển (RD và WR), 3 tín hiệu
trạng thái (IO/M, S1 và S0) để xác định lọai hoạt động, và một tín hiệu đặc biệt (ALE)
để chỉ thị sự bắt đầu của hoạt động.
∗ALE -Address latch enable: Cho phép chốt địa chỉ .Đây là một xung dương tác động
cạnh lên được phát ra mỗi lần 8085 bắt đầu một hoạt động (chu kì máy); nó chi thị rằng
các bit AD7 -AD0 là các bit địa chỉ. Tín hiệu này về cơ bản được sử dụng để chốt các địa
chỉ thấp từ tuyến đa hợp và cho ra một tập riêng biệt 8 đường địa chỉ AD7 - AD0 .ALE là
một tín hiệu điều khiển
∗ RD - Read : Đọc đây là tín hiệu điều khiển đọc (tác dộng mức thấp). tín hiệu này
chỉ thị đọc I/O hặc bộ nhớ và dữ liệu có khả dụng trên tuyến dư liệu.
∗ WR -Write : Ghi đây là tín hiệu điều khiển ghi (tác động mức thấp). Tín hiệu này
chỉ thị rằng dữ liệu trên tuyến dữ kiệu được ghi vào một ô nhớ hoặc I/O đã chọn
∗ IO / M :Input –Output / Memory. Đây là tín hiệu trạng thái được sử dụng để phân
biệt giữa các hoạt độâng IO và bộ nhớù. Khi nó ở mức thấp,nó chỉ thị một hoạt động liên
quan đến bộ nhớ. Tín hiệu này được kết hợp với RD và WR để tạo ra các tín hiệu điều
khiển I/O và bộ nhớ.
∗ S1 và S0 : Status đây là các tín hiệu trang thái, tương tự IO/ M, có thể xác định các
hoạt động khác nhau ,nhưng chúng hiếm khi được sử dụng trong các hệ thống nhỏ.
Toàn bộ các hoạt động và cá tín hiệu trạng thái liên kết được liệt kê trong bảng 4.1
Nguồn cung cấp và tần số xung đồng hồ
∗ Vcc : nguồn cung cấp +5V
∗ Vss : tham chiếu đất (mass )
∗ X1 và X2 : một thạch anh (hoặc mạng RC, LC ) được nối tại hai chân này
Mỗi chủng loại 8085 điều có tần số tối đa cho phếp đưa vào hai chân này
6MHZ : đối với 8085A
10MHZ : đối với 8085A-2
12MHZ : đối với 8085A-1
tần số đưa vaò từ X1,X2 được chia 2 bên trong vi xử lí
∗ CLK (out) - Clock Output : ngõ ra xung đồng hồ .Cung cấp các tín hịêu xung đồng
hồ cho các thành phần khác thuộc hệ thống .Nó có cùng tần tần số với xung đồng hồ
bên trong vi xử lí .
Do đó :
fx1x2
fCLK =
2
chinh sua boi: nguyenvanbientbd47@gmail.com
Bảng 4.1: trạng thái chu kì máy và các tín hiệu điều khiển 8085
Trạng thái
Chu kỳ máy IO/M S1 S0 Các tín hiệu điều khiển
Tìm kiếm mã hoạt
động
0 1 1 RD = 0
Đọc bộ nhớ 0 1 0 RD = 0
Ghi vào bộ nhớ 0 0 1 WR = 0
Đọc I/O 1 1 0 RD = 0
Ghi vào I/O 1 0 1 WR = 0
Yêu cầu ngắt 1 1 1 INTA = 0
Dừng Z 0 0
Treo Z X X RD , WR = Z
Đặt lại Z X X và INTA = 1
Z =Tổng trở cao (3 trạng thái : Tri –States)
X = Không xác định ( Don’t care )
Các ngắt và các hoạt động Khởi tạo bên ngòai
Vi xử lí 8085 có năm tín hiệu ngắt có thể được sử dụng để ngắt một sự thi hành
chương trình. Vi xử lí trả lời một ngắt bằng tín hiệu INTA (Interrupt Acknowledge).
Ngòai các ngắt, ba chân –RESET, HOLD và READY- Tiếp nhận các tín hiệu khởi
tạo bên ngoài như là các ngõ vào.
Để đáp ứng yêu cầu HOLD, vi xử lí có một tín hiệu gọi là HLDA (Hold Acknowledge)
∗ RESET IN : Khi tín hiệu trên chân này xuống mức logic thấp,bộ đém chương trình
được đặt lại về không, các tuyến ở trạng thái tổng trở cao và vi xử lí bị đặt lại (reset)
∗ RESET OUT : Tín hiệu này chỉ thị rằng vi xử lí đang đặt lại.Tín hiệu này có thể
được sử dụng để đặt lại các thiết bị khác.
Các tín hiệu khác ,xem Bảng 4.2
Bảng 4.2 : Các ngắt và các tín hiệu khởi tạo bên ngoài 8085
• INTR (Vào ) : Interrupt Request
Tín hiệu này được sử dụng như là một bộ ngắt phổ dụng(general purpose interrupt), nó
tương tự với tín hiệu INT của 8085A
• INTA (Ra) : Interrupt Acknowledge
Tín hiệu này dùng để trả lời một ngắt
• RST 7.5 (Vào) : Restart Interrupt;
RST 6.5
RST 5.5
chinh sua boi: nguyenvanbientbd47@gmail.com
Đây là các ngắt có định hướng (vectored interrupt) và che được.Chúng có quyền ưu
tiên ngắt cao hơn INTR. Trong số ba ngắt này, thứ tự ưu tiên là RST 7.5,RST 6.5 và
5.5
TRAP (Vào)
Đây là một ngắt không che được và có quyền ưu tiên cao nhất
Lọai ngắt Ô nhớ để gọi ngắt
1. TRAP 0024
2. RST 7.5 003C
3. RST 6.5 0034
4. RST 5.5 002C
• HOLD (Vào)
Tín hiệu này chỉ thị rằng một thiết bị ngoại vi như bộ điều khiển DMA (Direct
Memory Access) đang yêu cầu sử dụng các tuyến địa chỉ và dữ liệu
• HLDA (Ra) : Hold Acknowledge
Tín hiệu trả lời theo yêu cầu HOLD
• READY (Vào)
Tín hiệu này được sử dụng để trì hoãn các chu kỳ.Đọc hay Ghi của vi xử lí cho đến khi
một ngoại vi sẵn sàng để gởi hoặc nhận dữ liệu.Khi tín hiệu này xuống thấp,vi xử lí đợi
trong một số nguyên lần các chu kỳ đồng hồ cho khi nó lên cao.
Các cổng I/O nối tiếp
Vi xử lí 8085 có hai tín hiệu để thực hiện việc truyền dữ liệu nối tiếp
∗ SID : Seria Input Data. Dữ liệu vào nối tiếp .tín hệu này nạp vào bit D7 của
thanh ghi A trong suốt quá trình thực hiện lệnh RIM
∗ SOD : Serial Out put Data. Dữ liệu ra nối tiếp.Lệnh này được niêu rõ bởi
lệnh SIM
4.3 CẤU TRÚC BÊN TRONG 8085
Hình 4.3 TRình bày cấu trúc bên trong của 8085. Nó bao gồm Đơn vị logic và
số học ALU (Arithmetic and Logic Unit ), đơn vị định thời và điều khiển
(Timng and Control Unit ), Bộ giải mã và thanh ghi lệnh (Instruction Register and
Decoder),Dãy thanh ghi (Register Array), Điều khiển ngắt (Interrupt Control) và
Điều khiển I/O nối tiếp (Serial I/O Control)
chinh sua boi: nguyenvanbientbd47@gmail.com
Hình 4.3 : Sơ đồ khối chức năng của 8085
Đơn vị logic và số học ALU
Đơn vị này thực hiện các chức năng tính toán : nó bao gồm Thanh ghi tích trữ
(Accumulator), Thanh ghi tạm (Temporary register), các mạch logic và số học,và 5 cờ
báo (Flag). Thanh ghi tạm được dùng để duy trì dữ liệu trong suốt một hoạt động số học
và logic. Kết qua được lưu trữ vào thanh ghi tích trữ, và các cờ (các flip – flop ) được
đặt (set: bằng 1 ) họăc bị đặt lại (reset :bằng 0) tùy theo kết quả của hoạt động.
Các cờ chịu ảnh hưởng bởi các hoạt động số học và logic trong ALU. Trong hầu
hết các họat động này, kết quả được lữutru vào thanh ghi tích trữ. Do đó các cờ thường
phản ánh các điều kiện dữ liệu trong thanh ghi tích trữ-trừ một vài ngoại lệ.
∗ S – Sign Flag: Cờ dấu: Sau sự thi hành của một phép toán học hoặc một họat
động logic, nếu bit D7 của kết quả (luôn luôn trong thanh ghi tích trữ) bằng 1 thì cờ dấu
được đặt. Cờ này được sử dụng với các số có dấu. Trong một byte được cho,nếu D7 là
1, số này được xem là số âm, nếu D7 bằng 0, số này được xem là số dương.trong các
hoạt động liên quan tới các số có dấu,bit D7 được phục vụ để chỉ thị dấu và bảy bit còn
lại được dùng để chỉ thị cho độ lớn (magnituge) của con số đó
∗ Z- Zero Flag : Cờ không : Cờ không được đặt (Z=1 )nếu hoạt động ALU có kết
quả bằng 0 .Cờ này được điều chỉnh bởi kết quả trong thanh ghi tích trữ cũng như trong
các thanh ghi khác.
Accumulater
Address Buffer
(8)
AD15 - AD8
Address Bus
Array
Register
Data Address Buffer
(8)
AD7 - AD0
Address Data Bus
X1
X2
Power Supply
+5V
GND
Timing and Control
Interrupt Control
8 Bit Internal Data Bus
(8) (8) (8)
Temp. Reg. InstructionRegister
Instruction
Decoder
and
Machine
Cycle
Encoding
Flag
Flip Flops
Arithmatic
Logic
Unit
(8)
(ALU)
CLK
GEN
CLK OUT
READY
RD WR
Control Status DMA Reset
ALE S0 S1 IO/M
HOLD
HLDA
RESET IN
RESET OUT
INTR RST 5.5 RST 7.5
RST 6.5 TRAPINTA
Stack Pointer
Program Counter
Incrementer / Decrementer
Address Lactch
Multiplexer
(8) (8)
(8)
(8)
(8)
(8)
(8)
(8)
(16)
(16)
(16)
Reg. Reg.
Reg. Reg.
Reg. Reg.
R
eg
. S
el
ec
t
W Z
B C
D E
H L
Temp. Reg.Temp. Reg.
Serial I/O Control
SID SOD
chinh sua boi: nguyenvanbientbd47@gmail.com
∗ AC –Auxiliary Carry Flag : Cờ mượn phu : Trong một hoạt động toán học, khi số
mượn (carry ) được phát ra từ số D3 và chuyển sang số D4, thì cờ AC được đặt. Cờ này
chỉ được sử dụng bên trong đối với các phép toán liên quan đến số BCD, và không khả
dụng đối với người lập trình muốn chuyễn đổi trình tự một chương trình bằng một lệnh
nhảy
∗ P – Parity Flag : Cờ chẵn lẻ: Sau một phép toán số học hoặc một hoạt động
logic,nếu kết quả có một số chẵn các số 1 ,cò được đặt ( P= 1), nếu nó có một số lẻ các
số 1, thì cờ P được đặt lại (P =0)
∗ CY –Carry Flag : Cờ mượn : Nếu một phép toán số học dẫn đến sự vay mượn ,cờ
C được đặt, ngược lại thì nó được đặt lại
Vị trí các bit phục vụ cho các cờ này như sau trong thanh ghi cờ:
D7
S Z X AC x P x CY
Trong số năm cờ ,cờ AC được dùng bên trong đối với các phép toán BCD; tập lệnh
không chứa bất kì lệnh nhảy nào có điều kiện nào có liên quan đến cờ AC. Trong bốn
cờ còn lại, cờ Z và Cy là các cờ được sử dụng thường xuyên nhất.
Đơn vị định thời và điều khiển
Đơn vị này đồng bộ tất cả các hoạt động của vi xử lí bằng xung đồng hồ, và phját
ra các tín hiệu điều khiển cần thiết cho việc truyền thông giữa vi xử lí và ngoại vi. Các
tín hiệu điều khiển có chức năng tương tự như xung đồng bộ (Synchronous pulse) trong
một Dao động kí. Các tín hiệu RD, WR là các xung đồng bộ có chỉ thị sẵn của dữ liệu
trên tuyến dữ liệu.
Thanh ghi lệnh và bộ giải mã
Thanh ghi lệnh và bộ giải mã thuộc về ALU. Khi một lệnh được tìm thấy từ bộ
nhớ, nó được nạp vào thanh ghi lệnh. Bộ giải mã sẽ giải mã lệnh và thực thi trình tự
của các sự việc theo sau. Thanh ghi lệnh không thể được lập trình và không thể xâm
nhập bằng bất kì lệnh nào.
Dãy thanh ghi
Các thanh ghi lập trình gồm có: A, B, C, D, E, F, H và L. Mỗi thanh ghi có thể
được lập trình độc lập hoặc kết hợp thành cặp thanh ghi : AF =(PSW), BC = (B), DE =
(D) và HL = (H).
Ngòai ra, còn có hai thanh ghi phụ, gọi là các thanh ghi tạm W và Z, thuộc dãy
thanh ghi. Các thanh ghi này được sử dụng để duy trì dữ liệu 8 bit trong khi thi hành
một số lệnh. Tuy nhiên, vì chúng được dùng bên trong, nên chúng không khả dụng đối
với nngười lập trình. Tức là người lập trình không cần thiết phải quan tâm đến nội dung
trong hai thanh ghi này.
SP (Stact Pointer)- Con trỏ ngăn xếp, PC (Program Counter) – bộ đếm chương
trình là hai thanh ghi 16 bit vô cùng quan trọng !
4.4 TẬP LỆNH CỦA 8085
Một lệnh (Instruction) là một mẫu nhị phân (binaray patter) được thiết kế bên
trong vi xử lí để thực hiện một chức năng cụ thể. Một nhóm đủ các lệnh được gọi là tập
lệnh (Instruction set), xác định các chức năng mà vi xử lí có thể thực hiện. Tập lệnh
của 8085 có 74 lệnh (hơn 8080 hai lệnh), các lệnh này có thể phân thành 5 nhóm chức
năng:
chinh sua boi: nguyenvanbientbd47@gmail.com
• Các họat động (sao chép ) truyền dữ liệu
• Các họat động toán học
• Các họat động logic
• Các họat động rẽ nhánh
• Các họat động điều khiển
Các họat động (sao chép) truyền dữ liệu
Nhóm các lệnh này sao chép dữ liệu từ nơi nguồn đến nơi đích, mà không hề điều
chỉnh nội dung của nơi nguồn. Trong các sổ tay kỹ thuật, từ truyền dữ liệu được sử
dụng cho chức năng sao chép. Sau đây là các dạng truyền dữ liệu
Dạng truyền Ví dụ
Giữa các thanh ghi Sao chép nội dung của thanh ghi B
vào thanh ghi D
Byte dữ liệu cụ thể đến Nạp vào thanh ghi B byte dữ
thanh ghi hoặc ô nhớ 32H
Giữa một ô nhớ và một thanh ghi Từ ô nhớ 2000H đến thanh ghi B
Giữa một thiết bị I/O và thanh ghi Từ bàn phím vào thanh ghi tích trữ
tích trữ
Giữa cặp thanh ghi và ngăn xếp Từ cặp thanh ghi BC đến hai ô nhớ được
định nghĩa như ngăn xếp
Các hoạt động toán học
Các lệnh này thực hiện các phép toán như cộng trừ, tăng và giảm
∗ Cộng: bất một số 8 bit , hoặc nội dung của thanh ghi hhoặc nội dung của một
ô nhớ có thể được cộng với nội dung của thanh ghi tích trữ và tổng được ghi vào thanh
ghi tích trữ . Hai thanh ghi hoặc ô nhớ không thể cộng trực tiếp với nhau. Lệnh DAD là
một ngoại lệ, nó cộng trực tiếp dữ liệu 16 bit trong các cặp thanh ghi
∗ Trừ : Bất kì một số 8 bit, hoặc nội dung của một thanh ghi, hoặc nội dung của
một ô nhớ có thể được trừ nội dung của thanh ghi tích trữ. Lệnh trừ được thực hiện ở
dạng bù 2,và kết quả nếu âm được biểu diễn ở dạng bù 2. Hai thanh ghi hoặc ô
nhớkhông thể được trừ trực tiếp.
∗ Tăng/giảm: Nội dung 8 bit của một thanh ghi hoặc một ô nhớ có thể được
tăng hhoặc giảm mỗi lần một đơn vị. tương tự nội dung 16 bit của một cặp thanh ghi
cũng có thể được tăng hoặc giảm đi một. Các hoạt động tăng và giảm khác với phép
cộng và trừ ở một cách thức quan trọng, đó là: chúng có thể được thực hiện trong bất kì
thanh ghi hoặc ô nhớ nào.
Các hoạt động logic
Các lệnh này thực hiện các hoạt động logic khác nhau với nội dung của thanh ghi
tích trữ
∗ AND, OR, XOR: Bất kì một số 8 bit, hoặc nội dung của một thanh ghi, hoặc
nội dung của một ô nhớ có thể được logic AND, OR , XOR với nội dung của thanh ghi
tích trữ.
∗ Xoay: Mỗi bit trong thanh ghi tích trữ có thể được dịch phải hoặc dịch trái
đến vị trí kế tiếp.
chinh sua boi: nguyenvanbientbd47@gmail.com
∗ So sánh : Bất kì một số 8 bit, hoặc nội dung của thanh ghi, hoặc của ô nhớ có
thể được so sánh bằng, lớn hơn, nhỏ hơn với nội dung của thanh ghi tích trữ.
∗ Bù : Nội dung của thanh ghi tích trữcó thể được lấy bù : tất cả 0 được thay thế
bằng 1 và toàn bộ được đổi thành 0
Các hoạt động rẽ nhánh
Nhóm các lệnh này làm thay đổi trình tự thi hành chương trình một cách có điều
kiện hoặc không có điều kiện
∗Nhảy : Các lệnh nhảy có điều kiện là một khía cạnh quan trọng để đưa ra
những quyết định lập trình. Các lệnh này kiểm tra một điều kiện nào đó(cờ Zero hoặc
Carry) và làm thay đổi trình tự chương trình khi bắt gặp điều kiện. Ngòai ra, còn có các
lệnh nhảy không điều kiện.
∗ Gọi,Trở về, và khởi động lại : Các lệnh này làm thay đổi trình tự của mội
chương trìnhhoặc bằng cách gọi một chương trình con hoặc trở về từ một chương trình
con. Các lệnh Gọi và Trở vềcũng có thể kiểm tra các cờ điều kiện
Các hoạt động điều khiển .
Các lệnh này điều khiển các chức năng vận hành như là : Dừng, ngắt hoặc
không làm gì cả (No operation)
Tập lệnh vi xử lí 8085 được phân thành 3 nhóm:
1. Các lệnh một từ hoặc một byte
2. Các lệnh 2 từ hoặc hai byte
3.Các lệnh 3 từ hoặc 3 byte
Lệnh một byte chứa mã hoạt động (Opcode) và toán tử (Operand) trong cùng một
byte
Trong lệnh hai byte, búyt thứ nhất nêu lên mã hoạt động và theo sau là toán tử
Đối với lệnh ba byte, byte đầu tiên cho biết mã hoạt động, hai byte theo sau là dữ
liệu 16 bit (nội dung hoặc địa chỉ)
4.4 CHỐT,ĐỆM TUYẾN ĐỊA CHỈ VÀ DỮ LIỆU CHO 8085
4.4.1 CHỐT TUYẾN ĐỊA CHỈ THẤP
Trong một hệ thống vi xử lí dùng 8085, bắt buộc phải chốt (Latch),tuyến địa chỉ
thấp để giải đa hợp (demultiplex) tuyến AD7 –AD0 thành hai tuyến riêng biệt: tuyến
địa chỉ thấp A7-A0 và tuyến dữ liệu D7 – D0
Hình 4.4 trình bày sơ đồ sử dụng một mạch chốt và tín hiệu ALE để giải đa hợp tuyến
chinh sua boi: nguyenvanbientbd47@gmail.com
Tuyến AD7- AD0 được kết nối như là ngõ vào đến mạch chốt 74LS373. Tín hiệu ALE,
được nối đến chân cho phép (G) của mạch chốt, tín hiệu điều khiển ngõ ra (OC) của
mạch chốt được nối đất.
Chân ALEở mức cao trong mỗi chu kì T. Khi ALE ở mức cao,ngõ ra của mạch chốt
thay đổi theo dữ liệu (địa chỉ vào)
4.4.2 ĐỆM TUYẾN ĐỊA CHỈ CAO
Mạch đệm (buffer)là một mạch logic để khuếch đại dòng điện hoặc công suất.
Mạch đệm về cơ bản được sử dụng để làm tăng khả năng lái (drive) của một mạch
logic
Hình 4.5 trình bày 74LS244, một mạch đệm một chiều (vì tuyến địa chỉ là tuyến
một chiều,hướng tjừ vi xử lí đến các thiết bị bên ngòai) để làm tăng khả năng lái của
tuyến địa chỉ cao. Về cơ bản, các tuyến của 8085 có thể cấp dòng 400µA (IO H = 400µA)
và rút dòng 2µA (II L = 2µA); chúng chỉ có thể lái một tải logic TTL. Mặc dù bên trong
8085 đã có các mạch đệm dữ liệu và địa chỉ, nhưng theo khuyến cáo của các nhà chế
tạo, một hệ thống vi xử lí có 10 thành phần trở lên nên dùng các mạch đệm.
Mạch đệm 74LS244 có khả năng cấp dòng 15mA và rút dòng 24mA.
4.5 ĐỆM TUYẾN DỮ LIỆU
Hình 4.5 cũng trình bày 74LS245, một mạch đệm hai chiều để làm tăng khả
năng lái của tuyến dữ liệu. 74LS245 có thể rút dòng 24mA và cấp
Các file đính kèm theo tài liệu này:
- thiet_ke_mach_dieu_khien_canh_tay_may_5_bac_tu_do_.pdf