1 / 37

Microcontrollers

Microcontrollers. Lecture L11.2 Section 11.2. Microcontrollers. Microcontrollers vs. Microprocessors Two standard architectures PIC microcontroller 68HC12 Microcontroller BASIC Stamp Jstamp What’s the Difference. Microcontrollers. Microprocessor

rod
Download Presentation

Microcontrollers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microcontrollers Lecture L11.2 Section 11.2

  2. Microcontrollers • Microcontrollers vs. Microprocessors • Two standard architectures • PIC microcontroller • 68HC12 Microcontroller • BASIC Stamp • Jstamp • What’s the Difference

  3. Microcontrollers • Microprocessor • Performs computing function for different architectures of memory, input/output ports, devices, and communication ports • Microcontroller • Performs computing functions and contains onchip memory, input/output ports, devices, and communication ports. • Resources are limited

  4. Microcontrollers

  5. Microcontrollers • Desktop Computers • Different architectures/configurations of memory, devices, and ports • Microprocessor is a general purpose computing machine • Embedded Systems • Includes coffee makers, burglar alarms, TV remote controls, simple robots, etc… • Easier to use a microcontroller with limited functionality and onchip resources • No need to select/design a board with memory, etc… • Ready to program

  6. The PIC Microcontroller • Very common microcontroller • Made by Microchip Technology • Over 180 different microcontrollers • Available in different configurations of on-chip resources • Timers, Drivers for writing to Liquid Crystal Displays, USB and TCP/IP interfaces, temperature sensors, and more • Packaged in 8- to 84-pin configurations • Contains from 1 KB to 128 KB memory • Available in 8 and 16 bits

  7. Microcontrollers • PIC controllers have a Harvard Architecture Architecture used for Desktop personal computers

  8. Microcontrollers • What do you think are some advantages/disadvantages of these architectures?

  9. PIC

  10. PIC 368 Bytes of Memory for Data 8 KB of Memory For Programs 14-bit program words

  11. PIC Similar to Lab 10

  12. PIC The Instruction Set

  13. 3 Types of instructions

  14. Byte-oriented instructions • fff ffff – the 7-bit address for which location in the register file (memory) contains the data of interest • d – if d = 0, then the answer will be stored in the W register, otherwise if d = 1, then the answer will be stored in the memory location selected by fff ffff.

  15. Byte-oriented instructions If ADDWF is encoded as machine code: 000111 0 0001010 d = 0 memory location = 0A Memory address d

  16. Byte-oriented instructions If ADDWF is encoded as machine code: 000111 0 0001010 d = 0 memory location = 0A OPCODE = 070A W reg is added to RF[0A] and the answer is placed in W reg

  17. Byte-oriented instructions If ADDWF is encoded as machine code: 000111 1 0001010 d = 1 memory location = 0A OPCODE = 078A W reg is added to RF[0A] and the answer is placed in RF[0A]

  18. Byte-oriented instructions For ADDWF, we have seen type machine codes: 070A – add RF[0A] to W reg and place answer in W reg 078A – add RF[0A] to W reg and place answer in RF[0A] … and there are many more where that came from…

  19. Bit-oriented instructions bbb – selects the bit that will be operated on ffffff – selects the memory location of the data to be operated on For example, BCF encoded as the machine code: 0100 111 0001011 Memory address Bit #

  20. Bit-oriented instructions bbb – selects the bit that will be operated on ffffff – selects the memory location of the data to be operated on For example, BCF encoded as the machine code: 0100 111 0001011 OPCODE = 138B Bit 7 (MSB) of the Byte in RF[0B] is cleared to zero

  21. Literal and Control instructions X – means don’t care K’s – the literal Literal means ‘inline data’ like in the 8086 when we used MOV AX, 0FFFF to move FFFF into AX, FFFF was the Literal or inline data.

  22. Literal and Control instructions X – means don’t care K’s – the literal For example, if ADDLW is encoded as machine code: 111110 00001111 Inline Data

  23. Literal and Control instructions X – means don’t care K’s – the literal For example, if ADDLW is encoded as machine code: 111110 00001111 OPCODE = 3E0F 0F is added to the value in W reg and the sum is put in W reg

  24. Development Tools for PIC There is a Windows Development Environment for the PIC Controller

  25. BASIC Stamp • Based on 8-bit PIC • 14-pin microcontroller • Can be programmed using the BASIC language • It has a BASIC language interpreter built-in

  26. BASIC Stamp

  27. Online Interpreter • Most microcontrollers do not have a built-in interpreter of any kind • Usually source code written in higher level languages are compiled to a microcontrollers machine code • BASIC Stamp is inexpensive and easy to program for small applications

  28. JStamp Directly executes Java bytecodes

  29. JStamp

  30. The Java Processing Core

  31. What’s the Difference • When selecting a microcontroller there are several factors that need to be considered • There are many microcontrollers available • Each brings advantages and disadvantages

  32. Considerations • Cost • Prototype • Mass Production • Inputs • Correct # of inputs • Digital / Analog

  33. Considerations • Outputs • Correct # of Outputs • Digital / Analog • Processing Speed and Function • Adequate Computational Power • Upgrading a processor due to choosing the incorrect processor can be costly • Rework of written programs

  34. Considerations • Memory • Programs • Data • Enough internal memory and/or can address enough external memory • Ports • Correct ports for communicating with other devices • Parallel • Serial

  35. Considerations • Support • Online Forums • Free source code • Frequently Asked Questions (FAQs) • Support from Vendor • Pre-developed software • Availability • Volumes – lead time

  36. Considerations • Extensibility • Future growth • Avoid changing microcontrollers in future releases • Development Tools • Language (C / BASIC / Java) • Development Environment • Debugging

  37. Considerations • Other technical requirements • Power Consumption • Portable applications • Operating Voltage • Compatible with other circuits

More Related