Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

October 28, 2015

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


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

0 comments:

Post a Comment

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!!

:) :( :)) :(( =)) =D> :D :P