{"product_id":"pic-16f84a-16f84-microcontroller-in-pakistan","title":"PIC 16F84A 16f84 Microcontroller In Pakistan","description":"\u003ch3 id=\"description\" class=\"tab-list-title\"\u003e\u003cspan style=\"font-size: 28px;\"\u003eDescription\u003c\/span\u003e\u003c\/h3\u003e\n\u003cdiv id=\"content_description\" class=\"ty-wysiwyg-content content-description\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eThe 16F84 is deserves looking at because it is the GranDaddy of PIC Microcontrollers\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\u003c\/td\u003e\n\u003ctd colspan=\"3\"\u003e\n\u003cspan style=\"font-size: 28px;\"\u003e.This PIC 16F84A 16f84 Microcontroller through the basic principle of the PIC family Microcontroller. Mainly focus on the 16F84 just simply because it’s simpler than other types to understand. For those who don’t know what a Microcontroller is; It is a brain of a digital device that operates in a close loop control process. It has I\/O port to take in interrupt or data and send out signal to control relay or just simply a motor or that type of mechanism.\u003c\/span\u003e\u003cp\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eThe close up of a Microcontroller\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003e\u003cem\u003ePins and it’s functions\u003c\/em\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cspan style=\"font-size: 28px;\"\u003ePIC16F84-04\/P IC\u003c\/span\u003e\u003cbr\u003e\n\u003cspan style=\"font-size: 28px;\"\u003eCMOS PIC Microcontroller\u003c\/span\u003e\u003cp\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 28px;\"\u003ePins: 18\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 28px;\"\u003eConfiguration: Flash\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 28px;\"\u003eSpeed: 4MHz\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 28px;\"\u003eEPROM bits: 1K x 14\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 28px;\"\u003eRAM bytes: 68\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 28px;\"\u003eI\/O lines: 13\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003e\u003cem\u003ePorts\u003c\/em\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eThe PIC 16F84 has two ports; each can be individually program as input or output. PortA is a 5bits\/lines (mostly use as input), and portB is 8 bits\/lines (normally use as output). You can think of the PIC controller as a fish tank with all the water lines running in and out from it. Some of the line you will hook up to the water coming in, the other for water coming out. Remember, don’t mistake the port as a single line; the two ports are each consists of multiple lines that can be use for parallel data transfer.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan style=\"font-size: 28px;\"\u003e\u003cem\u003eIntroduction to Architecture of PIC 16’\u003c\/em\u003e\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eThe PIC ’84 has two separate blocks of memory; Program memory and file registers memory.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan style=\"font-size: 28px;\"\u003eProgram memory:\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003ePIC’84 is 14 bits and can contain 1K of code. This is important to know because you don’t want to write a lengthy program or put to much comment on to a program and it will not fit into the PIC.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan style=\"font-size: 28px;\"\u003eFile Registers:\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eyou can think of this as drawer in a cabinets. Some of the drawers are reserved for special purposes. These register are located at reserve address that the designed for the PIC to recognize and have higher priority then other address when it comes to interrupt (Read on).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eBelow are the most basic ones\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eHex Address\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eName\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eDescription\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e0x00\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eIndirect Address\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eIndirect Address Pointer\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e01\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eTMR0\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eTimer\/Counter\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e02\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003ePCL\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eProgram counter\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e03\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eStatus\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eStatus Registers-Flags\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e04\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eFiles select\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eIndirect Pointer\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e05\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003ePort A Data\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003ePort A\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e06\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003ePort B data\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003ePort B\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e07\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e08\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e09\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e0A\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003ePCLATH\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eProgram counter Latch High Order 5 Bits\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003e0B\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eINTCON\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"font-size: 28px;\"\u003eInterrupt Control\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003e\u003cem\u003eSource: “Easy Pic’n”, David Benson, p.10\u003c\/em\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eIn this section, I only emphasize on the important features that are necessarily to better understand this tutorial. For a more detail explanation, I suggest the book “Easy Pic’n” by David Benson\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan style=\"font-size: 28px;\"\u003e\u003cem\u003eWorking register\u003c\/em\u003e: ***This concept is important*****\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003ePicture this; you can only open one drawer of the cabinet at a time. Therefore, to copy and transfer some thing from one drawer to another, you need to have a temporary space to dump data to. To move a shirt from drawer #1 to drawer #3. We do this; open drawer #1, move shirt from drawer #1 to working register, close drawer #1, open drawer #3, move shirt from working register to drawer #3, close drawer #3.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eThis is the only way to move data around the PIC’s registers.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan style=\"font-size: 28px;\"\u003e\u003cem\u003eProgram Counter\u003c\/em\u003e:\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003ePIC controller, like many other controller; it’s execute code line by line. Let say the PIC execute line #1. How does it know to go to line #2 or jump to a section after a “goto” instruction? Well the Program counter get updated every line after the PIC goes through a line of code. It’s keep track of which part of the program to jump to next.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan style=\"font-size: 28px;\"\u003e\u003cem\u003eStatus Register\u003c\/em\u003e:\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003eStatus register keep record of result of operation. Two important items are Zero flag and Carry flag. Imagine this; you subtract decimal base number 5 to number 5. The result is zero. The Status register have a bit that get set to 1 if the result is Zero from any operation has just performed by the controller. Similar with the Carry bit. It detect if there is a carry after an operation\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan style=\"font-size: 28px;\"\u003ePackage Include:\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 28px;\"\u003e1 x PIC 16F84A 16f84 Microcontroller\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"color: #ffffff; font-size: 28px;\"\u003eThe\u003ca style=\"color: #ffffff;\" href=\"https:\/\/www.amazon.com\/Microchip-PIC16F84A-04-Microcontroller-DIP-18-C-Temp\/dp\/B01N3ALV49\/ref=sr_1_2?dchild=1\u0026amp;keywords=16F84A\u0026amp;qid=1603546808\u0026amp;sr=8-2\"\u003e focus keyphrase\u003c\/a\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e","brand":"Electronics Hub","offers":[{"title":"Default Title","offer_id":54466791932217,"sku":"product-6207","price":500.0,"currency_code":"PKR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0965\/3623\/2249\/files\/PIC16F84A-1.png?v=1789232821","url":"https:\/\/electronicshub.pk\/products\/pic-16f84a-16f84-microcontroller-in-pakistan","provider":"Electronics Hub","version":"1.0","type":"link"}