PDA

View Full Version : Giúp em hiển thị lên led 7 đoạn với các pác!!!


a7xuantien
10-11-2009, 12:58 PM
Em đang viết code bằng CSS về bộ đếm xung rồi hiển thị lên 2 led 7 đoạn nhưng phần code thì em cảm thấy là đúng rồi nhưng khi mô phỏng thì nó không chịu chạy. Ở đây em sử dung ngắt ngoài RB0 để đếm xung rồi dung port D xuất ra led, dung RA0 và RA1 để điều khiển cho led hiển thị số hàng chục và hàng đơn vị. Pác nào có kinh nghiệm giúp em với, em mới vào nghề nên gà lắm, hic hic!!! Em post cả code với phần mô phỏng của em bằng Protues, LED ở phía trên là LED đơn vị, LED phía dưới là LED hàng chục

Delfy_Coltech
10-11-2009, 03:49 PM
Chào bạn!
Mình vừa tải File mô phỏng của bạn về chạy thử.
Nó vẫn chạy bình thường theo như ý bạn viết trong code mà.

Tuy nhiên, mình đã sửa lại đôi chút để số đếm hàng đơn vị không bị xóa sau mỗi lần bấm nút.
Ở đây dùng PIC6F877A thì nên để clock là 20MHz.

Bạn thử lại với code sau xem:

#include <16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#byte portb=0x06
#byte portd=0x08
unsigned int16 dem=0, hang_chuc, hang_dvi;
const unsigned char digital[]={0b00111111, 0b00000110, 0b01011011, 0b01001111, 0b01100110,\
0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111};

#int_ext
void dem_xung()
{
dem++;
if(dem<=30)
{
hang_dvi= dem%10;
hang_chuc= dem/10;

output_a(0);
portd=digital[hang_chuc];
delay_ms(100);

output_a(1);
portd=digital[hang_dvi];
delay_ms(10);
}
if(dem>30)
{
dem=0; // Reset bien dem neu lon hon 30
}
}
void main()
{
while(true)
{
set_tris_B(0b00000001);
set_tris_d(0);
set_tris_a(0);
enable_interrupts(global);
enable_interrupts(int_ext);
ext_int_edge(H_to_L);
}
}


Mình cũng mới ngâm cứu về Pic nên còn gà mờ lắm.
Theo như sơ đồ nguyên lý của bạn thì 2 LED 7 thanh của bạn nối chung với PORTD của Pic.
Do vậy, để hiển thị được cả hai LED thì phải dùng phương pháp quét (đánh lừa đôi mắt!). (Hình như là dùng ngắt timer để quét).

Bác nào có thể trợ giúp tiếp không ạ?

- Làm thế nào để khi LED hàng đơn vị đếm. LED hàng chục vẫn hiển thị?

Delfy_Coltech
11-11-2009, 02:41 AM
Up hộ cái nào!

a7xuantien
11-11-2009, 11:50 AM
Em cảm ơn a delfy_coltech! A cho em hỏi la bây giờ em ko dùng phương pháp quét led nữa mà em dùng IC 74LS573 để chốt led thì code o trên có phù hợp ko ạ! em vẫn dùng 2 chân RA0 và RA1 để nối với 2 chân LE của IC 74573( vì có 2 led 7 đoạn nên dùng 2 IC chốt led)??? Thanks!

Delfy_Coltech
11-11-2009, 10:22 PM
Em cảm ơn a delfy_coltech! A cho em hỏi la bây giờ em ko dùng phương pháp quét led nữa mà em dùng IC 74LS573 để chốt led thì code o trên có phù hợp ko ạ! em vẫn dùng 2 chân RA0 và RA1 để nối với 2 chân LE của IC 74573( vì có 2 led 7 đoạn nên dùng 2 IC chốt led)??? Thanks!

Không có gì bạn ạ.Tôi cũng đang làm project cần đến module hiển thị LED nên chúng ta cùng tìm hiểu. :)
Tất nhiên là code trên không phù hợp rồi!
Nếu bạn dùng IC thì sẽ tiết kiệm chân PIC hơn. Và phải code lại cho phù hợp.
Bạn có thể tham khảo quét led dùng IC 74HC595 như file đính kèm sau( Sưu tầm)

a7xuantien
11-11-2009, 10:55 PM
Ma a Delfy_Coltech ơi, em làm đc rồi nhưng làm bằng cách dung IC74LS373 để chốt led(chốt ở chân LE của IC này)! E mun hỏi a là mô phỏng chạy thì rất là ok nhưng ko biết làm mạch thực tế thì có như zậy ko? Em co gửi bài mô phỏng, a coi giúp em nhé! Thanks!!!

Delfy_Coltech
11-11-2009, 11:46 PM
Ma a Delfy_Coltech ơi, em làm đc rồi nhưng làm bằng cách dung IC74LS373 để chốt led(chốt ở chân LE của IC này)! E mun hỏi a là mô phỏng chạy thì rất là ok nhưng ko biết làm mạch thực tế thì có như zậy ko? Em co gửi bài mô phỏng, a coi giúp em nhé! Thanks!!!

Uh mạch thế là ổn rồi đó. Tuy nhiên bạn cần xem thông số con LED 7 mình mua về (Dùng dòng bao nhiêu? Để điều chỉnh cho đạt độ sáng đẹp nhất)
Nếu cẩn thận hơn có thể cắm board thử sẽ bít ngay thối!
Chúc bạn thành công!

Delfy_Coltech
20-11-2009, 05:29 PM
Mình đang làm cái bảng hiện số đếm gồm 3 LED 7 segs loại 5 inch dùng nguồn 12V.
Các bác xem hộ cách mắc mạch thế này ổn chưa ah?

Bác nào đã "chơi" với mấy chú này rồi xin chia sẻ chút kinh nghiệm!
Thanks alot!

Delfy_Coltech
22-11-2009, 01:27 PM
Up cái nào! Không có bác nào quan tâm sao?

HAI1817
31-05-2010, 03:59 PM
tôi cảm thấy thú vị tiếp nữa đi

HAI1817
31-05-2010, 04:10 PM
có thế chứ

HAI1817
05-06-2010, 03:14 PM
mong các bạn góp ý cảm ơn

buiminhquy
17-07-2010, 10:01 PM
Không có gì bạn ạ.Tôi cũng đang làm project cần đến module hiển thị LED nên chúng ta cùng tìm hiểu. :)
Tất nhiên là code trên không phù hợp rồi!
Nếu bạn dùng IC thì sẽ tiết kiệm chân PIC hơn. Và phải code lại cho phù hợp.
Bạn có thể tham khảo quét led dùng IC 74HC595 như file đính kèm sau( Sưu tầm)
sao mình cũng dùng ic 74hc595 mà led nhìn mờ thế nhỉ?
có ai giải thích hộ mình được ko?

huuquynh08
20-07-2010, 11:54 PM
2 led dau dem tu 00-99 led sau dem tu 99-00

phamtrongvn
20-09-2010, 03:14 AM
Các bác có ai có sơ đồ nguyên lí mạch giao tiếp của PIC với led 7 thanh không ? t6hif post lên giúp em với, em mối học về nó mà không biết cách giao tiếp thế nào.
Thanks!

badboy0001
01-12-2010, 01:05 PM
sao mình cũng dùng ic 74hc595 mà led nhìn mờ thế nhỉ?
có ai giải thích hộ mình được ko?
con chíp bạn đang dùng là con thanh ghi dịch do đó bạn nên dùng một mạch điều khiển dòng ( dùng tranistor nữa ) nhớ là phải dùng thêm trở hạn dòng nhé không sáng quá tốn điện !

batu890
18-12-2011, 09:50 PM
Để chương trình chạy 17 chu kỳ thì phải thêm lệnh gì vào chương trình.Mình mới làm quen với protues,mong anh em chi giúp