PIC Microcontroller Programming - PIC AS Assembler using MPLAB X IDE, Blinking LED

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

КОМЕНТАРІ • 159

  • @jj74qformerlyjailbreak3
    @jj74qformerlyjailbreak3 Рік тому +4

    I remember a couple years ago, a video like this would’ve been so boring to watch. Back then I didn’t comprehend anything related to Programing, and had to “Force Feed” this knowledge. 😂 Now I can listen along and visualize what’s going on in my head.
    Big difference, almost Night/Day.
    Your videos are easy to follow along with now.
    Thanks for all your time, it does pay off.
    God Bless.

  • @thirstywatersfreeaudiobooks
    @thirstywatersfreeaudiobooks Рік тому +8

    That was brilliant, thank you so much for putting this together! My first engineering job back in 2002 was as an embedded systems designer using a Microchip PIC as our microcontroller (I don't remember which family, maybe PIC16F). I got to write firmware, I even designed some of the PCBs we use. I was so excited when my first PCB arrived from the fab house! I mounted and soldered the components on with such pride, and the best part was it worked! Unfortunately, that job only lasted a little over a year, and I haven't touched any embedded systems since then. Something recently triggered the itch in me to get back into it as a hobby, so here I am some 20 years later trying to re-learn PIC assembly to build some fun little automation projects for around the house and camper. Thank you!!

  • @andyfarquhar9302
    @andyfarquhar9302 Рік тому +2

    I have just written the same code for a PIC16F84A using XC8 (pic-as) v2.36 found it kept generating multiple syntax errors, starting at MOV32L instruction.
    After much frustration and web trawling and reviewing the tutorial 5x+, I ended up downgrading the compiler toolchain to XC8 (pic-as) v2.32, as used in tutorial.
    It built successfully to my suprise !! I am so happy, great tutorial. Thanks.

    • @wilbermunn9532
      @wilbermunn9532 Рік тому +2

      I'm writing code for 16F690
      The ", F" on movwf in the macro seems to be the issue for me, when I moved back to v2.30 I was still having some warnings & errors on build in mplab v6.05
      This version of the macro compiles with pic-as v2.41 for me
      MOVBIGL macro dest, imm32
      movlw (imm32 >> 0) AND 0xff
      movwf dest+0

      movlw (imm32 >> 8) AND 0xff
      movwf dest+1

      movlw (imm32 >> 16) AND 0xff
      movwf dest+2

      movlw (imm32 >> 24) AND 0xff
      movwf dest+3
      ENDM

  • @danielfischer1362
    @danielfischer1362 Рік тому +2

    Creel, you are a GOOD man!!!. Thank you very much for the Blink PIC tutorial! While by now, April 19, 2023, MPLAB X is v6.05, and I got some syntax errors, while using your code when compiling for a PIC12F629, you gave me enough info fix them, and to my amazement my little PIC is blinking the LED on the first try!!!!! I could not believe it!. Now, that I managed to go through this tutorial, I have to figure out why some code written 19 years ago no longer compiles under MPLAB X. I have a fighting chance due to you.... Thank you very much.

  • @Andrei424M
    @Andrei424M 3 роки тому +16

    I have been trying the first Blinky on a PIC16F628A about 6 years ago... and, yes, it was on a breadboard with a Green LED, and a tear of nostaiga falls off my eye.
    I did it in MPLAB IDE 8.92 (and only now I realise how old school it is).
    Now I am toying around with STM32 programming and, looking back at my memories I see how easy and fun PICs to program.
    Seeing this introduction video really made my day. Keep it up with the content.❤️

  • @_..---
    @_..--- 3 роки тому +24

    "you need to get the datasheet", what an understatement

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

      Maybe an understatement, but it needed to be said. :)

  • @q12x
    @q12x 3 роки тому +17

    Please, make more PIC's tutorials !
    Make a mini-series with them.
    Also, explain more in depth the PIC memory blocks, the register file map, special function registers, etc.

  • @MD-vs9ff
    @MD-vs9ff 2 роки тому +10

    Just a note, Watchdogs should NOT be resetting your chip frequently. The point of a watchdog, if used properly, is to reset the microcontroller if some bug causes it to get stuck in an infinite loop of become unresponsive somehow. In normal operation, you periodically reset the countdown so it doesn't reset you. But if you get caught in an infinite loop or your code gets derailed by a rogue pointer, the timer won't be reset so the micro gets reset once the countdown completes.

  • @martinxXsuto
    @martinxXsuto 3 роки тому

    this took me back to microcontroller class
    Honestly, what limited programming we've seen i liked this the most

  • @larsfinlay7325
    @larsfinlay7325 Рік тому +1

    thank you for sharing your knowledge and being so enthusiastic in every video you make. I'm halfway through your assembly course just sort of peeking at this project now seeing how you set stuff up. thanks for teaching an old dog some new tricks.

  • @dominykasc8634
    @dominykasc8634 3 роки тому +1

    Thank you so much for this tutorial. I had a different PIC (PIC16F877A to be exact) but you had explained everything very clearly so, despite having no prior experience, with the help of a datasheet I was still able to make an LED blink.

  • @khatharrmalkavian3306
    @khatharrmalkavian3306 2 роки тому +4

    Any Arduino can also be used as a programmer. The IDE can write the programmer program to the Arduino, then you wire up the victim on the breadboard and set the IDE to use the Arduino as a pass-through. (There are several guides online.)
    I've done this reliably with ATtiny chips and it's been a great (and cheap) solution.

  • @GiBBO5700
    @GiBBO5700 3 роки тому

    PIC micros are my GOTO for most projects. A better starter is 16f. You still need to switch register banks but you can use the ICD (In Circuit Debug) with Pickit and MPLab. So good to be able to step code on the physical device. It makes debugging so much easier. Not disrespecting the 12f, I have used many 12f's and they are very cheap to boot. Also it was great to see you telling people to initialise the comparator and ADC registers. Many hours spent in the early days debugging only to realise the GPIO is being overtaken by internal modules. Great video! 👍

  • @piotrlenarczyk5803
    @piotrlenarczyk5803 3 роки тому +2

    Thank you for video.
    The hardest thing is to start with new topic. This tutorial briefly introduces great world of MCU assembly;).

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

    I'm using an 12F508. No banks, but was able to follow along perfectly fine. Nice one.

  • @talideon
    @talideon 2 роки тому +7

    Another method is to lean on TMR0 to do the delay. It's a bit more advanced, but it's much less code, more accurate, and means the μC can be put to sleep for the duration, which is great for cutting down power usage.

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

      Your comment alone has made reading the comments worthwhile. Mr. Total Newbie here wondered if the approach shown in the video was the best way to do this, and glad to hear there is an alternative. That said, I think for this video, the "sub-optimal" approach here was spot on; it avoids distraction & makes this video a better teaching tool IMO.

  • @TroySchrapel
    @TroySchrapel 3 роки тому +1

    Great work, mate. I'm about to use a PIC to add PS/2 keyboard support to my homebrew 6502-on-a-backplane build.

  • @TheUnofficialMaker
    @TheUnofficialMaker 2 роки тому +1

    great,i must try it.Hope you will do more in this series. PS: I DID IT!! Cool Beans!! Used PICkit 2 programmer, worked fine without the NOPs at the end.

  • @vinyltheif
    @vinyltheif 18 днів тому

    Top geeza! Having just updated from X 4.5 to 6.2 rhis is JUST whht I needed, the new directives had lost me, I program only is assembler (from my (6800 colleg days). Adding the reset vector to linker was what I needed to find, now it resides/starts at the correct address (0x00) & simulates. . . on with the learning ;-)

  • @sathyadines5036
    @sathyadines5036 3 роки тому

    Nice i mostly use C but sometimes we need assemble code knowledge to know what happening in memory chip. Its refreshing to me. Good job!!!

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

    Your tutorial is greatly needed. Thank you for making it. because .... MPLAB is the ABSOLUTE WOSRT program I have ever used when it comes to installation. One would expect a development platform to have some sort of built-in options for which chip and which language you want to use and install all the needed components for you. But not MPLAB. MPLAB sends you on a lengthy tresure hunt without a map. How lazy of them.

  • @locusf2
    @locusf2 3 роки тому +4

    I can imagine how refreshing it must be to look at assembler that doesn't have 9 volumes of documentation for a change :)

    • @captainswing4040
      @captainswing4040 3 роки тому

      haha
      intel datasheets are bloody encyclopedia of the universe
      but they are very very detailed and i like really like that these guys put work into making good documentation

    • @locusf2
      @locusf2 3 роки тому

      @@captainswing4040 there quite a few videos online where they go through the developer reference and check out the generated bytecode vs the documentation, its really fun to look at

  • @TomStorey96
    @TomStorey96 3 роки тому

    Two of my favorite things in one video - creel and PIC!
    I could be wrong, but I reckon it's "XG ecu" - with ecu referring to engine control unit. These guys seem to make a few vehicle related products. Great little programmer though, I have one and it can program a lot of different devices - MCUs, PLDs, ROMs etc. There is also an open source command line tool available for it (called "minipro") that's runs on Mac and Linux.

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

    The comment count stands at 99 as I write this, and so I am exceptionally motivated to submit Comment #100.
    But seriously: This was hugely informative and enlightening for me, so I would like to thank you for the time and effort you put into this. I'd also like to ask if there is anything we can do to encourage you to do more of these?

  • @chaoticgoodcoding3700
    @chaoticgoodcoding3700 3 роки тому

    Woah! I was just thinking I should learn how to write assembly for my pic18f44k22. Awesome!!!

  • @sukruciris
    @sukruciris 3 роки тому +2

    Hi Creel, I learned so much thing from your direct2d tutorials. I would be so happy if you make some xaudio2 (or a good sound library that we can use with direct2d) tutorial. Have a good day!

  • @davidconner-shover51
    @davidconner-shover51 Рік тому

    For legibility, all the bit and byte labels used in the manual are in the .inc file for the device,
    simply invoking it at the start of your program will define them.

  • @aniellopierri8307
    @aniellopierri8307 3 роки тому +2

    Well done! for a newbye it is great! Thanks.

  • @CesarMartinez-eh1dc
    @CesarMartinez-eh1dc 2 роки тому

    Thank you. It was very didactic. The guy is an intelligent American.

  • @ms767210
    @ms767210 3 роки тому

    Great tutorial. The kind I could have used back in the early 2000's. It seemed like a big learning curve back then and it was hard to find anyone for advice that wasn't a smart arse at the same time. Stuck at it though and it was fun alright. Found you through your branchless programming vid. That was an interesting one.

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

    I hated assembly in high school back then in 99, it was actually so bad that I have left electronics and changed my profession into electrical engineer, after 10 years got bored, somebody gave me few small plc projects, couple yrs on and another person gave me deadline to learn Ignition scada... I hit the roadblock called scripting same person said that I should grasp basics of python and Javascript within a week... after year or so I am back in learning assembly language, this time without terrible school and teachers... And yes I actually like it a lot.
    And yes using all those engineering skills and see them in action, implemented gives tonnes of satisfaction...
    same person said that they need project manager now... shit...

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

    This is a good foundational video tutorial.

  • @schnozberry2
    @schnozberry2 3 роки тому

    Great to see some more of your videos coming out. PIC assembly is where I started my programming journey. As great as Arduinos are they do tend to abstract too much of the low level goodness ASM away.

  • @reirei_tk
    @reirei_tk 3 роки тому +2

    I guess I'm celebrating Christmas early this year.

  • @mytechnotalent
    @mytechnotalent 3 роки тому +3

    This is fantastic. Have you thought about a full detailed series on the PIC using this chip?

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

      And yet, 4:3 is a much more suitable format, especially if you use IDEs (compared to simple editors).

  • @theexplosionist2019
    @theexplosionist2019 3 роки тому

    Shenzen I/O, the game where you program microcontrollers, immediately springs to mind.

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

      but you can only put like 10-20 instructions per controller

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

    Hello, for avoiding to add `-presetVect=0` in linker option you can declare PSECT like this:
    PSECT resetVect, abs, class=CODE, delta=2
    ORG 0
    resetVect:
    The magic is permitted with the `abs` attribute in PSEC and also the directive `ORG 0` (or `ORG 0x0000`)

    • @rawlc.5086
      @rawlc.5086 Рік тому

      please, if you understand that "psect" new directive help me,
      (psect udata psect udatashr psect code ) in ram
      PSECT CODE
      PSECT class=CODE
      all those diferent ways are placing my instructions in completely arbitrary different parts of the program memory.
      some of them are in the first registers, some others in the middle and some others in the end, even when i write "code" this way, one part of my program goes to an "extra section program"... i don't understand anything...
      also PAGESEL ANSEL... i don't understand them, but i don't really care of it, i'd just like to know about PSECT to start programming.
      thanks if you can help me... i really don't like this new pic-as

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

    Vielen Dank aus Deutschland, hat mir sehr geholfen👍

  • @c4ashley
    @c4ashley 3 роки тому +1

    I love assembling for PIC, but I also absolutely hate it, because information is so scarce. It seems very few people are doing it with pic-as so it's hard to find relevant forum posts, etc. The Assembler Guide and the Migration Guide are great, but also.... sometimes not so great. Also the build errors are so often just completely useless! Thank you for spreading knowledge.

    • @UnworthyUnbeliever
      @UnworthyUnbeliever 3 роки тому +1

      books i'm trying to read teach MPASM. even after applying MPASM to PIC-AS migration, i still get cryptic error messages. running a working Simulator in MPLAB X is a pain in comparison to MPSIM. man Microchip . . .

  • @pup4301
    @pup4301 3 роки тому

    Just finished programming a pic12f1612 to turn on a pin ising the triscabits. This comes up and now I don't want to sleep.

  • @LewisLoflin
    @LewisLoflin 3 роки тому

    Trouble most people have little interest in real programming. Good job.

  • @luiscarlosmarques3946
    @luiscarlosmarques3946 9 місяців тому

    Essa é a aula de introdução mais rica e organizada que assisti.
    Desculpas, eu não sei escrever essas coisas em inglês.
    Gratidão.

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

    Great video for beginners!

  • @fifaham
    @fifaham 6 місяців тому

    Excellent video - thank you.

  • @matthewe3813
    @matthewe3813 3 роки тому +1

    please continue the neural networks series

  • @j1952d
    @j1952d 3 роки тому +7

    The mnemonic TRIS is a bit cryptic. I'm going back over 30 years (since I messed with PICs), but I seem to remember it's short for TRISTATE. Don't think you mentioned it, but apologies if I missed it.

    • @WhatsACreel
      @WhatsACreel  3 роки тому +1

      I'm not sure if I did mention it? Well thanks for the info anywho, and cheers for watching :)

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

      I also had wondered about TRIS - until I saw this. Yes, he did mention it.

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

    When you need to debug embedded assembly code, and you don't have a simulator for the assembler (as happened to me in 1986 with my first program in Modula II, in a project requiring assembly to control a machine), you can still print the microprocessor's registers with the following trick, in which, as an example, registers PC, A, B, X, and CR will be printed at different assembly-coded program locations. If _ASM( assembly code) is the format of the assembly-embedding instruction, insert the following fragment, adapted to your case, at various places in your embedded code:
    ) /* DEBUG * to print PC, A, B, X, and CR */
    print

  • @gathda
    @gathda 3 роки тому +1

    Great video.

  • @oqardZ
    @oqardZ 3 роки тому +1

    It would be great if you could show the same, but with a timer which triggers an interrupt which wakes the MCU to handle the interrupt. That would be a good technique to know because it gives you much smaller power consumption, i.e. longer battery life of your product.

  • @adnansayder2148
    @adnansayder2148 3 роки тому

    I began assembler of pic at 1995 but now ı dont use exactly but ım using as parts into c programs its very useful and important for memory use e.t.c

  • @danilv.l.2501
    @danilv.l.2501 3 роки тому

    Very interesting, thanks bro!

  • @juanfra1997
    @juanfra1997 3 роки тому

    maybe a course when you teach how to write libraries to modules on xc8 in mplab suing mcc would be so helpfull and newer chips that are used by students for example pic 16f18875 thanks for the video

  • @David_11111
    @David_11111 3 роки тому +1

    yay

  • @GrinyaPLAY
    @GrinyaPLAY 3 роки тому +3

    Thanks. What you think about making modern asm coding series next time? Can you create simple game or implement useful algorithm with asm? Another great topic is using asm today with proper dev pipeline and patterns.

    • @WhatsACreel
      @WhatsACreel  3 роки тому +5

      I'd love to do some more ASM vids. Cover larger projects, hopefully we can get something more significant rolling in the future. Although, they will mostly be high level, just with the matrix routines or processing or whatever in ASM.
      Anyway, thanks for the suggestion mate, and cheers for watching :)

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

      @@randallyoung9411 That was weird (in a bad way) - The video began normally enough, but when the video changed to an inset, the sound was lost. Does this guy have a problem with the mechanics of making UA-cam videos? No insult intended - it was just weird that he's never bothered to fix this.

  • @samzx81
    @samzx81 3 роки тому +27

    Nice to see some real programming. Not like that python garbage! haha. Also nice mic (I say this because I have the same one. I got it because it looked cool LOL.)

    • @samzx81
      @samzx81 3 роки тому

      @@motbus3 js does really suck 🤣

    • @JoshuaJapitan
      @JoshuaJapitan 3 роки тому

      What mic is that by the way

    • @samzx81
      @samzx81 3 роки тому

      @@JoshuaJapitan um I think it's a Samson meteor mic.

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

      There are many programming languages that deserve to be shat on but Python isn't one of them.

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

      @@RedGuardYF well firstly my comment was meant to be slightly jokey I don't really hate python (its not PHP 😅.) But secondly I think while there are lots of good things about it, python also has problems. One obvious one is the use of indentation to define scope. It can lead to a lot of errors that are hard to fix if something happens to the indentation and although it means slightly less typing I don't think it's worth it. Another problem is the lock that the interpreter uses that makes it hard to scale across many threads.

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

    Thanks 🎉🎉

  • @sanusitunde8266
    @sanusitunde8266 3 роки тому

    Now i can see a real programer. Not a configurer. Thanks for awaken ou best assembler the language of computer.

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

    Hi, i downloaded mplab x ide v5.50, but regards the assembler, it wanted to sign me up 4 a 60 day trial when i downloaded v2.32, would an earlier version be ok for using the pic12f675 projects.
    Thanks
    Ernie

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

    Hello, I have a question, when I program the pic and leave the output-only bit (bit3) it does not act as such, I have done it with other microcontrollers and if it works, my intention is to use bit 3 with a boo?

  • @Sendeyap_Ar-Ge
    @Sendeyap_Ar-Ge 3 роки тому

    Abone oldum. Çok değerli bilgiler veriyorsun. Başarılar dilerim.

  • @guilherme6535
    @guilherme6535 3 роки тому

    Nice video

  • @alnoorratansi9364
    @alnoorratansi9364 3 роки тому

    Hi can you a video on installing the pic as complier, or post the link for downloading the compiler

  • @LivingTheDream77
    @LivingTheDream77 3 роки тому

    What do you think about the new intel AMX instruction set extension ?

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

    What is the better architecture, those little PIC chips or the ATtinys? I know the tinys are fully supported with open source cross compilers.

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

      The best one is the one that gets the job done. 🙂
      In all honesty, just pick one and get started. They'll both do certain jobs as equally as well as each other.
      Once you hit a situation where you need something else, you'll know. And at that point you'll probably have a better idea of what you need.
      There are some open source tools for PIC as well, such as gpasm.

  • @lerssilarsson6414
    @lerssilarsson6414 3 роки тому +1

    P. J. Plauger wrote 20+ years ago about switching from assembly language to C code - even in 8-bit microcontroller development.

    • @lerssilarsson6414
      @lerssilarsson6414 3 роки тому

      @justan idiot C provides a higher abstraction level. Mr. Plauger wrote from the perspective of a developer's productivity.

  • @surman1816
    @surman1816 3 роки тому

    top stuff

  • @sanduntharaka8081
    @sanduntharaka8081 3 роки тому

    Super 😍😍

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

    31:10, how did you do this Step thing? is there some keyboard action going on? please tell how to single step

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

    Is it possible to get a copy of the code? I bought a new development system and I am having a had time getting and traction.

  • @natureworld295
    @natureworld295 3 роки тому

    I'm using a PIC 16F877A , is the process similar ?

  • @cosma_one
    @cosma_one 3 роки тому

    So if you used C, I guess you wouldn't need to create a macro for moving 32bit values to vars and for the delay code you could call an internal function like "delay_ms", like in AVR MCUs. Right?

  • @robj3889
    @robj3889 3 роки тому

    Rad video now I feel like I could actually take on a microcontroller like this at least for fun. Out of curiosity how much trial and error did you have to go through before you were able to produce this? Does this kinda thing just spring forth from a Creel or does it take some testing and preparation?

  • @_crazytechz
    @_crazytechz 3 роки тому

    Nice nice

  • @JimTheScientist
    @JimTheScientist 3 роки тому +1

    epic

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

    Hey man this has helped a lot with my pic16 but i cant seem to get a pic18 working, it compiles fine but the debugger jumps around irrationally and when adding a retfie it just loops between that and the psect, any advice?

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

      ok so i just figured it out, the problem was the delta=2 phrases at the start. with them removed the pic18 works

  • @joseph9915
    @joseph9915 3 роки тому

    On ubuntu I do not seem to have the option for pic-as at: 8:07 But when I searched I could not fined any instructions for getting the assembler and it seems like if should of come with the IDE?

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

      If I'm not mistaken, the assembler comes with xc8 (the compiler). He does make a point of this in the video. I was pleasantly surprised that it was included in my recent download of the "free" xc8.

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

    9:26 if you cant see the window open the window. Seems plausible 😅

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

    What course to learn xc8 language?

  • @muratemredemircioglu2897
    @muratemredemircioglu2897 11 місяців тому

    @29:16 i get an error: "main.asm:23:: error: (876) syntax error" i am 100% sure i did exactly the same thing as you did. MPLAB version 6.15

  • @ZedaZ80
    @ZedaZ80 3 роки тому

    Holy heck, these cost less than 1USD :0
    *EDIT:* I am looking at a newer model, this particular one costs more, presumably because they don't want to make more if they don't have to :P

    • @talideon
      @talideon 2 роки тому +2

      Yep! They want to discourage the use of older silicon, but not for any nefarious reasons: it just means they have fewer variants to have to deal with.

  • @fridtjof685
    @fridtjof685 3 роки тому

    You incerement all your registers (DELAY0-3), as compensation for the decfsz method skiping one count (as I understood). But isn't this ignorig the possiblitiy for a 255 in one of the regs, and if say Delay1 would be 27, would decfsz DELAY0, F not skip 27 times. Did I missunderstand why you used incf.

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

    How can programmer 12c508/p???? Use any programmer or what

  • @jaimeestrella4613
    @jaimeestrella4613 3 місяці тому

    Unfortunately it didn't work in MPLAB X IDE v6.10

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

    @ 24:46 I had to remove the F in v6.00 on linux to get is working...
    does anyone know more about this?

  • @Good.Morning.Friend
    @Good.Morning.Friend 2 роки тому

    👍🏻👍🏻👍🏻👍🏻👍🏻❤

  • @hbibamrani9890
    @hbibamrani9890 3 роки тому

    Please show us a fast way to bit rotate a huge number or a file; please!!

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

    Following along in MPLAB X v6.15 i get syntax errors on "clrf GPIO, F" and "MOV32L DELAY0,33333" and google doesn't seem to be my friend. Anyone able to give me a hint as to what I'm doing wrong?

    • @miked4122
      @miked4122 11 місяців тому

      "clrf GPIO,F" should now be "clrf GPIO".
      It's a similar issue with the second error. In the macro definition "movwf dest+0,f" should just be "movwf dest+0". (And the same for the other 3 similar statements in the macro.

    • @ceptimus
      @ceptimus 9 місяців тому +1

      For some instructions, you can replace the , F or , W with , 1 or , 0. However, CLRF and MOVWF don't have the second parameter, so them being present in the video was a mistake.
      For those instructions that do support a second parameter, one option writes the result back to the file register, and the other to the W register. Look at the PIC12 datasheet section on "instruction set summary" for details. I suspect the older assembler had F and W as pseudonyms for 1 and 0, I',m not sure if that still works on the newer versions, because I use ,0 and ,1 anyway. Usually you can omit the parameter and the assembler defaults to using the mostly-sensible (and most used) default. Sometimes you want to use the not-obviously-sensible option: for example, MOVF foo ,1 reads the contents of the foo register and writes them back to the same register! W is not affected! This can be useful sometimes, because it still tests the contents for zero, and sets or clears the status Z flag.

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

    I'm getting a "BlinkLED.S:56:: error: (876) syntax error" on the MOV32L DELAY0, 333333 line, can someone please help me?

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

      This is my first MACRO ever. I did save the file as BlinkLED.S. It was .ASM. No difference

    • @martinziskind3971
      @martinziskind3971 2 роки тому +2

      I found the problem. In the Macro, you had MOVWF dest+x, F. The ,F was not allowed and caused the Syntax error

    • @DB-xx6ec
      @DB-xx6ec 2 роки тому

      @@martinziskind3971 Thank you! this is also the case for a lot of other parts in this video where F is used at the end when it does not need to be.

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

      @@martinziskind3971 same here, MPLAB ide v6. Thanks for the solution. Still a great vid Creel thanks to u2

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

    PSECT IS VER DIFFIFULT
    WHY START ADDRESS NOT FIX

  • @giangem37
    @giangem37 3 роки тому +1

    I was used too much projects with 12F675, most of them for control solar charge, this cheap mcu can do much things instead another more expansive like atmega or arm, no need to build pcb with osc, bootloader, only this mcu and do anythings. they dont know what they do and just think this old pic are worst and use some another expensive mcu and can't use full.

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

    Assembly language 64 bit or 32?.

  • @AspartameBoy
    @AspartameBoy 11 місяців тому

    Very odd to put main inside your reset vectors🤣

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

    little pic but large code

  • @drstrangelove09
    @drstrangelove09 3 роки тому

    "dec" -> dec as in deck (not deek)

    • @ZedaZ80
      @ZedaZ80 3 роки тому

      It depends on if you pronounce it "deck-reh-ment" or "dee-creh-ment." The former would become "deck" and the latter would be "deek."
      My original dialect of English uses the latter, but my current dialect uses the former, so I call it "deck" but used to call it "deek" when I was a baby programmer :P

    • @drstrangelove09
      @drstrangelove09 3 роки тому

      @@ZedaZ80 it's deck-reh-ment

    • @stok3si3
      @stok3si3 3 роки тому

      @@drstrangelove09 Accents exist. New Zealanders would pronounce this "deek", for example.

    • @drstrangelove09
      @drstrangelove09 3 роки тому

      @@stok3si3 of course accents happen

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

      As an American living in Scotland, I've learned that translation from English to English is necessary for communication. The first trick is learning that it's the same word - but the accent is on another syllable.

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

    This video is a good example, why 16:9 is a terrible screen format for programming. He just has like 10 lines of code visible at a time :) But as long as you guys buy 16:9 monitors, this won't change.

    • @WhatsACreel
      @WhatsACreel  2 роки тому +1

      I zoom the text in so it's large like that. By default there's a lot more on the screen.

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

    The first program was not hello world. It was blinky light. Sad to see little endian for the 32 macro..

  • @Billy-No-Mates-ol8nx
    @Billy-No-Mates-ol8nx 8 місяців тому

    In the 21st century, with efficient optimising compilers and high clock speeds, why muck about with assembler? Difficult to read, write and maintain!

    • @paradiselost9946
      @paradiselost9946 6 місяців тому

      reverse engineering. redundancy.
      my biggest kick is running back through hex dumps of code compiled, see how its actually stored on the device. only one step away with opcodes from the raw data. try and figure out whats going on without documentation. can see ways to improve code, tighten it up.
      etch off a chip cap and theres no documentation. work out a program simply by the "fuses burnt". cant do that in higher level languages.
      engineers working on that 70 yr old voyager "asm" language are getting paid well... dead and buried yet still kicking...
      asm may seem clunky but imho, its nice to know how half and full bit adders work, what a shift register does, even the seemingly simple task of division or subtraction in binary can lead to a rabbit hole... higher level languages obscure things.
      sometimes theres no need for a chip with all the bells and whistles.
      sometimes theres the satisfaction of figuring out how to do something seemingly never attempted before...

  • @stevenbliss989
    @stevenbliss989 5 місяців тому

    I like and use several PIC uCUs, but I will NEVER FORGIVE and UTTERLY DESPISE that uCU like the PIC12F675 that does NOT use the MAX clock internally - NOT FORGIVENESS (especially for 8 pin devices like 675/683 etc.- EVIL EVIUL EVIL!!!!!!!!!!!!!!!!!!!!!

  • @amzonfire6013
    @amzonfire6013 3 роки тому +1

    Why does the narrator has to show his face... it's annoying and an eye sore in the tutorial.

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

      I disagree 🙂

    • @amzonfire6013
      @amzonfire6013 2 роки тому +1

      @@jeremiahblum7833 I stand by what I said!!!

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

      @@amzonfire6013 As you wish, but please go stand over there. Yes - about 130 miles should do it.

    • @TheUnofficialMaker
      @TheUnofficialMaker 2 роки тому +1

      It makes it more personal, but could be smaller not to cover work area.