e đang làm bài báo cáo vđk. viết code xong rùi nhưng khi mô phỏng bị lỗi không hiển thị đc led 7 thanh đếm từ 0000-9999 theo chương trình. bác nào giúp e cái vụ này vs. e gửi cả file mô phỏng và code mong bác nào giúp e nha.
Thông báo
Collapse
No announcement yet.
help!!! mô phỏng bị gặp lỗi. ( hệ điều hành thời gian thực)
Collapse
X
-
vậy bác biết pro nào có thể giúp mình ko. mình tím mãi mà ko ra. code thì ok rùi mà sao mô phỏng lại bị thế. ko thể hiểu đcNguyên văn bởi han_doi_1987 Xem bài viếthehe. bạn viết bằng c, mình po tay thui, mình chỉ bít asm thui
Comment
-
mình viết bang hệ điều hành thời gian thực mà. ko cần phải void main. nhưng mình đang gặp lỗi trong lúc mô phỏng 4 con led 7. ko chạy đc . bác biết chỉnh lại giúp mình đc ko.Nguyên văn bởi chung1608 Xem bài viếtcode chả thấy main() nằm đâu.
Comment
-
chương trình của bạn ko có hàm main. nó chạy làm sao được nhỉ???Nguyên văn bởi dt3k12haui Xem bài viếte đang làm bài báo cáo vđk. viết code xong rùi nhưng khi mô phỏng bị lỗi không hiển thị đc led 7 thanh đếm từ 0000-9999 theo chương trình. bác nào giúp e cái vụ này vs. e gửi cả file mô phỏng và code mong bác nào giúp e nha.
mà lắm while(1) như thế thì có ích gì ko? trong khi nó chạy trong cái while đó mà ko thoát ra được để thực hiện hàm tiếp thepNguyễn Huy Biên - 01649 802 694
gmail :
Comment
-
chương trình này là viết bằng các hàm đc chạy song song vs nhau mà. ko như chương trình có hàm main() phải chạy lần lượt từng lệnh 1. chương trình này chạy song từng hàm và cái hàm os_creat_task_0 nó như là 1 cái hàm main(). bạn đọc lại sách vđk se có phần nói về cái này. mình vẫn chưa tìm ra đc tại sao mô phỏng nó lại ko chạy phần led 7 thanh. bác có biết ai pro có thể sửa giúp mình thì tốt wa.Nguyên văn bởi bienhou Xem bài viếtchương trình của bạn ko có hàm main. nó chạy làm sao được nhỉ???
mà lắm while(1) như thế thì có ích gì ko? trong khi nó chạy trong cái while đó mà ko thoát ra được để thực hiện hàm tiếp thep
Comment
-
89 là VDK đơn nhân 1 bộ ALU chạy 1 lệnh làm sao có thể xử lý // nhiều lệnh đc, cấu trúc phần cứng ko cho phép. Bạn đọc trong sách nào thế, up lên mình tham khảo với.Nguyên văn bởi dt3k12haui Xem bài viếtchương trình này là viết bằng các hàm đc chạy song song vs nhau mà. ko như chương trình có hàm main() phải chạy lần lượt từng lệnh 1. chương trình này chạy song từng hàm và cái hàm os_creat_task_0 nó như là 1 cái hàm main(). bạn đọc lại sách vđk se có phần nói về cái này. mình vẫn chưa tìm ra đc tại sao mô phỏng nó lại ko chạy phần led 7 thanh. bác có biết ai pro có thể sửa giúp mình thì tốt wa.Last edited by chung1608; 02-01-2013, 09:09.
Comment
-
bạn ơi chơi sang quá. hàm này mình cũng chưa được tìm tới, nhưng cái đó tính sau đi. vấn đề của bạn là hiểu được thuật toán hiển thị ra led 7 đoạn đã rùi chơi cái đó sau. bạn xem mô phỏng và chuơng trình sau nhé:Nguyên văn bởi dt3k12haui Xem bài viếtchương trình này là viết bằng các hàm đc chạy song song vs nhau mà. ko như chương trình có hàm main() phải chạy lần lượt từng lệnh 1. chương trình này chạy song từng hàm và cái hàm os_creat_task_0 nó như là 1 cái hàm main(). bạn đọc lại sách vđk se có phần nói về cái này. mình vẫn chưa tìm ra đc tại sao mô phỏng nó lại ko chạy phần led 7 thanh. bác có biết ai pro có thể sửa giúp mình thì tốt wa.
trên sơ đồ mình giảm thiểu các linh kiện linh tinh đi sao cho đơn giản nhất.
#include <REGX52.H>
sbit led1 = P2^0; //led 1
sbit led2 = P2^1; //led 2
sbit led3 = P2^2; //led 2
sbit led4 = P2^3; //led 2
// P1 là cổng xuất dữ liệu .
unsigned char a[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6 f,0};
void delay()
{ // ham nay co do che la 500 us
TMOD=0x21;
TH0=0xfe;
TL0=0x0c;
TR0=1;
while(TF0==0)
{}
TR0=0;
TF0=0;
}
void hienthi(unsigned char n1,unsigned char n2,unsigned char n3,unsigned char n4,unsigned char time)
{
unsigned char n;
led1=0;led2=0;led3=0;led4=0;P1=0;
for(n=0;n<time;n++)
{
P1=a[n1];led1=1;delay();led1=0;P1=0; //
P1=a[n2];led2=1;delay();led2=0;P1=0; //
P1=a[n3];led3=1;delay();led3=0;P1=0; //
P1=a[n4];led4=1;delay();led4=0;P1=0; //
}
}
main()
{ int m,nghin, tram, chuc, donvi; //
for( ; ; )
{
for(m=0;m<10000;m++)
{
nghin=m/1000;
tram=(m-nghin*1000)/100;
chuc=(m%100)/10;
donvi=(m%100)%10;
if(m<1000)
{
nghin=11;
if(m<100)
{ tram=11;
if(m<10)
{chuc=11;}
}
}
hienthi(nghin,tram,chuc,donvi,1);
}
}
}chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
Everything should be made as simple as possible, but not simpler
Comment
-
trong 8051 có hỗ trợ có thể thực hiện nhiều tác vụ cùng 1 lúc và đc dùng nhiều trong hệ điều hành thời gian thực. bạn đọc lại sách hoặc tìm hiểu trên mạng là có.đây là 1 phần rất hay bạn nên tìm hiểu thêm nhé.Nguyên văn bởi chung1608 Xem bài viết89 là VDK đơn nhân 1 bộ ALU chạy 1 lệnh làm sao có thể xử lý // nhiều lệnh đc, cấu trúc phần cứng ko cho phép. Bạn đọc trong sách nào thế, up lên mình tham khảo với.
Comment
-
thuật toán quét led 7 đoạn mình cũng hiểu đc 1 chút.thanks ban nha. mình thử láy cái ct này của bạn nhét vô cái bài của mình xem sao.Nguyên văn bởi daohuytien Xem bài viếtbạn ơi chơi sang quá. hàm này mình cũng chưa được tìm tới, nhưng cái đó tính sau đi. vấn đề của bạn là hiểu được thuật toán hiển thị ra led 7 đoạn đã rùi chơi cái đó sau. bạn xem mô phỏng và chuơng trình sau nhé:
trên sơ đồ mình giảm thiểu các linh kiện linh tinh đi sao cho đơn giản nhất.
Comment
-
nó là 1 dạng mở rộng nguyên nhân ngắt, nhưng vì mình ko có file lib của rtx51 nên ko biết code nguồn asm ban đầu nó khai báo thế nào thì mới biết đc nó có chạy hay ko. Về nguyên lý thì nó cũng chỉ làm 1 công việc trong 1 thời điểm thôi.Nguyên văn bởi dt3k12haui Xem bài viếttrong 8051 có hỗ trợ có thể thực hiện nhiều tác vụ cùng 1 lúc và đc dùng nhiều trong hệ điều hành thời gian thực. bạn đọc lại sách hoặc tìm hiểu trên mạng là có.đây là 1 phần rất hay bạn nên tìm hiểu thêm nhé.
Comment
-
Trên thực tế, 8051 là vi xử lý đơn nhân, do đó 1 lúc sẽ không thể thực hiên được 2 lệnh, việc như bạn nói có thể thực thi song song cả 2 nhiệm vụ là không hoàn toán đúng.Nguyên văn bởi dt3k12haui Xem bài viếte đang làm bài báo cáo vđk. viết code xong rùi nhưng khi mô phỏng bị lỗi không hiển thị đc led 7 thanh đếm từ 0000-9999 theo chương trình. bác nào giúp e cái vụ này vs. e gửi cả file mô phỏng và code mong bác nào giúp e nha.
RTOS cho phép CPU thực thi đa nhiệm với điều kiện mỗi nhiệm vụ sẽ được thực thi sau 1 khoảng thời gian đặt trước.
VD: Bạn có ý định chuyển 2 cái hộp từ A--> B với khoảng cách là 1m. có 2 cách giải quyết.
C1: chuyển hộp 1 từ A-->B sau đó chuyển hộp còn lại từ A-->B
C2: chuyển hộp 1 đi được 1cm sau đó quay lại chuyển hộp 2 1cm sau đó lại quay lại chuyển hộp 1....
kết quả của cách 2 sẽ cho thấy hai cái hộp sẽ đựoc đưa đến B cùng một lúc...
Thông thường RTOS của 8051 hay các vi điều khiển đều sử dụng ngắt để tạo ra 1 khoảng thời gian thực thi nhiệm vụ.
bài toán của bạn sẽ có 2 khoảng thời gian thực thi đó là: Thời gian đếm tăng giá trị và thời gian quét LED.
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 qua, 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