سلام خدمت مهندسین ،
من می خوام برای میکروکنترلر برنامه ای بنویسم که بتونم باهاش کد ارسالی از هر ریموت کنترل مادون قرمز رو بخونم و در حافظه ذخیره کنم که بعداً توسط خود میکرو آن کد را ساخته و ارسال کنم . :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









دیدگاه