Microcontroller Slide1
Total Page:16
File Type:pdf, Size:1020Kb
Quote of the day “Learn from yesterday, live for today, hope for tomorrow. The important thing is to not stop questioning.” ― Albert Einstein, Relativity: The Special and the General Theory Microprocessors and Microcontrollers • Microprocessor: general-purpose CPU – Emphasis is on flexibility and performance – Generic user-interface such as keyboard, mouse, Memory etc. – Used in a PC, PDA, cell phone, etc. • Microcontroller: general-purpose CPU + memory + timer circuit on a single chip(application oriented manufacturing) – Emphasis is on size and cost reduction. – The user interface is tailored to the application, such as the buttons on a TV remote control. – Used in a digital watch, TV remote control, car and many common day-to-day appliances. • Microcontroller architecture refers to the internal hardware organization of a microcontroller. • It determines how and when various operations are performed by the microcontroller. • Each hardware architecture has its own set of software instructions called assembly language that allows programming of the microcontroller. • Harvard Architecture—a type of computer architecture where the instructions (program code) and data are stored in separate memory spaces – Example: Intel 8051 architecture • Von Neumann Architecture—another type of computer architecture where the instructions and data are stored in the same memory space – Example: Intel x86 architecture (Intel Pentium, AMD Athlon, etc.) • Some of the popular microcontroller architectures – Intel 8051 – Zilog Z80 – Atmel AVR • The Intel 8051 is a very popular general purpose microcontroller widely used for small scale embedded systems. • Many vendors such as Atmel, Philips, and Texas Instruments produce MCS-51 family microcontroller chips. • In recent years some companies have incorporated many different and additional features into 8051. • The 8051 is an 8-bit microcontroller with 8 bit data bus and 16-bit address bus. • Address bus is a group of 16 lines used to carry address of memory(where data is stored) / address of the device(communicating with microcontroller device). • Data bus is a group of 8 lines used to carry 8-bit data from one section to another section internally or from microcontroller to the other device interfaced to it. • The 16 bit address bus can address a 64K( 216) byte code memory space and a separate 64K byte of data memory space. • The 8051 has 4K on-chip read only code memory and 128 bytes of internal Random Access Memory (RAM) • A group of filp-flops is referred as register in digital circuits, which holds the data temporarily. • A group of lines on which information is transferred from one place to other is termed as bus. External interrupts On-chip Timer/Counter ROM for On-chip Interrupt Timer 1 Counter program RAM Control Inputs code (SFR) Timer 0 CPU Serial Bus 4 I/O Ports OSC Control Port P0 P1 P2 P3 TxD RxD Address/Data • The crystal frequency is the basic OSC internal clock frequency. • Clock is the smallest interval of time required to accomplish any simple instruction. Crystal or Ceramic • Serial communication always needs Resonator dictate the clock frequency because of internal requirement to yield standard baud(Bit per second) rate. Central processing unit (CPU) • Arithmetic logic unit Arithmetic and PSW (ALU) which Logic Unit performs arithmetic A B 8 BIT and logic functions. DATA / ADDRESS • Registers A and B. BUS • Program Counter DPTR (PC) and DPTR (Data PC DPH DPL pointer. RAM/ • Program status word. Address Bus ROM • 4-8-bit register bank available from RAM. • The 8051 has various 34 8-bit general purpose, Registers. Of these the two Accumulator (A) and B registers. • Registers A and B are used in holding results of mathematical and logical operations performed by CPU. • The accumulator register is the most useful register apart from arithmetic and logical operations it is also used in many data transfer and bit manipulation operations. • The B register is used along with A for multiplication and division operations. • The other 32 are arranged as part of internal RAM in Four Banks, B0-B3 of 8-registers each. • The ALU performs one 8-bit operation at a time. • The arithmetic operations such as addition/ subtraction/multiplication/division and logical AND, OR, NOT and XOR are performed by ALU. • The CPU has many important registers. The Program Counter (PC) is one of this, always holds the code memory location of next instruction to be executed. • It is the only register that does not have address. • MCU fetches instructions from the code memory pointed by PC analyzes the opcode of the instruction. • And updates the PC to the location of next instruction, fetches the operand from the data memory if necessary, and finally performs the operation instructed by the instruction. • Fetch operation—retrieves Program an instruction from the Counter location in code memory (PC) pointed to by the program + counter (PC) F e Code Memory t • Execute operation— c h executes the instruction that CPU was fetched during the fetch operation. In addition to To other executing the instruction, peripherals the CPU also adds the appropriate number to the PC to point it to the next instruction to be fetched. • The DPTR is made of two 8-bit registers, DPH and DPL, are used to furnish memory addresses for internal and external code (Program) access and external data access. • The DPTR is used by programmer through instructions. • DPH and DPL are assigned separate address, DPTR does not have a single internal address. • Program status word—PSW(8 bit-Flag register) – Shows the status of arithmetic and logical operations using multiple bits – They indicate some conditions that result after an execution of instruction. bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 CY AC F0 RS1 RS0 OV -- P • P: parity check flag • Bit1: Reserved for future use. • OV: ALU overflow flag • RS0/RS1: Register bank specification mode • 00: bank 0 (00H-07H); 01: bank1(08H-0FH); 10: bank 2(10H- 17H); 11: bank 3(18H-1FH) • F0: User defined flag • CY: ALU carry out • AC: ALU auxiliary carry out(Carry from bit 3 to bit 4 of ALU) • Carry Flag(CY):- This flag is set whenever a carry out from D7 bit is generated. This bit is affected after addition and subtraction operations. • Auxiliary carry (AC):- If there is a carry from D3 to D4 bit during an addition or subtraction operation then this bit is set to one. • Parity flag(P):- Parity flag represents the number one’s in accumulator register. It is set to 1 for odd number of one’s in A. • Overflow flag(OV):- Set to one to represent erroneous result after arithmetic operations • Register bank specification (RS0 and RS1):- D3 and D4 together used to change the register bank to be used out of four. There are four register banks and each bank consists of 8-registers R0 to R7. • Selection mode RS1 RS0 Register Bank Address 0 0 Bank 0 selected 00H-07H 0 1 Bank 1 selected 08H-0FH 1 0 Bank 2 selected 10H-17H 1 1 Bank 3 selected 18H-1FH.