سلام
من باید 1 پروژه تا آخر شهریور تحویل بدم که موضوعش شماره گیر تلفن هست . من با pic16f877 کارکردم و پالس dtmf خروجی رو تولید کردم و اما مشکل در مورد آی سی tea1062 دارم که کار ارتباط با خط تلفن و انتقال صدا و دریافت صدا رو انجام می ده اما مقادیر مقاومت و خازنهایی که در دیتاشیت آی سی هست درست جواب نمیده و گین درست تنظیم نمیشه .
خلاصه سرتون رو درد نیارم من چون زیاد وقت ندارم یک مدار آماده لازم دازم با 1062 که فقط 2 پایه mute و dtmf به من بده، فکر می کنید می تونید کمک کنید؟
مهندس یه avr بذار !
خود میکرو می تونه dtmf کنه !
دستور DTMFOUT در بسکام:
توسط این دستور میتوانید پالس مناسب با یک عدد را تولید کرده و ان را روی خط تلفن سوار کنید. فرم کلی این دستور به شکل زیر است : این دستور دردو فرم استفاده میشود،
فرم اول:
با این دستور شما میتوانید فقط یک شماره را به خط تلفن ارسال کنید ، متغیری که رقم دلخواه در ان به جای number گذاشته میشود و duration تاخیر زمانی بین ارسال این رقم و ارقام بعدی میباشد ، شما میتوانید به جای رقم یک متغییر قرار دهید ، اما متغییر باید بین 0 تا 15 باشد.مانند
کد php:
$regfile = "m16def.dat"
$crystal = 4000000
Dim A As Byte
Do
A = 2
Dtmfout A , 50
A = 6
Dtmfout A , 50
A = 8
Dtmfout A , 50
A = 9
Dtmfout A , 50
A = 6
Dtmfout A , 50
A = 5
Dtmfout A , 50
A = 8
Dtmfout A , 50
A = 0
Dtmfout A , 50
Loop
End
فرم دوم:
در این حالت شما میتوانید شماره خود را در یک متغییر از جنس * x string که x تعداد شماره است و حداکثر ان 15 است ، قرار دهید ، با دستور زیر شماره های موجود در متغییر با تاخیر زمانی duration پشت سرهم گرفته میشوند
کد php:
DTMFOUT string , duration
مثال:
کد php:
$regfile = "m16def.dat"
$crystal = 4000000
Dim A As String * 15
A = "2696580"
Do
Dtmfout A , 500
Loop
End
در این مثال شماره 2695680 مدام به خط تلفن ارسال میشود .
مثال :
کد php:
$regfile = "M16DEF.DAT"
$crystal = 8000000
Config Kbd = Portb
Dim A As Byte
Q:
A = Getkbd()
If A > 15 Then
Goto Q
End If
Dtmfout A , 50
Goto Q
End
در این مثال عدد گرفته شده از کیپد به پالس dtmf تبدیل شده و به خط تلفن ارسال میشود ، در صورتی که در بین فشردن کلید ها تاخیر زیادی رخ دهد خط تلفن اشغال میشود.
نکته :
این دستور فقط با استفاده از کریستال های 4 تا 10 مگا هرتز جواب میدهد ، خروجی پالس dtmf پایه oc1a و گراند است (پایه شماره 19 مگا 16 ) ، در هنگام کار با این دستور مراقب ولتاژ خط تلفن باشید.(بهتر است از اپتوکوپلر یا ترانس ایزوله استفاده کنید تا میکرو اسیب نبیند)
منبع :
کتاب سعید جوون
(۰۲-مهر-۱۳۸۹, ۰۰:۲۵:۲۱)t3r!p3000 نوشته است: [ -> ]مهندس یه avr بذار !
خود میکرو می تونه dtmf کنه !
دستور DTMFOUT در بسکام:
توسط این دستور میتوانید پالس مناسب با یک عدد را تولید کرده و ان را روی خط تلفن سوار کنید. فرم کلی این دستور به شکل زیر است : این دستور دردو فرم استفاده میشود،
فرم اول:
با این دستور شما میتوانید فقط یک شماره را به خط تلفن ارسال کنید ، متغیری که رقم دلخواه در ان به جای number گذاشته میشود و duration تاخیر زمانی بین ارسال این رقم و ارقام بعدی میباشد ، شما میتوانید به جای رقم یک متغییر قرار دهید ، اما متغییر باید بین 0 تا 15 باشد.مانند
کد php:
$regfile = "m16def.dat"
$crystal = 4000000
Dim A As Byte
Do
A = 2
Dtmfout A , 50
A = 6
Dtmfout A , 50
A = 8
Dtmfout A , 50
A = 9
Dtmfout A , 50
A = 6
Dtmfout A , 50
A = 5
Dtmfout A , 50
A = 8
Dtmfout A , 50
A = 0
Dtmfout A , 50
Loop
End
فرم دوم:
در این حالت شما میتوانید شماره خود را در یک متغییر از جنس * x string که x تعداد شماره است و حداکثر ان 15 است ، قرار دهید ، با دستور زیر شماره های موجود در متغییر با تاخیر زمانی duration پشت سرهم گرفته میشوند
کد php:
DTMFOUT string , duration
مثال:
کد php:
$regfile = "m16def.dat"
$crystal = 4000000
Dim A As String * 15
A = "2696580"
Do
Dtmfout A , 500
Loop
End
در این مثال شماره 2695680 مدام به خط تلفن ارسال میشود .
مثال :
کد php:
$regfile = "M16DEF.DAT"
$crystal = 8000000
Config Kbd = Portb
Dim A As Byte
Q:
A = Getkbd()
If A > 15 Then
Goto Q
End If
Dtmfout A , 50
Goto Q
End
در این مثال عدد گرفته شده از کیپد به پالس dtmf تبدیل شده و به خط تلفن ارسال میشود ، در صورتی که در بین فشردن کلید ها تاخیر زیادی رخ دهد خط تلفن اشغال میشود.
نکته :
این دستور فقط با استفاده از کریستال های 4 تا 10 مگا هرتز جواب میدهد ، خروجی پالس dtmf پایه oc1a و گراند است (پایه شماره 19 مگا 16 ) ، در هنگام کار با این دستور مراقب ولتاژ خط تلفن باشید.(بهتر است از اپتوکوپلر یا ترانس ایزوله استفاده کنید تا میکرو اسیب نبیند)
منبع : کتاب سعید جوون
سلام
tea 1062 در اصل برای مدار مکالمه به کار میره