CHAPTER 5 DECODER BOARD SOFTWARE

Size: px
Start display at page:

Download "CHAPTER 5 DECODER BOARD SOFTWARE"

Transcription

1 CHAPTER 5 DECODER BOARD SOFTWARE This chapter describes the Grayson Electronics boot program that came with the prototype decoder board, and the application program that was integrated with it. Before the programs are discussed, the DS80C320 architecture is described first. 5.1 DS80C320 Architecture The DS80C320 has three basic memory address spaces: 64 KB Program Memory, 64 KB External Data Memory, and 384 bytes Internal Data Memory. This differs from the Motorola 68HC11 microcontroller which does not distinguish between program memory space and data memory space. Figure 5.1 shows the DS80C320 memory map. The program memory space has an internal and an external memory portion. If the EA pin on the microcontroller is held high, the DS80C320 executes out of internal program memory unless the address exceeds 1FFFh. Locations FFFFh are fetched from external program memory. If the EA pin is held low, the DS80C320 fetches all instructions from external program memory. The EA pin is held low on the decoder board. The data memory space also has an internal and an external memory portion. The internal data memory is divided into three physically separate and distinct blocks: the lower 128 bytes of RAM, the upper 128 bytes of RAM, and the 128 byte Special Function Register (SFR) area which contains the register locations for the accumulator, stack pointer, data pointer, port registers, timer control registers, interrupt control registers, serial port control registers, and others. As shown in Figure 5.1, upper RAM and the SFRs share the same address locations. These two areas are accessed through different addressing modes. Specifically, indirect addressing is used to access upper RAM, whereas direct addressing is used to access the SFRs. Both addressing modes can be used to access the lower RAM. The decoder board application software uses internal data RAM for all user defined variables. As mentioned before, the decoder board application program uses the entire external data memory as a buffer for IVDS messages. The 16-bit data pointer (DPTR) in conjunction with the MOV instruction are used to access the external data memory. 31

2 FFFF FFFF ETERAL ETERAL FFF OVERLAPPED SPACE ITERAL ETERAL FF 80 UPPER RAM SPECIAL FUCTIO REGISTERS F 00 LOWER RAM 0000 PROGRAM MEMOR ITERAL ETERAL DATA MEMOR DATA MEMOR Figure 5.1 DS80C320 Memory Map Also, unlike the Motorola 68HC11, the DS80C320 has an integrated bit processor. It has its own instruction set, accumulator (the carry flag), and bit-addressable RAM and I/O. The bit instructions allow a bit to be set, cleared, complemented, jump-if-set, jump-if-notset, and others. Addressable bits may be logically ADed and ORed with the contents of the carry flag, with the result returned to the carry register. Many SFR registers are bitaddressable, and internal RAM locations 20-2Fh are bit-addressable. The decoder board application program uses the bit-addressable RAM locations for user defined state bits. A complete description of the DS80C320 architecture features is provided in the Intel Microcontroller Handbook.[6] 32

3 5.2 Boot Program Grayson Electronics provided the decoder board boot program already burned into the PROM, its source code, and the assembler software. Per agreement with Grayson Electronics, no other software assistance would be provided to Virginia Tech. Before the decoder board application software was developed, the boot program was first analyzed Main Routine of Boot Program The boot program is the microcontroller kernel software. Upon power-up, the boot program initializes the microcontroller, sends diagnostic information to the WMI, and then waits for commands in the form of interrupts. The main routine of the boot program first initializes the SFRs so that the decoder board can serially communicate with the WMI. Timer 1 clocks the serial port at 57.6 KBaud. Also, the serial port is set for 10-bit asynchronous communications: one start bit, eight data bits, and one stop bit. ext, the stack pointer, user variables, and state bits are initialized. The serial interrupts are enabled last. The boot program uses portions of internal data RAM to establish memory for the stack, a serial input buffer, and a serial output buffer. Each serial buffer is implemented as a firstin, first-out (FIFO) cyclic buffer, each having an in-pointer and an out-pointer. Each time data is input to a buffer, the in-pointer is incremented, and each time data is output from a buffer, the out-pointer is incremented. Consequently, when a pointer is at the end of a buffer, the pointer is reset to the beginning of the buffer, and when the in-pointer equals the out-pointer, the buffer is empty. At power-up, the main routine initializes the pointers to the beginning of their buffers. After initialization, the main routine sends diagnostic information to the WMI to indicate its operational status. If the diagnostic information is incorrect, the WMI will ignore any further data from that decoder board. The diagnostic information contains two diagnostic byte codes, the board type, the ROM version, the RAM version, a two-byte ROM checksum, and a two-byte RAM checksum. The diagnostic byte codes, which are 7021h, tell the WMI that diagnostic information about a decoder board will follow. The board type is set to 11h which indicates an IVDS decoder board, and the ROM version is set to decimal. Though RAM does not contain program code, RAM version is set to the ROM version. The ROM and RAM checksums are self-explanatory. Lastly, the main routine begins an infinite loop waiting for a serial interrupt to cause the microcontroller to process one of three WMI commands: Restart ROM code, Write-to- RAM, and Run RAM code. The Restart ROM command simply restarts the ROM as if a power-up occurred. The Write-to-RAM command stores a byte to RAM. The Run RAM command causes the microcontroller to fetch instructions from RAM. 33

4 5.2.2 Condensed Address Packet Protocol The boot program has a serial interrupt service routine (ISR) to transmit data, and a serial ISR to receive data. Before a discussing these ISRs, the protocol that Grayson Electronics has implemented is described first. Communication between the WMI and decoder board uses the Condensed Address Packet Protocol (CAPP). CAPP uses control codes to indicate the start and end of packet transmission, and if a data byte happens to be a control code, then the ULL/ESC control code must be sent first, so that the next data byte will be taken literal. Table 5.1 shows the control codes. Table 5.1 Condensed Address Packet Protocol Byte $00 CAPP ame ULL Description Used as ESC. Take next byte literal. $01 O ICB HC05 to decoder C320: O = Software flow control off. $02 ST Start of packet transmission. $03 OFF ICB HC05 to decoder C320: OFF = Software flow control on. $04 $05 EOT OT USED End of packet transmission. The microcontroller will always end a start of transmission with at least one EOT (more than one EOT may follow). Data transmission must be completed to be executed. A packet has the following format: ST [ data bytes + ULL codes if needed] EOT. Also, when the microcontroller sends a packet, the ICB HC05 automatically overwrites the lower nibble of the first data byte with the decoder board number. For example, if the first data byte from decoder board 2 is 50h, then this data byte becomes 52h. Current ICB restrictions limit packet size to 32 bytes maximum, including the control codes. If every data byte is assumed to be control code and thus must be preceded by a ULL, then the largest safe packet size is reduced to 15 bytes ([32 - ST - EOT]/2). The software flow control between the microcontroller and HC05 is unidirectional. The HC05 can start and stop data transmission from the microcontroller, but the 34

5 microcontroller cannot stop the HC05 from sending data. For example, when the HC05 sends the OFF command, the microcontroller stops data transmission until it receives the O command Serial Interrupt Service Routines and Subroutines The function of the Receive ISR is to process data bytes sent by the WMI via the serial port. Thus, bytes sent to the microcontroller are characterized as receive bytes. As when the microcontroller sends data bytes to the WMI, the WMI must also send data bytes to the microcontroller in a packet that begins with an ST and ends with an EOT. There are four commands that the WMI can send to the microcontroller. The WMI can tell the microcontroller to start or stop data transmission. It can tell the microcontroller to store bytes to RAM. It can tell the microcontroller to execute instructions stored in RAM. And lastly, it can tell the microcontroller to execute instructions stored in ROM. The Receive ISR uses a state machine approach to process bytes received from the WMI. There are three states: IDLE, RU0, and RU1. In the IDLE state, the state machine is simply waiting for an ST byte. When the ST byte is received, the state machine enters the RU0 state. In the RU0 state, the state machine either stores the next byte into the Receive buffer or takes appropriate action based on the control code. If an ESC byte is received while in the RU0 state, the state machine enters the RU1 state. In the RU1 state, the state machine stores the next byte received. Also, the Receive ISR toggles LED 1 when a byte is received. Figure 5.2 shows the Receive ISR flow chart. Using internal data memory location 20h, bits 0-1 are used to represent the Idle and Run states, respectively. Bit 0 is set to put the state machine in the IDLE state. Once not in the IDLE state, bit 1 is cleared to put it in the RU0 state, or is set to put it in the RU1 state. The boot program uses three subroutines and the Transmit ISR to transmit a packet. First, the ST byte is put into the Transmit buffer using the send ST subroutine. Then, the data bytes are put into the buffer using the send serial subroutine for each data byte. Lastly, the EOT byte is put into the buffer using the send end subroutine. The Transmit ISR then sends the packet. Figures show flow charts for these routines. Using internal data memory location 20h, bits 2-3 are used to represent the Transmit and Flow Control states, respectively. If the microcontroller is transmitting a byte, then bit 2 is set to indicate that the Transmit state is active. Also, if the HC05 is accepting data, bit 3 is set to indicate that the microcontroller has permission to transmit data. Each time a subroutine puts a byte into the Transmit buffer, the Transmit state is set to active unless it is already active. Once the buffer is empty, then the Transmit ISR sets the Transmit state to non-active. Also, the Transmit ISR checks the flow control bit, which the Receive ISR sets or clears as appropriate. 35

6 IDLE RU1 Byte = ST? Set state = RU0 EIT Store byte EIT EIT RU0 Byte = ESC? Set state = RU1 EIT Byte = EOT? Packet complete Set state = IDLE EIT Byte = O/OFF? Operate as needed EIT Store byte EIT Figure 5.2 Flow Chart for Receive ISR in Decoder Board Boot Program 36

7 START Put ST/EOT byte into serial buffer Increment serial in-pointer In-pointer at end of serial buffer? Put in-pointer to start of serial buffer Transmission in progress? RETUR Set transmit state to active Force serial interrupt RETUR Figure 5.3 Flow Chart for Send ST/EOT Subroutine in Decoder Board Boot Program 37

8 START Data byte = control code? Put ESC byte into serial buffer Put data byte into serial buffer Increment serial in-pointer Increment serial in-pointer In-pointer at end of serial buffer? Put in-pointer to start of serial buffer In-pointer at end of serial buffer? Put in-pointer to start of serial buffer Transmission in progress? RETUR Set transmit state to active Force serial interrupt RETUR Figure 5.4 Flow Chart for Send Serial Subroutine in Decoder Board Boot Program 38

9 START Out-pointer = in-pointer? Serial Buffer Empty FLOW = OFF? RETI Set transmit state to non-active RETI Send data byte out Increment serial out-pointer Out-pointer at end of serial buffer? Put out-pointer to start of serial buffer RETI Figure 5.5 Flow Chart for Transmit ISR in Decoder Board Boot Program 39

10 5.3 Application Program With modifications and additions to the boot program, Virginia Tech developed the application program to initialize the microcontroller, the synthesizer, and the spread spectrum decoder so that the decoder board can receive IF messages from the receiver, packetize them, and then send them to the WMI. Figure 5.6 shows the flow chart for the application program main routine. After initialization, the microcontroller waits for an interrupt while continuously resetting/restarting the Watchdog timer. Initialize Microcontroller Enable Serial Interrupts Enable Timer 0 Interrupt Initialize/Enable Synthesizer (Call init_phiint) Send Diagnostics Reset/Start Watchdog Timer Initialize/Enable Spread Spectrum Decoder (Call init_stel) Initialize/Enable Watchdog Timer Wait for interrupt Initialize Interrupts Flush Serial Buffer Figure 5.6 Flow Chart for Main Routine in Decoder Board Application Program Interactive Video Data Service Message Format Before discussing the application program, the IVDS message format is discussed. An IVDS message has a fixed length of 184 data bits or 23 bytes. The first three bytes are Lock bytes, which allow time for the receiver s Automatic Gain Control (AGC) to stabilize. This stabilization time is not constant and causes message bits to be lost. Therefore, the Lock bytes protect message integrity and provide a method to find the byte 40

11 boundaries. The fourth byte is the Header byte which marks the beginning of a message. The next 17 bytes are the message data bytes, and the last two bytes are Cyclic Redundancy Check (CRC) bytes. The CRC bytes provide error detection to prevent corrupted messages from being accepted as valid messages. The CRC calculation is only computed for the 17 data bytes and so a loss of Lock bits will not prevent a valid message from reaching the Host subsystem. Figure 5.7 shows the hexadecimal values of these bytes. A detailed description of the message format is provided in the description and specification manual.[3] 0F 0F 0F data bytes CRC CRC Figure 5.7 Interactive Video Data Service Message Format Timer Initialization The application program initializes Timer 0 as an 8-bit counter with automatic reload. In the counter mode, the count register is incremented in response to 1-to-0 transitions at its corresponding external input pin T0. Overflow from the TL0 register not only sets the TF0 flag, but also reloads TL0 with the contents of TH0, which is preset by software. The reload leaves TH0 unchanged. The overflow condition occurs when the count register changes from FFh to 00h. Since the Timer 0 interrupt is enabled, an interrupt is generated when the TF0 flag is set. TH0 and TL0 are initialized to FFh. The Timer 0 counter is used to count the number of clock pulses received from the SSD. Once a specified number of clock pulses is counted, the Timer 0 ISR is executed. The application program initializes Timer 2 as a 16-bit timer. In the timer mode, the timer register is incremented once per machine cycle. Overflow from the TH2 and TL2 registers sets the TF2 flag which must be cleared by software. The overflow condition occurs when the register contents change from FFFFh to 0000h. Since the Timer 2 interrupt is enabled, an interrupt is generated when the TF2 flag is set. TH2 and TL2 are initialized to FFh and DBh, respectively. Timer 2 is used to determine if a timeout has occurred between the SSD and microcontroller. If the timeout period expires, then the Timer 2 ISR is executed Variable Initialization After the timers are initialized, the user variables and state bits are initialized. Using internal data RAM location 20h, bits 4-7 contain the lock_byte, header_byte, last_five, and buffer_full state bits, respectively. These state bits are initially cleared. Internal data RAM locations 21h and 26-2Ch contain the user variables byte_count, tx_outptr, tx_outptrhi, tx_inptr, tx_inptrhi, buffer_high, buffer_low, and rx_ptr, respectively. Internal data RAM locations B0 - DFh are reserved for the Receive serial buffer, which is 54 bytes long. Since the Transmit serial buffer is the 41

12 external data RAM (32 KB), two memory locations are required to store the in-pointer and out-pointer values. Consequently, tx_outptr, tx_outptrhi, tx_inptr, and tx_inptrhi are initialized to 0. Buffer_high and buffer_low are also initialized to 0. Byte_count gets initialized to 15h, and rx_ptr to B0h. Except for initializing the SSD and synthesizer, the remainder of the main routine is straightforward. The interrupt priority is initialized so that the Serial Transmit/Receive Interrupt has the highest priority so that if the WMI sends the command for the microcontroller to stop transmitting data, the microcontroller will respond promptly. The Timer 0 Interrupt is enabled last so that the decoder board will be completely initialized before responding to incoming messages. The main routine then waits for interrupts while continuously resetting/restarting the Watchdog timer. The Watchdog timer is set to its lowest timeout value of milliseconds. If a program fault occurs, the Watchdog timer will timeout causing the microcontroller to perform a hardware reset Synthesizer Initialization The subroutine, init_phiint, initializes and enables the synthesizer in the receiver. The synthesizer is configured so that the receiver is tuned to one of four carrier frequencies: 906 MHz, 912 MHz, 918 MHz, or 924 MHz. To program the synthesizer, data is entered with the MSB first. The leading bits are the data field while the last four bits are the address field. As shown in Figure 4.2, the signal lines from the microcontroller to the synthesizer are inverted. Therefore, software must complement the data bits before sending them to the synthesizer. Figure 5.8 shows the five registers with the appropriate bit values to program the synthesizer to 912 MHz. The OLP and OLA bits are set to select both principal and auxiliary in-lock detect output on the S#LOCK signal line. Software checks the synthesizer output to determine when the synthesizer is locked to the desired frequency. The CR1 and CR0 bits are set to select the appropriate fast and normal charge pumps current ratio. The PO and AO bits are set to power-up the principal and auxiliary synthesizers. A complete description on the register settings is provided in the product specification.[10] The divider coefficients values are based upon the receiver design and the synthesizer design. Block diagrams for the receiver and principal/auxiliary synthesizers are shown in Figures 5.9 and 5.10, respectively. The common reference frequency input to both synthesizers is 14.4 MHz. The RF group specified that f VCO should be tunable in 10 KHz steps. To achieve 10 KHz steps, f must equal 10 KHz (0.01 MHz). REF 42

13 FIRST I LAST I COTROL REGISTER ADDRESS OLP OLA CR1 CR0 PO AO PRICIPAL MAI DIVIDER COEFFICIET 1 1 (Frcv + 70)/.01: Value For Frcv=912 MHz Shown Below (98200 Decimal) ADDRESS PRICIPAL REFERECE DIVIDER COEFFICIET (1440 Decimal) ADDRESS AUILIAR MAI DIVIDER COEFFICIET (9000 Decimal) ADDRESS AUILIAR REFERECE DIVIDER COEFFICIET (1440 Decimal) ADDRESS D16 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A3 A2 A1 A0 D = Data Bit = Don t Care A = Address Bit Figure 5.8 Synthesizer Control and Data Registers 43

14 912 MHz 70 MHz 20 MHz Output 982 MHz 90 MHz Principal Synthesizer Auxiliary Synthesizer Figure 5.9 Receiver Block Diagram Reference Divider PD Main Divider CLK M f VCO f REF f(s) Equation 5.1: f REF = CLK M Equation 5.2: f VCO = f = (CLK) = REF CLK M M Figure 5.10 Principal/Auxiliary Synthesizer Block Diagram 44

15 Using equation 5.1, M = 14.4 MHz / 10 KHz = 1440 decimal for the principal and auxiliary synthesizers. Using equation 5.2 for the principal synthesizer, = (f VCO + 70 MHz) / 0.01 MHz, and for the auxiliary synthesizer, = (f VCO + 20 MHz) / 0.01 MHz. Figure 5.11 shows the required calculations for the main divider coefficients (decimal) to tune the receiver to a desired carrier frequency. The auxiliary main divider coefficient will remain fixed at 9000 decimal while the principal main divider coefficient will have to be adjusted to achieve the desired carrier frequency. Principal Synthesizer 906 MHz: = (906 MHz + 70 MHz) / 0.01 MHz = MHz: = (912 MHz + 70 MHz) / 0.01 MHz = MHz: = (918 MHz + 70 MHz) / 0.01 MHz = MHz: = (924 MHz + 70 MHz) / 0.01 MHz = Auxiliary Synthesizer 70 MHz: = (70 MHz + 20 MHz) / 0.01 MHz = 9000 Figure 5.11 Main Divider Coefficient Calculations for Synthesizer Figure 5.12 shows the flow chart for programming the synthesizer registers. The registers are programmed in this order: Control Register, Auxiliary Reference Divider Coefficient (ARDC), Auxiliary Main Divider Coefficient (AMDC), Principal Reference Divider Coefficient (PRDC), and Principal Main Divider Coefficient (PMDC). The same basic steps are used to program each register. The first bit (D16) is sent to the synthesizer using the sen_syn_one subroutine. ext, eight bits (D15 - D8) are sent using the sen_syn subroutine with the MSB sent first. Then, another eight bits (D7 - D0) are sent. Lastly, four bits (A3 - A0) are sent using the sen_syn_four subroutine. When programming the Control Register, the AMDC register, and the ARDC register, the data to be sent to the synthesizer is put into the accumulator register before calling the appropriate synthesizer subroutine. Since the first bit of these registers is a Don t Care bit, software just calls the sen_syn_one subroutine to maintain the bit boundaries. For the sen_syn_four subroutine, only the upper nibble of the accumulator is sent. 45

16 init_phiint Shift A3-A0 into Control Register (Call sen_syn_four) Shift D7-D0 into ARDC Register (Call sen_syn) Drive CLK low Disable synthesizer Shift A3-A0 into Control Register (Call sen_syn_four) Enable synthesizer Delay Disable synthesizer Shift D16 into Control Register (Call sen_syn_one) Enable synthesizer Delay Shift D15-D8 into Control Register (Call sen_syn) Shift D16 into ARDC Register (Call sen_syn_one) Enable synthesizer Shift D7-D0 into Control Register (Call sen_syn) Shift D15-D8 into ARDC Register (Call sen_syn) Shift D16 into AMDC Register (Call sen_syn_one) A Figure 5.12 Flow Chart for Synthesizer Initialization Subroutine (1 of 2) 46

17 A Shift D15-D8 into AMDC Register (Call sen_syn) Disable synthesizer Set principal main divider coefficient (Call sen_syn_x) Shift D7-D0 into AMDC Register (Call sen_syn) Delay Synthesizers locked? Shift A3-A0 into AMDC Register Set principal reference divider coefficient RETUR (Call sen_syn_four) (Call sen_syn_x) Figure 5.12 Flow Chart for Synthesizer Initialization Subroutine (2 of 2) 47

18 sen_syn_one sen_syn_four sen_syn Complement data bit Shift bit into carry register Shift bit into carry register Send data bit to synthesizer Complement data bit Complement data bit Drive CLK high Send data bit to synthesizer Send data bit to synthesizer Drive CLK low Drive CLK high Drive CLK high RETUR Drive CLK low Drive CLK low 4 bits shifted? 8 bits shifted? RETUR RETUR Figure 5.13 Subroutine Flow Charts for Sending Synthesizer One/Four/Eight Data Bits 48

19 sen_syn_x Drive CLK low Enable synthesizer Shift D16 into PRDC Register (Call sen_syn_one) Set PRDC? Shift D16 into PMDC Register (Call sen_syn_one) Shift D15-D8 into PRDC Register (Call sen_syn) Shift D15-D8 into PMDC Register (Call sen_syn) Shift D7-D0 into PRDC Register Shift D7-D0 into PMDC Register Shift A3-A0 into PRDC Register (Call sen_syn_four) Shift A3-A0 into PMDC Register (Call sen_syn_four) Disable synthesizer RETUR Figure 5.14 Subroutine Flow Chart for Setting Principal Main/Reference Divider Coefficient 49

20 When programming the PRDC and PMDC registers, the data to be sent to the synthesizer is put into three user defined registers labeled syn_work, syn_work+1, and syn_work+2, which use internal data RAM locations 2D - 2Fh, respectively. To program the PRDC register, the D15 - D8 and D7 - D0 bits are put into the syn_work and syn_work+1 registers, respectively. Then, 2h is placed into Register 5, indicating that the PRDC register is to be programmed, before calling the sen_syn_x subroutine. To program the PMDC register, the D16 bit is placed into the syn_work register as the LSB, and D15 - D8 and D7 - D0 bits are put into the syn_work+1 and syn_work+2 registers, respectively. Then, 3h is placed into Register 5, indicating that the PMDC register is to be programmed, before calling the sen_syn_x subroutine Spread Spectrum Decoder Initialization The subroutine, init_stel, initializes and enables the SSD. As mentioned before, the SSD control registers are 8-bit registers which conveniently allows software to configure the SSD. The control register values are stored in external ROM, starting at address 7700h. As shown in Figure 5.15, software enables the SSD, reads a byte from ROM, and writes the byte to the SSD. The remaining 86 bytes are then read from ROM and written to the SSD. Once the 87 bytes are written, the umerically Controlled Oscillator (CO) must be reloaded with the frequency control information so that the CO will start. A complete description for controlling the CO is provided in the product specification.[14] Lastly, software disables the SSD as the write peripheral before exiting the subroutine. If the SSD remains enabled after its initialization, then the microcontroller will erroneously write data bytes to the SSD when the data bytes should be written to RAM. In other words, the RAM should always be enabled unless the programmer specifically wants to configure the control registers in the SSD. Since the SSD is a write-only device, there is no direct method for checking the contents of the control registers. However, an oscilloscope can be used to display RSPLPLS to at least determine if the CO has started. If the CO has started, then one is assured that all SSD internal timing signals are being generated. 50

CHAPTER 3 WIRELESS MEASUREMENT INSTRUMENT

CHAPTER 3 WIRELESS MEASUREMENT INSTRUMENT CHAPTER 3 WIRELESS MEASUREMET ISTRUMET This chapter gives a functional description of the WMI hardware and software for implementation in IVDS. A detailed technical description is not given, but is provided

More information

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, CISC and RISC processors etc. Knows the architecture and

More information

8051 Microcontroller Interrupts

8051 Microcontroller Interrupts 8051 Microcontroller Interrupts There are five interrupt sources for the 8051, which means that they can recognize 5 different events that can interrupt regular program execution. Each interrupt can be

More information

The Microcontroller. Lecture Set 3. Major Microcontroller Families. Example Microcontroller Families Cont. Example Microcontroller Families

The Microcontroller. Lecture Set 3. Major Microcontroller Families. Example Microcontroller Families Cont. Example Microcontroller Families The Microcontroller Lecture Set 3 Architecture of the 8051 Microcontroller Microcontrollers can be considered as self-contained systems with a processor, memory and I/O ports. In most cases, all that is

More information

Department of EIE / Pondicherry Engineering College. Timer/Counters. Department of EIE / Pondicherry Engineering College 1

Department of EIE / Pondicherry Engineering College. Timer/Counters. Department of EIE / Pondicherry Engineering College 1 Timer/Counters Department of EIE / Pondicherry Engineering College 1 The 8051 has two internal sixteen bit hardware Timer/Counters. Each Timer/Counter can be configured in various modes, typically based

More information

8086 Interrupts and Interrupt Responses:

8086 Interrupts and Interrupt Responses: UNIT-III PART -A INTERRUPTS AND PROGRAMMABLE INTERRUPT CONTROLLERS Contents at a glance: 8086 Interrupts and Interrupt Responses Introduction to DOS and BIOS interrupts 8259A Priority Interrupt Controller

More information

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 4 The 8051 Architecture

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 4 The 8051 Architecture Department of Electrical Engineering Lecture 4 The 8051 Architecture 1 In this Lecture Overview General physical & operational features Block diagram Pin assignments Logic symbol Hardware description Pin

More information

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text 1. Interrupt An interrupt is the occurrence of a condition--an event --

More information

8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52

8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52 Features Compatible with MCS -51 Products 8K Bytes of In-System Programmable (ISP) Flash Memory Endurance: 10,000 Write/Erase Cycles 4.0V to 5.5V Operating Range Fully Static Operation: 0 Hz to 33 MHz

More information

Microcomputer Architecture and Programming

Microcomputer Architecture and Programming IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller

More information

CS 320. Computer Architecture Core Architecture

CS 320. Computer Architecture Core Architecture CS 320 Computer Architecture 8051 Core Architecture Evan Hallam 19 April 2006 Abstract The 8051 is an 8-bit microprocessor designed originally in the 1980 s by the Intel Corporation. This inexpensive and

More information

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5.

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5. DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EE6502- MICROPROCESSORS AND MICROCONTROLLERS UNIT I: 8085 PROCESSOR PART A 1. What is the need for ALE signal in

More information

Rev. No. History Issue Date Remark

Rev. No. History Issue Date Remark Preliminary Bar Code Reader Document Title Bar Code Reader Revision History Rev. No. History Issue Date Remark 0.0 Initial issue June 5, 2000 Preliminary 0.1 Change document title from Bar Code Reader

More information

MICROPROCESSORS AND MICROCONTROLLERS MATERIAL. Features of 8051:

MICROPROCESSORS AND MICROCONTROLLERS MATERIAL. Features of 8051: DEPARTMENT OF ECE MICROPROCESSORS AND MICROCONTROLLERS MATERIAL UNIT V 8051 MICROCONTROLLERS To make a complete microcomputer system, only microprocessor is not sufficient. It is necessary to add other

More information

2. (2 pts) If an external clock is used, which pin of the 8051 should it be connected to?

2. (2 pts) If an external clock is used, which pin of the 8051 should it be connected to? ECE3710 Exam 2. Name _ Spring 2013. 5 pages. 102 points, but scored out of 100. You may use any non-living resource to complete this exam. Any hint of cheating will result in a 0. Part 1 Short Answer 1.

More information

Question Bank Microprocessor and Microcontroller

Question Bank Microprocessor and Microcontroller QUESTION BANK - 2 PART A 1. What is cycle stealing? (K1-CO3) During any given bus cycle, one of the system components connected to the system bus is given control of the bus. This component is said to

More information

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE: 1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE: A microprocessor is a programmable electronics chip that has computing and decision making capabilities similar to central processing unit

More information

Control Unit: The control unit provides the necessary timing and control Microprocessor resembles a CPU exactly.

Control Unit: The control unit provides the necessary timing and control Microprocessor resembles a CPU exactly. Unit I 8085 and 8086 PROCESSOR Introduction to microprocessor A microprocessor is a clock-driven semiconductor device consisting of electronic logic circuits manufactured by using either a large-scale

More information

ENE 334 Microprocessors

ENE 334 Microprocessors Page 1 ENE 334 Microprocessors Lecture 9: MCS-51: Moving Data : Dejwoot KHAWPARISUTH http://webstaff.kmutt.ac.th/~dejwoot.kha/ ENE 334 MCS-51 Moving Data Page 2 Moving Data: Objectives Use commands that

More information

8051 Microcontroller

8051 Microcontroller 8051 Microcontroller 1 Salient Features (1). 8 bit microcontroller originally developed by Intel in 1980. (2). High-performance CMOS Technology. (3). Contains Total 40 pins. (4). Address bus is of 16 bit

More information

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text In this lecture the detailed architecture of 8051 controller, register bank,

More information

SOLUTION MANUAL FOR THE 8051 MICROCONTROLLER 4TH EDITION BY MACKENZIE AND PHAN

SOLUTION MANUAL FOR THE 8051 MICROCONTROLLER 4TH EDITION BY MACKENZIE AND PHAN SOLUTION MANUAL FOR THE 8051 MICROCONTROLLER 4TH EDITION BY MACKENZIE AND PHAN Chapter 1 - Introduction to Microcontrollers 1. (a)the first widely used microprocessor was the 8080. (b) The 8080 was introduced

More information

EE6502- MICROPROCESSOR AND MICROCONTROLLER

EE6502- MICROPROCESSOR AND MICROCONTROLLER . EE6502- MICROPROCESSOR AND MICROCONTROLLER UNIT III - 8051 MICROCONTROLLER PART - A 1. What is Microcontroller? A device which contains the microprocessor with integrated peripherals like memory, serial

More information

ELEG3923 Microprocessor Ch.9 Timer Programming

ELEG3923 Microprocessor Ch.9 Timer Programming Department of Electrical Engineering University of Arkansas ELEG3923 Microprocessor Ch.9 Timer Programming Dr. Jingxian Wu wuj@uark.edu OUTLINE 2 Programming 8051 Timers Counter programming Timer programming

More information

Chapter 9. Programming Framework

Chapter 9. Programming Framework Chapter 9 Programming Framework Lesson 1 Registers Registers Pointers Accumulator Status General Purpose Outline CPU Registers Examples 8-bitA (Accumulator) Register 8-bit B Register 8-bitPSW (Processor

More information

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1 Module 3 Embedded Systems I/O Version 2 EE IIT, Kharagpur 1 Lesson 15 Interrupts Version 2 EE IIT, Kharagpur 2 Instructional Objectives After going through this lesson the student would learn Interrupts

More information

Module Introduction. PURPOSE: The intent of this module is to explain MCU processing of reset and interrupt exception events.

Module Introduction. PURPOSE: The intent of this module is to explain MCU processing of reset and interrupt exception events. Module Introduction PURPOSE: The intent of this module is to explain MCU processing of reset and interrupt exception events. OBJECTIVES: - Describe the difference between resets and interrupts. - Identify

More information

The Final Word on 8051 Microcontroller

The Final Word on 8051 Microcontroller The Final Word on 8051 Microcontroller This is a book about the Intel 8051 microcontroller and its large family of descendants. It is intended to give you, the reader, some new techniques for optimizing

More information

ISSI. IS89C51 CMOS SINGLE CHIP 8-BIT MICROCONTROLLER with 4-Kbytes of FLASH ISSI IS89C51 NOVEMBER 1998 FEATURES GENERAL DESCRIPTION

ISSI. IS89C51 CMOS SINGLE CHIP 8-BIT MICROCONTROLLER with 4-Kbytes of FLASH ISSI IS89C51 NOVEMBER 1998 FEATURES GENERAL DESCRIPTION IS89C51 CMOS SINGLE CHIP 8-BIT MICROCONTROLLER with 4-Kbytes of FLASH NOVEMBER 1998 FEATURES 80C51 based architecture 4-Kbytes of on-chip Reprogrammable Flash Memory 128 x 8 RAM Two 16-bit Timer/Counters

More information

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter CIRCUITS ITEGRATED CIRCUITS ABSTRACT This application note illustrates the use of an 87LPC76x microcontroller from Philips Semiconductors as an infrared RC5. Using the Philips 87LPC76x microcontroller

More information

icroprocessor istory of Microprocessor ntel 8086:

icroprocessor istory of Microprocessor ntel 8086: Microprocessor A microprocessor is an electronic device which computes on the given input similar to CPU of a computer. It is made by fabricating millions (or billions) of transistors on a single chip.

More information

8051 MICROCONTROLLER

8051 MICROCONTROLLER 8051 MICROCONTROLLER Mr.Darshan Patel M.Tech (Power Electronics & Drives) Assistant Professor Department of Electrical Engineering Sankalchand Patel College of Engineering-Visnagar WHY DO WE NEED TO LEARN

More information

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller of 8085 microprocessor 8085 is pronounced as "eighty-eighty-five" microprocessor. It is an 8-bit microprocessor designed by Intel in 1977 using NMOS technology. It has the following configuration 8-bit

More information

8051 Microcontrollers

8051 Microcontrollers 8051 Microcontrollers Richa Upadhyay Prabhu NMIMS s MPSTME richa.upadhyay@nmims.edu March 8, 2016 Controller vs Processor Controller vs Processor Introduction to 8051 Micro-controller In 1981,Intel corporation

More information

Interrupts. EE4380 Fall 2001 Class 9. Pari vallal Kannan. Center for Integrated Circuits and Systems University of Texas at Dallas

Interrupts. EE4380 Fall 2001 Class 9. Pari vallal Kannan. Center for Integrated Circuits and Systems University of Texas at Dallas 8051 - Interrupts EE4380 Fall 2001 Class 9 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Polling Vs Interrupts Polling: MCU monitors all served devices continuously,

More information

8051 microcontrollers

8051 microcontrollers 8051 microcontrollers Presented by: Deepak Kumar Rout Synergy Institute of Engineering and Technology, Dhenkanal Chapter 2 Introduction Intel MCS-51 family of microcontrollers consists of various devices

More information

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING CHAPTER 2 8051 ASSEMBLY LANGUAGE PROGRAMMING Registers Register are used to store information temporarily: A byte of data to be processed An address pointing to the data to be fetched The vast majority

More information

EXPERIMENT NO.1. A Microcontroller is a complete computer system built on a single chip.

EXPERIMENT NO.1. A Microcontroller is a complete computer system built on a single chip. EXPERIMENT NO.1 AIM: Study of 8051 Microcontroller TOOLS: 8051 kit THEORY: Salient Features of 8051 A Microcontroller is a complete computer system built on a single chip. It contains all components like

More information

CPEG300 Embedded System Design. Lecture 8 Timer

CPEG300 Embedded System Design. Lecture 8 Timer CPEG300 Embedded System Design Lecture 8 Timer Hamad Bin Khalifa University, Spring 2018 Review 8051 port and port schematic Internal read/write data path Serial communication vs. parallel communication

More information

8051 Microcontroller

8051 Microcontroller 8051 Microcontroller The 8051, Motorola and PIC families are the 3 leading sellers in the microcontroller market. The 8051 microcontroller was originally developed by Intel in the late 1970 s. Today many

More information

8051 Overview and Instruction Set

8051 Overview and Instruction Set 8051 Overview and Instruction Set Curtis A. Nelson Engr 355 1 Microprocessors vs. Microcontrollers Microprocessors are single-chip CPUs used in microcomputers Microcontrollers and microprocessors are different

More information

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter CIRCUITS ITEGRATED CIRCUITS ABSTRACT This application note illustrates the use of an 87LPC76x microcontroller from Philips Semiconductors as an infrared RC5 remote control transmitter. Using the Philips

More information

Flexibility in Frame Size with the 8044

Flexibility in Frame Size with the 8044 AP-283 APPLICATION NOTE Flexibility in Frame Size with the 8044 PARVIZ KHODADADI APPLICATIONS ENGINEER November 1990 Order Number 292019-001 Information in this document is provided in connection with

More information

Memory organization Programming model - Program status word - register banks - Addressing modes - instruction set Programming examples.

Memory organization Programming model - Program status word - register banks - Addressing modes - instruction set Programming examples. MICROCONTROLLERS AND APPLICATIONS 1 Module 2 Module-2 Contents: Memory organization Programming model - Program status word - register banks - Addressing modes - instruction set Programming examples. MEMORY

More information

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085. (1) Draw and explain the internal architecture of 8085. The architecture of 8085 Microprocessor is shown in figure given below. The internal architecture of 8085 includes following section ALU-Arithmetic

More information

QUESTION BANK CS2252 MICROPROCESSOR AND MICROCONTROLLERS

QUESTION BANK CS2252 MICROPROCESSOR AND MICROCONTROLLERS FATIMA MICHAEL COLLEGE OF ENGINEERING & TECHNOLOGY Senkottai Village, Madurai Sivagangai Main Road, Madurai -625 020 QUESTION BANK CS2252 MICROPROCESSOR AND MICROCONTROLLERS UNIT 1 - THE 8085 AND 8086

More information

8051 Serial Communication

8051 Serial Communication 8051 Serial Communication Basics of serial communication Parallel: transfers eight bits of data simultaneously over eight data lines expensive - short distance fast Serial : one bit at a time is transferred

More information

Microprocessor Architecture

Microprocessor Architecture Microprocessor - 8085 Architecture 8085 is pronounced as "eighty-eighty-five" microprocessor. It is an 8-bit microprocessor designed by Intel in 1977 using NMOS technology. It has the following configuration

More information

MOS INTEGRATED CIRCUIT

MOS INTEGRATED CIRCUIT DATA SHEET MOS INTEGRATED CIRCUIT µpd6708 IEBus (Inter Equipment Bus ) PROTOCOL CONTROL LSI DESCRIPTION The µpd6708 is a peripheral LSI for microcontrollers that controls the protocol of the IEBus. This

More information

8051 Microcontroller memory Organization and its Applications

8051 Microcontroller memory Organization and its Applications 8051 Microcontroller memory Organization and its Applications Memory mapping in 8051 ROM memory map in 8051 family 0000H 4k 0000H 8k 0000H 32k 0FFFH DS5000-32 8051 1FFFH 8752 7FFFH from Atmel Corporation

More information

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY CHAPTER 5 : Introduction to Intel 8085 Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY The 8085A(commonly known as the 8085) : Was first introduced in March 1976 is an 8-bit microprocessor with 16-bit address

More information

Introducing The MCS 251 Microcontroller -- 8XC251SB

Introducing The MCS 251 Microcontroller -- 8XC251SB E AP- 708 APPLICATION NOTE Introducing The MCS 251 Microcontroller -- 8XC251SB YONG-YAP SOH TECHNICAL MARKETING EIGHT-BIT MICROCONTROLLERS February 1995 Order Number: 272670-001 Intel Corporation makes

More information

Chapter 7 Central Processor Unit (S08CPUV2)

Chapter 7 Central Processor Unit (S08CPUV2) Chapter 7 Central Processor Unit (S08CPUV2) 7.1 Introduction This section provides summary information about the registers, addressing modes, and instruction set of the CPU of the HCS08 Family. For a more

More information

UNIT IV MICROCONTROLLER

UNIT IV MICROCONTROLLER UNIT IV 8051- MICROCONTROLLER Prepared by R. Kavitha Page 1 Application Prepared by R. Kavitha Page 2 Pin Description of the 8051 UNIT IV- 8051 MICROCONTROLLER P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST

More information

AT89S4D12. 8-Bit Microcontroller with 132K Bytes Flash Data Memory AT89S4D12. Features. Description. Pin Configurations

AT89S4D12. 8-Bit Microcontroller with 132K Bytes Flash Data Memory AT89S4D12. Features. Description. Pin Configurations Features Compatible with MCS-51 Products 128K Bytes of In-System Reprogrammable Flash data memory and 4K Bytes of Downloadable Flash Program Memory Endurance: 1,000 Write/Erase Cycles per Sector Data Retention:

More information

Microcontroller and Embedded Systems:

Microcontroller and Embedded Systems: Microcontroller and Embedded Systems: Branches: 1. Electronics & Telecommunication Engineering 2. Electrical & Electronics Engineering Semester: 6 th Semester / 7 th Semester 1. Explain the differences

More information

Chapter 09. Programming in Assembly

Chapter 09. Programming in Assembly Chapter 09 Programming in Assembly Lesson 05 Programming Examples for Timers Programming TMOD Register 3 Write instructions to run T0 in Mode 0, external count inputs, internal start/stop control ANL TMOD,

More information

8051 Peripherals. On-Chip Memory Timers Serial Port Interrupts. Computer Engineering Timers

8051 Peripherals. On-Chip Memory Timers Serial Port Interrupts. Computer Engineering Timers 8051 Peripherals On-Chip Memory Timers Serial Port Interrupts Computer Engineering 2 2-1 8051 Timers 8051 Timers The 8051 has 2 internal 16-bit timers named Timer 0 and Timer 1 Each timer is a 16-bit counter

More information

Serial I-O for Dinesh K. Sharma Electrical Engineering Department I.I.T. Bombay Mumbai (version 14/10/07)

Serial I-O for Dinesh K. Sharma Electrical Engineering Department I.I.T. Bombay Mumbai (version 14/10/07) Serial I-O for 8051 Dinesh K. Sharma Electrical Engineering Department I.I.T. Bombay Mumbai 400 076 (version 14/10/07) 1 Motivation Serial communications means sending data a single bit at a time. But

More information

CoE3DJ4 Digital Systems Design. Chapter 5: Serial Port Operation

CoE3DJ4 Digital Systems Design. Chapter 5: Serial Port Operation CoE3DJ4 Digital Systems Design Chapter 5: Serial Port Operation Serial port 8051 includes an on-chip serial port Hardware access to the port is through TXD and RXD (Port 3 bits 1 and 0) Serial port is

More information

1. Attempt any three of the following: 15

1. Attempt any three of the following: 15 (2½ hours) Total Marks: 75 N. B.: (1) All questions are compulsory. (2) Make suitable assumptions wherever necessary and state the assumptions made. (3) Answers to the same question must be written together.

More information

These three counters can be programmed for either binary or BCD count.

These three counters can be programmed for either binary or BCD count. S5 KTU 1 PROGRAMMABLE TIMER 8254/8253 The Intel 8253 and 8254 are Programmable Interval Timers (PTIs) designed for microprocessors to perform timing and counting functions using three 16-bit registers.

More information

MODEL ANSWER SUBJECT- MICROCONTROLLER(12187) CLASS-EJ5E CLASS TEST-02 Q1.)Attempt any THREE of the following.

MODEL ANSWER SUBJECT- MICROCONTROLLER(12187) CLASS-EJ5E CLASS TEST-02 Q1.)Attempt any THREE of the following. MODEL ANSWER SUBJECT- MICROCONTROLLER(12187) CLASS-EJ5E CLASS TEST-02 Q1.)Attempt any THREE of the following. (9M) 1) Describe the instructions SWAP A and MOVX@DPTR,A with one example. (3Marks) SWAP A

More information

ELEG3924 Microprocessor

ELEG3924 Microprocessor Department of Electrical Engineering University of Arkansas ELEG3924 Microprocessor Ch.2 Assembly Language Programming Dr. Jing Yang jingyang@uark.edu 1 OUTLINE Inside 8051 Introduction to assembly programming

More information

CC411: Introduction To Microprocessors

CC411: Introduction To Microprocessors CC411: Introduction To Microprocessors OBJECTIVES this chapter enables the student to: Describe the Intel family of microprocessors from 8085 to Pentium. In terms of bus size, physical memory & special

More information

MCS-51 Serial Port A T 8 9 C 5 2 1

MCS-51 Serial Port A T 8 9 C 5 2 1 MCS-51 Serial Port AT89C52 1 Introduction to Serial Communications Serial vs. Parallel transfer of data Simplex, Duplex and half-duplex modes Synchronous, Asynchronous UART Universal Asynchronous Receiver/Transmitter.

More information

CPEG300 Embedded System Design. Lecture 3 Memory

CPEG300 Embedded System Design. Lecture 3 Memory CPEG300 Embedded System Design Lecture 3 Memory Hamad Bin Khalifa University, Spring 2018 Review Von Neumann vs. Harvard architecture? System on Board, system on chip? Generic Hardware Architecture of

More information

A. This Errata sheet represents the known bugs, anomalies and work-arounds for the ADuC812 MicroConverter.

A. This Errata sheet represents the known bugs, anomalies and work-arounds for the ADuC812 MicroConverter. a MicroConverter, Multi-Channel 12-bit ADC with Embedded FLASH MCU ADuC812 A. This Errata sheet represents the known bugs, anomalies and work-arounds for the ADuC812 MicroConverter. B. The Errata listed,

More information

8051 Memory Organization BY D. BALAKRISHNA, Research Assistant, IIIT-H Chapter 1: Memory Organization There are 2 types of memories available in 8051 microcontroller. Program memory/c code memory (ROM)

More information

8051 MICROCONTROLLER

8051 MICROCONTROLLER What is a Microcontroller? UNIT 5 8051 MICROCONTROLLER A Microcontroller is a programmable digital processor with necessary peripherals. Both microcontrollers and microprocessors are complex sequential

More information

Module Contents of the Module Hours COs

Module Contents of the Module Hours COs Microcontrollers (EE45): Syllabus: Module Contents of the Module Hours COs 1 8051 MICROCONTROLLER ARCHITECTURE: Introduction to Microprocessors and Microcontrollers, the 8051 Architecture, 08 1 and pin

More information

ENE 334 Microprocessors

ENE 334 Microprocessors Page 1 ENE 334 Microprocessors Lecture 7: MCS-51 Architecture I : Dejwoot KHAWPARISUTH http://webstaff.kmutt.ac.th/~dejwoot.kha/ ENE 334 MCS-51 Architecture I Page 2 Outlines: 8051 Microcontroller Hardware

More information

DatraxRF Spread Spectrum Wireless Modem

DatraxRF Spread Spectrum Wireless Modem DatraxRF Spread Spectrum Wireless Modem Overview The DatraxRF 12, 96, and 192 modules are 100-milliwatt, frequency-hopping wireless modules that allow wireless communication between equipment using a standard

More information

Embedded Controller Programming

Embedded Controller Programming Embedded Controller Programming Counters, Timers and I/O in Assembly Language Ken Arnold Copyright 2000-2004 Ken Arnold 1 Outline Timer/Counters Serial Port More 8051 Instructions Examples Copyright 2000-2004

More information

Module I. Microcontroller can be classified on the basis of their bits processed like 8bit MC, 16bit MC.

Module I. Microcontroller can be classified on the basis of their bits processed like 8bit MC, 16bit MC. MICROCONTROLLERS AND APPLICATIONS 1 Module 1 Module I Introduction to Microcontrollers: Comparison with Microprocessors Harvard and Von Neumann Architectures - 80C51 microcontroller features - internal

More information

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100)

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) (Revision-10) FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) PART-A (Maximum marks : 10) I. Answer all

More information

8XC51RA RB RC Hardware Description

8XC51RA RB RC Hardware Description 8XC51RA RB RC Hardware Description February 1995 Order Number 272668-001 Information in this document is provided in connection with Intel products Intel assumes no liability whatsoever including infringement

More information

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1 M68HC08 Microcontroller The MC68HC908GP32 Babak Kia Adjunct Professor Boston University College of Engineering Email: bkia -at- bu.edu ENG SC757 - Advanced Microprocessor Design General Description The

More information

Section 10. Watchdog Timer and Power Saving Modes

Section 10. Watchdog Timer and Power Saving Modes Section 10. Watchdog Timer and Power Saving Modes HIGHLIGHTS This section of the manual contains the following topics: 10.1 Introduction... 10-2 10.2 Power Saving Modes... 10-2 10.3 Sleep Mode...10-2 10.4

More information

Microcontroller Intel [Instruction Set]

Microcontroller Intel [Instruction Set] Microcontroller Intel 8051 [Instruction Set] Structure of Assembly Language [ label: ] mnemonic [operands] [ ;comment ] Example: MOV R1, #25H ; load data 25H into R1 2 8051 Assembly Language Registers

More information

Distributed by: www.jameco.com 1-800-831-4242 The content and copyrights of the attached material are the property of its owner. 8051 8052 and 80C51 Hardware Description December 1992 Order Number 270252-006

More information

Introduction To MCS-51

Introduction To MCS-51 Introduction To MCS-51 By Charoen Vongchumyen Department of Computer Engineering Faculty of Engineering KMITLadkrabang 8051 Hardware Basic Content Overview Architechture Memory map Register Interrupt Timer/Counter

More information

CoE3DJ4 Digital Systems Design. Chapter 6: Interrupts

CoE3DJ4 Digital Systems Design. Chapter 6: Interrupts CoE3DJ4 Digital Systems Design Chapter 6: Interrupts Interrupts An interrupt is the occurrence of an event that causes a temporary suspension of a program while the condition is serviced by another program.

More information

INTEGRATED CIRCUITS DATA SHEET. P89C738; P89C739 8-bit microcontrollers Dec 15. Product specification File under Integrated Circuits, IC20

INTEGRATED CIRCUITS DATA SHEET. P89C738; P89C739 8-bit microcontrollers Dec 15. Product specification File under Integrated Circuits, IC20 INTEGRATED CIRCUITS DATA SHEET File under Integrated Circuits, IC20 1997 Dec 15 CONTENTS 1 FEATURES 2 GENERAL DESCRIPTION 3 ORDERING INFORMATION 4 BLOCK DIAGRAM 5 FUNCTIONAL DIAGRAM 6 PINNING INFORMATION

More information

SECTION 5 RESETS AND INTERRUPTS

SECTION 5 RESETS AND INTERRUPTS SECTION RESETS AND INTERRUPTS Resets and interrupt operations load the program counter with a vector that points to a new location from which instructions are to be fetched. A reset immediately stops execution

More information

1. Internal Architecture of 8085 Microprocessor

1. Internal Architecture of 8085 Microprocessor 1. Internal Architecture of 8085 Microprocessor Control Unit Generates signals within up to carry out the instruction, which has been decoded. In reality causes certain connections between blocks of the

More information

9/25/ Software & Hardware Architecture

9/25/ Software & Hardware Architecture 8086 Software & Hardware Architecture 1 INTRODUCTION It is a multipurpose programmable clock drive register based integrated electronic device, that reads binary instructions from a storage device called

More information

MODULE-1. Short Answer Questions

MODULE-1. Short Answer Questions MODULE-1 Short Answer Questions 1. Give the comparison between microprocessor and microcontroller. It is very clear from figure that in microprocessor we have to interface additional circuitry for providing

More information

Interrupt Programming: Interrupts vs. Polling Method:

Interrupt Programming: Interrupts vs. Polling Method: UNIT 4: INTERRUPT PROGRAMMING & SERIAL COMMUNICATION WITH 8051: Definition of an interrupt, types of interrupts, Timers and Counter programming with interrupts in assembly. 8051 Serial Communication: Data

More information

b. List different system buses of 8085 microprocessor and give function of each bus. (8) Answer:

b. List different system buses of 8085 microprocessor and give function of each bus. (8) Answer: Q.2 a. Discuss and differentiate between a Microprocessor and a Microcontroller. Microprocessor is an IC which has only the CPU inside them i.e. only the processing powers such as Intel s Pentium 1,2,3,4,

More information

SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET

SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET 1 SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET Intel 8086/8088 Architecture Segmented Memory, Minimum and Maximum Modes of Operation, Timing Diagram, Addressing Modes, Instruction Set,

More information

INSTITUTE OF ENGINEERING AND MANAGEMENT, KOLKATA Microprocessor

INSTITUTE OF ENGINEERING AND MANAGEMENT, KOLKATA Microprocessor INSTITUTE OF ENGINEERING AND MANAGEMENT, KOLKATA Microprocessor Subject Name: Microprocessor and Microcontroller Year: 3 rd Year Subject Code: CS502 Semester: 5 th Module Day Assignment 1 Microprocessor

More information

Emulating an asynchronous serial interface (ASC0) via software routines

Emulating an asynchronous serial interface (ASC0) via software routines Microcontrollers ApNote AP165001 or æ additional file AP165001.EXE available Emulating an asynchronous serial interface (ASC0) via software routines Abstract: The solution presented in this paper and in

More information

ELEG3923 Microprocessor Ch.2 Assembly Language Programming

ELEG3923 Microprocessor Ch.2 Assembly Language Programming Department of Electrical Engineering University of Arkansas ELEG3923 Microprocessor Ch.2 Assembly Language Programming Dr. Jingxian Wu wuj@uark.edu OUTLINE 2 Inside 8051 Introduction to assembly programming

More information

Chapter 2 Sections 1 8 Dr. Iyad Jafar

Chapter 2 Sections 1 8 Dr. Iyad Jafar Introducing the PIC 16 Series and the 16F84A Chapter 2 Sections 1 8 Dr. Iyad Jafar Outline Overview of the PIC 16 Series An Architecture Overview of the 16F84A The 16F84A Memory Organization Memory Addressing

More information

INTELLIS. Modbus Direct Network Monitor

INTELLIS. Modbus Direct Network Monitor INTELLIS Modbus Direct Network Monitor System Installation and Operation Manual Phone: (201) 794-7650 Fax: (201)794-0913 Chapter 1 Modbus Protocol Revision History Revision 1.0 30 April, 2002 Initial Version

More information

UNIT II OVERVIEW MICROPROCESSORS AND MICROCONTROLLERS MATERIAL. Introduction to 8086 microprocessors. Architecture of 8086 processors

UNIT II OVERVIEW MICROPROCESSORS AND MICROCONTROLLERS MATERIAL. Introduction to 8086 microprocessors. Architecture of 8086 processors OVERVIEW UNIT II Introduction to 8086 microprocessors Architecture of 8086 processors Register Organization of 8086 Memory Segmentation of 8086 Pin Diagram of 8086 Timing Diagrams for 8086 Interrupts of

More information

Internal architecture of 8086

Internal architecture of 8086 Case Study: Intel Processors Internal architecture of 8086 Slide 1 Case Study: Intel Processors FEATURES OF 8086 It is a 16-bit μp. 8086 has a 20 bit address bus can access up to 220 memory locations (1

More information

EE Embedded Systems Design. Lessons Exceptions - Resets and Interrupts

EE Embedded Systems Design. Lessons Exceptions - Resets and Interrupts EE4800-03 Embedded Systems Design Lessons 7-10 - Exceptions - Resets and Interrupts 1 - Exceptions - Resets and Interrupts Polling vs. Interrupts Exceptions: Resets and Interrupts 68HC12 Exceptions Resets

More information

UNIT 2 THE 8051 INSTRUCTION SET AND PROGRAMMING

UNIT 2 THE 8051 INSTRUCTION SET AND PROGRAMMING UNIT 2 THE 8051 INSTRUCTION SET AND PROGRAMMING Instructions Alphabetical List of Instructions ACALL: Absolute Call ADD, ADDC: Add Accumulator (With Carry) AJMP: Absolute Jump ANL: Bitwise AND CJNE: Compare

More information