forum elektronik

Aturan | Recent posts | topik RSS | Search | Register | Login

timeout di 89C51/89C52


Post new topic Reply to topic EDAboard.com Forum Indeks -> Microcontrollers -> timeout di 89C51/89C52
Author Pesan
semikonduktor



Joined: 04 Apr 2003
Posts: 294
Helped: 3
Lokasi: Perancis


Post 27 April 2005 18:02

timeout di 89C51/89C52


Aku ditugaskan program latihan untuk sebuah pintu otomatis AT89C51 untuk proyek.

Aku sedang menghadapi masalah: TIMEOUT

jika sensor mendeteksi orang luar yang tersedia, itu akan membuka pintu dan menunggu sensor mendeteksi batin orang yang tersedia. Setelah 20-an, jika tidak ada sinyal yang terdeteksi, secara otomatis menutup pintu dan kembali ke awal program (menunggu sinyal dari pintu luar.

dengan AT89C51, aku pemrograman di C, tapi aku tidak tahu bagaimana merancang algoritma TIMEOUT dengan AT89C51 (20 detik).

Dapatkah seseorang merekomendasikan saya solusi?
Kembali ke atas
Google
AdSense
Google Adsense




Post 27 April 2005 18:02

Iklan




Kembali ke atas
IanP



Joined: 05 Oct 2004
Posts: 6.490
Helped: 1542
Lokasi: West Coast


Post April 28, 2005 1:25

Re: timeout di 89C51/89C52


Menggunakan Timer1 dalam MODE1 (16-bit counter) untuk menghitung (Fclock/12): FFFFh.
Jika kristal yang mengganggu 11.0952MHz akan terjadi setiap (11095200/12) / 65536 = 14,108 .. kali per detik.
Buat variabel TimeH dan TimeL.
Meningkatkan TimeHTimeL setiap menyela. Untuk mencapai 20 detik, Anda akan memerlukan ≈ 282 potong dan yang akan meninggalkan TimeHTimeL = 01 1A (h) = 0.282 (d).
Sekarang Anda dapat me-reset 20-an counter (TimeHTimeL) dan melaksanakan apa pun yang harus dilakukan setelah 20-an ..

Good luck ..
Kembali ke atas
mrcube_ns



Joined: 10 April 2002
Posts: 429
Helped: 11
Lokasi: Dark side of the Moon


Post 28 April 2005 21:17

Re: timeout di 89C51/89C52


Completly IanP adalah benar,

tapi, saya sarankan untuk menggunakan kristal 12MHz, jadi satu siklus 1us.

Kemudian, Anda menggunakan Timer 1 sebagai timer 16-bit dan membuat 50ms timer (T1H = 0x3C T1L = 0xAF), sehingga Anda memiliki 20 dihitung dalam satu detik => untuk kaya 20sec Anda harus persis 400 penting.


Salam,


Mr.Cube
Kembali ke atas
Hero



Joined: 06 Mar 2002
Posts: 145
Helped: 2


Post April 29, 2005 3:51

Re: timeout di 89C51/89C52


Hai,

Untuk jangka waktu yang lama perlu Sotware counter.

Gunakan perangkat keras 16-bit counter untuk generasi intterupt periodik.

Dalam rutin layanan interupsi CNT_FLAG mengatur variabel.

unsigned char CNT_FLAG;
unsigned long cnt;
unsigned char TIMEOUT;
unsigned char TIMEOUT_ENABLED;

# define TIMEOUT_THRESHOLD 1024

void interrupt_routine ()
(
CNT_FLAG = 1;
)

void main ()
(
init ();

while (1) (
...
cnt_process ();
tidur (); / / modus tidur
)
)

void cnt_process ()
(
if (CNT_FLAG) (
CNT_FLAG = 0;
if (TIMEOUT_ENABLED) (
if (cnt <TIMEOUT_THRESHOLD)
cnt ;
TIMEOUT = (cnt == TIMEOUT_THRESHOLD);
)
)
)

Ketika cnt mencapai TIMEOUT TIMEOUT_THRESHOLD akan ditetapkan.

Solusi lain adalah kenaikan cnt dalam rutin interupsi

void interrupt_routine ()
(
if (TIMEOUT_ENABLED) (
if (cnt <TIMEOUT_THRESHOLD)
cnt ;
TIMEOUT = (cnt == TIMEOUT_THRESHOLD);
)
)
Kembali ke atas
Versi arabic Versi Bulgaria Catalan versi Versi Ceko Versi Denmark Versi Jerman Versi Yunani Versi Inggris Versi Spanyol Versi Finlandia Versi Prancis Hindi versi Kroasia versi Versi Indonesia Versi Italia Versi Ibrani Versi Jepang Versi Korea Lithuania versi Latvia versi Versi Belanda Versi Norwegia Versi Polandia Versi Portugis Romanian versi Versi russian Slovak versi Slovenian versi Serbia versi Versi Swedia Versi Tagalog Versi Ukraina Versi Vietnam Cina versi
Post new topic Reply to topic EDAboard.com Forum Indeks -> Microcontrollers -> timeout di 89C51/89C52
Halaman 1 dari 1

subj

text

All times are GMT 1 Jam
Topik yang sama:
kalkulator menggunakan 89C51 atau 89c52 (6)
perbedaan dalam Atmel 89c51 dan 89c52 (9)
timeout error di vb (1)
C code (hardware Tesitng timeout) (7)
SIM700D: Timeout kali dari AT Commands? (3)
89C52 Serial Interface (3)
89c52 interfacing dengan PC (5)
89C52 desing masalah (4)
kode lcd 89c52 (5)
Permintaan mengenai 89c52 .... (2)


Penyalahgunaan | | Admin | | Moderator | | Dukung kami | | sitemap
topik RSS