|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
03-10-2011, 09:49 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Sep 2011
Bài gửi: 4
: |
Cấn giúp đỡ về đồng hồ số hiển thị Led ma trận
Mấy anh trong diễm đàn giúp em viết code ( lập trình C ) và mạch mô phỏng cho đề tài sau với :
-Thiết kế đồng hồ số hiển thị Led ma trận ( dùng 4 Led ma trân 8x8 để hiển thị giờ và phút thôi, ko cần giây cũng ko cần ngày tháng năm lun) , sử dụng pic 16f877a va DS 1307 Em mới làm quen với pic , mong mọi người giúp đõ nhiều =.=' |
03-10-2011, 09:53 AM | #2 |
Làm quen với PIC
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: Hcm
Bài gửi: 160
: |
Làm bài t phåi không ban ?
|
03-10-2011, 12:59 PM | #3 |
Nhập môn đệ tử
Tham gia ngày: Sep 2011
Bài gửi: 4
: |
Do an cua em do , ko phai bt dau anh
thay đổi nội dung bởi: njkjchan, 03-10-2011 lúc 01:05 PM. |
03-10-2011, 09:37 PM | #4 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Hì, có đầy đủ rồi mà, mạch đồng hồ thì của bác tdm, mạch ma trận thì tui có post rồi, ghép vô là được!!!!!!!!!.
Đối với led ma trận thì bạn phải viết thử nghiệm xuất dữ liệu ra 1 con IC 74HC595, sau lên 4 con, tới đây là có thể "khổ luyện" hiển thị đồng hồ được rồi. http://www.picvietnam.com/forum/showthread.php?t=6947 http://www.picvietnam.com/forum/showthread.php?t=10327 Bác tdm là cao thủ vã lâm đó, mô phỏng và hiển thị led là chuyên nghiệp, nhờ bác cho "lạch sự" thì chắc bác giúp thui!!!!!!!!. |
04-10-2011, 12:23 AM | #5 |
Nhập môn đệ tử
Tham gia ngày: Sep 2011
Bài gửi: 4
: |
em có đọc về con IC 74HC595 này nhưng ko hiểu lắm cứ tưởng nó dùng để chạy chữ ( vì những mạch em tìm dc về Led ma trận lâp trình bằng Pic toàn hiển thị chữ chạy ko ) nên cứ tưởng nó ko cần cho mạch đồng hồ của em lun =.=' . Cảm ơn anh pstin nhiều ^^
|
04-10-2011, 10:47 AM | #6 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Chương trình xuất 03 chữ "vạn" (1 thuận, 2 nghịch), để thử nghiệm xuất 24 bit, chân D0 la data, chân D1 là xung clock, các chân D2, D3, D4 là 3 chân xuất dữ liệu riêng biệt của 3 con 595 (trường hợp của bạn nên nối chung các đường xuất dữ liệu lại với nhau), portB điều khiển quét hàng, bạn chế lại là xuất các con số được.
#include <16F877A.h> #include <DEFS_16F877A.h> #device *=16 ADC=10 #include <stdlib.h> #fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG #use delay(clock=16000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8) //=========================functions use======================================== int8 y,i; int8 Cot1[]={0b10000101, 0b11100101, 0b11100101, 0b10000001, 0b10000001, 0b10100111, 0b10100111, 0b10100001}; int8 Cot2[]={0b10100001, 0b10100111, 0b10100111, 0b10000001, 0b10000001, 0b11100101, 0b11100101, 0b10000101}; int8 Cot3[]={0b10100001, 0b10100111, 0b10100111, 0b10000001, 0b10000001, 0b11100101, 0b11100101, 0b10000101}; int8 Hang[]={0b11111110, 0b11111101, 0b11111011, 0b11110111, 0b11101111, 0b11011111, 0b10111111, 0b01111111}; void sen595(int8 x) { #bit fla=x.7; for (i=0;i<8;i++) { if (fla==1) {output_high(PIN_D0);} else {output_low(PIN_D0);} output_high(PIN_D1); output_low(PIN_D1); x = x<<1; } } void main() { set_tris_b(0x00); set_tris_d(0x00); while(1) { for (y=0;y<8;y++) { sen595(Cot3[y]); sen595(Cot2[y]); sen595(Cot1[y]); output_high(PIN_D2); output_high(PIN_D3); output_high(PIN_D4); output_b(Hang[y]); delay_ms(3); output_b(0xff); output_low(PIN_D2); output_low(PIN_D3); output_low(PIN_D4); } } } |
04-10-2011, 12:52 PM | #7 | |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
anh ơi, anh giúp em đề tài này với nhe Em cần làm đồng hồ số hiển thị Led ma trận ( dùng 4 led ma trận 8x8 để hiển thị giờ và phút thôi , ko cần giây ), mạch dùng Pic 16f877a và DS1307 Anh giúp em viết Code ( lập trình C ) và mạch mô phỏng dc ko anh ? Em chỉ mới làm quen với Pic , mong anh giúp đỡ nhiều. Cảm ơn anh ^^ để làm việc với led matrix trước tiên em phải có sơ đồ nguyên lí đề kiểm tra giải thuật. với bài tập của em quét có 4 matrix thì dữ liệu nên xuất ra hàng và quét cột là đơn giản nhất. đây là sơ đồ và một đoạn code nhỏ cứ sau 200ms dich cột . em thử thay đổi delay xuống còn 1ms xem điều gì xảy ra nhé. Code:
#include <16F877A.h> #device *=16 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #define clock PIN_E0 #define data PIN_E1 #define chot PIN_E2 void clock_chot(void); int8 dich,bien,tam; main() { set_tris_e(0x00); set_tris_d(0x00); output_low(clock); output_low(data); output_low(chot); while(1) { output_high(data); clock_chot(); output_low(data); for(dich=0;dich<=31;dich++) { output_d(0x00); delay_ms(200); output_d(0xff); clock_chot(); } } } void clock_chot(void) { output_high(clock); output_low(clock); output_high(chot); output_low(chot); }
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
|
04-10-2011, 07:35 PM | #8 |
Nhập môn đệ tử
Tham gia ngày: Sep 2011
Bài gửi: 4
: |
Tuần sau thi rồi , đề tài này gác lại 1 tuần vậy . Nhưng cũng cảm ơn anh pstin và anh tdm nhiều ^^
thay đổi nội dung bởi: njkjchan, 04-10-2011 lúc 09:22 PM. |
10-11-2017, 12:56 AM | #9 |
Nhập môn đệ tử
Tham gia ngày: Aug 2017
Bài gửi: 1
: |
đồng hồ điện tử
anh chị trong group giúp em với ạ em làm đồng hồ điện tử hiển thị led 7 thanh dùng ds1307 vi điều khiển atmega8 mà khi chạy ở mạch thực đồng hồ chạy nhanh hơn thực tế nhiều ạ là tại sao ạ anh chị nào gặp lỗi này rồi chỉ em với ạ
|
|
|