DTMF Telefon Remote Switch

J

john2020

Guest
hi all,

I've aplikację w którym mam do zdalnej kontroli domowego z wykorzystaniem telefonu DTMF zdalnego switch.Once telefon połączenie jest w miejscu, nadawany sygnał może zostać wykorzystane w celu wyzwolenia żądanej action.This techniki znane z jego użytkowania Zdalny dostęp w automatycznych sekretarek lub conversing z usługodawcami, tu pozwala nam używać klawiatury do sterowania trzy obwody raz połączenia została up.The pilocie przełącznik jest połączony równolegle z aparatów telefonicznych: ten doesnot ograniczyć korzystanie z telefonu w anyway.After wybrać jeden numer dzwoni obwodu dźwigów odbiornika i wysyła potwierdzenie do sygnału dzwonka do rozmówcy, że kod czterocyfrowy numer zostanie entered.Ten sekund są dozwolone dla każdego wejścia cyfrowego, a każda cyfra potwierdzenia przez jeden tone.if terminów, zostanie przekroczony, błąd dźwięku jest produkowany i odbiornikiem na hook.Once zastępuje wszystkie cztery cyfry są odbierane są w porównaniu z magazynu numbers.If cyfry kodu nie są w porozumieniu z którymkolwiek z zapisanych numerów, błąd dźwięku ponownie produkowane i połączenia terminated.The obwodzie jest natychmiast gotowy do nowego call.Each trzech przełączania wyjść przypisano dwa ciągi cyfr, jedno wyjście, aby przełączyć się na scenie i innych, aby przełączyć off.if sam czterocyfrowy numer otrzymała drugi Czas, w obwodzie doesnot zmiany stanu.Ja jestem przy użyciu PIC16F84, z DTMF dekoder MT8870.can jeden mi w tym pomóc? Muszę C kod ten ma kilka linków project.anyone pls posyłać mi zrobić szybko, mam do tego projektu compelete wkrótce.

pozdrowienia
john

 
Zobacz ten link, może być przydatne .... choć nie są one za pomocą DTMF http://www.electronic-circuits-diagrams.com/microcontrollers/microcontrollers1.shtml

Powodzenia

 
cześć

jej także opublikowane w Nov'03 wydanie Elektor Electronics Magazine, o DTMF zdalne telefon switch.but Kiedy próbuję go pobrać, on mówi jej wypłacone subscription.can ktoś może mi pomóc dostać C kod do tego? oto linkhttp://www.elektor-electronics.co.uk/Default.aspx?tabid=27&year=2003pozdrowienia
john

 
Och tak ...Ja również widziałem go w Elektor .... można pobrać za darmo kody http://www.elektor-electronics.co.uk/Portals/0/Magazine/Downloads/2003/020294-11.zip ale smutne powiedzieć są napisane w montażu.

 
cześć

Mówiłem ci, i mają związek ze mną, nawet mam zbyt montażu kod, ale chcę C code.is istnieje tłumacza do tego? Ja planuje wykorzystanie HT miękkich PIC kompilatora C, pomagają mi w tym kodu w C projektu.

pozdrowienia
johnDodano po 2 minuty:cześć

również link, który był określony jedynie przykładowy kod w montażu, to doesnot mieć cały kod potrzebny do projektu.

pozdrowienia
john

 
Cóż powiedzieć ..... sorry nie ma takiego tłumacza, który może konwertować montażu kody do C.

 
cześć

Myślę, że musisz sprawdzić krzyża oświadczenie dokonane tutaj w poprzedniej wiadomości na ten temat nie ma tłumaczy available.check tego łącza.www.mpsinc.com/asm3702c.html
www.idiom.com / free-kompilatory / ECATEGORY / Cvariant
en.wikipedia.org / wiki / BASIC_programming_language
http://o.webring.com/hub?ring=picmicro
http://www.piclist.com/techref/microchip/languages.htmpozdrowienia
johnDodano po 6 minut:C2ASM jest krzyż kompilator, przemienia "C" na kod "Zgromadzenie" kod....UPC kompilator GCC jest realizowany jako dialekt języka aC tłumacz ...

 
Cześć,

Dzięki .... I nie zdaje sobie jednego.BTW,
chciałbym usłyszeć od innych ludzi, jak efektywne są te tłumaczy!

Pozdrowienia

 
hi all,tutaj przesyłam Ci kod telefonu software.i nadzieję, że prace, jakieś sugestie?

Kod:# define czasu 98 / / nie.do czasu występuje na oczekiwania (1 timeout = 200x256us), 98 = czasu 5sec

#
include <pic.h>
#
include <pic1684.h>

__CONFIG (0x3ff1);

void ringcounter (void);
void dowakeon (void);
void dowakeoff (void);
void opóźnienie (void);
void wait5sec (void);
void getdipswitch (void);

char WAKEON = 4;
char WAKEOFF = 5;
char WAITDELAY = 2;
char ringcount = 0;
unsigned int x = 0;

void main (void)
(

GIE = 0 / / disable interrupts
TRISA = 0b00011111; / / PORTA = w
TRISB = 0b00000000; / / B0 do B7 wyjście
OPTION = 0b11010111; / / tmr0/prescaler 256/tmr0 -> wewnętrzne
PORTB = 0, / / kolei wszystkie przekaźniki wyłączone/ / Getdipswitch funkcja ustawia początkowy on / off pierścienie, a także opóźnienia w pierścienie, aby włączyć urządzenie poprzez A4, A3, A2, A1
/ / A4, A3 wakeon wakeoff
/ / 0 0 2 3
/ / 0 1 3 4
/ / 1 0 4 5
/ / 1 1 5 6
/ /
/ / A2 A1 waitdelay
/ / 0 0 5
/ / 0 1 10
/ / 1 0 15
/ / 1 1 20

getdipswitch (); / / configure pierścienie i opóźnieniapodczas gdy (1)
(
ringcounter ();
if (ringcount == WAKEON)
dowakeon ();

else if (ringcount == WAKEOFF)
dowakeoff ();

)

)

void ringcounter (void)
(
ringcount = 0;
podczas gdy (1)
(x = 0;
TMR0 = 0;
while (RA0 == 0)
(
if (TMR0> = 200) / / zachować pewien margines w przypadku TMR0 rolkach do 00, prowadzi go do C8 (200dec)!
(
TMR0 = 0;
x ;
if (x> = czasu) / / jeśli 5s czasu powrotu.Razem timeout = 200us * czasu * 256 (prescaler)
powrotu;
)
)
while (RA0 == 1) / / natomiast A0 = 1 poczekać
ringcount ;
)
)void dowakeon (void)
(
char i;
for (i = 0; i <WAITDELAY; i )
(
ringcounter ();
if (ringcount == 0)
nadal;
w przeciwnym razie
switch (ringcount)
(

case 1: RB0 = 1;
break;
case 2: RB1 = 1;
break;
case 3: RB2 = 1;
break;
case 4: RB3 = 1;
break;

przypadku 5: RB4 = 1;
break;

przypadku 6: RB5 = 1;
break;

przypadku 7: RB6 = 1;
break;

przypadku 8: RB7 = 1;
break;
default: break;
)
)
ringcount = 0;
)void dowakeoff (void)
(
char i;
for (i = 0; i <WAITDELAY; i )
(
ringcounter ();
if (ringcount == 0)
nadal;
w przeciwnym razie
switch (ringcount)
(

case 1: RB0 = 0;
break;
case 2: RB1 = 0;
break;
case 3: RB2 = 0;
break;
case 4: RB3 = 0;
break;
przypadku 5: RB4 = 0;
break;

przypadku 6: RB5 = 0;
break;

przypadku 7: RB6 = 0;
break;

przypadku 8: RB7 = 0;
break;
default: break;
)
)
ringcount = 0;
)void wait5sec (void)
(
x = 0;
TMR0 = 0;
while (x <czasu)
if (TMR0> = 200) / / zachować pewien margines w przypadku TMR0 rolkach do 00, prowadzi go do C8 (200dec)!
(
TMR0 = 0;
x ;
)
powrotu;)void getdipswitch (void)
(
char temp1, temp2;
temp1 = (PORTA & 0b00011000)>> 3 / / uzyskać A4, A3 bitów na temp1
temp2 = (PORTA & 0b00000110)>> 1; / / uzyskać A2, A1 bitów na temp2
switch (temp1)
(
case 0: WAKEON = 2; WAKEOFF = 3;
break;
case 1: WAKEON = 3; WAKEOFF = 4;
break;
case 2: WAKEON = 4; WAKEOFF = 5;
break;
case 3: WAKEON = 5; WAKEOFF = 6;
break;
default: break;
)

switch (temp2)
(
case 0: WAITDELAY = 1;
break;
case 1: WAITDELAY = 2;
break;
case 2: WAITDELAY = 3;
break;
case 3: WAITDELAY = 4;
break;
default: break;
)

)pozdrowienia
john

 
hello sir
Potrzebuję schemat i kod dla tego projektu (jak się je do mnie semestr projektu), tak prosimy me.but będziemy używali Atmel 89c51 (8051) z montażem języka.

BR

 
Hej ... john2020 ty badany swój kod powyżej,
jestem bardzo ciekawa!

 
Jej projekt jest w pełni udokumentowany kod i PCB
Przepraszamy, ale musisz logowania w celu wyświetlenia tego zajęcia

 

Welcome to EDABoard.com

Sponsor

Back
Top