Download as pdf or txt
Download as pdf or txt
You are on page 1of 63

Chương 6

GIAO TIẾP NGOẠI VI


- Các pp giao tiếp: trực tiếp, gián tiếp.
- Giao tiếp với một số ngoại vi cơ bản như:
+ NÚT NHẤN
+ LED đơn, Bar LED
+ LED 7 đoạn
+ LED ma trận
+ LCD ký tự 16x2
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
CÁC THÔNG SỐ CỦA VI MẠCH SỐ

VOHminVOHmax : phạm vi điện áp ở ngõ ra được xem là mức cao.


VOLminVOLmax : phạm vi điện áp ở ngõ ra được xem là mức thấp.
VIHminVIHmax : phạm vi điện áp ở ngõ vào được xem là mức cao.
VILminVILmax : phạm vi điện áp ở ngõ vào được xem là mức thấp.
Lề nhiễu là khả năng miễn nhiễu của một mạch logic, có thể sửa đổi
các điện áp nhiễu lên các ngõ vào của nó.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
ĐÁP ỨNG CHUYỂN TRẠNG THÁI

Đáp ứng chuyển trạng thái của CỔNG ĐỆM theo thời gian

tPLH: thời gian trễ khi chuyển từ mức 0 lên mức 1 ở ngõ ra so với ngõ vào.
tPHL: thời gian trễ khi chuyển từ mức 1 xuống mức 0 ở ngõ ra so với ngõ vào.
tr: thời gian trễ khi chuyển từ mức 0 lên mức 1 ở ngõ ra.
tf: thời gian trễ khi chuyển từ mức 1 xuống mức 0 ở ngõ ra.
tW: độ rộng xung
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
Hệ số kéo tải FAN-OUT
FAN-OUT là số tối đa các ngõ vào logic chuẩn mà một ngõ ra có thể lái trực tiếp.

IOH = IIH

𝑰𝑶𝑯
FAN-OUT=
𝑰𝑰𝑯

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
Hệ số kéo tải FAN-OUT

IOL = IIL

𝑰𝑶𝑳
FAN-OUT=
𝑰𝑰𝑳

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP NGOẠI VI TRỰC TIẾP

- NÚT NHẤN
- LED ĐƠN – BARLED
- LED 7 ĐOẠN
- LED MA TRẬN
- LCD

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI NÚT NHẤN - SW

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI NÚT NHẤN - SW

(PORTx,n)

WAIT: SBIS PINx,n


RJMP WAIT
(Statement)

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI NÚT NHẤN - SW

(PORTx,n)

WAIT: SBIC PINx,n


RJMP WAIT
(Statement)

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI NÚT NHẤN - SW

VD: MẠCH GIAO TIẾP SW TÍCH CỰC THẤP

- SW nhấn => PB0 = 0


- SW nhả => PB0 = 1
=> Tích cực thấp (LOW)

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
ĐẶC TÍNH NÚT NHẤN - SW

SW NHẤN SW NHẢ

SW
BỊ RUNG

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
PP CHỐNG RUNG CHO NÚT NHẤN
PHẦN CỨNG:
- Chốt SR
- Mono Stable
….
PHẦN MỀM:
1. Chờ cho đến khi SW ổn định.
(thời gian tùy thuộc vào loại SW, khoảng vài chục ms)
2. Đọc nhiều lần(n) trạng thái của SW.
(n50 lần)

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
PP CHỐNG RUNG CHO NÚT NHẤN-1

WAIT:
SBIC PINx,n
RJMP WAIT
RCALL DELAY_10MS
SBIC PINx,n
RJMP WAIT
(Statement)
….
DELAY_10MS:

RET

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
PP CHỐNG RUNG CHO NÚT NHẤN-2

WAIT0: LDI R20,50

WAIT1: SBIC PINx,n

RJMP WAIT0

DEC R20

BRNE WAIT1

(Statement)

….

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI LED ĐƠN

VD: Một LED đơn đường kính 3mm, các giá trị danh định điện
áp
Tùyvàtheo
dòngthông cựccủa
phân số thuận
loạilàled sử dụng
VD=2V và IDkết hợp với các giá trị
=10mA.
Với có thông số IOH/L=20mA.
OL được cho trong data sheet của AVR
VOH, VMCU324PA Giả
để tính giá sử
trị của
V OHVcc=5V.
điện trở phân cực và chọn điện trở phù hợp.
Xét trong trường hợp LED được thiết kế với trạng thái tích cực
mức cao thì giá trị R được chọn là:
R = (VOH-VD)/ID = 300  Chọn R = 330
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI SW/LED ĐƠN – ỨNG DỤNG
VD1:
Một mạch giao tiếp giữa nút nhấn và led với vi điều khiển
MCU324P như sơ đồ bên dưới.
Viết chương trình phát hiện khi có tác động của nút nhấn thì điều
khiển LED sáng trong khoảng thời gian 100ms.
a. Thực hiện chống rung
cho nút nhấn theo PP1.
b. Thực hiện chống rung
cho nút nhấn theo PP2.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
BÀI TẬP ÁP DỤNG

1. Viết CTC tạo xung có tần số 1Hz, D=50% trên chân PA0 của
MCU324P. Biết rằng tần số cung cấp cho hoạt động của hệ
thống là 8MHz.
2. Viết chương trình thực hiện khi có tác động của nút nhấn trên
chân PB0 thì tạo 1 xung có tần số như ở câu 1.

Viết cho cả 2 trường hợp:


- SW đã có chống rung bằng phần cứng.
- Chống rung cho SW bằng bằng mềm.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIẢI THUẬT TẠO XUNG

tH T=1/f tH=tL  D=50%


tL

𝐭𝐇
D=50%
Các thông số yêu cầu: f ? D? {𝐃 = . 𝟏𝟎𝟎% }
𝐓
PORTx,n  1
 tH =? tL =?
ĐẢO BIT
Delay tH

PORTx,n  0 Delay=tH=tL

Delay tL

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI NHIỀU SW – PP1
Giả sử các SWs tích cực thấp, cùng kết nối đến 1 cổng IO và ở mỗi
thời điểm chỉ có 1 SW tích cực.
….
CHECK0: SBIC PINx,0
RJMP CHECK1
(Statement 0)
CHECK1: SBIC PINx,1
RJMP CHECK2
(Statement 1)
….
CHECK7: SBIC PINx,7
RJMP CHECK0
(Statement n)
….

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP VỚI NHIỀU SW – PP2
Giả sử các SWs tích cực thấp, cùng kết nối đến 1 cổng IO và ở mỗi
thời điểm chỉ có 1 SW tích cực.
….
START: IN Ri,PINx
CHECK0: CPI Ri,$FE
BRNE CHECK1
(Statement 0)
CHECK1: CPI Ri,$FD
BRNE CHECK2
(Statement 1)
….
CHECK7: CPI Ri,$7F
BRNE START
(Statement n)
….
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
BÀI TẬP ÁP DỤNG
BÀI TẬP:
3. Viết CTC đọc trạng thái của 8 phím nhấn(SW) được kết nối đến 1 cổng IO của
ATmega324P:
- INPUT: R19  PORTx
- OUTPUT: R17= mã vị trí của SW được nhấn
C=1  có SW nhấn
C=0  không có SW nhấn
4. Một mạch giao tiếp giữa MCU324P với 4SW và dãy Barled như sơ đồ bên
dưới. Giả sử ở mỗi thời điểm chỉ có 1 SW bị tác động. Viết chương trình thực hiện
điều khiển dãy barled hoạt động tương ứng với vị trí các SW được nhấn như sau:
- SW0: tắt toàn bộ dãy led.
- SW1: sáng 4 led vị trí trọng số thấp.
- SW2: sáng 4 led vị trí trọng số cao.
- SW3: sáng toàn bộ dãy led.
a. Không cần chống rung cho các SW.
b. Chống rung cho các SW theo PP2.
Cho phép sử dụng các CTC có sẵn.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LED 7 ĐOẠN
Giải mã bằng phần mềm - Sử dụng phương pháp tra bảng để xuất
mã 7 đoạn điều khiển cho led

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LED 7 ĐOẠN ANODE CHUNG

f g b

e d c

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LED 7 ĐOẠN ANODE CHUNG

D7 D6 D5 D4 D3 D2 D1 D0
g f e d c b a
0 0 1 0 0 0 0
PB0 0 0 40H
1 0 1 1 1 1 0 0 1 79H
2 0 0 1 0 0 1 0 0 24H
3 0 0 1 1 0 0 0 0 30H
4 0 0 0 1 1 0 0 1 19H
5 0 0 0 1 0 0 1 0 12H
6 0 0 0 0 0 0 1 0 02H
7 0 1 1 1 1 0 0 0 78H
8 0 0 0 0 0 0 0 0 00H
9 0 0 0 1 0 0 0 0 10H

TABLE: .DB $40,$79,$24,$30,$19,$12,$02,$78,$00,$10


Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LED 7 ĐOẠN CATHODE CHUNG

TABLE: .DB $3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LED 7 ĐOẠN – ỨNG DỤNG
START
VD2:
1. Viết CTC 7SEG_CC để lấy mã PORTB: OUTPUT
7 đoạn của led Cathode chung
tương ứng với số ký số thập phân NUMBER=0
ở ngõ vào 09.
- INPUT: R20  NUMBER R20NUMBER

- OUTPUT: R20 mã 7SEG_CC


TRA BẢNG

2. Sử dụng CTC trên thực hiện PORTBR20

việc điều khiển led 7 đoạn được DELAY 500MS


kết nối với MCU324P như sơ đồ,
liên tục hiển thị một mạch đếm lên NUMBERNUMBER+1
mod10 (từ 0 đến 9).
LƯU Ý: Mỗi giá trị đếm hiển thị N NUMBER=10?
trong khoảng thời gian là 500ms.
Bài giảng môn Vi xử lý Y
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LED 7 ĐOẠN
Giải mã bằng phần cứng - Sử dụng IC 7447

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LED 7 ĐOẠN – ỨNG DỤNG
START
VD3:
Viết chương trình điều PORTB: OUTPUT

khiển led 7 đoạn AC


được kết nối với NUMBER=9
MCU324P như sơ đồ,
liên tục hiển thị một PORTBNUMBER
mạch đếm xuống
mod10 (từ 9 về 0). DELAY 500MS

LƯU Ý: Mỗi giá trị


NUMBERNUMBER-1
đếm hiển thị trong
khoảng thời gian là
500ms. N NUMBER= -1?

Y
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
LED MA TRẬN – CẤU TRÚC

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
LED MA TRẬN – NGUYÊN TẮC ĐIỀU KHIỂN
Có thể chọn giải pháp quét theo CỘT hoặc HÀNG.
DATA HÀNG
$0 $18 $24 $24 $18 $24 $0 $0 DATA cột
hàng i
$FF D0 $01
$FF D1 $02
$D3 D2 $04
$ED D3 $08
$ED D4 $10
$D3 D5 $20
$FF D6 $40
$FF D7 $80
MÃ QUÉT
CỘT j D0 D1 D2 D3 D4 D5 D6 D7
HÀNG
MÃ QUÉT CỘT $FE $FD $FB $F7 $EF $DF $BF $7F
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LCD 16x2 – IC LÁI HD44780

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LCD 16x2 – IC LÁI HD44780

- D0D7: bus data 2 chiều.


- E: tín hiệu truyền đến LCD để xác nhận việc bắt đầu(E=1) và kết thúc giao
tiếp(E=0) với LCD.
- RS: tín hiệu truyền đến LCD để nó nhận biết giá trị nhận được trên bus
D0D7 là lệnh(RS=0) hay dữ liệu(RS=1).
- R/WR tín hiệu truyền đến LCD để đọc trạng thái của LCD(R/WR=1) hoặc ghi
dữ liệu lên LCD (R/WR=0).
- VEE: chỉnh độ sáng cho màn hình hiển thị.
- LEDA, LEDK: 2 chân phân cực cho led nền của bảng đèn. Hạn dòng bằng
điện trở 4.710/0.5W

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
NGUYÊN TẮC GIAO TIẾP LCD
- Reset nguồn khởi động LCD: nhằm đạt điều kiện khởi động nguồn bên trong
mạch(Vcc=4.5V) bằng cách chờ khoảng hơn 100ms. Trong trường hợp tổng
quát nên viết CTC thực hiện việc reset cho LCD theo giải thuật tương ứng với
giao tiếp 4 hoặc 8bit.
- Khởi động và đặt cấu hình cho LCD: chọn giao tiếp qua bus dữ liệu 4 hay 8
bit, chọn font ký tự (5x8, 5x10..), điều khiển con trỏ, ký tự…
- Bảo đảm LCD hoàn tất mỗi một thao tác điều khiển: bằng cách đọc trạng thái
của cờ BF (bit DB7 nhận được từ LCD, bằng 0 khi LCD đã thực thi xong),
hoặc sử dụng chương trình con delay để chờ LCD thực hiện xong thao tác,
thời gian này phụ thuộc vào từng lệnh cụ thể (xem datasheet), tối thiểu là
50s, trừ 2 lệnh xóa màn hình và chuyển con trỏ về đầu dòng là 1520 s.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIẢI THUẬT RESET CHO LCD

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
KHỞI ĐỘNG CHO LCD
Tín hiệu điều khiển DATA
LỆNH
RS R/𝐖𝐑 D7 D6 D5 D4 D3 D2 D1 D0
Function set 0 0 0 0 1 DL N F X X
Clear display 0 0 0 0 0 0 0 0 0 1
Display ON/OFF 0 0 0 0 0 0 1 D C B
Entry mode set 0 0 0 0 0 0 0 1 I/D S

1. Function set: đặt cấu hình làm việc cho LCD


DL:chọn giao tiếp 8/4 bit. (DL=1:8bit, 0: 4bit)
N=1: đặt 2 dòng, N=0: đặt 1 dòng.
F=1: font 5x10(N=0), F=0: font 5x8
2. Clear display: xóa toàn bộ màn hình: 01H
3. Display ON/OFF Control: điều khiển màn hình và con trỏ:
D=1: màn hình ON, D=0: màn hình OFF
C=1: con trỏ ON, C=1: con trỏ OFF
B=1: ký tự và con trỏ chớp
B=0: ký tự và con trỏ không chớp.
4. Entry mode set: chọn mode dịch con trỏ/màn hình
I/D=1/0 tăng/giảm địa chỉ DDRAM thêm/bớt 1 khi truy xuất DDRAM.
S=1: dịch màn hình sang phải(I/D=0) hay trái(I/D=1)
S=0 không dịch màn hình.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
MỘT SỐ LỆNH THÔNG DỤNG CỦA LCD
Mã(HEX) THỰC HIỆN
01 Xóa màn hình(Clear display)
02 Trở về vị trí đầu dòng(Return home)
04 Dịch con trỏ sang trái(khi ghi/đọc data)
05 Dịch màn hình sang phải(khi ghi/đọc data)
06 Dịch con trỏ sang phải(khi ghi/đọc data)
07 Dịch màn hình sang trái(khi ghi/đọc data)
08 Tắt màn hình,tắt con trỏ
0A Tắt màn hình, hiện con trỏ
0C Hiện màn hình, tắt con trỏ
0E Hiện màn hình, không chớp ký tự chỉ bởi con trỏ
0F Hiện màn hình, chớp ký tự chỉ bởi con trỏ
10 Dịch con trỏ sang trái (không thay đổi nội dung DDRAM)
14 Dịch con trỏ sang phải (không thay đổi nội dung DDRAM)
18 Dịch màn hình sang trái(không thay đổi nội dung DDRAM)
1C Dịch màn hình sang phải(không thay đổi nội dung DDRAM)
80 Chuyển con trỏ về đầu dòng 1
C0 Chuyển con trỏ về đầu dòng 2
38 Đặt chức năng giao tiếp 8 bit, 2 dòng, 5X8 dots
28 Đặt chức năng giao tiếp 4 bit cao, 2 dòng, 5X8 dots
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LCD – ỨNG DỤNG

VD4: Viết CT hiển thị lên LCD 1 ký tự ‘A’ tại vị trí đầu
tiên của dòng. Khởi động LCD ở các chế độ sau:
- Function set: 1 dòng, font: 5x10 (34H)
- Xóa màn hình (01H)
- Màn hình ON, con trỏ OFF (0CH)
- Con trỏ dịch phải, địa chỉ DDRAM tăng 1 khi ghi
DATA, màn hình không dịch (06H).
Thay đổi lệnh hoặc dữ liệu để hiển thị ký tự ‘Z’ ở cuối
dòng và quan sát kết quả mô phỏng?

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIẢI THUẬT ĐIỀU KHIỂN LCD HIỂN THỊ 1 KÝ TỰ
START
THIẾT LẬP CÁC IO GIAO TIẾP VỚI LCD
RESET LCD
KHỞI ĐỘNG LCD
ĐIỀU KHIỂN GHI LỆNH
XUẤT LỆNH ĐIỀU KHIỂN
VỊ TRÍ BẮT ĐẦU CỦA CON TRỎ
XUẤT RA LCD
CHỜ THỰC HIỆN XONG LỆNH
ĐIỀU KHIỂN GHI DATA
NẠP DATA CẦN HIỂN THỊ
XUẤT RA LCD
CHỜ THỰC HIỆN XONG LỆNH
END
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP LCD – ỨNG DỤNG
VD5: Cho mạch giao tiếp giữa Atmega 324P và LCD ký tự như sơ đồ ở trên.
1. Viết CTC OUT_LCD để xuất lệnh hoặc data ra LCD.
INPUT: R17  LỆNH/DATA
1. Viết CTC RESET_LCD cho giao tiếp 8bit theo giải thuật đã biết.
2. Viết CTC INI_LCD để khởi động LCD:
INPUT: R18, R19, R20, R21
- R18: Function set (100s)
- R19: Clear display (2ms)
- R20: Display ON/OFF control (100s)
- R21: Entry mode set (100s)
4. Sử dụng các CTC ở trên để viết chương trình giao tiếp LCD như sau:
- Function set: 2 dòng, font: 5x8 (38H)
- Xóa màn hình (01H)
- Màn hình ON, con trỏ OFF (0CH)
- Con trỏ dịch phải, địa chỉ DDRAM tăng 1 khi ghi DATA, màn hình
không dịch (06H)
Điều khiển hiển thị 2 dòng lên LCD như sau: MICROCONTROLLER
ATMEGA 324P
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
BÀI TẬP ÁP DỤNG
7. Thiết kế mạch giao tiếp giữa MCU324P và LCD theo yêu cầu sau:
- BUS DATA được điều khiển bởi PORTA.
- Các chân PB7,PB6,PB5 điều khiển các tín hiệu tương ứng E, RS, R/𝐖𝐑
của LCD.

8. LCD được khởi động theo các yêu cầu sau:


- Function set: 2 dòng, font: 5x8 (38H)
- Xóa màn hình (01H)
- Màn hình ON, con trỏ OFF (0CH)
- Con trỏ dịch phải, địa chỉ DDRAM tăng 1 khi ghi DATA, màn hình
không dịch (06H)
9. Hiển thị lên màn hình LCD 2 nội dung:
- HỌ TÊN SV(nếu vượt quá 16 ký tự thì tùy chọn lược bỏ hiển thị theo ý
của mình)
- MSSV: XXXXXXX
Dòng thứ nhất canh lề trái, dòng thứ 2 canh lề phải.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
THANH GHI DỊCH –IC 74595

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP IC 74595: NỐI TIẾP SONG SONG

VD6: Sử dụng mạch giao tiếp giữa MCU324P và IC74HC595 như sơ đồ mạch.
1. Viết CTC SHIFT_OUT để xuất dữ liệu nối tiếp 8bit(MSB trước).
INPUT: R17  DATA
OUTPUT: PB0  DATA (MSB trước)
R17 không thay đổi.
2. Viết chương trình nhập data từ PORTD, xuất ra dưới dạng nối tiếp, giao tiếp
với thanh ghi dịch IC74HC595.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP IC 74595 – ỨNG DỤNG
START

- THIẾT LẬP CÁC IO GIAO TIẾP VỚI 74595


- ĐK TT BAN ĐẦU CHO CÁC T/H XUNG: SHCP & STCP=0
ĐẶT SỐ BIT DỊCH = 8
DATA= BYTE DATA CẦN DỊCH
QUAY TRÁI DATA QUA CỜ C
Y
C=0
N
XUẤT BIT 1 RA NGÕ DS

NHẢY ĐẾN NHÃN SHCP

XUẤT BIT 0 RA NGÕ DS

SHCP: - TẠO  CHO SHCP (DỊCH BIT)


- TRẢ VỀ TT BAN ĐẦU CHO SHCP

GIẢM SỐ BIT DỊCH

Z=1 N

Y
- TẠO  CHO STCP ĐỂ XUẤT DATA Ở NGÕ RA 74595
- TRẢ VỀ TT BAN ĐẦU CHO STCP
END
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
THANH GHI DỊCH –IC 74165

Phần giải thuật đọc dữ liệu từ thanh ghi dịch vào MCU324P xem
như bài tập cho SV.
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP NGOẠI VI GIÁN TIẾP

- MẠCH CHỐT D
- ĐỆM 3 TRẠNG THÁI

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MẠCH ĐỆM CHỐT D – IC 74573

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MẠCH ĐỆM CHỐT D – IC 74573

tPHL=tPLH=45ns
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
GIAO TIẾP GIỮA MCU324P & IC 74573

tW=24ns
CÁC LỆNH ĐỂ TRUY XUẤT:
SBI PORTA,0 ;1MC
CBI PORTA,0 ;1MC
Với f=8MHz: 1MC=0.125s=125ns > tW  2 lệnh trên đáp ứng
được việc xác lập giá trị mới ổn định trên ngõ ra Qn của
74HC573. Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
MỞ RỘNG PORT GIAO TIẾP VỚI NGOẠI VI XUẤT

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MỞ RỘNG PORT GIAO TIẾP – ỨNG DỤNG
Mở rộng giao tiếp với các ngoại vi xuất ví dụ như các led 7 đoạn.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
NGUYÊN TẮC TRUY XUẤT

CBI PORTA,0 ;khóa chốt 74573A


KHÓA CHỐT(LE=0) 573A CBI PORTA,1 ;khóa chốt 74573B
KHÓA CHỐT 573B
........

PORTD  DATA OUT PORTD,R17 ;R17:CHỌN LED(74573A)


MỚ CHỐT(LE=1) 573A
KHÓA CHỐT 573A
SBI PORTA,0 ;mở chốt 74573A
CBI PORTA,0 ;khóa chốt 74573A

PORTD  DATA OUT PORTD,R18 ;R18:HIỂN THỊ(74573B)


MỚ CHỐT 573B
KHÓA CHỐT 573B SBI PORTA,1 ;mở chốt 74573B
CBI PORTA,1 ;khóa chốt 74573B

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MỞ RỘNG PORT GIAO TIẾP – ỨNG DỤNG
VD7:Viết chương trình điều khiển 1 led ở vị trí hàng đơn
vị(led4) hiển thị ký tự H.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
TRUY XUẤT NHIỀU LED
Sử dụng phương pháp quét led dựa trên sự lưu giữ hình ảnh trên võng
mạc của mắt người. START

LED0: 0N
LED1,LED2,LED3:OFF

DELAY

LED1: 0N
LED0,LED2,LED3:OFF

DELAY

LED2: 0N
LED0,LED1,LED3:OFF
Thực tế thời gian DELAY được
DELAY
chọn khoảng 10ms.
LED3: 0N
LED0,LED1,LED2:OFF
Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh
Chương 6
TRUY XUẤT NHIỀU LED – ỨNG DỤNG

VD8:
Viết chương trình điều khiển 4 led được thiết kế như sơ đồ mạch
bằng cách thực hiện các chương trình con sau:
a. Viết CTC delay10ms. Biết f = 8MHz.
b. Viết CTC CODE_7SEG_AC để lấy mã 7 đoạn tương ứng với giá
trị hiển thị của số BCD.
(IN: R17=BCD, OUT: R17=CODE_7SEG_AC)
c. Viết CTC DISPLAY_7SEG.
(IN: R18= MÃ LED HIỂN THỊ, R17=BCD)
d. Viết chương trình hoàn chỉnh hiển thị 4 led các số 1234.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
TRUY XUẤT NHIỀU LED – ỨNG DỤNG
START

THIẾT LẬP
CÁC CỔNG IO

R18 DATA CHỌN LED 1


R17 DATA HIỂN THỊ

DISPLAY_7SEG

DELAY 10MS

R18 DATA CHỌN LED 2


R17 DATA HIỂN THỊ

DELAY 10MS

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MỞ RỘNG PORT GIAO TIẾP – ỨNG DỤNG
VD9:Viết chương trình điều khiển hiển thị ký tự  lên led ma trận theo sơ đồ
mạch sau:

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
BÀI TẬP ÁP DỤNG

10. Viết chương trình đổi số nhị phân 8bit nhận được từ PORTB
sang số BCD. Kết quả hiển thị trên các led 7 đoạn Anode chung
được kết nối với MCU324P qua các mạch chốt 74573.
11. Thiết kế sơ đồ giao tiếp giữa MCU324P với 8 DIP_SW và 4
led 7 đoạn anode chung. Viết chương trình thực hiện phép nhân 2
số nhị phân 4 bit nhận được từ các DIP_SW. Kết quả hiển thị lên
các led 7 đoạn.
12. Thiết kế mạch giao tiếp giữa MCU324P với 1 nút nhấn và
BARLED(8 led đơn). Viết chương trình điều khiển dãy BARLED
khi có tác động của nút nhấn sẽ hiển thị trạng thái sáng dần từ
trái(MSB) qua phải, ngược lại thì các led ở trạng thái tắt.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MẠCH ĐỆM – IC 74244

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MỞ RỘNG PORT GIAO TIẾP VỚI NGOẠI VI NHẬP

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
NGUYÊN TẮC TRUY XUẤT
...........
KHÓA (OE=1) 244A SBI PORTC,0 ;khóa 74244A
KHÓA 244B
SBI PORTC,1 ;khóa 74244B
........
MỚ (OE=0) 244A CBI PORTC,0 ;mở 74244A
ĐỌC DATA TỪ PORTB IN R16,PORTB ;đọc DATA
KHÓA 244A
SBI PORTC,0 ;khóa 74244A

MỚ (OE=0) 244B CBI PORTC,1 ;mở 74244B


ĐỌC DATA TỪ PORTB
KHÓA 244B IN R17,PORTB ;đọc DATA
SBI PORTC,1 ;khóa 74244B
..........

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MỞ RỘNG PORT GIAO TIẾP – ỨNG DỤNG
VD10:Viết chương trình cộng 2 số 8 bit từ PortB thông qua 2 IC74244 và xuất
kết quả ra PortA được kết nối như sơ đồ mạch. Giả sử kết quả của phép toán
không lớn hơn 255.

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
MỞ RỘNG PORT GIAO TIẾP – ỨNG DỤNG
START

THIẾT LẬP
CÁC CỔNG IO

- KHÓA 244A
- KHÓA 244B

- MỚ 244A
- ĐỌC BYTE DATA1 TỪ PORTB
- KHÓA 244A

- MỚ 244B
- ĐỌC BYTE DATA2 TỪ PORTB
- KHÓA 244B

CỘNG 2 BYTE DATA

XUẤT KQ RA PORTA

Bài giảng môn Vi xử lý


GV: Lê Thị Kim Anh
Chương 6
BÀI TẬP ÁP DỤNG
Một mạch giao tiếp giữa MCU324P với bàn phím ma trận và led 7 đoạn như hình.

Viết chương trình thực hiện các phép toán cộng, trừ, nhân chia đơn giản trên các
toán hạng là các số BCD 2 decade nhận được từ bàn phím và hiển thị kết quả lên
các led 7 đoạn.(Tham khảo chương trình nhận dạng phím nhấn của bàn phím ma
trận trong giáo trình) Bài giảng môn Vi xử lý
GV: Lê Thị Kim Anh

You might also like