ايران ويج

نسخه‌ی کامل: راهنمایی میخام
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
خیلی از راهنمایی های خوبتون تشکر می کنم
راستش من دارم رو پروژه پایانیم کار می کنم که مدار اعلام حریق از طریقه خط تلفنه
میخواستم بدونم چطوری میشه از ولتاژ خط واسه تغذیه ی مدار استفاده کنم
ضمنا ممنون میشم اشکال دستورات زیرو بدونم که مربوط به راه اندازیه تایمر 0 هستن که در عمل واسه واسه چراغ چشک زن جواب نمی ده
کد:
$regfile = "m16def.dat"
$crystal = 8000000


     Config Portb.2 = Output
     Config Timer0 = Timer , Prescale = 1024
     Enable Interrupts
   Enable Timer0
   On Ovf0 Blink_led
   Start Timer0
   Dim Time_led As Byte


    Blink_led:
Incr Time_led
If Time_led > 50 Then Time_led = 0
If Time_led > 0 And Time_led < 5 Then
Set Pinb.2                                                  'On LED
Else
Reset Pinb.2                                                'Off LED
End If
Return
(۲۶-آبان-۱۳۹۲, ۱۶:۲۷:۱۱)azad2 نوشته است: [ -> ]میخواستم بدونم چطوری میشه از ولتاژ خط واسه تغذیه ی مدار استفاده کنم


میخواهید ولتاژ خط تلفن رو dc کنید؟ با چه مقدار ولتاژی؟
هدفتون از این کار چیه و قراره مدار به چه صورتی راه اندازی بشه؟
دراین خصوص بیشتر توضیح بدید

(۲۶-آبان-۱۳۹۲, ۱۶:۲۷:۱۱)azad2 نوشته است: [ -> ]ضمنا ممنون میشم اشکال دستورات زیرو بدونم که مربوط به راه اندازیه تایمر 0 هستن که در عمل واسه واسه چراغ چشک زن جواب نمی ده

به اینصورت برنامه تصحیح میشه
کد:
$regfile = "m16def.dat"
$crystal = 1000000

Config Portb.2 = Output
Config Timer0 = Timer , Prescale = 1024
Enable Interrupts
On Ovf0 Blink_led
Enable Ovf0
Enable Timer0
Start Timer0

Dim Led As Byte

Led = 0
Do
Incr Led
Loop

    Blink_led:
If Led > 50 Then
Led = 0
Elseif Led > 0 And Led < 5 Then
Portb.2 = 0
Else
Portb.2 = 1
End If
Return

در شرط ها هم دقت کنید و بصورت صحیح تعریف کنید
ضمنا یک نکته: همیشه جهت تسریع در رسیدن به جواب و حل مشکل، موقع گذاشتن سورس ،شماتیک و یا فایل شبیه ساز رو هم پیوست کنید چون به علت نبود طرح و نقشه بدرستی امکان پاسخگویی مقدر نمیشه و یا دچار تاخیر میشه

خوش باشید.
سلام
من می خوام از ولتاژ خط به عنوان تغذیه مدار استفاده کنم تا نیازی به منبع تغذیه ی جانبی نداشته باشد
ولتاژ خط در حالت آزاد 50 ولت dc میباشد ولی در مورد بوق اشغال یا حالت دریافت تماس متاسفانه اطلاعات زیادی ندارم فقط می دونم که به صورت سینوسی می باشند
ورودی رگولاتور باید بین 7.5 تا 16 ولت باشد
اگر از ترانسی(چوک آبی) که در مدار (برای ایزوله کردن ) استفاده کنم ولتاژ dc طرف ثانویه صفر میشود و فقط در حالت برقراری تماس ولتاژ در ثانویه به صورت ac وجود دارد سوالی از شما دارم اینه که من باید اولیه ترانس رو باید به ورودی مدار یکسو ساز و رگولاتور اعمال کنم؟ اگر اینطور هست مدار یکسوساز باید چه مشخصاتی داشته باشه (منظورم مشخصات پل دیود مثل جریان و ولتاژ و اندازه خازن بعد از آن ) ؟
فایلی که پیوست کردم شبیه سازیه پروژه منه
(دو کلید در کنار هم به جای سنسور شعله گذاشتم که در حالت عادی 1 و در حالت وقوع آتش 0 است )
در مورد پروژه باید بگم که که شماره تلفنی به عنوان شماره پیش گزیده در داخل برنامه وجود دارد که وسیله ی کیپد قابل تغییر می باشد ولی اگر تغذیه مدار قطع شود دوباره شماره قبلی جای آن را می گیرد.
برنامه زیر برای تست نوشته شده که خیلی ناقص هست.
من می خوام اگر کلید sw در حالت 1 قرار گیرد کیپد فعال شود و شماره جدید وارد شود در غیر این صورت شماره پیش گزیده ذخیره شود
بعد از 3 بار تماس مدتی صبر کند و دوباره تماس بگیرد و همچنین اگر خط اشغال بود پس از مدتی در صورت برقراری شرط دوباره تماس بگیرد
کد:
$regfile = "m16def.dat"
$crystal = 8000000
Config Portd.7 = Output : Relay Alias Portd.7 : Reset Relay

   Config Lcd = 16 * 2
   Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0
   Display Off


   Config Adc = Single , Prescaler = Auto , Reference = Avcc
   Start Adc


   Config Porta.7 = Input                                   'rc5 receiver
   Config Portd.0 = Input                                   'sw
   Enable Interrupts

   Dim W As Word
   Dim Input_mv As Single
   Dim Temp As Single
   Dim Num As String * 16
   Dim N As Word
Do

    If Pind.0 = 1 Then
    Goto Kbd
    Else
    Num = "09360071465" : Exit Do
    End If
Loop
Do
Main:
    Gosub Read_the_adc
    If Temp >= 50 Then
    Bitwait Pina.7 , Reset
    Gosub Dialing
    Else
    Exit Do
    End If

Loop
End

'************************************
Read_the_adc:
   W = Getadc(6)
   Input_mv = W * 4.8828125
   Temp = Input_mv / 10
Return

'***********************************
Dialing:
   Display On
   Cls
   Lcd "dialing....."
   Wait 1
   Locate 2 , 1
   Lcd Num
   Set Relay : Waitms 500
   Dtmfout Num , 50
   Display Off
   Wait 4
   If N = 3 Then
   Wait 60
   Reset N
   End If
   Incr N

   Return


'***********************************************
Kbd:

Do


   Config Kbd = Portc , Debounce = 50 , Delay = 150
   Display On
   Dim Keyread As Byte
   Dim Key As Byte
   Num = ""
   Cls
   Lcd "Insert Number:"
   Waitms 100
   Locate 2 , 1
   Noum:
   Do
      Keyread = Getkbd()
      If Keyread >= 16 Then Goto Noum
      Key = Lookup(keyread , Dta)
      If Key = 15 Then Exit Do
      Waitms 100
      Lcd Key
      Num = Num + Str(key)
   Loop

   Cls
   Lcd "saving ..."
   Locate 2 , 1
   Lcd Num
   Wait 2
   Display Off
   Goto Main
Loop



'**********************************************
Dta:
Data 7 , 4 , 1 , 15 , 8 , 5 , 2 , 0 , 9 , 6 , 3 , 14 , 10 , 11 , 12 , 13
صفحه‌ها: 1 2