Trả lời mọi câu hỏi liên quan 8051

ducnghia

Học sinh phổ thông
Thân chào các bạn!
Đã lâu không tham gia diễn đàn. Hiện tại BQT sẽ thanh lọc các thành viên ảo không có bài viết.
Do đó, mình cũng tranh thủ viết 1 bài.
Các bạn có các thắc mắc gì liên quan xoay quanh về MCU 8051- ASM- C thì cứ đặt câu hỏi.
Rất vui xin được giải đáp các thắc, các khó khăn của bạn trong quá trình:
1 - Lâp trình Code
2 - Thiết kế phần cứng sơ đồ mạch cho 8051.
Sẽ cố gắng tối đa để giúp các bạn.
Vì ai cũng có những câu hỏi, không ít thì nhiều, đây là nơi sẻ giúp bạn điều đó, từ câu hỏi đơn giản nhất.
 

ducnghia

Học sinh phổ thông
Các bác cho e hỏi với ợ: e làm mạch led chạy chữ với vđk 89s52, nguyên lý như mạch trái tim, e tăng dòng chân vđk bằng Tranzito 8050 (npn), có dùng ic 7805 để cấp nguồn 5v cho vđk. Bảng led chữ cấp nguồn 12v, vđk đã nạp code. Kỳ lạ là nếu cấp nguồn 5v thì led nháy đúng như code, còn cấp nguồn 12v thì tất cả led đều sáng và đứng im. Các bác giải thik giúp với ạ, e là dân a ma tơ thôi.
 

darkbaron

Học sinh trung cấp
Thân chào các bạn!
Đã lâu không tham gia diễn đàn. Hiện tại BQT sẽ thanh lọc các thành viên ảo không có bài viết.
Do đó, mình cũng tranh thủ viết 1 bài.
Các bạn có các thắc mắc gì liên quan xoay quanh về MCU 8051- ASM- C thì cứ đặt câu hỏi.
Rất vui xin được giải đáp các thắc, các khó khăn của bạn trong quá trình:
1 - Lâp trình Code
2 - Thiết kế phần cứng sơ đồ mạch cho 8051.
Sẽ cố gắng tối đa để giúp các bạn.
Vì ai cũng có những câu hỏi, không ít thì nhiều, đây là nơi sẻ giúp bạn điều đó, từ câu hỏi đơn giản nhất.
thớt cho e hỏi e mắc trans NPN để trợ dòng cho LED như trong hình đúng ko ạ .
8.png


và tại sao khi mắc như z số hiển thị lại bị lêch qua mất 1 cột so voi mô phỏng dùng cổng NOT ạ
9.png

thank thớt ^^
 
thớt cho e hỏi e mắc trans NPN để trợ dòng cho LED như trong hình đúng ko ạ . Xem đính kèm 72997

và tại sao khi mắc như z số hiển thị lại bị lêch qua mất 1 cột so voi mô phỏng dùng cổng NOT ạ Xem đính kèm 72998
thank thớt ^^
về cơ bản ok nhưng phải xem con led matrix bạn chọn cấu trúc như thế nào. port 0 vdk dùng trở 4k7 hoặc 10k kéo lên 5v nhé
 

vs11111

Học sinh phổ thông
chào tiền bối
em ms bước chân vào ngề cũng muốn thử học lập trình ngoại vi sem sao
em muốn sử dụng c++ để lập trình mà không học asembly
như vậy có đc không tiền bối
cho em sin 1 lời khuyên ạ
thân thaks
 

Kiên Xơ Mít

Học sinh phổ thông
Chào a, em mới tập tành học lập trình c cho 8051, khi viết 1 đoạn code với nút bấm sao cho bấm bao nhiêu lần thì đèn số bấy nhiêu đấy sáng lên, khi chạy code thì gặp lỗi
error C141: syntax error near 'void' em không tài nào fix được, mong a giúp cho :)
#include <REGX51.H>
int n=0;


void delay(int time)
{int i;
for(i=0;i<time;i++)
{;}
}

int solanbam()
{
if (P2_0==0) //de nut bam o cong p2.0//
{delay(100);
while(P2_0==0)
{;}
n++;
if(n==7)
{n=0;}
return n; }

void hienthi(int solan)
{ switch(solan)
{ case 0: {break;}
case 1: {P1_0=1; break; }
case 2: {P1_1=1; break; }
case 3:{ P1_2=1; break; }
case 4:{ P1_3=1; break; }
case 5: {P1_4=1; break;}
case 6: {P1_5=1; break; }
}
return(0);
}

void main()
{

while(1)
{solanbam();
hienthi(n); }
}
}
 
Chào a, em mới tập tành học lập trình c cho 8051, khi viết 1 đoạn code với nút bấm sao cho bấm bao nhiêu lần thì đèn số bấy nhiêu đấy sáng lên, khi chạy code thì gặp lỗi
error C141: syntax error near 'void' em không tài nào fix được, mong a giúp cho :)
#include <REGX51.H>
int n=0;


void delay(int time)
{int i;
for(i=0;i<time;i++)
{;}
}

int solanbam()
{
if (P2_0==0) //de nut bam o cong p2.0//
{delay(100);
while(P2_0==0)
{;}
n++;
if(n==7)
{n=0;}
return n; }

void hienthi(int solan)
{ switch(solan)
{ case 0: {break;}
case 1: {P1_0=1; break; }
case 2: {P1_1=1; break; }
case 3:{ P1_2=1; break; }
case 4:{ P1_3=1; break; }
case 5: {P1_4=1; break;}
case 6: {P1_5=1; break; }
}
return(0);
}

void main()
{

while(1)
{solanbam();
hienthi(n); }
}
}
Bạn xem kỹ đoạn này :
void main()
{

while(1)
{solanbam();
hienthi(n); }
}
}
Nó bị thừa 1 dấu } đó

Và :

int solanbam()
{
if (P2_0==0) //de nut bam o cong p2.0//
{delay(100);
while(P2_0==0)
{;}
n++;
if(n==7)
{n=0;}
return n; }
Thì lại bị thiếu }
 
void hienthi(int solan)
{ switch(solan)
{
case 0: {break;}
case 1: {P1_0=1; break; }
case 2: {P1_1=1; break; }
case 3:{ P1_2=1; break; }
case 4:{ P1_3=1; break; }
case 5: {P1_4=1; break;}
case 6: {P1_5=1; break; }
}
return(0);
}

void sẽ không trả về giá trị bạn nhé
 
Sửa lần cuối:

Quảng cáo Google