PIC Assembly Language Tutorial: #1 - Config and Clock

Поділитися
Вставка
  • Опубліковано 17 гру 2024

КОМЕНТАРІ • 160

  • @JohnJones-oy3md
    @JohnJones-oy3md 7 років тому +24

    With high level languages/development suites we are too often removed from the need to understand what it really going on behind the scenes. I appreciate your covering the low level, gritty basics such as config settings. I'm very much looking forward to the continuation of this series. Thanks!

    • @JulianIlett
      @JulianIlett  7 років тому +3

      Thanks John :)

    • @alanpowell328
      @alanpowell328 7 років тому +1

      i concur, the basics are important and as hobbyists fundamental to a wider understanding of how it all works. Almost anyone can slap a breakout board onto an Arduino and get a result - this takes us back to the bits, bytes and registers, which are a common feature of all micro controllers and microprocessors from PIC to Intel i7 and beyond.

  • @andr27
    @andr27 6 років тому

    I must admit this is fucking most informative tutorial I've ever watched. Finally!!!!!!!
    Julian, you are natural born teacher. Thank you!

  • @aceofsticks
    @aceofsticks 7 років тому +6

    Thanks! This series is one of the most instructive that you can find on youtube :)
    The things I love the most about your videos are that you make little steps towards the end, explain everything and even gasp of surprise once in a while, making your curiosity contagious, and that you show that you can build a hobbist electronic lab with a little money without the need of fancy instrumentation.

    • @JulianIlett
      @JulianIlett  7 років тому +2

      Thanks Francesco - you have summed up what I'm trying to do perfectly :)

  • @rak3shpai
    @rak3shpai 7 років тому +1

    Thanks for doing this. I must say I was skeptical at first ("what's the point of learning PIC assembly!") but you're making it more interesting than I thought it could be.

  • @tedbastwock3810
    @tedbastwock3810 8 місяців тому

    I know Microchip .. in their infinite wisdom .. changed the assembler language with the new ide since this video, but Im going to watch this whole playlist anyway. I like seeing how the older way worked, Im learning a lot, and I like your presentation style. Thanks for these videos.

  • @tbddevelops
    @tbddevelops 7 років тому +2

    Enjoyed this intro, thank you. I'm a high level language guy, trying to learn more about electronics, but I followed along just fine. Just waiting on my stuff from Alice to be able to follow along fully.

  • @Ken-oe3ch
    @Ken-oe3ch 7 років тому

    Outstanding. I think this is what will help me move beyond the Arduino environment. I do OEM sales work with stepper motor driven pumps and am constantly searching for ways to help direct mechanical engineers towards a low cost path for pump control.

  • @colinpamplin9976
    @colinpamplin9976 7 років тому

    Good start to the tutorial series thanks for posting.
    For those using PICkit3 programmers to switch on Power Target circuit - click on > Programmer > Settings > Power and check the box. Hope this helps

  • @paulrautenbach
    @paulrautenbach 7 років тому +1

    Brilliant stuff Julian. I'm looking forward to the next one. Thanks.

  • @paranoiia8
    @paranoiia8 7 років тому +1

    It's funny that I understand only half of it and still it was pure joy to watch...

  • @MAYOJAMESD
    @MAYOJAMESD 7 років тому

    thank you so much for doing these videos Julian! As a mechanical engineering student that has had a good bit of success with arduinos in my free time I have always wanted to see how electrical engineers and embedded developers do that black magic that is machine code. Keep the PIC tutorials coming! I'm going to have to get on ebay here real soon and find a pickit and development board to follow along.

  • @alexanderohman1707
    @alexanderohman1707 Рік тому

    So glad I found this. Awesome job, hats off!

  • @arifanwari3168
    @arifanwari3168 7 років тому +1

    Excellent work and very detailed and informative. Perfectly balanced presentation. Thank you Sir.

  • @alanfalck1184
    @alanfalck1184 7 років тому +1

    Been trying to get into Pic Assembly for years and this really made sense for the first time, nice one Julian !
    PS: now we know why Arduino became so popular, Microchip never made it easy to get started :)

  • @colinsmith3771
    @colinsmith3771 7 років тому

    Just watched the 9v led 'amazing life hack'. Cheers Julian, it's ages since I had a good ol fashioned belly laugh!!

  • @JayJay-ki4mi
    @JayJay-ki4mi 4 місяці тому

    I discovered I had a GQ-4x4 and must have forgot I purchased it. Works well with many chips including the PIC.

  • @michaelhawthorne8696
    @michaelhawthorne8696 7 років тому

    Nice video Julian, the spec PDF can be a mine field.... That was easy to follow. The pitfalls too was a goldmine of info.
    Looking forward to more programming instructables.

    • @JulianIlett
      @JulianIlett  7 років тому

      Thanks Michael, more soon :)

  • @chuchongo147
    @chuchongo147 7 років тому

    finally found a channel of unboxing and invetions love it subscribed

  • @karanahuja6302
    @karanahuja6302 4 місяці тому

    Extremely Informative Video. Thank You Sir. 😊😊

  • @SpeccyMan
    @SpeccyMan 7 років тому

    Great video Julian. Taking the fundamentals of PIC and making them interesting (even to someone who's been doing this stuff for years.)
    I caved in eventually and ordered one of the boards. My curiosity got the better of me. In the meantime it'll be interesting for me to see how much stray capacitance can be found on a breadboard.

  • @wouselektronica9166
    @wouselektronica9166 7 років тому

    Great tutorial Julian, looking forward to the next ones!

  • @harryalb8923
    @harryalb8923 7 років тому +2

    brilliant lecture. Can´t wait to see more!

  • @spirosgals
    @spirosgals 7 років тому +2

    Nicely explained!

  • @jlucasound
    @jlucasound 6 років тому

    Chips and Beans. Pip, Pip, Cheerio! Love your videos, Julian!

  • @danpinko6020
    @danpinko6020 7 років тому

    (I hope I can post this here Julian)
    I'm new at programming PICs and have looked forward to this tutorial. I tried to follow Julian's tutorial as close as I could today but I can't any of the "clocks" to run on the PIC.
    I am using the PICKIT2 and the PIC12F675 Development Board modified as per Julian's earlier video.
    I am using the MPLAB version he recommends running on a WIN 10 PC. All seems to work as outlined and I get no error messages. The only different from what Julian shows on his video and what I get is when he programming the Target. I seem to be missing a line of text - all else is the same.
    I am missing the second to last line showing "Setting MCLR 3-State". It ends as his does with "PICkit 2 Ready".
    ========His output file shows this========
    Programming Target (11/02/2017 13:21:41)
    PIC12F675 found (Rev 0xB)
    Erasing Target
    Programming Configuration Memory
    Verifying Configuration Memory
    Setting MCLR 3-State
    PICkit 2 Ready
    =================
    ========Here is a copy of my output file showing the programming and verifying of the Target======
    Programming Target (2/13/2017 5:53:59 PM)
    PIC12F675 found (Rev 0xB)
    Erasing Target
    Programming Configuration Memory
    Verifying Configuration Memory
    PICkit 2 Ready
    Verifying Target
    PIC12F675 found (Rev 0xB)
    Verifying Program Memory (0x0 - 0x3FF)
    Verifying EEPROM Memory (0x0 - 0x7F)
    Verifying User ID Memory
    Verifying Configuration Memory
    PICkit 2 Ready
    ==================
    I have checked all connections and retried a number of times programming from the beginning of the Video with no signal showing up on GP4 using either the external RC clock or the internal clock.
    I am checking GP4 with a scope as well as a frequency counter (not the one he uses) with nothing showing on the GP4 pin.
    I have tried Googling "Setting MCLR 3-State" with no results.
    Anyone have any ideas how I can fix the problem or what I am doing wrong?

    • @JulianIlett
      @JulianIlett  7 років тому

      Sounds like the Pickit is holding the chip in reset. "Programmer - settings - 3state on release from reset" may give you the "Setting MCLR 3-State" message back.

    • @danpinko6020
      @danpinko6020 7 років тому

      Hi Julian
      I tried checking off the "3state on release from reset" option under the settings menu but unfortunately that did not help.
      I did get it working by clicking on the "Release from Reset" option under "Programmer" option. I have to do this manually every time I program the chip but at least it works and I was able to follow your tutorial all the way through with everything working.
      It would be nice to have that done automatically when you program the chip so if you or any other viewer have any other ideas please let me know. I am using a clone PICkit2 ( looks the same as yours) and that maybe the issue.

  • @casualjoe2
    @casualjoe2 7 років тому +2

    fantastic, I'm gonna have to dig out some chips and have another crack at learning this

  • @blairsharpe2798
    @blairsharpe2798 7 років тому +2

    I'm working on the HCS12 in Assembly right now for school :). Have my PIC sitting beside it though!

  • @bitfogav
    @bitfogav 7 років тому +5

    Great first tutorial!!.. Did you know the Pickit2 standalone GUI avaliable on microchip download archive allows you to calibrate the lost OSCCAL calibration data.

    • @JulianIlett
      @JulianIlett  7 років тому +2

      Oh cool - gotta try that :)

    • @SatyajitRoy2048
      @SatyajitRoy2048 7 років тому +1

      Yes PICKit2 and PICKit3 can calibrate the OSCCAL automatically.

    • @JulianIlett
      @JulianIlett  7 років тому

      Actually, I've just read the chip contents and the calibration value is still in the last location of flash memory. I'll mention this in part 2.

    • @bitfogav
      @bitfogav 7 років тому

      That's good news. It is easy to delete the calibration value though, especially with a full erase of the pic, I know from past experience. :-/ If using the internal clock I always use the code in "example 9-1" on page 54 of the datasheet to call up the calibration value.

  • @briandurward
    @briandurward 7 років тому

    This a really interesting tutorial. Help if possible - when I try and write to the PIC I get the same output at 6:37 but without the Setting MCLR 3-State line. Not sure what I have missed or done wrong.

    • @JulianIlett
      @JulianIlett  7 років тому

      Someone else said the same thing - are you using PICkit 2 or 3?

    • @briandurward
      @briandurward 7 років тому

      Picket 2

    • @JulianIlett
      @JulianIlett  7 років тому

      Hmm, not sure. I'll investigate :)

    • @briandurward
      @briandurward 7 років тому

      Thanks very much. The video is excellent.

  • @Avriox
    @Avriox 7 років тому +1

    A lot more PIC videos please!

  • @1925modeltford
    @1925modeltford 7 років тому

    Excellent tutorial Julian thanks.

  • @robbruno8246
    @robbruno8246 7 років тому

    Great info. Any plans to use MPLAB-X in the future? I am kind of a PIC novice but like some of the feature of the newer IDE / IPE.

  • @krish2nasa
    @krish2nasa 7 років тому

    Excellent video, Thanks for your time and efforts.

  • @stevesm2010
    @stevesm2010 7 років тому

    Brilliant! That's my kind of tutorial :-) I'm still waiting for the proto board to arrive but in the meantime, I think I'll try and breadboard it. Many thanks Julian, looking forward to #2 Viva Assembly Code!

    • @JulianIlett
      @JulianIlett  7 років тому +1

      Thanks Steve. This may help when wiring the 6-pin programmer connector to the chip pins: ww1.microchip.com/downloads/en/DeviceDoc/31028a.pdf
      It's quite easy really - it's just 5 wires :)

    • @stevesm2010
      @stevesm2010 7 років тому

      Thank you Jiulian. Unfortunately busy this evening but that will be my Sunday Morning project :-)

  • @alphahr
    @alphahr 7 років тому

    for internal oscillator chips I read it first and then write the value on a piece of tape and stick it on the chip in case I accidentally blow it away programming

  • @JasonMasters
    @JasonMasters 7 років тому

    Something I'm wondering is whether there's a programmer in the MPLab list which is compatible with the MiniPro TL866A?
    It's possible to import the HEX file to that device's control program, but it would be nicer if it was possible to eliminate that step and just program directly from MPLab.
    (For anyone who doesn't know, the MiniPro TL866A is a universal programmer which will program just about anything programmable, including PICs, EPROMs, EEPROMs and lots more)

  • @seamusdemora5598
    @seamusdemora5598 2 роки тому

    As I'm just getting started on a PIC project, I was looking forward to this series of videos. But I've just learned Microchip has replaced the older MPASM Assembler with a new PIC AS Assembler. Does that make this obsolete?

  • @raykent3211
    @raykent3211 7 років тому

    In the desperate hope that you, Julian, or someone else might help.... My mate has just built a scope kit that looks like yours. Sig in is via a voltage follower op amp (output linked to neg input). Pos in is zero, out is minus 1.3V which seems way too high for an an op amp offset. Chip blown?

  • @maicod
    @maicod 7 років тому

    Hi Julian thanks for your hard work in making these videos. I'm watching/following them all meticulously but not making them myself as I'm more of an AVR guy but I DO learn from your PIC tutorial anyways

  • @clintonandrews1538
    @clintonandrews1538 7 років тому

    Hello Julian. Thank you for your videos. Is there a way to 'read' the program off of a microprocessor and decompile it into an assembly language for a simple electronic device like, let's say a room air humidifier or a modern kitchen stove?

    • @JulianIlett
      @JulianIlett  7 років тому +1

      Yes, you can read the contents of a microcontroller (unless it has been copy protected) and disassemble it into assembly code.

  • @NivagSwerdna
    @NivagSwerdna 7 років тому

    I've had fingers for ages and never used them for an RC circuit before... makes me wonder about the money I have wasted on ceramic resonators in the past. The OSCCAL stuff is really confusing... seems there is an instruction at the end of program memory? Looking forward to you investigating that.

  • @alanpowell328
    @alanpowell328 7 років тому

    Hi Julian,
    Because I am a Mac user, I thought - no problem - use MPLab X. However, having just watched this video , I think that Im going to revert to your version of the IDE - I'll find a way possibly using a VM.
    My main reason is that the new X version of the IDE has lots of additional facilities such a a window to set the configuration bits, which means one doesn't have to use the data sheet much. I think that will take something away from the learning process.
    Regards
    Alan

  • @nabarnes
    @nabarnes 7 років тому +1

    I've been playing with Arduino for a long time and have been meaning to play with PICs for a while and ordered the bits and pieces from your last video straight away. They're still on their way!
    However, I think this video raises more questions than it answers. I understand about the RC clock. Seeing a crystal/resonator clock in action would have been useful (including what are the minimum/maximum values that work), but the thing which has me lost is the internal clock. You briefly explained that the correction factor is stored in the PIC and that all we had to do was read it. Some more information on this would be helpful - why do we have to read it and do we have to read (and write?) it every time we reprogram the PIC? If so, how? I understand that the clock time is the speed instructions are executed in, but what does this mean in PIC terms - i.e. what are the pros and cons of using different clock speeds (and, indeed, what are the pros and cons of using RC/crystal/resonator/internal clocks?).
    Keep up the good work!

    • @JulianIlett
      @JulianIlett  7 років тому +1

      +Nicholas Barnes I'll address some of these points in a supplementary video

    • @JasonMasters
      @JasonMasters 6 років тому

      Maybe I can provide some brief answers here. Julian's videos will explain more comprehensively of course.
      The main advantage of using the internal clock is a reduced parts count since you don't need any external clock components. The main disadvantages are that the internal clock can't run as fast, nor be as accurate as a crystal clock.
      Since the components which determine the internal clock speed are never totally identical from one chip to the next, a calibration value is determined after manufacture in order to adjust the speed to be as accurate as possible.
      This calibration value is stored in the last program memory location, along with a "return with value in accumulator" instruction which allows you to do a "call 3FFh" (last memory address) instruction to retrieve the calibration value. It's then a simple matter to load that value into the calibration register.
      The PIC12F675 can use up to a 20Mhz crystal oscillator which will produce an instruction cycle speed of 5Mhz since instruction cycle time is always one-quarter of the clock cycle time.

  • @TheProCactus
    @TheProCactus 7 років тому +2

    Excellent pace to learn and think and learn.
    If only it was for the ATMEGA's.

  • @0xbenedikt
    @0xbenedikt 7 років тому

    Having mostly dealt with Atmel products so far, is there a cheaper alternative to the PicKit? I have bought the Atmel ICE, but I doubt that would help here at all. I also own a BusPirate 3 if that would help.

    • @SayWhatNow92
      @SayWhatNow92 7 років тому

      There are non genuine pickiits (like the ones he is using here) available. almost garanteed to work with the setup in these tutorials.
      The genuine ones have the microchip logo and a different font on the pickit device.

  • @MarvinBlum
    @MarvinBlum 7 років тому +1

    Great series, keep it up!

  • @barjammar
    @barjammar 6 років тому

    Hi Julian, I liked the assembly lesson, but could you do me a favour and show a MPLabX project from scratch with your little board. I don't seem to be able to work my Pickit 3 with it. How about clean install the mplabx and the necessary other files then show the settings which make it work, then type the small file required and then build and run it. That would help a lot.
    Barry

  • @MikeK8LH
    @MikeK8LH 7 років тому

    Is there a chance the OSCCAL value is still in 12F675 flash memory at address 03FF? When the PIC12F675 comes out of reset it executes the instruction at 03FF (a "movlw xx" instruction which contains the factory calibration value) and then the program counter rolls over to 0000 where your first program instruction should be a "movwf OSCCAL" instruction.
    The PICKIT2 "program" function is supposed to preserve that factory calibration instruction at location 03FF in program memory during programming.

    • @JulianIlett
      @JulianIlett  7 років тому

      Yeah, interestingly, the cal value is still in the program memory at 03FF. So I erased the chip - and it's still there. I think the IDE is protecting that memory location for this particular chip. I'll mention this in part 2.

  • @raymondheath7668
    @raymondheath7668 7 років тому

    I may have to buy one of the Ebay boards in order to duplicate these experiments as my home made board is not laid out the same and I cannot duplicate board capacitance in the RC capacitance experiment

    • @JulianIlett
      @JulianIlett  7 років тому +1

      You'll get some amount of board capacitance however you lay it out - even zero capacitance should still cause oscillation.

  • @pesho9971
    @pesho9971 7 років тому

    if you push on the pic or heat it up the internal osc will change slightly

  • @halfdone_com
    @halfdone_com 7 років тому

    I ran into an issue where the clock would be very intermittently working (clock runs then drops to 0 at random times) in all the different clock types. Found that you may need to put IN the Reset/GP3 jumper during tests. I left it off during programming but didn't think to put it back. I assume the chip might be randomly held reset because the pin was left floating?

    • @JulianIlett
      @JulianIlett  7 років тому

      +Mike Moniz yes, this CMOS input does need to be pulled up for reliable operation.

  • @MrMalMaths
    @MrMalMaths 7 років тому

    Hi Julien. Do you see any issue following along just using breadboard. I have programmed a pic this way using my pic kit 3 in the past.

    • @JulianIlett
      @JulianIlett  7 років тому +1

      I'll try to make that easier in part 2 - I'll provide a schematic.

  • @zerog2000
    @zerog2000 7 років тому

    any reason for covering the older MPLAB IDE rather than the newer MPLABX IDE/IPE ?

  • @senseibaka1
    @senseibaka1 7 років тому

    If anyone is having issues with the Pickit 3 and getting "Failed to get Device Id." try changing the voltage down to around 4v in the "Programmer->Settings->Power" menu. Took me hours of playing to get this working. No idea why it doesn't like 5v. Both the Pickit 3 and dev board were purchased from Alice.

    • @JulianIlett
      @JulianIlett  7 років тому

      Did you do the wire mod (to separate Vpp from the reset resistor and capacitor)?

    • @senseibaka1
      @senseibaka1 7 років тому

      I did, i'll double check it though. Programming does seem to randomly fail, so it does seem like it could be to do with that.
      If all else fails, i'll make up my own dev board.
      Thanks for the great tutorial.

  • @stuartmcconnachie
    @stuartmcconnachie 7 років тому +2

    Julian, enjoyable though your videos are it's not a good introduction to use external RC oscillator mode, and then depend on the stray capacitance for it to work. This is going to confuse or mislead a lot of novices out there. Much better to start with the internal RC oscillator.

    • @JulianIlett
      @JulianIlett  7 років тому +16

      It'll only confuse the high level language guys. Electronics enthusiasts will understand what's going on just fine.

  • @_who_cares_1123
    @_who_cares_1123 7 років тому

    Hey Julian,
    is there any schematic fir the Pic Board? I dont want to wait 4 weeks so i want to build one myself.

  • @SatyajitRoy2048
    @SatyajitRoy2048 7 років тому

    Its now well polished video. Thank you for skipping those part where you made all those physical connections and other stuffs. Hope you will produce this ASM tutorial very often because the flow control mechanism in the mind should stay alerted and doesnt get washed away. After almost 21 years I am starting to have interests in assembly language again. programming 8085 was not that interesting that long ago and so far C programming did all my requirement. Would like to see how you handle interrupt calls and context saving. Because thats where all my interests lies in. Double thumbs up!

  • @genekennedy1
    @genekennedy1 7 років тому

    If you reinstall the PICkit3 software and set the install location to the 'c' directory folder, you should be able to quit the application properly. With the normal set up, it is installed in your c/Program File (x86) where it is protected in a manner of speaking. It seems that the PIKkit3 app sends a call-back to the parent folder when it is exiting. This is denied by Windows and causes the application to hang up.

  • @jimsmindonline
    @jimsmindonline 7 років тому +1

    This might be a silly question, but isn't FFFF all ones?
    Is there a reason you used 3FFF instead?

    • @JulianIlett
      @JulianIlett  7 років тому +1

      Yes, it's a 14-bit word (not 16-bit)

    • @slap_my_hand
      @slap_my_hand 7 років тому +2

      it's 3FFF because there are only 14 configuration bits.
      3FFF = 0011 1111 1111 1111
      FFFF = 1111 1111 1111 1111

    • @jimsmindonline
      @jimsmindonline 7 років тому

      Ahh, makes sense, thanks.

    • @NivagSwerdna
      @NivagSwerdna 7 років тому

      Another thing to look out for is that the chip is a Harvard Architecture.... the data and program paths are different. In a PIC the program memory is only 14 bits wide.with a 13-bit program counter, registers on the other hand are multiples of 8-bits. CONFIG is a special value and is stored in a reserved area of PROGRAM space (2007h for this device) and therefore it is 14 bits wide.

    • @jimsmindonline
      @jimsmindonline 7 років тому +1

      NivagSwerdna Thanks, just reading up on it. Quite a lot to take in!
      When I've looked at assembly before it's been 8 16 32 bit stuff, so the 14 bits caught me out!

  • @tarektch3188
    @tarektch3188 6 років тому

    hi , i need some help , can i take some of your time?I have a code written in the assembly language and need a simple modification!!?

  • @trickyrat483
    @trickyrat483 7 років тому

    MPLAB-X will make your life so much easier.
    As will the free C compiler.
    And yes, you can go as "low level" as you like, armed with your chips datasheet.
    Just avoid the code-generation tools.

    • @SpeccyMan
      @SpeccyMan 7 років тому +3

      Yes and it will completely defeat the whole purpose of these tutorials. Learning to walk before learning to run is always the best way.

    • @trickyrat483
      @trickyrat483 7 років тому

      No, it won't "defeat the whole purpose of these tutorials". That's just ill-considered, unsubstantiated nonsense.
      MPLAB-X is extremely easy to install and use. MUCH EASIER than hacking around like this. You can see, and play around with ALL the config parameters for your chosen chip very simply. You can match them up with what you read in the datasheet. That's vastly simpler and much more productive for new users.
      The C Language header files already contain definitions for the vast majority of the ports, registers, bit masks, etc., for the items you see in the datasheets. That saves you all the hassle of having to bit-bang every damn register together yourself. That's very important when you want to use functionality that requires multiple registers - most of which are multi-purpose - set up correctly. SPI, I2C, PWM, Timers, etc., especially on the higher-end PIC devices - PIC18 upwards - are good examples.
      Ah, hacking around with primitive tools in assembler... Been there, done that, bought the tee-shirt. 30 years ago... And yes, I did it for many years professionally too in the 1980s-90s. But these days, when high-quality optimising C compilers are available for free? Lunacy. And yes, you can "inline" and "asm" small sections of code if they need specific access or performance (it's rare these days you need to do this, especially if you are using the hardware available correctly - i.e. using on-board hardware timers, pwm, spi, i2c, etc. - rather than trying to bit-bang it all in asm like we did in the old days when the hardware couldn't do it..)
      Whatever, let's just agree to disagree. My comments are for those folks whole will watch this and want to consider a - vastly more productive - alternative.
      Hint: ask yourself why Arduino with it's great little IDE, C compilers and C libraries has become so successful for those who "want to learn to walk before learning to run", as you phrased it.

    • @SpeccyMan
      @SpeccyMan 7 років тому +3

      I agree, I do disagree and your response shows you do miss the purpose of these tutorials.
      The Arduino IDE produces bloated binaries and encourages bad programming habits (there are a plethora of such examples to be found on this very site.) With that in mind I often ask myself "why the Arduino IDE?" (Actually I don't as I stopped using it long ago after it grew into a monstrous bloatfest.)
      Given the number of people who've expressed interest in following Julian's series on PIC my original comment is substantiated by that and suggests to me that people want to get back to the basics and not be concerned about what is considered "fashionable."
      Clearly you are an MPLAB-X fanboy and you can be clear that I am not!

    • @trickyrat483
      @trickyrat483 7 років тому

      "Fanboy"? "Fashionable"? Exclamation marks!!!! Come on, Nick, show a little professionalism. This isn't the place for such childishness.
      Your own comment talked about getting people to "walk before they could run"... As I said, C on PIC or Arduino achieves that; not PIC in asm. That's what I responded to.
      Julian has the right to do any tutorial he sees fit; and we all have a right to comment on it. Your comments aren't "substantiated" by a one video that takes a certain approach. Your replies, begrudgingly, seem to appreciate that..
      MPLAB-X. You chose to ignore all the points I made about how much easier the tools within the product make things for beginners, especially the daunting task of configuration bit setting - probably the hardest thing beginners face on PICs (and most other M/Cs.) Multiple configurations - different OCSs, clock speeds, etc., etc. can be excercised very simply. Ditto many other operations. Don't like MPLAB-X, then use the older MPLAB. Or use Mikroelectronica's smaller, simpler IDE.
      Arduino "bloat"? Most beginners don't care about that, they just want to see something work. Remember, that "walking" bit you raised..
      And, back on the topic of PIC, the Microchip C compiler has progressively enabled more of the optimiser for free; the latest - free - version of the compiler produces excellent quality code. And, as I said, you can "inline" and "asm" to your hearts content if you wish - although most of the times that's completely pointless if you use the onboard hardware resources of the chip effectively (and PIC18, etc. and very cheap and very capable these days..)

  • @lalortech5286
    @lalortech5286 7 років тому

    Hi Julian,
    Is it possible to replace the PIC12F675 on the development board with say a PIC12F683? or any other 8 pin PIC

    • @JulianIlett
      @JulianIlett  7 років тому

      Yes, I'll mention that in a later tutorial.

  • @SidneyCritic
    @SidneyCritic 7 років тому +1

    You should find another chip to read the cal off just for kicks, actually my curiosity.

    • @JulianIlett
      @JulianIlett  7 років тому +2

      Actually, just discovered the cal value is still in the PIC chip - I'll mention that in part 2

  • @josephtannenbaum8696
    @josephtannenbaum8696 4 роки тому

    Data sheet says the bg bits are factory set and should be read and replaced when programming??

  • @AliensInc.
    @AliensInc. 7 років тому

    Please let me/us know how to get/set the config for the internal osc.

    • @JulianIlett
      @JulianIlett  7 років тому +1

      I'll cover that in part 1.1

  • @Feedback_Jack
    @Feedback_Jack 7 років тому +1

    Perfect tutorial!

  • @karanahuja6302
    @karanahuja6302 4 місяці тому

    Very Very Important Video.

  • @acatisfinetoo3018
    @acatisfinetoo3018 5 років тому

    Ok so you can hear and see it...but at what frequency can you smell it?

  • @GMSD-tv6ft
    @GMSD-tv6ft 6 років тому

    hello men i have pic kit 3 and it’s not working my pc don’t ditected it and the status is always red can you help me with that and thank you in advance
    Georges

  • @edmclaughlin4923
    @edmclaughlin4923 7 років тому

    Anyone else that is using the pic board Julian is using and getting
    Target Detected
    Target Device ID (00000000) does not match expected Device
    ID (00000fc0).
    Is my board damaged?

    • @edmclaughlin4923
      @edmclaughlin4923 7 років тому

      Answering my own question. I ordered a real microchip pickit3 and hooked it up to the board. It immediately recognized it and I was able to program it. Getting a frequency now and can continue with the tutorial.

  • @Henchman1977
    @Henchman1977 7 років тому

    Link to that scope kit? Ebay usa if you have an affiliate....

    • @jimsmindonline
      @jimsmindonline 7 років тому

      Ian Colquhoun it's an old DSO138 made by JYEtech. It doesn't really compare to a proper bench scope, but handy for hobby stuff, low frequency, pwm, etc.
      They have newer versions now, but this is still around cause it's probably the cheapest scope you can buy.
      You can find clones all over eBay as kit form or preassembled.

  • @dmbrv
    @dmbrv 7 років тому +1

    love this video. pls more :)

  • @oldmanhuppiedos
    @oldmanhuppiedos 7 років тому +1

    Great tutorial

  • @Brainstorm4300
    @Brainstorm4300 7 років тому

    Sometimes I see words and pages mentioned in microcontroller data sheets. Can anyone explain what they mean?

    • @nigeljames6017
      @nigeljames6017 7 років тому

      Brainstorm4300 Well, give type the words and I'll try and do my best to explain them.

  • @weaponking5750
    @weaponking5750 5 років тому

    Not possible for pic16f886 my lord....!!!!
    please give me some suggestion about it...

  • @joshuabest100
    @joshuabest100 7 років тому

    whats the diffrence beteen pickit2 and 3

    •  7 років тому

      RC MAD it is explained in part 0

    • @lawrencel3188
      @lawrencel3188 7 років тому

      Basically just newer and supports more PIC chips. But requires different IDE that is said to suck!

    • @SatyajitRoy2048
      @SatyajitRoy2048 7 років тому +1

      If you use standalone programmer, then PICKit2 and PICKit3 will do the same job. There is no difference at all. The PK2 can read PK3 device file as well so no difference supported parts as well. Its not difficult task either to add a new part in the device list. Yes, PK3 is more polished hardware to adjust to 3.3V parts but PK2 does that well enough too. I always prefer to use stand alone programming app, its mainly because I compile my programs via command line (Notepad++ is my editor) and in PK2/PK3 programming app, there is an option for you to upload automatically as soon as a new HEX file is generated. This saves lot of time and easy to use when you are programming difficult task where you need to code and upload many times.

    • @TomStorey96
      @TomStorey96 7 років тому

      Lawrence L MPLAB X has its issues I guess, bit it's still a very nice IDE to use. For one, you don't need to build and program as two distinct steps, one button does both.
      Perhaps a useful feature that would have been very relevant to this video is the configuration word builder. It presents you with a list of all of the configuration bits and drop down lists for all of the applicable options. That then generates the appropriate code to place in your source file. Super simple.
      Having said that, I do enjoy the challenge of figuring stuff out and writing assembly. There's a lot to be said for productivity with high level languages, but some of the fun is lost. :)

  • @LeviSchuck
    @LeviSchuck 7 років тому

    The pencil cursor got me laughing. I always wondered if you accidentally poked your screen with them from time to time.

  • @CarlRecktenwaldJr
    @CarlRecktenwaldJr 7 років тому +1

    great job

  • @tripore
    @tripore 5 років тому

    I have no idea why would one mess with the old PIC technology since there are now Ardruinos and even better, the ESP8266 and ESP32. I know what I'm talking about. I've been programming the PICs since 20 years.

  • @andymouse
    @andymouse 7 років тому

    hope ya still stuff for your fans who are mortals !

  • @MauroSedrani
    @MauroSedrani 7 років тому

    Great stuff!

  • @lawrencel3188
    @lawrencel3188 7 років тому

    So far I would rather you had used an 8 pin AVR chip. Default WDT enabled is stupid. But still learning is going on!

    • @paulrautenbach
      @paulrautenbach 7 років тому +2

      Maybe it's stupid but it's the sort of mistake a beginner might make from lack of understanding. So it is good to point out the possible pitfall to the newbies.

    • @JulianIlett
      @JulianIlett  7 років тому

      That's true Paul, and there are plenty more pitfalls like that to come :)

  • @bsvenss2
    @bsvenss2 7 років тому

    Great video! 1.2760 thumbs up! :)

  • @JasonMasters
    @JasonMasters 7 років тому

    Next: Show us how to read that calibration data and write it back in again every time we reconfigure the chip.

  • @shermangeorgiadis268
    @shermangeorgiadis268 6 років тому

    I liked this unconventional video.

  • @TKomoski
    @TKomoski 7 років тому

    That was cool

  • @biggrey54
    @biggrey54 7 років тому +1

    thanks

  • @ThiwankaWimalasuriya
    @ThiwankaWimalasuriya 7 років тому

    this is great

  • @martin.pokorny
    @martin.pokorny 7 років тому +2

    YES!

    • @TheMorc
      @TheMorc 7 років тому

      heeej slováák

  • @kavindugilshan
    @kavindugilshan 7 років тому +1

    Great !!

  • @jeffmerlin2580
    @jeffmerlin2580 7 років тому

    Thanks!

  • @stevenc22
    @stevenc22 7 років тому

    damnit Alice hasn't sent mine yet!

    • @maicod
      @maicod 7 років тому

      naughty her

  • @slap_my_hand
    @slap_my_hand 7 років тому

    If microchip only had a good C compiler.....

  • @mrgreenjeans9839
    @mrgreenjeans9839 7 років тому +1

    👍👍👍✌️👀👽💨💨💨

  • @mlgmaster6418
    @mlgmaster6418 7 років тому

    hi

  • @TKomoski
    @TKomoski 7 років тому

    Get down and dirty with the bits

  • @pirateman1966
    @pirateman1966 7 років тому

    Pic is dead dude. Atmel is the king of the hill now, thanks to Arduino.
    Good thing too. Microchip is a horrible company.
    They used to be awesome. Before success went to their heads, and screwed up royally, with the Pic32.
    If you don't need a JTAG to debug hardware, then you don't need a silly programmer that they keep obsoleting.
    ICD1, then ICD2, then ICD3, PicKit BS ... Fuck of Microchip...

  • @stevenbliss989
    @stevenbliss989 2 роки тому

    I will NEVER forgive Microchip for the shit slow internal clock!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!