سلام خدمت مهندسین ،
من می خوام برای میکروکنترلر برنامه ای بنویسم که بتونم باهاش کد ارسالی از هر ریموت کنترل مادون قرمز رو بخونم و در حافظه ذخیره کنم که بعداً توسط خود میکرو آن کد را ساخته و ارسال کنم . :nerd:
8 سال پیش یک ساعت مچی Casio داشتم که اینکارو می کرد اینطور که کنترل تلویزیون رو جلو چشم اون می گرفتم و بعد یک دکمه انتخابی رو روی ساعتم رو فشرده نگه می داشتم حالا کد ریموت را ارسال می کردم سپس دستم رو از روی کلیدها بر می داشتم و کد ذخیره می شد و بعد می تونستم از ساعت مچی به عنوان ریموت تلویزیون استفاده کنم (همان دکمه ای که فشرده شده بود). حالا کجاشو دیدین، یک مرتبه توی یک بنگاه معاملاتی هر چی پژو اونجا بود،من کد درهاشون داشتم
حالا یک برنامه نوشتم که مدت زمان پالس های ارسالی از یک ریموت را در رجیستر میکرو ذخیره می کند و بعد با زدن یک دکمه میشه تک تک آنها را مشاهده کرد.
بعد از اینکه تونستم مدت زمان پالس های دریافتی رو در حافظه ذخیره کنم با پیکربندی تایمر می توان دقیقاً عین همون پالس ها را درست کرد و به خروجی فرستاد و سپس خروجی را به یک فرستنده مادون قرمز داد.
این کل برنامه ی خواندن مت زمان پالس های دریافتی هست :
من می خوام برای میکروکنترلر برنامه ای بنویسم که بتونم باهاش کد ارسالی از هر ریموت کنترل مادون قرمز رو بخونم و در حافظه ذخیره کنم که بعداً توسط خود میکرو آن کد را ساخته و ارسال کنم . :nerd:
8 سال پیش یک ساعت مچی Casio داشتم که اینکارو می کرد اینطور که کنترل تلویزیون رو جلو چشم اون می گرفتم و بعد یک دکمه انتخابی رو روی ساعتم رو فشرده نگه می داشتم حالا کد ریموت را ارسال می کردم سپس دستم رو از روی کلیدها بر می داشتم و کد ذخیره می شد و بعد می تونستم از ساعت مچی به عنوان ریموت تلویزیون استفاده کنم (همان دکمه ای که فشرده شده بود). حالا کجاشو دیدین، یک مرتبه توی یک بنگاه معاملاتی هر چی پژو اونجا بود،من کد درهاشون داشتم

حالا یک برنامه نوشتم که مدت زمان پالس های ارسالی از یک ریموت را در رجیستر میکرو ذخیره می کند و بعد با زدن یک دکمه میشه تک تک آنها را مشاهده کرد.
بعد از اینکه تونستم مدت زمان پالس های دریافتی رو در حافظه ذخیره کنم با پیکربندی تایمر می توان دقیقاً عین همون پالس ها را درست کرد و به خروجی فرستاد و سپس خروجی را به یک فرستنده مادون قرمز داد.
این کل برنامه ی خواندن مت زمان پالس های دریافتی هست :
کد:
$regfile = "M8def.dat" $crystal = 4000000 Config Lcdpin = Pin , Db4 = Pinb.1 , Db5 = Pinb.2 , Db6 = Pinb.3 , _ Db7 = Pinb.4 , Rs = Pinb.5 , E = Pinb.6 Config Lcd = 16 * 2 Cursor Off Cls Lcd "* ETRmodern *" Waitms 500 Config Debounce = 10 Config Pind.0 = Input Config Timer0 = Timer , Prescale = 256 Stop Timer0 Enable Interrupts Config Pind.3 = Input Set Portd.3 Pin_ir Alias Pind.3 Config Int1 = Falling On Int1 Isr_int1 Dim Cnt_ir As Byte Dim Flag_ir_ok As Bit Dim I As Word Dim T As Byte Dim R As Byte Dim B As Word Declare Sub Flag Declare Sub Reg '*************************************************************** Main: I = 1000 Cnt_ir = 0 Home Lcd "GET TIME REM COD" Enable Int1 Do Debounce Pind.0 , 1 , Flag , Sub Loop 'isr for infrared sensor Isr_int1: Timer0 = 0 Start Timer0 Bitwait Pin_ir , Set Stop Timer0 T = Timer0 Out I , T Incr I Incr Cnt_ir Set Flag_ir_ok Return End 'end program '***************************************************** Sub Flag I = 1000 If Flag_ir_ok = 1 Then Reset Flag_ir_ok Disable Int1 Cls Lcd "BIT NUMBERS :" ; Cnt_ir ; " " Do B = I - 1001 If B = Cnt_ir Then Home Lcd "Is Final Time " Wait 3 Cls jmp Main End If Debounce Pind.0 , 1 , Reg , Sub Loop End If Locate 2 , 1 Lcd "Not Press Buttom" jmp Main End Sub Flag Sub Reg R = Inp(i) Locate 2 , 1 Lcd "Time P" ; I ; " : " ; R ; " " Incr I End Sub Reg
دیدگاه