Trích:
Nguyên văn bởi njkjchan
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 =.='
|
em có nhắn tin cho anh nhưsau:
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);
}