با سلام
بنده در اتصال خروجی DTMF (که با بیسکام نوشته شده )دچار مشکل شدم. دوستانی که تجربه تو این زمینه دارن کمک کنن . خروجی بوسیله یه ترانزیستور به خط وصل شد . اما نتیجه نگرفتیم. ما خروجی رو با یه خازن وصل کردیم به یه بلندگو اما همراه با صدای DTMF یه صدای ضعیف و ممتد دیگه هم میاد. آیا دستور DTMF تو بیسکام قابل اعتماد هست؟ آخه ما همین سخت افزار رو به PIC زدیم و جواب گرفتیم. :roll:
شما خروجی رو با یه خازن 100n به خط تلفن وصل کن با یه گوشی دیگه هم چک کن ببین صدا می یاد یا نه
این که صدا میاد یانه دیگه مسئله نیست امروز مطلع شدم که دستور dtmf انگار فقط رو 8515 جواب میده و رو مگا8 جواب نداده 8O
ما الان پالس رو داریم فقط موندیم تو اتصال به خط تلفن. اگه شماتیک برای این کار دارید ، لطف کنید که خیلی گیریم. :wink:
2 تا خط تلفن رو هرکدوم رو با یه خازن 104 سری کن یکی رو به زمین یکی رو هم با یه مقاومت 100 اهم به خروجی میکرو فکر کنم برای جلوگیری از برق زنگ تلفن یه زنر هم طرف میکرو (بین زمین و پایه میکرو) قرار بدی که ولتاژ بیشتر از 5 مثبت و 0.7 منفی کمتر نشه خوب باشه
با اسکوپ یا گوشت باید ببینی دامنه خوب هست یا نه
سلام دوستان عزیز
آقا من بد جوری به این موضوع علاقه دارم ولی متاسفانه نیاز به کمک زیادی دارم :oops: اگه لطف کنید و در مورد این دستور و اینکه چطوری کار می کنه و چه کارایی می شه باهاش انجام داد توضیح بدین ممنون می شم :roll:
با این دستور می تونی یه شماره رو بگیری . به همین راحتی .البته خروجی فقط میتونه OC1A باشه. برای این دستور باید Enable Interrupts رو داشته باشی. چگونگی اتصال به خط تلفن رو هم که آقا هادی گفتن.
سلام
من یه ATMEGA8 رو بادستور ENABLE INTERRUPTS وفرمان DTMF راه اندازی کردم وبا دوتا خازن ویک مقاومت ویک زنر (ویک مقامت 470 اهم موازی باخط البته بعدازرله) مدارو به خط تلفن وصل میکنم وقتی به مدار تغذیه میدم رله عمل میکنه و وقتی یه گوشی تلفن رو به خط وصل میکنم و گوش می دم صدای گرفته شدن شماره ها به وضوح شندیده میشه اما خط اصلا به این شماره گیری توجه نمیکنه وبعد از مدتی شروع به زدن بوق اشغال میکنه . خواهش میکنم اگه کسی چیزی به ذهن میرسه بگه ببینم مشکل از کجاست . ممنون
(۲۱-خرداد-۱۳۹۱, ۱۴:۰۵:۱۱)shakha نوشته است: [ -> ]سلام
من یه ATMEGA8 رو بادستور ENABLE INTERRUPTS وفرمان DTMF راه اندازی کردم وبا دوتا خازن ویک مقاومت ویک زنر (ویک مقامت 470 اهم موازی باخط البته بعدازرله) مدارو به خط تلفن وصل میکنم وقتی به مدار تغذیه میدم رله عمل میکنه و وقتی یه گوشی تلفن رو به خط وصل میکنم و گوش می دم صدای گرفته شدن شماره ها به وضوح شندیده میشه اما خط اصلا به این شماره گیری توجه نمیکنه وبعد از مدتی شروع به زدن بوق اشغال میکنه . خواهش میکنم اگه کسی چیزی به ذهن میرسه بگه ببینم مشکل از کجاست . ممنون
اگه یه عکس هم ازش بزارین بهتر میشه فهمید منظورتون چیه
(۰۶-مرداد-۱۳۸۶, ۲۲:۱۴:۵۰)ha_60 نوشته است: [ -> ]2 تا خط تلفن رو هرکدوم رو با یه خازن 104 سری کن یکی رو به زمین یکی رو هم با یه مقاومت 100 اهم به خروجی میکرو فکر کنم برای جلوگیری از برق زنگ تلفن یه زنر هم طرف میکرو (بین زمین و پایه میکرو) قرار بدی که ولتاژ بیشتر از 5 مثبت و 0.7 منفی کمتر نشه خوب باشه
با اسکوپ یا گوشت باید ببینی دامنه خوب هست یا نه
توهلپ بسکام یه مثال خیلی خوب زده برای این فرمان
کد:
'-----------------------------------------------------------------------------------------
'name : dtmfout.bas
'copyright : (c) 1995-2005, MCS Electronics
'purpose : demonstrates DTMFOUT statement based on AN 314 from Atmel
'micro : Mega48
'suited for demo : yes
'commercial addon needed : no
'-----------------------------------------------------------------------------------------
$regfile = "m48def.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
'since the DTMFOUT statement uses the TIMER1 interrupt you must enable
'global interrupts
'This is not done by the compiler in case you have more ISRs
Enable Interrupts
'the first sample does dtmfout in a loop
Dim Btmp As Byte , Sdtmf As String * 10
Sdtmf = "12345678" ' number to dial
Do
Dtmfout Sdtmf , 50 ' lets dial a number
' ^ duration is 50 mS for each digit
Waitms 1000 ' wait for one second
' As an alternative you can send single digits
' there are 16 dtmf tones
For Btmp = 0 To 15
Dtmfout Btmp , 50 ' dtmf out on PORTB.3 for the 2313 for 500 mS
'output is on the OC1A output pin
Waitms 500 ' wait 500 msec
Next
Loop
End
'the keypad of most phones looks like this :
'1 2 3 optional are A
'4 5 6 B
'7 8 9 C
'* 0 # D
'the DTMFOUT translates a numeric value from 0-15 into :
' numeric value phone key
' 0 0
' 1 1
' 2 2
' 3 3
' etc.
' 9 9
' 10 *
' 11 #
' 12 A
' 13 B
' 14 C
' 15 D