Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
PIC microcontrollers
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== ===Original concept=== [[Image:PIC16CxxxWIN.JPG|thumb|Various older (EPROM) PIC microcontrollers]] The original PIC was intended to be used with General Instrument's new [[General Instrument CP1600|CP1600]] [[16-bit computing|16-bit]] [[central processing unit]] (CPU). In order to fit 16-bit [[Bus (computing)|data]] and [[address bus]]es into a then-standard 40-pin [[dual inline package]] (DIP) chip, the two buses shared the same set of 16 connection pins. In order to communicate with the CPU, devices had to watch other pins on the CPU to determine if the information on the bus was an address or data. Since only one of these was being presented at a time, the devices had to watch the bus to go into address mode, see if that address was part of its [[Memory-mapped I/O|memory mapped input/output]] range, "latch" that address and then wait for the data mode to turn on and then read the value. Additionally, the CP1600 used several external pins to select which device it was attempting to talk to, further complicating the interfacing. As interfacing devices to the CP1600 could be complex, GI also released the 164x series of support chips with all of the required circuitry built-in. These included keyboard drivers, [[cassette deck]] interfaces for storage, and a host of similar systems. For more complex systems, GI introduced the 1640 "Programmable Interface Controller" in 1975. The idea was that a device would use the PIC to handle all the interfacing with the host computer's CP1600, but also use its own internal processor to handle the actual device it was connected to. For instance, a [[floppy disk drive]] could be implemented with a PIC talking to the CPU on one side and the [[floppy disk controller]] on the other. In keeping with this idea, what would today be known as a [[microcontroller]], the PIC included a small amount of [[read-only memory]] (ROM) that would be written with the user's device controller code, and a separate [[random access memory]] (RAM) for buffering and working with data. These were connected separately, making the PIC a [[Harvard architecture]] system with [[Machine code|code]] and [[Data (computer science)|data]] being [[Computer_data_storage#Primary_storage|stored and managed]] on separate internal pathways. In theory, the combination of CP1600 CPU and PIC1640 device controllers provided a very high-performance device control system, one that was similar in power and performance to the [[Channel I/O|channel I/O controllers]] seen on [[mainframe computer]]s. In the floppy controller example, for instance, a single PIC could control the drive, provide a reasonable amount of buffering to improve performance, and then transfer data to and from the host computer using [[direct memory access]] (DMA) or through relatively simple code in the CPU. The downside to this approach was cost; while the PIC was not necessary for low-speed devices like a keyboard, many tasks would require one or more PICs to build out a complete system. While the design concept had a number of attractive features, General Instrument never strongly marketed the CP1600, preferring to deal only with large customers and ignoring the low-end market. This resulted in very little uptake of the system, with the [[Intellivision]] being the only really widespread use with about three million units. However, GI had introduced a standalone model PIC1650<ref>{{cite book |title=Computer Structures: Principles and Examples |editor-first1=Daniel P. |editor-last1=Siewiorek |editor-first2=C. Gordon |editor-last2=Bell |editor-link2=Gordon Bell |editor-first3=Allen |editor-last3=Newell |isbn=0-07-057302-6 |year=1982 |publisher=McGraw-Hill |chapter=Chapter 35 PIC1650: Chip Architecture and Operation |first=Frank M. |last=Gruppuso |url=http://archive.computerhistory.org/resources/text/bell_gordon/bell.computer_structures_principles_and_examples.1982.102630397.pdf |chapter-url=https://gordonbell.azurewebsites.net/tcmwebpage/computertimeline/chap35_pic1650_cs2.pdf |access-date=2024-08-18 }}</ref> in 1976, designed for use without a CP1600. Although not as powerful as the [[Intel MCS-48]] introduced the same year, it was cheaper, and it found a market.<ref name=Leibson2023/> Follow-ons included the PIC1670, with instructions widened from 12 to 13 bits to provide twice the address space (64 bytes of RAM and 1024 words of ROM).<ref>{{cite tech report |type=Data Sheet |title=PIC1670 8-bit Microcomputer |author=General Instrument |url=http://www.t-es-t.hu/download/microchip/gi_pic1670.pdf |access-date=2024-08-18 }}</ref> When GI spun off its chip division to form [[Microchip Technology]] in 1985, production of the CP1600 ended. By this time, however, the PIC1650 had developed a large market of customers using it for a wide variety of roles, and the PIC went on to become one of the new company's primary products.<ref name=Leibson2023>{{cite news |title=A History of Early Microcontrollers, Part 9: The General Instruments PIC1650 |first=Steven |last=Leibson |journal=Electronic Engineering Journal |date=2 January 2023 |url=https://www.eejournal.com/article/a-history-of-early-microcontrollers-part-9-the-general-instruments-pic1650/ |access-date=2024-08-18 }}</ref> ===After the CP1600=== [[File:PIC1655A GI.jpg|thumb|PIC1655 from General Instrument]] In 1985, General Instrument sold their [[microelectronics]] division and the new owners cancelled almost everything which by this time was mostly out-of-date. The PIC, however, was upgraded with an internal [[EPROM]] to produce a programmable [[channel I/O]] controller. At the same time [[Plessey]] in the UK released NMOS processors numbered PIC1650 and PIC1655 based on the GI design, using the same instruction sets, either user mask programmable or versions pre-programmed for auto-diallers and keyboard interfaces.<ref>Plessey Satellite Cable TV Integrated Circuit Handbook May 1986</ref> In 1998 Microchip introduced the PIC16F84, a flash programmable and erasable version of its successful serial programmable PIC16C84. In 2001, Microchip introduced more flash programmable devices, with full production commencing in 2002.<ref>{{cite news |first=D. |last=Dunn |title=Microchip offering flash at OTP prices |newspaper=EETimes |date=31 August 2001 |url=https://www.eetimes.com/microchip-offering-flash-at-otp-prices/}}</ref> Today, a huge variety of PICs are available with various on-board peripherals ([[serial communication]] modules, [[universal asynchronous receiver/transmitter|UART]]s, motor control kernels, etc.) and program memory from 256 words to 64K words and more. A "word" is one [[assembly language]] [[Instruction_set_architecture#Instructions|instruction]], varying in length from 8 to 16 [[bit]]s, depending on the specific PIC [[microcontroller]] series. While PIC and PICmicro are now registered trademarks of Microchip Technology, the [[prefix]] ″PIC″ is no longer used as an [[acronym]] for any term. It is generally thought that PIC stands for "''Programmable Intelligent Computer''", General Instruments' [[prefix]] in 1977 for the PIC1640 and PIC1650 family of microcomputers,<ref name="1977catalog"/> replacing the 1976 original meaning "''Programmable Interface Controller''" for the PIC1640 that was designed specifically to work in combination with the CP1600 microcomputer.<ref name="1976databook"/> The "PIC Series Microcomputers" by General Instrument were a series of Metal-Oxide Semiconductor Large-Scale Integration (MOS/LSI) 8-bit microcomputers containing ROM, RAM, a CPU, and 8-bit input/output (I/O) registers for interfacing. At its time, this technology combined the advantages of MOS circuits with Large-Scale Integration, allowing for the creation of complex integrated circuits with high transistor density.<ref name="1977catalog"/> The Microchip 16C84 ([[PIC16x84]]), introduced in 1993, was the first<ref>{{cite journal |url=https://spectrum.ieee.org/chip-hall-of-fame-microchip-technology-pic-16c84-microcontroller |title=Chip Hall of Fame: Microchip Technology PIC 16C84 Microcontroller |date=30 June 2017 |journal=IEEE Spectrum |access-date=September 16, 2018}}</ref> Microchip CPU with on-chip EEPROM memory. By 2013, Microchip was shipping over one billion PIC microcontrollers every year.<ref name="12bil">{{cite web |url=http://www.microchip.com/pagehandler/en-us/press-release/microchips-12-billionth-pic-mi.html |title=Microchip Technology Delivers 12 Billionth PIC® Microcontroller to Leading Motor Manufacturer, Nidec Corporation |last=Lawson |first=Eric |date=May 16, 2013 |publisher=Microchip press release. |access-date=December 21, 2017 |archive-url=https://web.archive.org/web/20130721063936/https://www.microchip.com/pagehandler/en-us/press-release/microchips-12-billionth-pic-mi.html |archive-date=July 21, 2013 |quote="Microchip delivered this 12 billionth MCU approximately 10 months after delivering its 11 billionth."}} </ref>{{dubious|Shipment Volumes|date=February 2023}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)