MỞ RỘNG VÀO RA
MỞ RỘNG VÀO RA
1.Giới thiệu
- Khái niệm
- Tính cấp thiết
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
Một số phương pháp mở rộng đầu vào
- IC dồn kênh
- IC ghi dịch vào song song ra nối tiếp
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
IC dồn kênh - Data Selectors/Multiplexers
- 74150/74151
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
IC dồn kênh - Data Selectors/Multiplexers
- 74150/74151
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
IC dồn kênh
Data Selectors/Multiplexers - 74150
Sơ đồ chân
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
Bảng chân trị
MỞ RỘNG ĐẦU VÀO
IC dồn kênh - Data Selectors/Multiplexers - 74151
Sơ đồ chân
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
Bảng chân trị
MỞ RỘNG ĐẦU VÀO
-IC ghi dịch vào song song ra nối tiếp
Parallel In Serial Out Shift Register – 74165
Sơ đồ chân
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
-IC ghi dịch vào song song ra nối tiếp
Parallel In Serial Out Shift Register – 74165
Sơ đồ logic
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
-IC ghi dịch vào song song ra nối tiếp
Parallel In Serial Out Shift Register – 74165
Bảng chân trị
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
-IC ghi dịch vào song song ra nối tiếp
Parallel In Serial Out Shift Register – 74165
- Sử dụng 2 chân của vi điều khiển để
giao tiếp với IC trên. Một chân nối vào
chân PL, và một chân khác nối vào chân
CP1, chân CP2 nối mass. Chân DS nối
lên Vcc.
- Ban đầu PL=0 để đưa các dữ liệu ra các
đầu Q
- Sau đó mỗi lần kích sườn lên vào chân
CP1 ta đọc được giá trị 1 đầu vào theo
thứ tự P7, P6,…,P0
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU RA
IC ghi dịch vào nối tiếp ra song song 74164 –
SIPO
Sơ đồ chân
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU RA
Sử dụng IC ghi dịch vào nối tiếp ra song song
74164 – SIPO
Bảng chân trị
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU RA
Sử dụng IC ghi dịch vào nối tiếp ra song song
74164 – SIPO
Sơ đồ chức năng
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU VÀO
-IC ghi dịch vào song song ra nối tiếp
- Từ sơ đồ chức năng:
- MR: đóng vai trò chân cho phép
- Mỗi khi có sườn lên từ chân CP, từng FF sẽ xuất
dữ liệu Q bằng với dữ liệu D được đưa vào FF.
Tức là Q7 = Q6, Q6 = Q5; Q5=Q4; Q4=Q3;
Q3=Q2; Q2=Q1; Q1= Q0; Q0 = AND (A, B)
- Để đơn giản, ta nối chân B với Vcc, và dữ liệu
serial được đưa vào chân A. Khi đó Q0=A.
- Để xuất 1 byte dữ liệu ra các chân Q0 đến Q7: ta lần
lượt xuất từng bit theo trình tự MSB đến LSB, mỗi lần
xuất ta kết hợp kích sườn lên vào chân CP
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU RA
IC ghi dịch 74595
Sơ đồ chân
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU RA
IC ghi dịch 74595
Sơ đồ chân
A: Dữ liệu nối tiếp đầu vào ( input serial)
QA, QB…, QH: Port dữ liệu song song đầu ra
SHIFT CLOCK: Xung nhịp
LATCH CLOCK: Xung chốt dữ liệu
OUTPUT ENABLE: Cho phép dữ liệu đầu ra
SQH: Dữ liệu nối tiếp đầu ra
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG ĐẦU RA
IC ghi dịch 74595
Ghi dữ liệu:
-Nối chân OUTPUT ENABLE với đất, RESET
với nguồn
- Lần lượt đưa dữ liệu nối tiếp vào chân A, kết
hợp với kích xung SHIFT CLOCK
- Sau khi xuất đủ dữ liệu, kích xung chốt
LATCH CLOCK để xuất dữ liệu đầu ra
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG BẰNG PHẦN MỀM
Quét phím ma trận
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG BẰNG PHẦN MỀM
Phương pháp quét
Quét theo cột
-C1=0, C2=C3=C4=1
Kiểm tra hàng
-C2=0, C1=C3=C4=1
Kiểm tra hàng
-C3=0, C1=C2=C4=1
Kiểm tra hàng
-C4=0, C1=C2=C3=1
Kiểm tra hàng
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng
MỞ RỘNG BẰNG PHẦN MỀM
Chương trình
unsigned char code KEYS_PAD[4][4] ={'7 ', '8' , '9' , '/ ',
'4' ,'5' , '6 ', 'x ',
'1' ,'2 ' ,'3 ', '- ',
'*' , '0 ', '.' , '+' };
unsigned char mtp_quetphim()
delay_ms(1);
{ unsigned char r,c;
for(r=0;r<4;r++)
P1=0x0f;
{ if((P1&(0x01<
delay_us(2);
{ while((P1&0x0f)!=0x0f);
if((P1&0x0f)!=0x0f)
return KEYS_PAD[r][c];
{ delay_us(100);
}}}}}
if((P1&0x0f)!=0x0f)
return 0;}
{ for(c=0;c<4;c++)
{ P1=~(0x01<<(4+c));
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng