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
Motorola 68HC11
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!
{{Short description|8-bit microcontroller family}} {{Infobox CPU |name = Motorola MC68HC11 |image = KL_Motorola_68HC11.jpg |caption = Motorola MC68HC11 in a 48-pin [[dual in-line package|DIP]] package |manuf1 = [[Motorola]], [[Freescale]], [[NXP]] |produced-start = {{Start date and age|1984}} |produced-end = |application = Embedded |data-width = 8 |address-width = 16 |arch = 68HC11 |pack1 = 48-pin [[Dual in-line package|DIP]], 52-pin [[plastic leaded chip carrier|PLCC]] |predecessor = [[Motorola 6801|6801]] |successor = [[Freescale 68HC16]], [[Freescale 68HC12]] }} The '''68HC11'''<ref>[https://www.nxp.com/docs/en/data-sheet/M68HC11E.pdf Official 68HC11 Reference Manual]</ref> (also abbreviated as '''6811''' or '''HC11''') is an 8-bit [[microcontroller]] family introduced by [[Motorola]] Semiconductor in 1984 (later from [[Freescale]] then [[NXP]]).<ref>[https://www.motorolasolutions.com/content/dam/msi/docs/en-xw/static_files/1984_Motorola_Annual_Report.pdf ''Motorola Annual Report 1984'']</ref><ref>Hambley, Allan R.(2011). [https://books.google.com/books?id=MtpIHCEVKacC&pg=PA417&lpg=PA417 ''Electrical Engineering: Principles and Applications''], Pearson Higher Education. p. 417. Digitized by Google. Retrieved on May 17, 2012.</ref> It descended from the [[Motorola 6800]] [[microprocessor]] by way of the [[Motorola 6801|6801]]. The 68HC11 devices are more powerful and more expensive than the [[68HC08]] microcontrollers and are used in automotive applications, [[barcode]] readers, hotel card key writers, amateur robotics, and various other [[embedded system]]s. The MC68HC11A8 was the first microcontroller to include CMOS EEPROM.<ref>{{Cite web |url=http://www.68bits.com/ |title=M68HC11 Reference Manual |access-date=2020-04-08 |archive-url=https://web.archive.org/web/20171110031827/http://www.68bits.com/ |archive-date=2017-11-10 |url-status=dead }}</ref> ==Architecture== {| class="infobox" style="font-size:88%" |- |style="text-align:center" |''Motorola 68HC11 registers'' |- | {| style="font-size:88%;" |- | style="width:10px; text-align:center;"| <sup>1</sup><sub>5</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>4</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>3</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>2</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>1</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>0</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>9</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>8</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>7</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>6</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>5</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>4</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>3</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>2</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>1</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>0</sub> | style="width:auto;" | ''(bit position)'' |- |colspan="17" | '''Main registers''' |- style="background:silver;color:black" | style="text-align:center;" colspan="8"| A | style="text-align:center;" colspan="8"| B | style="width:auto; background:white; color:black;"| '''D''' register pair |- |colspan="17" | '''Index registers''' |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| IX | style="background:white; color:black;"| '''X''' index register |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| IY | style="background:white; color:black;"| '''Y''' index register |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| SP | style="background:white; color:black;"| '''S'''tack '''P'''ointer |- |colspan="17" | '''Program counter''' |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| PC | style="background:white; color:black;"| '''P'''rogram '''C'''ounter |- |colspan="17" | '''Status register''' |- style="background:silver;color:black" | style="text-align:center; background:white" colspan="8" | | style="text-align:center;"| 1 | style="text-align:center;"| 1 | style="text-align:center;"| [[Half-carry flag|H]] | style="text-align:center;"| [[Interrupt flag|I]] | style="text-align:center;"| [[Sign flag|N]] | style="text-align:center;"| [[Zero flag|Z]] | style="text-align:center;"| [[Overflow flag|V]] | style="text-align:center;"| [[Carry flag|C]] | style="background:white; color:black" | Flags |} |} [[File:68HC11 Block Diagram.jpg|thumb|300px|68HC11 block diagram]] Internally, the HC11 [[instruction set]] is [[backward compatible]] with the [[Motorola 6800|6800]] and features the addition of a Y [[index register]].{{efn|Instructions using the Y register have [[opcode]]s prefixed with the byte [[hexadecimal|0x]]18.}} It has two [[eight-bit]] [[accumulator (computing)|accumulator]]s, A and B, two [[16-bit computing|sixteen-bit]] [[index register]]s, X and Y, a condition code register, a 16-bit [[stack pointer]], and a [[program counter]]. In addition, there is an 8 x 8-bit multiply (A x B), with full 16-bit result, and fractional/integer 16-bit by 16-bit divide instructions. A range of 16-bit instructions treat the A and B registers as a combined 16-bit D register for comparison (X and Y registers may also be compared to 16-bit memory operands), addition, subtraction and shift operations, or can add the B accumulator to the X or Y index registers. Bit test operations have also been added, performing a [[logical and]] function between operands, setting the correct conditions codes, but not modifying the operands. Different versions of the HC11 have different numbers of external ports, labeled alphabetically. The most common version has five ports, A, B, C, D, and E, but some have as few as 3 ports (version D3). Each port is eight bits wide except for D, which is six bits (in some variations of the chip, D also has eight bits). It can be operated with an internal program and [[RAM]] (1 to 768 bytes) or an external memory of up to 64 [[kilobyte]]s. With external memory, B and C are used as [[address bus|address]] and [[data bus]]. In this mode, port C is [[Time-division multiplexing|multiplexed]] to carry both the lower byte of the address and data. ==Implementations== [[Image:MC68HC11 microcontroller.jpg|thumb|52-pin [[plastic leaded chip carrier]] (PLCC)]] In the early 1990s Motorola produced an evaluation board kit for the 68HC11 with several UARTs, RAM, and an EPROM. The cost of the evaluation kit was $68.11.<ref>[https://groups.google.com/forum/#!topic/comp.dsp/4uquwRWrFno ''comp.dsp. 1 Oct. 1996'']</ref> The standard monitor for the HC11 family is called BUFFALO, "Bit User Fast Friendly Aid to Logical Operation". It can be stored in on-chip ROM, EPROM, or external memory (also typically EPROM). BUFFALO is available for most 68HC11 family derivatives as it generally only depends upon having access to a single UART (SCI, or Serial Communications Interface, in Motorola parlance). BUFFALO can also run on devices that do not have internal non-volatile memory, such as the 68HC11A0, A1, E0, E1, and F1 derivatives. ==Other versions== The [[Freescale 68HC16]] microcontroller family is intended as a [[16-bit]] mostly software-compatible upgrade of the 68HC11. The [[Freescale 68HC12]] microcontroller family is an enhanced 16-bit version of the 68HC11. The [[Handy Board]] robotics controller by Fred Martin is based on the 68HC11.<ref>[http://www.handyboard.com/hardware/ Handy Board Hardware]</ref> A MC68HC24 port replacement unit is available for the 68HC11D, which lacks ports B and C. When placed on the external address bus, it replicates the original functions of B and C. This chip was also used in the evaluation board for [[in-circuit emulation]]. Port A has input capture, output compare, pulse accumulator, and other timer functions; port D has serial I/O, and port E has an [[analog-to-digital converter]] (ADC). ==Notes== {{Notelist}} ==References== {{Reflist}} ==Further reading== ;Datasheets and manuals * [https://archive.org/details/bitsavers_motorola68ferenceManualRev3_31028881/ ''M68HC11 Reference Manual'']; Motorola; 498 pages; 1991. * [https://archive.org/details/bitsavers_motorola68hnicalDataRev6_8429539/ ''MC68HC11A8 Technical Manual'']; Motorola; 154 pages; 1991. * [https://archive.org/details/bitsavers_motorola68hnicalDataRev1_8962375/ ''MC68HC11E9 Technical Manual'']; Motorola; 170 pages; 1991. ;Books * ''Microcontroller Technology β 68HC11''; 1st Ed; Peter Spasov; Regents/Prentice Hall; 622 pages; 1993; {{ISBN|978-0135835685}}. <small>[https://archive.org/details/microcontrollert0000spas/ (archive)]</small> * ''Build Your Own Robot β 68HC11''; 1st Ed; Karl Lunt; A.K. Peters Publishing; 574 pages; 2000; {{ISBN|978-1568811024}}. <small>[https://archive.org/details/buildyourownrobo0000lunt/ (archive)]</small> ==External links== * [https://web.archive.org/web/20110806071801/http://www.freescale.com/webapp/sps/site/taxonomy.jsp?nodeId=01624684498635 Freescale 68HC11 (Legacy) Part Info] * [http://www.aspisys.com/asm11.htm ASM11 macro cross-assembler for Windows and Linux] ;Simulators / Emulators * [http://www.hc11.demon.nl/thrsim11/thrsim11.htm THRSim11 68HC11 simulator and debugger] β Windows ;Boards * [http://www.aspisys.com/f1.htm 4MHz-bus 68HC11F1-based board] * [http://www.evbplus.com/dragon12_light_9s12/dragon12_light_9s12.html Wytec 68HC11 Development Board] ;FPGA * [https://opencores.org/projects/system11 System11 68HC11 CPU core β VHDL source code] β OpenCores β [http://members.optusnet.com.au/jekent/system11/index.html project website] * [http://www.gmvhdl.com/hc11core.html Green Mountain Synthesizable 68HC11 CPU core β VHDL source code] {{Motorola microcontrollers}} {{8bitMCUs}} {{Authority control}} [[Category:NXP Semiconductors microcontrollers]] [[Category:Freescale Semiconductor microcontrollers]] [[Category:Motorola microcontrollers]]
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)
Pages transcluded onto the current version of this page
(
help
)
:
Template:8bitMCUs
(
edit
)
Template:Authority control
(
edit
)
Template:Cite web
(
edit
)
Template:Efn
(
edit
)
Template:ISBN
(
edit
)
Template:Infobox CPU
(
edit
)
Template:Motorola microcontrollers
(
edit
)
Template:Motorola processors and microcontrollers
(
edit
)
Template:Navbox
(
edit
)
Template:Notelist
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)