Em cảm ơn Mr.ngoc nhiều lắm!!!!
Thông báo
Collapse
No announcement yet.
MATRIX 8x24
Collapse
X
-
Em chào mọi người!!
em có thể hỏi cái này được không ạ?
Trong 1 đoạn cde của AVR viết bằng Code vision người ta có khai báo 1 cái là
// Global enable interrupts
#asm("sei")
k=-48;
length = cdmd;
for (i=0;i<length;i++)
{
chu[i]=macdinh[i];
};
thì cái dòng #asm("sei")
có nghĩa là gị vậy mấy anh???
Em cảm ơn nhiều lắm



Comment
-
#asm("sei")Nguyên văn bởi thuy_huyen Xem bài viếtEm chào mọi người!!
em có thể hỏi cái này được không ạ?
Trong 1 đoạn cde của AVR viết bằng Code vision người ta có khai báo 1 cái là
// Global enable interrupts
#asm("sei")
k=-48;
length = cdmd;
for (i=0;i<length;i++)
{
chu[i]=macdinh[i];
};
thì cái dòng #asm("sei")
có nghĩa là gị vậy mấy anh???
Em cảm ơn nhiều lắm




sei = set enable interupt : Có nghĩa là cho phép ngắt toàn cục
dùng chỉ thị #asm để nhúng lệnh asm vào trong chương trình C
0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
||
PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK
Comment
-
các anh ơi cho em hỏi cái này tí.Sao em mô phỏng con AVR trên protues mà nó không chạy đúng tí nào nhỉ??? hay mình phải làm mạch test thì nó mới chạy?
các anh xem thử phần lập trình và mạch nguyên lý của em trên protues xem có chổ nào sai không !!!
Em cả ơn rất nhiều



http://www.mediafire.com/?2pj1mcb33nee3l5
Comment
-
Bạn vào đây xem thử, minh đã ưng dụng làm mach thật chạy rất tốt, nếu bạn ở TP.HCM bạn vào cửa hàng đó mua mạch in 8X24 (khoan 20 ngan) về hàn linh kiện vô là chay thôi
Trao đổi học tập - chi tiết
Comment
-
cách quét led này tốn chân vi điều khiển mình có mạch matrix 8x48 này,hi vọng giúp ích,code mình vừa viết lại bằng ngôn ngữ asm trên phần mềm keil c ,trước đây thì mình viết bằng ride link:matrix chi co 595.rar
mạch này chỉ dùng ít chân vi điều khiền rất hay dùng
Comment
-
Bác thử dùng code này xem, ở đây e dùng 3 port, đk 8x16, pác mún thêm port thì thêm vào hàm main, còn mún chỉnh nhanh chậm thì sửa 2 dòng delay là oker#include <REGX51.H>
/* Cot tu P1.0 den 1.7
Hang tu P2.0 den P3.7
De quet dua muc logic 0 lan luot ra cong 0
*/
/* Ham tre */
void delay(long time)
{
long n;
for(n=0; n<time; n++)
{
;
}
}
unsigned char kytu1[9];
unsigned char kytu2[9];
unsigned char k=0;
/* Ham nap gia tri hien thi cac ky tu vao mang kytu1
co 8 gia tri dua ra va 1 gia tri khong bat den nao de cac ky tu cach nhau 1 cot */
void mahoa(unsigned char x)
{
switch(x)
{
case 0: { kytu1[0]=0x00; kytu1[1]=0x00; kytu1[2]=0x00; kytu1[3]=0x00;
kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x00; kytu2[2]=0x00; kytu2[3]=0x00;
kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
break; }
case 1: { kytu1[0]=0x00; kytu1[1]=0x3E; kytu1[2]=0x0A; kytu1[3]=0x0E;
kytu1[4]=0x00; kytu1[5]=0x38; kytu1[6]=0x08; kytu1[7]=0x08; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x00; kytu2[2]=0x00; kytu2[3]=0x00;
kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
break; }
case 2: { kytu1[0]=0x00; kytu1[1]=0x38; kytu1[2]=0x28; kytu1[3]=0x38;
kytu1[4]=0x00; kytu1[5]=0x38; kytu1[6]=0xA8; kytu1[7]=0xF8; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x3E; kytu2[2]=0x0A; kytu2[3]=0x0E;
kytu2[4]=0x00; kytu2[5]=0x38; kytu2[6]=0x08; kytu2[7]=0x08; kytu2[8]=0x00;
break; }
case 3: { kytu1[0]=0x00; kytu1[1]=0x38; kytu1[2]=0x08; kytu1[3]=0x08;
kytu1[4]=0x00; kytu1[5]=0x38; kytu1[6]=0x28; kytu1[7]=0x38; kytu1[8]=0x20; kytu2[0]=0x00; kytu2[1]=0x38; kytu2[2]=0x28; kytu2[3]=0x38;
kytu2[4]=0x00; kytu2[5]=0x38; kytu2[6]=0xA8; kytu2[7]=0xF8; kytu2[8]=0x00;
break; }
case 4: { kytu1[0]=0x20; kytu1[1]=0x00; kytu1[2]=0x38; kytu1[3]=0x08;
kytu1[4]=0x38; kytu1[5]=0x08; kytu1[6]=0x38; kytu1[7]=0x00; kytu1[8]=0x38; kytu2[0]=0x00; kytu2[1]=0x38; kytu2[2]=0x08; kytu2[3]=0x08;
kytu2[4]=0x00; kytu2[5]=0x38; kytu2[6]=0x28; kytu2[7]=0x38; kytu2[8]=0x20;
break; }
case 5: { kytu1[0]=0x38; kytu1[1]=0x08; kytu1[2]=0x38; kytu1[3]=0x08;
kytu1[4]=0x38; kytu1[5]=0x00; kytu1[6]=0x38; kytu1[7]=0x00; kytu1[8]=0x38; kytu2[0]=0x20; kytu2[1]=0x00; kytu2[2]=0x38; kytu2[3]=0x08;
kytu2[4]=0x38; kytu2[5]=0x08; kytu2[6]=0x38; kytu2[7]=0x00; kytu2[8]=0x38;
break; }
case 6: { kytu1[0]=0x38; kytu1[1]=0x08; kytu1[2]=0x38; kytu1[3]=0x00;
kytu1[4]=0x38; kytu1[5]=0xA8; kytu1[6]=0xF8; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x38; kytu2[1]=0x08; kytu2[2]=0x38; kytu2[3]=0x08;
kytu2[4]=0x38; kytu2[5]=0x00; kytu2[6]=0x38; kytu2[7]=0x00; kytu2[8]=0x38;
break; }
case 7: { kytu1[0]=0x00; kytu1[1]=0x3C; kytu1[2]=0x0A; kytu1[3]=0x3C;
kytu1[4]=0x02; kytu1[5]=0x3E; kytu1[6]=0x02; kytu1[7]=0x00; kytu1[8]=0x3E; kytu2[0]=0x38; kytu2[1]=0x08; kytu2[2]=0x38; kytu2[3]=0x00;
kytu2[4]=0x38; kytu2[5]=0xA8; kytu2[6]=0xF8; kytu2[7]=0x00; kytu2[8]=0x00;
break; }
case 8: { kytu1[0]=0x3E; kytu1[1]=0x2A; kytu1[2]=0x3E; kytu1[3]=0x00;
kytu1[4]=0x2E; kytu1[5]=0x2A; kytu1[6]=0x3E; kytu1[7]=0x00; kytu1[8]=0x3E; kytu2[0]=0x00; kytu2[1]=0x3C; kytu2[2]=0x0A; kytu2[3]=0x3C;
kytu2[4]=0x02; kytu2[5]=0x3E; kytu2[6]=0x02; kytu2[7]=0x00; kytu2[8]=0x3E;
break; }
case 9: { kytu1[0]=0x3E; kytu1[1]=0x22; kytu1[2]=0x22; kytu1[3]=0x00;
kytu1[4]=0x28; kytu1[5]=0x10; kytu1[6]=0x28; kytu1[7]=0x00; kytu1[8]=0x28; kytu2[0]=0x3E; kytu2[1]=0x2A; kytu2[2]=0x3E; kytu2[3]=0x00;
kytu2[4]=0x2E; kytu2[5]=0x2A; kytu2[6]=0x3E; kytu2[7]=0x00; kytu2[8]=0x3E;
break; }
case 10: { kytu1[0]=0x28; kytu1[1]=0x10; kytu1[2]=0x28; kytu1[3]=0x00;
kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x3E; kytu2[1]=0x22; kytu2[2]=0x22; kytu2[3]=0x00;
kytu2[4]=0x28; kytu2[5]=0x10; kytu2[6]=0x28; kytu2[7]=0x00; kytu2[8]=0x28;
break; }
case 11: { kytu1[0]=0x00; kytu1[1]=0x00; kytu1[2]=0x00; kytu1[3]=0x00;
kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x28; kytu2[1]=0x10; kytu2[2]=0x28; kytu2[3]=0x00;
kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
break; }
case 12: { kytu1[0]=0x00; kytu1[1]=0x00; kytu1[2]=0x00; kytu1[3]=0x00;
kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x00; kytu2[2]=0x00; kytu2[3]=0x00;
kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
break; }
}
}
/* Ham quet led ma tran_ vua hien thi vua dich ky tu dan sang trai*/
void hienthi(void)
{
unsigned char n,m,lap;
unsigned char cot[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
for(m=0; m<8 ; m++)
{
for(lap=0; lap<2; lap ++)
{
for(n=0; n<8 ; n++)
{
if((n+m)<9 )
{
mahoa(k);
P0=cot[n];
P2=kytu1[n+m];
P3=kytu2[n+m];
delay(100);
}
if((n+m) > 7)
{
mahoa(k+1);
P0=cot[n];
P2=kytu1[n+m-8];
P3=kytu2[n+m-8];
delay(100);
}
P0=0xFF;
P2=0x00;
P3=0x00;
}
}
}
}
void main(void)
{
while(1)
{
hienthi();
k=k+1;
if(k==12) k=0;
}
}Đừng tự hào nhà nghèo mà học giỏi.
Hãy tự hỏi tại sao giỏi mà vẫn nghèo.
Riêng mình: "vừa nghèo vừa ngu" :))
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
hôm nay, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:03 -
-
bởi chinhnguyen9Công thức
Gain (dB) = 20 × log₁₀(A)
Thí dụ 1; 60dB
log₁₀(A)=60/20=3
⇒ A=V_out / V_in = 10³ = 1.000
Thí dụ 2; 100dB
log₁₀(A)=100/20=5
⇒ A=V_out / V_in = 105 = 100.000
Tí dụ 3; LM 358
Large Signal Open Loop Voltage Gain AVOL V/mV RL = 2.0...-
Channel: Hướng dẫn sử dụng diễn đàn
19-03-2026, 08:44 -
-
Trả lời cho Mạch 3s bị giảm điện áp đầu rabởi minhtri0405chả biết bạn xử lý được chưa , kích sạc hoặc điện áp > điện áp khối pin vào 2 chân P - P+ , nhiều mạch phải yêu cầu có kích lần đầu sau đó mới chạy...
-
Channel: Điện tử dành cho người mới bắt đầu
18-03-2026, 10:01 -
-
bởi minhtri0405đây có phải là 1 cách để test mosfet xịn hay dỏm khi mua đồ tàu không nhỉ , vì ko thể đập ra để coi lõi rồi trả hàng được....
-
Channel: Tâm tình dân kỹ thuật
18-03-2026, 09:57 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi Tuyenvc345
-
Channel: Hỗ trợ học tập
16-03-2026, 18:05 -

Comment