mấy bác giúp em cái chương trình này với sao em nạp vô chip không chạy
Thông báo
Collapse
No announcement yet.
Tutorial: Led ma trận bằng hình ảnh (completed)
Collapse
This is a sticky topic.
X
X
-
Nguyên văn bởi voiviqua Xem bài viếtcác bác cho en hỏi chương trình của em sai ở chỗ nào mà nó có hiện tượng kiểu như bóng ma,nhưng nhìn kĩ lại không phải.ai sửa giúp em với.
THANKS!!!!!!!!!!!!
Comment
-
Bóng ma ở chỗ là bạn chưa tắt hết đèn của trạng thái trước đó. Đọc kỹ luồng này lại từ đầu đi. Đang 1 mình khởi động cái project bảng LED kết hợp USB, truyền code qua RF, matrix main sẽ nhận code và cho hiển thị theo nội dung từ app trên PC (VB 6.0), anh em nào tỷ phú thời gian cùng làm cùng học hỏi nào!!!Last edited by bravesoldier; 27-07-2013, 23:42.Manchester United FC forever!
Comment
-
Nguyên văn bởi nghaiha Xem bài viết
r[/URL]
cám ơn
Comment
-
Nguyên văn bởi my_nghe_an Xem bài viếtcho mình hỏi tí, tại sao lại phải đấu thêm điện trở 10k như thế nhỉ?
cám ơn
Comment
-
đọc xong hết tất cả 45 trang mà đau hết cả đầu , nhưng vì là dân ngoại đạo nên em cũng chẳng hiểu gì nhiều lắm . em cũng đã tìm hiểu khá nhiều bài trên mạng nhưng chắc với trình của em ko đủ để tính toán hết đc , hiện em đang muốn làm cái biển led ma trận 32cm x 2m . vậy nhờ các bác tính giúp em là giờ em cần mua những link kiện gì . em định làm biển led 1 màu modul p10 loại trong nhà . vậy nguồn nên mua loại bao nhiêu A , hay dùng nguồn máy tính có đc ko ? bo điều khiển thì em thấy trên mạng có khá nhiều loại và khá nhiều giá cả khác nhau , vậy với kích thước của em thì nên mua loại bo bx nào ah ! và các modul led đó ghép nối với nhau thế nào , còn về code thì tính sau . trước tiên xin đc trợ giúp về phần cứng cho nó ok đã . thank các bác rất nhiều ." với điện tử ... chỉ ĐAM MÊ thôi là chưa đủ "
Comment
-
Mấy Bác giúp em với! Sao code chạy hiển thị chữ qua 1 lần và ko lặp lại. Em mới học nên còn mù ! Bác nào chỉ giúp em chạy ngược lại ( phải sang trái) và từ trên xuống với. Em thanks......!
Code:
#include <16f887.h>
#byte PORTC = 0x07
#bit ENB = 0x07.4
#byte PORTD = 0x08
#fuses HS
#use delay(clock = 20MHz)
#use rs232(baud=9600, xmit=pin_c6,rcv=pin_c7)
int i = 0,dl = 0, j = 0, k = 0;
static char string[50] = " NDLVUONG ";
int a[8],b[8],c[8];
const int AAA[8] = {252,254,51,51,51,254,252,0};
const int BBB[8] = {255,255,205,205,205,247,118,0};
const int CCC[8] = {126,255,195,195,195,227,98,0};
const int DDD[8] = {255,255,195,195,195,255,126,0};
const int EEE[8] = {255,255,219,219,219,219,195,0};
const int FFF[8] = {255,255,27,27,27,27,3,0};
const int GGG[8] = {126,255,195,195,219,251,250,0};
const int HHH[8] = {255,255,24,24,24,255,255,0};
const int III[8] = {0,195,195,255,255,195,195,0};
const int JJJ[8] = {96,224,195,195,255,127,3,0};
const int KKK[8] = {255,255,28,54,99,193,128,0};
const int LLL[8] = {255,255,192,192,192,192,192,0};
const int MMM[8] = {255,255,6,12,6,255,255,0};
const int NNN[8] = {255,255,6,12,24,255,255,0};
const int OOO[8] = {126,255,195,195,195,255,162,0};
const int PPP[8] = {255,255,27,27,27,31,14,0};
const int QQQ[8] = {126,255,195,195,243,127,254,0};
const int RRR[8] = {255,255,27,27,59,111,206,0};
const int SSS[8] = {206,223,219,219,219,251,99,0};
const int TTT[8] = {3,3,255,255,3,3,3,0};
const int UUU[8] = {127,255,192,192,192,255,127,0};
const int VVV[8] = {31,63,96,192,224,63,31,0};
const int WWW[8] = {127,255,192,112,192,255,127,0};
const int XXX[8] = {195,231,60,24,60,231,195,0};
const int YYY[8] = {7,15,248,248,8,15,7,0};
const int ZZZ[8] = {195,227,243,219,207,199,131,0};
int temp[16];
void init(void);
void alpha_code(char aa, int bb[8]);
void read_char(void);
void scanled(void);
void main(){
init();
while(1){
read_char();
scanled();
}
}
void init(void){
set_tris_c(0);
set_tris_d(0);
PORTC = 0;
PORTD = 0;
delay_ms(200);
}
void alpha_code(char aa, int bb[8]){
int n = 0;
switch (aa){
case 'A': for (n=0;n<8;n++) bb[n] = AAA[n]; break;
case 'B': for (n=0;n<8;n++) bb[n] = BBB[n]; break;
case 'C': for (n=0;n<8;n++) bb[n] = CCC[n]; break;
case 'D': for (n=0;n<8;n++) bb[n] = DDD[n]; break;;
case 'E': for (n=0;n<8;n++) bb[n] = EEE[n]; break;;
case 'F': for (n=0;n<8;n++) bb[n] = FFF[n]; break;;
case 'G': for (n=0;n<8;n++) bb[n] = GGG[n]; break;;
case 'H': for (n=0;n<8;n++) bb[n] = HHH[n]; break;;
case 'I': for (n=0;n<8;n++) bb[n] = III[n]; break;;
case 'J': for (n=0;n<8;n++) bb[n] = JJJ[n]; break;;
case 'K': for (n=0;n<8;n++) bb[n] = KKK[n]; break;;
case 'L': for (n=0;n<8;n++) bb[n] = LLL[n]; break;;
case 'M': for (n=0;n<8;n++) bb[n] = MMM[n]; break;;
case 'N': for (n=0;n<8;n++) bb[n] = NNN[n]; break;;
case 'O': for (n=0;n<8;n++) bb[n] = OOO[n]; break;;
case 'P': for (n=0;n<8;n++) bb[n] = PPP[n]; break;;
case 'Q': for (n=0;n<8;n++) bb[n] = QQQ[n]; break;;
case 'R': for (n=0;n<8;n++) bb[n] = RRR[n]; break;;
case 'S': for (n=0;n<8;n++) bb[n] = SSS[n]; break;;
case 'T': for (n=0;n<8;n++) bb[n] = TTT[n]; break;;
case 'U': for (n=0;n<8;n++) bb[n] = UUU[n]; break;;
case 'V': for (n=0;n<8;n++) bb[n] = VVV[n]; break;;
case 'W': for (n=0;n<8;n++) bb[n] = WWW[n]; break;;
case 'X': for (n=0;n<8;n++) bb[n] = XXX[n]; break;;
case 'Y': for (n=0;n<8;n++) bb[n] = YYY[n]; break;;
case 'Z': for (n=0;n<8;n++) bb[n] = ZZZ[n]; break;
case ' ': for (n=0;n<8;n++) bb[n] = 0; break;
}
}
void read_char(void){
if (k<=0) alpha_code(' ',a); else alpha_code(string[k-1],a);
alpha_code(string[k],b);
alpha_code(string[k+1],c);
if ((string[k] == ' ')&&(string[k+1] == ' ')&&(dl==158)&&(j==7)) k=-1;
}
void scanled(void){
int m;
for (m=0;m<16;m++){
if ((m+j) < 8) temp[m] = a[m+j]; else if ((m+j) < 16) temp[m] = b[m-8+j]; else temp[m] = c[m-16+j];
}
PORTD = temp[i];
delay_ms(1);
if (++PORTC == 16) PORTC = 0;
if (++i == 16) i = 0;
if (++dl == 159){ // Chia het cho 16 = dung yen, chc16 - 1 = dich trai
if (++j == 8) {j=0; k++;}
dl = 0;
}
}
Comment
-
Nguyên văn bởi nghaiha Xem bài viếtVậy ta đã giải quyết xong vấn đề cấp nguồn, giờ còn việc đưa data ra các chân Đ1 - Đ8, X1 – X8 của 3 con led ma trận. Ta sẽ cần 6 con IC dịch 74HC595. Nguyên lý làm việc của con này mong các bác tham khảo ở datasheet. Em chỉ tóm tắt thế này. Chân DATA_IN là đường dữ liệu vào (bit dữ liệu nối tiếp). Một xung SCK sẽ làm bit này đi vào thanh ghi dịch trong bụng con 74HC595. Sau 8 bit liên tục thì thanh ghi dịch này sẽ đầy. Tiếp tục đưa bit thứ 9 vào thì bit đầu tiên sẽ bị lòi ra chân số 9 và bit này lại là bit đầu tiên của IC 74HC595 tiếp theo (chân 9 của IC trước nối chân 14 của IC sau). Ta sẽ phải đưa liên tục 8 x 6 = 48 bit để xuất đủ dữ liệu cho 2 màu xanh và đỏ.
Tuy nhiên cần lưu ý là thanh ghi dịch mới chỉ thay đổi trong bụng con 74HC595 thôi chứ chưa đưa ra các chân. Muốn đưa dữ liệu từ các thanh ghi dịch này ra các chân 74HC595 thì cần đưa một xung vào chân RCK (chân số 12).
Các bác để ý là 6 chân SCK của 6 IC 74HC595 nối nhau và đưa về MCU, 6 chân RCK cũng tương tự. Chân G (enable) được nối mass và chân MR (chân reset) nối lên nguồn.
Trong tutorial này, để tiết kiệm thời gian cho em và cho các bác, em chỉ cắm 3 con 74HC595 phục vụ cho việc sáng các led đỏ. Các bác có thể làm với cả 6 IC dịch để sáng được cả các led xanh nếu muốn.
Các bác xem hình ảnh khi cắm xong 3 con 74HC595 này, hơi rối một chút nhưng bác sỹ bảo không sao:
Rồi, đưa cả con MCU vào luôn nhé, ở đây em dùng ATMEGA8515. Schematic các bác xem ở bài trước. Bác nào xài PIC thông cảm nhé, bữa nào em rảnh em làm lại cái này với PIC vậy
Oái, sao tự nhiên nó sáng mấy cái led vậy, chắc con ATMEGA8515 của em đang chạy chương trình cũ của nó. Các bác đừng quan tâm nhé.
Comment
Bài viết mới nhất
Collapse
-
bởi CandientuproCông Ty TNHH Cân Điện Tử Pro Việt Nam là nhà phân phối cấp chính hãng các sản phẩm Loadcell hay còn gọi là cảm biến lực, cảm biến trọng lượng, cảm biến tải trọng của các thương hiệu Mettler Toledo, Zemic. Dòng sản phẩm cảm biến lực loadcell do chúng tôi cung cấp...
-
Channel: Cảm biến - Đo lường
hôm nay, 09:47 -
-
bởi nguyendinhvanỞ đây thì cũng chỉ có mấy cái máy tập gym là cùng, vào Nhà máy thì không đủ tuổi, mà bài thực hành thì không đủ cơm trưa.
Mà mấy cái máy gym thì cần giải pháp đồng bộ tốt hơn là biện pháp chắp vá....-
Channel: Đặt hàng
Hôm qua, 23:12 -
-
Trả lời cho Mạch tự động bật nguồnbởi nguyendinhvanMấy cái hệ thống Minh Thông đó là tôi tránh xa.
Vì một ngày mình bấm nút La- bô mấy lần, bấm vào những giờ nào nó cũng lưu vào datalog.
Dễ lộ bảo mật.
...-
Channel: Điện tử gia dụng
Hôm qua, 23:00 -
-
Trả lời cho Mạch tự động bật nguồnbởi vi van phamĐinh Vặn và Nhà Thùng ngồi uống bia thì cúp điện. Đinh Vặn vào trạng thái stanby, cầm ly bia mà không uống được. Đến khi có điện, cảm biến của Đinh Vặn phát huy chức năng, cầm chai bia tu 1 hơi.
Nhà Thùng vào trạng thái stanby,...-
Channel: Điện tử gia dụng
Hôm qua, 07:47 -
-
Trả lời cho Mạch tự động bật nguồnbởi nhathung1101Lão hôm nay uốn mấy lọ? Làm tôi đọc bài của lão toát cả mồ hôi, mãi khi nhìn sơ đồ mới hiểu....
Aiza... Lão lại đi về thời 0.4 rồi! Giờ cảm biến và trợ lý và thiết bị có đầy...
Tôi về đến Pháp Vân, gọi...-
Channel: Điện tử gia dụng
25-12-2024, 23:30 -
-
bởi nguyendinhvanĐa số các đồ điện là cứ có điện là sẽ hoạt động.
Nhưng ngày nay, nhiều thiết bị điện có điều khiển không tự hoạt động khi có điện nguồn. Máy chỉ ở chế độ stanby, tới khi người sử dụng nhấn phím power.
Ví dụ...-
Channel: Điện tử gia dụng
25-12-2024, 21:02 -
-
bởi nhathung1101Muốn đặt gì thì cũng phải có thông tin cơ bản. Việc nhỏ thế này mà phải dấu giếm thì người lớn không thèm làm đâu.
Cho bạn 3 ngày, không là sẽ xóa.-
Channel: Đặt hàng
22-12-2024, 22:02 -
-
Trả lời cho Hỏi cách điều chế xungbởi nhathung1101Schmit Trigger là chuẩn với điều kiện rise > 0,8V.
Bí thì dùng vi với tích gì đó, miễn đừng nói phân kẻo chó ở đây lại sủa nhặng.-
Channel: Kỹ thuật điện tử tương tự
22-12-2024, 21:57 -
-
bởi trungautMình cần đặt hàng thiết kế chế tạo mạch nghịch lưu 3 pha để cài đặt các thuật toán điều khiển động cơ FOC, DTC, ... Xin liên hệ trungaut@gmail.com để bàn chi tiết. Xin cảm ơn diễn dàn đăng tin!
-
Channel: Đặt hàng
22-12-2024, 14:27 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi tuyennhanCách ly dây điện vào , bộ nguồn và đèn khỏi khung xe thì có rò thật cũng không lo bị giật .
-
Channel: Điện tử dành cho người mới bắt đầu
21-12-2024, 08:56 -
Comment