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.
help!!! mô phỏng bị gặp lỗi. ( hệ điều hành thời gian thực)
Collapse
X
-
Tags: None
-
-
[QUOTE=han_doi_1987;653246]ko có code lấy gì giúp.keke[/QUOT]
code mình để trong file text.c bác mở notepad lên là đc. bác xem mình có bị sai chỗ nào ko mà mô phỏng 4 con led 7 thanh nó lại lại ko đc.
Comment
-
-
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, 08: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
-
bởi domar123Giải pháp toàn diện cho người dùng đa nhiệm
Nếu bạn đang cần một bộ máy vừa phục vụ công việc chuyên môn nặng vừa đáp ứng nhu cầu giải trí cao cấp, sự kết hợp giữa Ryzen 9 9950X TRAY và Radeon RX 9070 XT 16GB là lựa chọn...-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 17:12 -
-
bởi lvhnKhác nhau là đi lái thuê hoặc chạy dịch vụ được
...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 15:50 -
-
bởi ittcHic, sao nhiều anh em khuyên là đàn ông đã học thì học luôn số sàn chứ đừng học số tự động anh....-
Channel: Tâm tình dân kỹ thuật
16-08-2026, 17:46 -
-
bởi mèomướp1. Tìm hiểu đc thì càng tốt, bận thì thôi. Ko cần quá quan trọng
2. Số tự động cho đơn giản, kiểu như đi xe ga ấy ạ
3. Học lý thuyết tử tế ok
4.ok
5.có. đủ số km, tgian cầm lái là đc
6.đi ăn tập thể,...-
Channel: Tâm tình dân kỹ thuật
14-08-2026, 16:34 -

Comment