09-02-2008, 22:52
|
|
|
|
חבר מתאריך: 08.10.02
הודעות: 827
|
|
בקש AT89S52, שזה בקר פשוט על בסיס 8051.
אתה תצטרך גם לבנות\להשיג לו צורב אם אתה מעוניין לצרוב אותו.
ישנם קומפילרים של C לבקר, לדוגמא: SDCC, וIDE מתאים לדוגמא: SES51C.
SDCC בא עם קבצי headerים שמגדירים את כל האוגרים ואת הכתובות שלהם ואז אתה רק משתמש בהם כמו משתנה.
למשל בשביל הבקר שציינתי פשוט מצרפים את הheader המתאים:
קוד:
#include <mcs51\at89x52.h>
ואז ניתן להשתמש באוגרים כמו משתנים. לדוגמא פונקציית השהייה:
קוד:
void delay(int ms) {
//Set timer settings...
TMOD = (TMOD & 0xF0) | 0x01; //Set Timer0 to mode 1 (16 bit counter)
TR0 = 1; //Start the timer
while (ms--) {
TH0 = 0xFC; TL0 = 0x66; //Reset the timer count to -921 (Will take 1ms to complete)
TF0 = 0; //Reset overflow flag
while (TF0 != 1); //Wait until Timer1 overflows
}
TR0 = 0; //Stop the timer
}
השפה\קומפיילר מאפשרת גם שימוש קל באינטרפטים בצורה הבאה:
קוד:
void timer1_int(void) interrupt 3 {
P1 = 0x01;
}
_____________________________________
Error: Keyboard not found
Press F1 to continue
|