Thiết kế bộ giải mã địa chỉ cho bàn phím

Thiết kế hệ vi xử lý

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây  (6.18 MB, 125 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỆN TỬ

CHƯƠNG 4

Thiết kế hệ vi xử lý

1


Nội dung





Giải mã địa chỉ
Giao tiếp bộ nhớ
Giao tiếp với khóa (switch) và bàn phím
Giao tiếp bộ hiển thị (Display)
Giao tiếp với LED

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

2


5.1 Giải mã địa chỉ
Khi vi xử lý gửi một địa chỉ ra bus địa chỉ, thì thông tin này phải được chuyển


thành lệnh cụ thể cho thiết bị cụ thể. Giải mã địa chỉ thực hiện tác vụ này. Nó sử
dụng thông tin bus địa chỉ để xác định thiết bị nào sẽ được truy cập.

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

3


Phương pháp giải mã địa chỉ
Có 2 phương pháp giải mã địa chỉ:
1. Giải mã toàn phần (Full address decoding): Mỗi ngoại
vi được gán cho một địa chỉ duy nhất. Tất cả các bit địa
chỉ được dùng để định nghĩa vị trí được tham chiếu.
2. Giải mã một phần (Partial address decoding): Không
phải tất cả các bit được dùng cho việc giải mã địa chỉ.
Các ngoại vi có thể đáp ứng cho trên một địa chỉ.
Phương pháp làm giảm độ phức tạp trong mạch giải mã
địa chỉ. Thông thường các hệ thống nhỏ sử dụng giải mã
một phần.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK

4


Thí dụ: TK mạch giải mã địa chỉ
Với bảng bộ nhớ sau, hãy thiết kế mạch giải mã toàn phần và
mạch giải mã một phần cho các chip bộ nhớ (RAM 4KB và
ROM 16KB) và I/O

Bộ môn Kỹ Thuật Điện Tử - ĐHBK


5


Bảng bộ nhớ/IO của TD

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

6


Thí dụ giải mã địa chỉ toàn phần

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

7


Kỹ thuật giải mã một phần

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

8


Thí dụ giải mã địa chỉ một phần

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

9



Kỹ thuật giải mã một phần dẫn đến:
1. Mạch giải mã đơn giản hơn.
2. Nhiều vùng địa chỉ hơn được cấp phát với tầm địa chỉ
một phần. Thí dụ mạch giải mã cho RAM chỉ kiểm tra
A15 và kết quả là toàn bộ tầm địa chỉ từ 0000H đến
7FFFH được cấp phát cho RAM.
3. Sự bất lợi của giải mã địa chỉ một phần là bất cứ khai
triển nào thêm về bộ nhớ hoặc thiết bị I/O thì cần thiết
kế lại mạch giải mã địa chỉ. Trái lại, với mạch giải mã
toàn phần thì bất cứ sự thêm vào bộ nhớ hoặc thiết bị
I/O, ta không cần sửa đổi mạch giải mã địa chỉ.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK

10


Hardware dùng cho mạch giải mã địa chỉ






Cổng logic  mạch phức tạp
Mạch giải mã (Decoder)  TD:74LS138,...
Mạch so sánh (Comparator)
ROM  thừa chức năng
PLD: PLA, PAL,...  cho đáp ứng nhanh


Bộ môn Kỹ Thuật Điện Tử - ĐHBK

11


5.2 Giao tiếp bộ nhớ
Vi xử lý sử dụng bộ nhớ để lưu trữ các lệnh và dữ liệu trong khi thực thi
chương trình. Do đó vi xử lý thực hiện nhiều tác vụ ghi/đọc với bộ nhớ trong
khi thực thi chương trình.
Mỗi chip bộ nhớ RAM hay ROM sẽ có một ngõ vào có tên là /CE (Chip
Enable=cho phép chip [hoạt động]) hoặc /CS (Chip Select=Chọn chip), thông
thường các chân này hoạt động logic tích cực thấp, nghĩa là chân này bằng mức
0 thì chip này được chọn.
Vì trong mạch có nhiều thiết bị I/O và bộ nhớ, do đó cần phải có mạch giải mã
địa chỉ để tạo ra các tín hiệu chọn chip.
Bus điều khiển có các tín hiệu định thì (do vi xử lý cung cấp) để đồng bộ
chuyển thông tin giữa vi xử lý và bộ nhớ hay thiết bị I/O. Tổng quát thì có 2 tín
hiệu RD (Read) và WR (Write), hai tín hiệu này thông thường cũng hoạt động
logic tích cực thấp. Ngoài ra tùy theo vi xử lý còn có thêm các tín hiệu khác như
ALE, PSEN,...

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

12


Một số chân điều khiển bộ nhớ
Bộ nhớ (và hầu hết các thiết bị ngoại vi) có các đường điều khiển đặc biệt để
giao tiếp với vi xử lý

/CS hoặc /CE (Chip Select hoặc Chip Enable)
được lái bởi mạch giải mã địa chỉ từ vi xử lý.
thường là tích cực thấp
khi được xác định, thì chip/ngoại vi được chọn.
/OE (Output Enable=cho phép xuất) hay /RD (với RAM)
thường thấy trong các bộ nhớ
khi nó tích cực (thường là tích cực thấp) thì ngõ ra ở trạng thái hi-Z.
đôi khi nó được xem như /RD trong RAM.
/WR (Write Enable=cho phép ghi)
được lái bởi /WR của vi xử lý

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

13


Qui tắc chung về thiết kế mạch giao tiếp
bộ nhớ với 8051
1. Lập bảng bộ nhớ
Hệ thống và ứng dụng phụ thuộc
Giải pháp đơn giản là tách riêng 64KB bộ nhớ dữ liệu và 64KB bộ
nhớ mã.
Để sử dụng các địa chỉ trên 64K thì sử dụng thêm các bit từ những
cổng I/O không sử dụng làm các đường địa chỉ.
2. Chọn linh kiện bộ nhớ thích hợp (nếu không bị áp đặt sử dụng).
3. Sử dụng mạch giải mã địa chỉ (nếu cần) để tạo ra các tín hiệu /CE hay
/CS cho các chip bộ nhớ.
4. Sử dụng đường /PSEN (từ 8051) cho bộ nhớ mã.
5. Sử dụng các đường /RD, /WR cho bộ nhớ dữ liệu.
6. Chân /EA=VCC (+5V) để sử dụng ROM trong 8051, cho /EA=GND

(0V) để truy cập ROM ngoài.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK

14


TD: Giao tiếp 8051 với RAM HM 6264 và
ROM 27C256

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

15


TD: 8031/8051 giao tiếp với RAM ngoài và I/O

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

16


5.5 Giao tiếp với khóa (switch) và bàn
phím

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

17


Công tắc/khóa (hay phím đơn)

ở các chân cổng I/O

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

18


Sử dụng DIP switch ở cổng I/O

Đoạn chương trình đọc dữ liệu vào:
MOV
P1,#0FFH ; đặt cấu hình nhập cho cổng P1
MOV
A, P1
Bộ môn Kỹ Thuật Điện Tử - ĐHBK

19


Kết nối tối thiểu cho các
hệ thống dùng 89C51/52

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

20


SWITCH ON I/O PORTS (1/2)

21



SWITCH ON I/O PORTS (2/2)
Good Circuit
It is always best connecting the switch to ground with a pull-up resistor as shown in the
"Good" circuit. When the switch is open, the 10k resistor supplies very small current needed
for logic 1. When it is closed, the port pin is short to ground. The voltage is 0V and all the
sinking current requirement is met, so it is logic 0. The 10k resistor will pass 0.5 mA (5
Volt/10k ohm). Thus the circuits waste very little current in either state. The drawback is that
the closure of switch gives logic 0 and people like to think of a switch closure gives logic 1. But
this is not a matter because it is easy to handle in software.
Fair circuit
The "Fair" circuit requires that the pull-down resistor be very small. Otherwise, the pin will
rise above 0.9V when the resistor passes the 1.6mA sinking current. When the switch is
closed, the circuit waste a large current since virtually no current flows into the pin. The only
advantage is that a switch closure gives logic 1.
Poor circuit
In the "Poor" circuit, the logic 1 is stable when the switch is closed. But when the switch is
open, the input floats to a noise-sensitive high rather than a low. An open TTL pin is usually
read as logic 1 but the pin may picks up noise like an antenna.
To conclude, driving a TTL input should always consider current sinking (pulling input to 0V).

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

22


Keypad controller

Bộ môn Kỹ Thuật Điện Tử - ĐHBK


23


Giao tiếp với bàn phím hex

Bộ môn Kỹ Thuật Điện Tử - ĐHBK

24


Giao tiếp với bàn phím hex
Để đọc toàn bộ bàn phím, mỗi hàng lần lượt được đọc vào như sau:
1. Dữ liệu 0111 được ghi ra các bit cổng xuất (P1.0 đến P1.3).
2. Các bit cổng nhập (P1.4 đến P1.7) được đọc vào. Nếu không có phím
nào được nhấn trên hàng đó thì giá trị đọc vào sẽ là 1111. Nếu có bất
cứ phím nào được nhận trên hàng đó thì sẽ có 0 ở bit tương ứng.
3. Dữ liệu 1011 được ghi vào cổng xuất bằng cách dịch 0 vào cột kế; và
cổng nhập được đọc vào.
4. Dữ liệu 1101 được ghi vào cổng xuất; và cổng nhập được đọc vào.
5. Dữ liệu 1110 được ghi vào cổng xuất; và cổng nhập được đọc vào.
6. Chu trình này được lặp đi lặp lại vô tận bằng cách quay về bước 1 ở
trên.
Bộ môn Kỹ Thuật Điện Tử - ĐHBK

25