Chat
Danh mục
Lập trình 74HC595 + PIC 16F877A hiển thị led 7 thanh

Lập trình 74HC595 + PIC 16F877A hiển thị led 7 thanh

Số lượng:
Thêm vào giỏ
Lập trình 74HC595 + PIC 16F877A hiển thị led 7 thanh đã được thêm vào giỏ hàng


1. Cơ bản về IC 74HC595

74hc595 là IC ghi dịch 8 bit kết hợp chốt dữ liệu, đầu vào nối tiếp đầu ra song song. IC này thường sử dụng để mở rộng Port của vi điều khiển để quét LED 7 đoạn....

2. Cách thức hoạt động:


IC74HC595 với đầu vào nhận dữ liệu nối tiếp, đầu ra song song. Khi 1 bit được đưa đến chân nhận dữ liệu DS, muốn đẩy bit này vào thanh ghi dịch ta cần kích một xung vào chân SHCP (xung sườn dương từ 0->1). Cứ lần lượt vậy sau khi đưa hết hết 8 bit vào thanh ghi dịch, 8 bit này vẫn nằm trong bụng của 74HC595 (trong 8-bit storage register). Muốn xuất cùng một lúc cả 8 bit này ra các chân ngõ ra (từ Q0 -> Q7) ta cần tạo ra một xung lên chân STCP (xung sườn dương từ 0->1). Do thanh ghi dịch chỉ lưu trữ tối đa 8 bit nên khi bit dữ liệu thứ 9 tiếp tục được đưa vào thanh ghi dịch thì bit dữ liệu đầu tiên được đẩy ra chân Q7S.

Nếu kết nối chân Q7S này đến chân DS của IC 74HC595 tiếp theo. Ta có thể mở rộng rất nhiều port xuất.

Chân MR (chân số 10): khi chân này ở mức thấp, dữ liệu chứa trong thanh ghi dịch bị xóa hết. Khi chân này ở mức cao 74HC595 hoạt động bình thường

Chân OE (chân số 13): Khi OE=0 cho phép xuất ngõ ra.


3. Giao tiếp led 7 đoạn + IC74HC595
#include <16F877A.h>
#device *=16 ADC=10
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
unsigned char Code7Seg[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
/* Dinh nghia cac chan cua IC74HC595 */
#define SHCP_PIN PIN_C0
#define DS_PIN PIN_C1
#define STCP_PIN PIN_C2
void IC_74hc595(int data)
{
int i;
output_low(SHCP_PIN);
for(i=0;i<=7;i++)
{
if((data & 0x80)==0)
output_low(DS_PIN);
else
output_high(DS_PIN);
data=data<<1;
output_high(SHCP_PIN);
output_low(SHCP_PIN);
}
}
void IC_74HC595_Output()
{
output_low(STCP_PIN);
delay_us(5);
output_high(STCP_PIN);
output_low(STCP_PIN);
}
void main(void)
{
IC_74hc595(Code7Seg[9]);
IC_74hc595(Code7Seg[8]);
IC_74hc595(Code7Seg[7]);
IC_74hc595(Code7Seg[6]);
IC_74HC595_Output();
}


( Full Code + Mô phỏng)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
Theo ytuongnhanh.vn