Hardware Delay

M

Membantu

Guest
Hai,

Siapa saja dapat membantu saya untuk memeriksa kode sederhana (program kerja).

Masalahnya adalah ketika saya menggunakan Keil untuk mensimulasikan hasilnya adalah ..Perulangan 1.029805sec pada 1000 tetapi ... ketika praktis tidak ~ 1sec (waktu yang diperlukan lebih dari beberapa menit).
then in practical the result nearly to ~1sec.

Jadi, saya ubah ke 1 pada DELAY_T0_Wait (1);
kemudian dalam hasil praktis hampir ke ~ 1sec.

Hardware kristal 11.059MHz.

Can anyone tell me kenapa?

Terima
Maaf, tapi Anda harus login untuk melihat lampiran

 
Halo

Ini adalah cara yang salah untuk melakukan hardware menunda!

Anda harus mengatur timer untuk inerrupt periodik yang meningkatkan panjang variabel jenisTimeValue = TimeValue 1;bila Anda ingin memulai sebuah keterlambatan Anda perlu menyimpan nilai mendaftarkan penundaan

periode.Temp = TimeValue Delay;untuk pengujian menciptakan jika loop yang membaca variabel dan pedagang kuda itu dengan yang Anda simpan sekali nilai yang kemudian equle atau besar -> penundaan itu atasDlayFlag = 0;Temp2 = TimeValue;if (Temp> = Temp2)DlayFlag = 1;All the best

Bobi

 
Hi Friend,

Sangat senang Anda bisa menjelaskan kepada saya, tetapi saya masih punya sedikit kabur kabur.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />

.., Silahkan dapat Anda membantu saya untuk diubah kode saya.Jadi, saya bisa belajar / coba dari kode, apakah saya masih tidak mengerti itu sehingga kami datang dan mendiskusikan lebih lanjut dapat kita?

Thank You

 
Aku tidak bisa melihat apa-apa yang salah dengan kode ini (dari Bab 6: "Rapat kendala real-time", Embedded C), bahkan jika tidak menggunakan menyela ..
Dapatkah Anda memposting kode terkompilasi yang Anda mencoba untuk menggunakan mikrokontroler secara real ..
Salam,
IanP

 
hai,

Saya menggunakan bahwa i post it untuk menjalankannya secara real mikrokontroler.Hanya yang berbeda dengan kode ini ..

then i change it to DELAY_T0_Wait(1);
because if i using the book given value i can't achieve ~1sec in real microcontroller.

buku ini diberikan DELAY_T0_Wait (1000);
kemudian saya ubah ke DELAY_T0_Wait (1);
karena jika saya menggunakan nilai yang diberikan buku saya tidak bisa mencapai ~ 1sec secara real mikrokontroler.

Apakah Anda punya ide??

Thank You

 
Aku memeriksa HEX file dari ZIP, dibongkar dan tidak dapat menemukan kesalahan apapun ..

Lalu aku diuji kode Anda di 87C52 mikro dan seperti yang saya 1.2ms gelombang persegi pada pin 1.0, jadi aku berasumsi jika N = 1000 gelombang persegi akan 1.2s ..

Salam,
IanP

 
Hai,

Jadi, Anda berarti bahwa ada masalah dengan kode ketika Anda menggunakan kode saya?Anda harus mengubah N = 1000 atau N = 1 pada kode lalu jalankan dalam cara yang praktis?Pada N = 1000 kode saya harus menunggu pin1.0 dengan LED berkedip-kedip sangat panjang ... apa broblem??

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />

Apakah masalah hardware saya??

Thanks ..

 
Itu benar, software berjalan dengan baik ..

Hanya untuk memastikan bahwa hal itu juga dilakukan dengan N = 1000, dapat anda mengkompilasi file baru dengan N = 1000 dan posting mereka?

Jika Anda bisa, ganti dengan mikrokontroler 8051-compatibile lain, dan periksa jika frekuensi clock adalah 11,059200 ..

Salam,
IanP

 
Hai,

Saya sudah posting N = 1000 dan N = 1 Hex file untuk Anda, silakan mencoba dan melihat ...

Saya hanya memiliki 89c52 dan i am menggunakan kristal 11.059M ..

Thanks A Lot ....
Maaf, tapi Anda harus login untuk melihat lampiran

 
Saya telah mencoba N = 1000 pilihan dan resultan gelombang persegi telah ≈ periode 0.7s ..
Jadi, lebih dari sedikit itu dapat diatasi ..
Di sisi lain mengapa Anda berperilaku berbeda 89C52 ..Aku benar-benar tidak tahu ..
Salam,
IanP

 

Welcome to EDABoard.com

Sponsor

Back
Top