sir how can i output the value of a button?? im using a sony tv remote...
so i guess no way to output the value....
sir how can i output the value of a button?? im using a sony tv remote...
so i guess no way to output the value....
Dave meant the value of the IRBUTTON variable.
When developing software, sometimes you want to monitor what's happening INSIDE the PIC. Like Variables, Register, etc. The debatable lazy way is to use Simulator, but it doesn't solve any real life problem. So what many here do, is to send/display variables value on a LCD... or send it serially to your PC using Hyperterminal, MicroCode Studio Serial Communicator OR else so called "Terminal". If you have a PICKIT 2, you can use the built-in terminal utility.
To me, when you do PIC stuff, you should have at least the following tools:
1) Serial adapter To send/receive data to/from your PC AND/OR LCD (serial or Parallel)
2) Logic Analyzer
3) Scope
For IR stuff, using a logic analyzer to record the incoming data make the whole thing a real piece of cake. You could also record the data with your PC soundcard with any decent Wav/Audio editor (SoundForge, Audacity, etc). Once you know what kind of signal comes in (or to be expected), it's easier to create/debug your code.
HTH
Last edited by mister_e; - 30th May 2011 at 06:49.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
oh right thanks let me try it out!
ok i have another question.my code is working the below one.
as i am very new to pic basic pro i just have one more question and i know that it is a piece of cake for u guys. ok in my code the sensor is on portb.2
and i am showing the output on portb.5.ok
the portb.5 is being turned high infinitly when it detects an incoming signal.i want to turn it back low (infinetly)when it detects the signal again and again back high when detects the signal again. can it be done???
maybe using an ISR?can anyone guide me or help me out???
Code:'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2011 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 5/23/2011 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** 'include "ALLDIGITAL.pbp" @ DEVICE pic16F877a, WDT_OFF ' Watchdog Timer @ DEVICE pic16F877a, PWRT_OFF ' Power-On Timer @ DEVICE pic16F877a, BOD_OFF ' Brown-Out Detect @ DEVICE pic16F877a, LVP_OFF ' Low-Voltage Programming @ DEVICE pic16F877a, CPD_OFF ' Data Memory Code Protect @ DEVICE pic16F877a, PROTECT_OFF ' Program Code Protection @ DEVICE pic16F877a, HS_OSC Define OSC 20 cmcon=2 Header var word Body var word i var byte tmp var Byte irButton var byte irDevice var byte irIN var PortB.2 SonyLED var PortB.5 'TrisA = %00000100 TrisB = %00000100 Start: LOW SONYLED IRBUTTON=255: IRDEVICE=255 Pulsin irin,0,header if header < 1000 or header > 1350 then goto Start check: for i =0 to 11 pulsin irin,0,tmp if tmp >= 500 then Body.0[i]=1 'Sony Logic 1 is 120 else Body.0[i]=0 ' Sony Logic 0 is 60 endif next IRBUTTON = Body & %01111111 if IRBUTTON <=9 then loop: high Sonyled goto loop endif pause 100 goto start
You could use the INT INT on RB0, I think if you used RBC interrupts the other B pins would interfere, but RB0 has a seperate INT INT interrupt which would be unaffected, but yes and I would use Darrel's instant interrupts
Code:INCLUDE "DT_INTS-14.bas" ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler INT_INT, _YourINTHandler, ASM, no endm INT_CREATE ; Creates the interrupt processor ENDASM @ INT_ENABLE INT_INT ; enable external (INT) interrupts YourINTHandler: put your code here . . . @ INT_RETURN
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
No need for interrupts here. First thing to know, outputs will stay in the state you make them until something makes them change. So no need for this:
all you need isCode:loop: High sonyled Goto loop
High sonyled. That will keep the led on forever if nothing tells it to turn off. Further in your code, you have trapped the program to never leave the loop.
Next, if you want to "toggle" the led everytime you get the valid pulse, use
Toggle sonyled instead of high sonyled.
Hth.
-Bert
The glass is not half full or half empty, Its twice as big as needed for the job!
http://foamcasualty.com/ - Warbird R/C scratch building with foam!
@ cncmachineguy
sir it doesnt work because
the led is high only when IRbutton is detected.... i want to keep it on forever ntil the next command without pressing the button...... is there any way?? maybe a function etc...???
@archangel
sir its difficult for me to understand it..the interrupt portion maybe if u could elaborate a little...
or could point me out to an exmaple program....
Bookmarks