The document provides instructions for 6 experiments to be performed on an MSP430G2553 microcontroller. Experiment 1 involves blinking an LED using GPIO pins on the microcontroller. Experiment 2 uses an interrupt triggered by a button press to toggle an LED. Experiment 3 implements pulse width modulation to vary the brightness of an LED.
The Reason Why we use master slave JK flip flop instead of simple level triggered flip flop is Racing condition which can be successfully avoided using two SR latches fed with inverted clocks.
This document discusses memory circuits and techniques to reduce power consumption in memories. It describes the key components of memory control units including address decoders, sense amplifiers, voltage references, drivers/buffers, and timing and control circuits. Address decoders reduce the number of select signals needed for memory access. Sense amplifiers amplify signals from memory cells for data readout. Various voltage references are needed for memory operation. Power consumption comes from the memory cell array, decoders, and periphery circuits. Partitioning memory and reducing voltage levels can lower active power, while techniques like half VDD precharge and boosted word lines reduce DRAM retention power. Turning off unused blocks and increasing thresholds cuts SRAM retention power.
DELD Unit IV ring and twisted ring counterKanchanPatil34
A 4 bit bidirectional shift register allows data to be shifted either left or right based on the control signal level. When the control signal is high, gates G1-G4 are enabled and data shifts right as each flip flop's output is passed to the next flip flop's input. When low, gates G5-G7 are enabled and data shifts left by each flip flop passing its output to the previous flip flop's input.
It Defines what is Programmable Logic Array(PLA) also explains it in easy wording with syntax and Example...
It also cover what is Combinational & Sequential Logic Circuit and the Difference b/w these both. :)
Counters and time delays can be implemented in software or hardware using loop constructs. Counters keep track of events like iterations in a for loop, while delays set up accurate timing between events. Delays can be implemented using loops that iterate a set number of times based on instruction timing. Nested loops and register pairs can increase delay times for longer periods.
1. Flip-flops and latches are types of memory elements used in sequential circuits. Latches change state based on input levels while flip-flops change state only on the rising or falling edge of a clock signal.
2. Common types of latches include the SR latch and D latch. Common types of flip-flops include the D flip-flop, JK flip-flop, and T flip-flop. Each has a characteristic truth table that defines its operation.
3. Sequential circuits can be analyzed using state tables that define the next state based on the present state and inputs. The state is defined by the values stored in all memory elements of the circuit.
The Program Status Word (PSW) is an 8-bit register that contains status flags in microprocessors like the 8085 and microcontrollers like the 8051. The PSW has an accumulator and flag register, with the accumulator being higher order and flag register lower order. The PSW tracks status flags like the carry, parity, auxiliary, zero, and sign flags to indicate results of operations such as carries/borrows between bits and whether a result is zero or negative.
The Reason Why we use master slave JK flip flop instead of simple level triggered flip flop is Racing condition which can be successfully avoided using two SR latches fed with inverted clocks.
This document discusses memory circuits and techniques to reduce power consumption in memories. It describes the key components of memory control units including address decoders, sense amplifiers, voltage references, drivers/buffers, and timing and control circuits. Address decoders reduce the number of select signals needed for memory access. Sense amplifiers amplify signals from memory cells for data readout. Various voltage references are needed for memory operation. Power consumption comes from the memory cell array, decoders, and periphery circuits. Partitioning memory and reducing voltage levels can lower active power, while techniques like half VDD precharge and boosted word lines reduce DRAM retention power. Turning off unused blocks and increasing thresholds cuts SRAM retention power.
DELD Unit IV ring and twisted ring counterKanchanPatil34
A 4 bit bidirectional shift register allows data to be shifted either left or right based on the control signal level. When the control signal is high, gates G1-G4 are enabled and data shifts right as each flip flop's output is passed to the next flip flop's input. When low, gates G5-G7 are enabled and data shifts left by each flip flop passing its output to the previous flip flop's input.
It Defines what is Programmable Logic Array(PLA) also explains it in easy wording with syntax and Example...
It also cover what is Combinational & Sequential Logic Circuit and the Difference b/w these both. :)
Counters and time delays can be implemented in software or hardware using loop constructs. Counters keep track of events like iterations in a for loop, while delays set up accurate timing between events. Delays can be implemented using loops that iterate a set number of times based on instruction timing. Nested loops and register pairs can increase delay times for longer periods.
1. Flip-flops and latches are types of memory elements used in sequential circuits. Latches change state based on input levels while flip-flops change state only on the rising or falling edge of a clock signal.
2. Common types of latches include the SR latch and D latch. Common types of flip-flops include the D flip-flop, JK flip-flop, and T flip-flop. Each has a characteristic truth table that defines its operation.
3. Sequential circuits can be analyzed using state tables that define the next state based on the present state and inputs. The state is defined by the values stored in all memory elements of the circuit.
The Program Status Word (PSW) is an 8-bit register that contains status flags in microprocessors like the 8085 and microcontrollers like the 8051. The PSW has an accumulator and flag register, with the accumulator being higher order and flag register lower order. The PSW tracks status flags like the carry, parity, auxiliary, zero, and sign flags to indicate results of operations such as carries/borrows between bits and whether a result is zero or negative.
In digital electronics, a decoder can take the form of a multiple-input, multiple-output logic circuit that converts coded inputs into coded outputs, where the input and output codes are different e.g. n-to-2n , binary-coded decimal decoders. Decoding is necessary in applications such as data multiplexing, 7 segment display and memory address decoding.
An encoder is a device, circuit, transducer, software program, algorithm or person that converts information from one format or code to another. The purpose of encoder is standardization, speed, secrecy, security, or saving space by shrinking size. Encoders are combinational logic circuits and they are exactly opposite of decoders. They accept one or more inputs and generate a multibit output code.
This document discusses memory interfacing with the 8085 microprocessor. It begins by describing the different types of computer memory, including primary/volatile memory (RAM and ROM) and secondary/non-volatile memory (magnetic tapes, disks, optical disks). It then discusses how the 8085 microprocessor interfaces with memory chips through an interface circuit. The interface circuit matches the memory chip signals to the microprocessor address and control signals. Memory interfacing involves selecting the appropriate memory chip, identifying the correct register using address lines, and enabling read/write buffers using control signals.
The document discusses data transfer instructions in 8085 microprocessor. It describes the LHLD and SHLD instructions. LHLD loads the contents of two consecutive memory locations pointed by a 16-bit address into the HL register pair. SHLD stores the contents of HL register pair into two consecutive memory locations pointed by a 16-bit address. Both instructions use 3 bytes and take 5 machine cycles (16 clock cycles) to execute, with LHLD performing read cycles and SHLD performing write cycles in the last two machine cycles.
Clock skew refers to the difference in arrival times of a clock signal at different devices. Excessive clock skew can be minimized by buffering the clock signal so that all signals experience equal delays, adding delay to the data path to account for skew, reversing the clock signal direction to clock the destination register before the source, or using alternate phase clocking with two clock phases or opposite clock edges between sequential registers.
This presentation discusses the basics about how to realize logic functions using Static CMOS logic. This presentation discusses about how to realize a Boolean expression by drawing a Pull-up network and a pull-down network. It also briefs about the pass transistor logic and the concepts of weak and strong outputs.
The document discusses the 555 timer integrated circuit and its use as an astable multivibrator. The 555 timer was designed in 1971 by Hans Camenzind and is used in oscillator circuits to provide timing delays. It works by charging and discharging a capacitor through two resistors, causing the output to switch between high and low states. When the capacitor voltage reaches 2/3 or 1/3 of the supply voltage, it triggers the internal flip-flop to change the output. This creates a continuous square wave at the output with a frequency determined by the resistor and capacitor values.
This document discusses various VLSI testing techniques. It begins by explaining the need for testing circuits when they are first developed and manufactured to check that they meet specifications. The main testing approach is to apply test inputs and compare the outputs to expected patterns. It then describes different testing techniques for combinational and sequential circuits, including fault modeling, path sensitizing, scan path testing, built-in self-test (BIST), boundary scan testing, and signature analysis. Specific circuit examples are provided to illustrate scan path testing, BIST using linear feedback shift registers (LFSRs) and compressor circuits, and boundary scan testing.
8085 MICROPROCESSOR ARCHITECTURE AND ITS OPERATIONSRamaPrabha24
This document discusses the architecture and operations of microprocessors. It focuses on the Intel 8085 microprocessor. The 8085 architecture consists of a register array, ALU and logic group, instruction decoder and encoder, interrupt control group, and serial I/O control group. The register array contains general purpose registers, temporary registers, special purpose registers like the accumulator, flags register, and instruction register, and 16-bit registers like the program counter and stack pointer. The ALU performs arithmetic and logical operations. The instruction decoder decodes instructions and the timing and control circuitry manages the sequencing of operations. Microprocessor operations include memory reads/writes, I/O reads/writes using address, data and control buses, internal data operations
Shift registers are constructed using flip-flops connected in a way to store and transfer digital data. Data is stored at the Q output of D flip-flops during a clock pulse. Shift registers allow data to be transferred between flip-flops upon a clock edge. There are four types of data movement: serial in serial out, serial in parallel out, parallel in serial out, and parallel in parallel out. Shift registers can be loaded serially or in parallel and are used in applications like pseudo random pattern generators, ring counters, and Johnson counters.
Programmable logic devices (PLDs) like PLA, PAL, CPLD and FPGA allow implementing logic circuits using programmable switches. PLA and PAL have programmable AND planes and OR planes to implement sum-of-products logic. PALs are simpler than PLAs with fixed OR planes. CPLDs contain multiple PAL-like blocks with programmable interconnects. FPGAs provide programmable logic blocks and interconnects to implement larger circuits without AND/OR planes. All PLDs require programming using CAD tools to set the switches for the desired logic function.
This document discusses the architecture of the PIC16C6X microcontroller. It begins by describing PIC microcontrollers in general and the core features of the PIC16C6X. It then examines the different versions of the PIC16C6X family and provides a pin diagram. The main blocks of the PIC16C6X architecture are outlined, including the power-on reset, watchdog timer, I/O ports, ADC, interrupt control, USART, memory blocks, and registers. Program memory size varies between versions. The document concludes with references.
The 8253 is a programmable timer/counter chip used in Intel microcomputers. It has 3 counters and 6 programmable modes. The modes determine how the OUT signal behaves, such as pulsing low/high periodically or non-periodically. The control byte programs the counter selection, read/write mode, count mode, and binary/BCD selection. Common uses include creating time intervals and counting events.
Latches are asynchronous electronic logic circuits with two stable output states. There are four main types of latches: D, T, SR, and JK latches. An SR latch has two inputs - SET (S) and RESET (R) - and two complementary outputs (Q and Q'). The state of the latch depends on whether input S or R is activated. A D latch similarly has one data input and two complementary outputs, but removes invalid states that can occur in an SR latch. Latches can be either active-high or active-low, depending on whether a high or low input triggers a state change.
The microprocessor is the core of computer systems.
Nowadays many communication, digital entertainment, portable devices, are controlled by them.
A designer should know what types of components he needs, ways to reduce production costs and product reliable.
Field Programmable Gate Arrays (FPGAs) are semiconductor devices that contain programmable logic components and programmable interconnects. FPGAs can be reprogrammed to desired functionality requirements after manufacturing. The document discusses the building blocks of FPGAs, including configurable logic blocks (CLBs), interconnects, input/output blocks, block RAM, digital signal processing slices, and clock management resources. It also covers FPGA routing architectures and common FPGA design flows.
The document discusses the Programmable Peripheral Interface 8255 (PPI), which is an I/O port chip used for interfacing I/O devices with microprocessors. It has 24 pins for I/O that are programmable in groups of 12 pins and has three distinct modes of operation. The PPI is commonly used in microprocessor labs for interfacing experiments and knowledge of it is essential for students. It describes the basic modes of operation and how to program the 8255.
This document describes the features and pin diagram of the 8085 microprocessor. It is an 8-bit processor that operates on a 5V power supply. It has 40 pins, including an 8-bit multiplexed address and data bus. The pin functions described include the address bus (A8-A15), data bus (AD0-AD7), control signals like RD and WR, status signals like IO/M and S0-S1, power supply pins VCC and VSS, interrupt pins like TRAP and INTR, externally initiated signals like INTA and RESET, serial I/O signals SOD and SID, and clock signals X1, X2, and CLK OUT.
This document discusses different types of field effect transistors (FETs). It describes the junction field effect transistor (JFET) and its construction, advantages, and applications. The metal-oxide-semiconductor field effect transistor (MOSFET) is also discussed, including its construction, depletion and enhancement modes of operation, working principle, and applications such as switching and signal amplification. The document also briefly mentions other semiconductor devices like zener diodes, varactor diodes, and their applications.
This document contains details of 11 practical experiments conducted using an AT90S8535 microcontroller. Each experiment is summarized in 3 sentences or less:
1. Toggle the state of LEDs connected to two ports by alternately setting the ports high and low with a 0.5 second delay.
2. Simulate an 8-bit binary counter by incrementing the port value and lighting LEDs one by one with a 0.2 second delay.
3. Generate a 1 second delay by toggling an LED connected to one port using a timer overflow interrupt that increments a counter.
This document is a project report on a temperature controller and display circuit created by students at Ganpat University. The circuit uses an AT89S52 microcontroller to interface with an ADC0804 analog-to-digital converter and LCD display to measure temperature from a LM35 sensor, display the current temperature, and control a relay and buzzer based on a setpoint temperature entered by the user. The circuit and programming allow the user to increment and decrement the setpoint temperature using switches and trigger an alarm if the current temperature exceeds the setpoint.
In digital electronics, a decoder can take the form of a multiple-input, multiple-output logic circuit that converts coded inputs into coded outputs, where the input and output codes are different e.g. n-to-2n , binary-coded decimal decoders. Decoding is necessary in applications such as data multiplexing, 7 segment display and memory address decoding.
An encoder is a device, circuit, transducer, software program, algorithm or person that converts information from one format or code to another. The purpose of encoder is standardization, speed, secrecy, security, or saving space by shrinking size. Encoders are combinational logic circuits and they are exactly opposite of decoders. They accept one or more inputs and generate a multibit output code.
This document discusses memory interfacing with the 8085 microprocessor. It begins by describing the different types of computer memory, including primary/volatile memory (RAM and ROM) and secondary/non-volatile memory (magnetic tapes, disks, optical disks). It then discusses how the 8085 microprocessor interfaces with memory chips through an interface circuit. The interface circuit matches the memory chip signals to the microprocessor address and control signals. Memory interfacing involves selecting the appropriate memory chip, identifying the correct register using address lines, and enabling read/write buffers using control signals.
The document discusses data transfer instructions in 8085 microprocessor. It describes the LHLD and SHLD instructions. LHLD loads the contents of two consecutive memory locations pointed by a 16-bit address into the HL register pair. SHLD stores the contents of HL register pair into two consecutive memory locations pointed by a 16-bit address. Both instructions use 3 bytes and take 5 machine cycles (16 clock cycles) to execute, with LHLD performing read cycles and SHLD performing write cycles in the last two machine cycles.
Clock skew refers to the difference in arrival times of a clock signal at different devices. Excessive clock skew can be minimized by buffering the clock signal so that all signals experience equal delays, adding delay to the data path to account for skew, reversing the clock signal direction to clock the destination register before the source, or using alternate phase clocking with two clock phases or opposite clock edges between sequential registers.
This presentation discusses the basics about how to realize logic functions using Static CMOS logic. This presentation discusses about how to realize a Boolean expression by drawing a Pull-up network and a pull-down network. It also briefs about the pass transistor logic and the concepts of weak and strong outputs.
The document discusses the 555 timer integrated circuit and its use as an astable multivibrator. The 555 timer was designed in 1971 by Hans Camenzind and is used in oscillator circuits to provide timing delays. It works by charging and discharging a capacitor through two resistors, causing the output to switch between high and low states. When the capacitor voltage reaches 2/3 or 1/3 of the supply voltage, it triggers the internal flip-flop to change the output. This creates a continuous square wave at the output with a frequency determined by the resistor and capacitor values.
This document discusses various VLSI testing techniques. It begins by explaining the need for testing circuits when they are first developed and manufactured to check that they meet specifications. The main testing approach is to apply test inputs and compare the outputs to expected patterns. It then describes different testing techniques for combinational and sequential circuits, including fault modeling, path sensitizing, scan path testing, built-in self-test (BIST), boundary scan testing, and signature analysis. Specific circuit examples are provided to illustrate scan path testing, BIST using linear feedback shift registers (LFSRs) and compressor circuits, and boundary scan testing.
8085 MICROPROCESSOR ARCHITECTURE AND ITS OPERATIONSRamaPrabha24
This document discusses the architecture and operations of microprocessors. It focuses on the Intel 8085 microprocessor. The 8085 architecture consists of a register array, ALU and logic group, instruction decoder and encoder, interrupt control group, and serial I/O control group. The register array contains general purpose registers, temporary registers, special purpose registers like the accumulator, flags register, and instruction register, and 16-bit registers like the program counter and stack pointer. The ALU performs arithmetic and logical operations. The instruction decoder decodes instructions and the timing and control circuitry manages the sequencing of operations. Microprocessor operations include memory reads/writes, I/O reads/writes using address, data and control buses, internal data operations
Shift registers are constructed using flip-flops connected in a way to store and transfer digital data. Data is stored at the Q output of D flip-flops during a clock pulse. Shift registers allow data to be transferred between flip-flops upon a clock edge. There are four types of data movement: serial in serial out, serial in parallel out, parallel in serial out, and parallel in parallel out. Shift registers can be loaded serially or in parallel and are used in applications like pseudo random pattern generators, ring counters, and Johnson counters.
Programmable logic devices (PLDs) like PLA, PAL, CPLD and FPGA allow implementing logic circuits using programmable switches. PLA and PAL have programmable AND planes and OR planes to implement sum-of-products logic. PALs are simpler than PLAs with fixed OR planes. CPLDs contain multiple PAL-like blocks with programmable interconnects. FPGAs provide programmable logic blocks and interconnects to implement larger circuits without AND/OR planes. All PLDs require programming using CAD tools to set the switches for the desired logic function.
This document discusses the architecture of the PIC16C6X microcontroller. It begins by describing PIC microcontrollers in general and the core features of the PIC16C6X. It then examines the different versions of the PIC16C6X family and provides a pin diagram. The main blocks of the PIC16C6X architecture are outlined, including the power-on reset, watchdog timer, I/O ports, ADC, interrupt control, USART, memory blocks, and registers. Program memory size varies between versions. The document concludes with references.
The 8253 is a programmable timer/counter chip used in Intel microcomputers. It has 3 counters and 6 programmable modes. The modes determine how the OUT signal behaves, such as pulsing low/high periodically or non-periodically. The control byte programs the counter selection, read/write mode, count mode, and binary/BCD selection. Common uses include creating time intervals and counting events.
Latches are asynchronous electronic logic circuits with two stable output states. There are four main types of latches: D, T, SR, and JK latches. An SR latch has two inputs - SET (S) and RESET (R) - and two complementary outputs (Q and Q'). The state of the latch depends on whether input S or R is activated. A D latch similarly has one data input and two complementary outputs, but removes invalid states that can occur in an SR latch. Latches can be either active-high or active-low, depending on whether a high or low input triggers a state change.
The microprocessor is the core of computer systems.
Nowadays many communication, digital entertainment, portable devices, are controlled by them.
A designer should know what types of components he needs, ways to reduce production costs and product reliable.
Field Programmable Gate Arrays (FPGAs) are semiconductor devices that contain programmable logic components and programmable interconnects. FPGAs can be reprogrammed to desired functionality requirements after manufacturing. The document discusses the building blocks of FPGAs, including configurable logic blocks (CLBs), interconnects, input/output blocks, block RAM, digital signal processing slices, and clock management resources. It also covers FPGA routing architectures and common FPGA design flows.
The document discusses the Programmable Peripheral Interface 8255 (PPI), which is an I/O port chip used for interfacing I/O devices with microprocessors. It has 24 pins for I/O that are programmable in groups of 12 pins and has three distinct modes of operation. The PPI is commonly used in microprocessor labs for interfacing experiments and knowledge of it is essential for students. It describes the basic modes of operation and how to program the 8255.
This document describes the features and pin diagram of the 8085 microprocessor. It is an 8-bit processor that operates on a 5V power supply. It has 40 pins, including an 8-bit multiplexed address and data bus. The pin functions described include the address bus (A8-A15), data bus (AD0-AD7), control signals like RD and WR, status signals like IO/M and S0-S1, power supply pins VCC and VSS, interrupt pins like TRAP and INTR, externally initiated signals like INTA and RESET, serial I/O signals SOD and SID, and clock signals X1, X2, and CLK OUT.
This document discusses different types of field effect transistors (FETs). It describes the junction field effect transistor (JFET) and its construction, advantages, and applications. The metal-oxide-semiconductor field effect transistor (MOSFET) is also discussed, including its construction, depletion and enhancement modes of operation, working principle, and applications such as switching and signal amplification. The document also briefly mentions other semiconductor devices like zener diodes, varactor diodes, and their applications.
This document contains details of 11 practical experiments conducted using an AT90S8535 microcontroller. Each experiment is summarized in 3 sentences or less:
1. Toggle the state of LEDs connected to two ports by alternately setting the ports high and low with a 0.5 second delay.
2. Simulate an 8-bit binary counter by incrementing the port value and lighting LEDs one by one with a 0.2 second delay.
3. Generate a 1 second delay by toggling an LED connected to one port using a timer overflow interrupt that increments a counter.
This document is a project report on a temperature controller and display circuit created by students at Ganpat University. The circuit uses an AT89S52 microcontroller to interface with an ADC0804 analog-to-digital converter and LCD display to measure temperature from a LM35 sensor, display the current temperature, and control a relay and buzzer based on a setpoint temperature entered by the user. The circuit and programming allow the user to increment and decrement the setpoint temperature using switches and trigger an alarm if the current temperature exceeds the setpoint.
The P89V51RD2 is an 80C51 microcontroller with 64kB of Flash memory and 1kB of RAM. It has features like In-System Programming, In-Application Programming, and a choice of running at the standard 80C51 clock rate or twice the throughput at the same clock frequency in X2 mode. It includes ports, timers, serial interfaces, and low power modes.
This document provides an overview of analog input and output on the Arduino board. It discusses how analog output works using pulse-width modulation (PWM) on pins 3, 5, 6, 9, 10, and 11. It explains how to write analog values from 0-255 using the analogWrite() function. Examples are provided to fade an LED and have simultaneous fading and blinking. For analog input, it discusses using a potentiometer or photocell connected to pins A0-A5 and reading values from 0-1023 using analogRead(). Examples control an LED based on the analog reading. The document also discusses communicating between Arduino and Processing using the serial port.
This document describes a digital alarm clock designed and implemented on an Artix7 FPGA development board using Verilog HDL. The clock displays time in hours, minutes and seconds using 8 seven-segment displays and blinks the decimal point LED between hour and minute display. It allows the user to set the current time and alarm time using buttons and has functionality for clock setting, alarm setting and an alarm alert indicator LED or sound. The design was tested successfully using hardware on the FPGA board and some minor issues were addressed. Future work proposed includes modifying the clock format and adding a date display.
The document discusses getting started with the Intel Galileo Gen 2 development board. It provides an overview of the board's specifications and input/output pins. It also describes how to set up the Arduino development environment and install the necessary drivers to use the board. Finally, it gives examples of simple Arduino sketches that can be run on the board, including blinking an LED, fading an LED, reading a potentiometer, driving a 7-segment display, and using a push button and LCD screen.
This presentation discusses an embedded system project to control a fan based on temperature. It includes:
- An overview of Skyphi Technologies, an organization that provides training in embedded systems and other domains.
- A definition of embedded systems and examples like ATMs, aircraft systems, and more.
- An introduction to the AVR microcontroller and its features like the ATmega8, programming tools, and pin diagram.
- Explanations of embedded C programming structure, I/O ports, registers, and programming the AVR microcontroller.
- Details of the temperature controlled fan project including components, working principle, circuit diagram, and code overview.
- Applications of the temperature controlled fan
This document provides an overview of Arduino programming concepts including:
- Microcontrollers contain a CPU, memory, input/output pins and other peripherals on a single integrated circuit.
- Arduino is an open-source electronics platform with a microcontroller, pins to connect circuits, and software to program it.
- The core Arduino functions include setup(), loop(), pinMode(), digitalWrite(), digitalRead(), analogWrite(), analogRead(), and delay().
- Examples demonstrate blinking LEDs, reading input, using conditions and loops, arrays, LCD displays, and controlling servo motors.
- Arduino programming provides an accessible way to learn embedded systems and interact with circuits.
The document describes an embedded controller evaluation board that contains an AT89C51ED2 microcontroller, LEDs, switches, an LCD display, serial interface, ADC, DAC, RTC, and other peripherals. It provides instructions on applying power, serial communication, and examples of programs to blink LEDs, use timers to delay and toggle an LED, interface with the LCD display, and read a 4x4 keypad. The goal is to help users understand the capabilities of the microcontroller and experiment with its various features.
Switch Control and Time Delay
1. LEDs and switches
2. Keypad and LEDs
3. Keypad and 8-segment LED C language and Assembly Code for Freescale MC9S08AW60
This document describes an Arduino-based remote control project that uses an IR receiver module to control an LED. The circuit connects the TSOP output pin to the Arduino's pin 9, and connects the LED and resistor to pin 3. The Arduino code uses the SPIRremote library to receive IR signals from the remote. When button "1" is pressed, it toggles the state of the LED connected to pin 3. The code uses an if/else statement within a switch case to change the LED from on to off or vice versa each time button 1 is pressed on the remote.
This document is an embedded system lab manual that provides experimental programs using a PIC16F877A microcontroller. It includes 10 experiments with topics like voltage measurement, water pump control, digital clock, temperature measurement, and more. The introduction section describes embedded systems and features of the PIC16F877A microcontroller used in the experiments. Each experiment section provides the aim, apparatus required, theory, program code, connection diagram, procedure and result.
The 4-bit CPU was designed to execute 18 distinct operations from a lookup table. It was tested by executing an instruction set that performed operations like load, store, add, and jump instructions. The accumulator and program counter displays were observed after each instruction to verify the correct operations. Various components like a RAM, ALU, program counter, and decoders were used in the design. The group members demonstrated different parts of the instruction set to verify the CPU was functioning properly.
This document summarizes prototyping and designing software for IoT applications using Arduino Uno. It discusses the setup() and loop() functions needed to define executable programs, and the digitalWrite() function to write HIGH or LOW values to digital pins. An example code is provided to set digital pin 13 as an output and toggle it between HIGH and LOW every second using digitalWrite() and delay() functions.
This document describes experiments with analog to digital converters (ADCs) using an 8-bit and 10-bit converter to read voltage input and display the results on a 7-segment LED display. It provides algorithms and code for initializing the ADC, taking samples, and performing conversions to extract the digital values for display. Procedures are outlined for 8-bit and 10-bit conversions using interrupts or polling and arithmetic operations to handle the 10-bit values.
This document describes an energy saving visitor counter project that uses a microcontroller and infrared sensors. The objective is to design a circuit that can count the number of people entering and exiting a room and control the room light accordingly. It uses an IR transmitter and receiver to detect movement and increments or decrements the counter value, which is displayed on seven-segment displays. The microcontroller controls the counting and display functionality while receiving input from the IR sensors. Proteus and Keil software are used to simulate and program the microcontroller respectively.
The introduction to Arduino labs at Malmö University. These slides have been handed down since the beginning of Arduino. They have more authors then i can remember and should by no means be considered mine.
The introduction to Arduino labs at Malmö University. These slides have been handed down since the beginning of Arduino. They have more authors then i can remember and should by no means be considered mine.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
Comparative analysis between traditional aquaponics and reconstructed aquapon...bijceesjournal
The aquaponic system of planting is a method that does not require soil usage. It is a method that only needs water, fish, lava rocks (a substitute for soil), and plants. Aquaponic systems are sustainable and environmentally friendly. Its use not only helps to plant in small spaces but also helps reduce artificial chemical use and minimizes excess water use, as aquaponics consumes 90% less water than soil-based gardening. The study applied a descriptive and experimental design to assess and compare conventional and reconstructed aquaponic methods for reproducing tomatoes. The researchers created an observation checklist to determine the significant factors of the study. The study aims to determine the significant difference between traditional aquaponics and reconstructed aquaponics systems propagating tomatoes in terms of height, weight, girth, and number of fruits. The reconstructed aquaponics system’s higher growth yield results in a much more nourished crop than the traditional aquaponics system. It is superior in its number of fruits, height, weight, and girth measurement. Moreover, the reconstructed aquaponics system is proven to eliminate all the hindrances present in the traditional aquaponics system, which are overcrowding of fish, algae growth, pest problems, contaminated water, and dead fish.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Batteries -Introduction – Types of Batteries – discharging and charging of battery - characteristics of battery –battery rating- various tests on battery- – Primary battery: silver button cell- Secondary battery :Ni-Cd battery-modern battery: lithium ion battery-maintenance of batteries-choices of batteries for electric vehicle applications.
Fuel Cells: Introduction- importance and classification of fuel cells - description, principle, components, applications of fuel cells: H2-O2 fuel cell, alkaline fuel cell, molten carbonate fuel cell and direct methanol fuel cells.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
2. (13A04709) VLSI & EMBEDDED SYSTEMS LABORATORY
Note: The students are required to perform any Six Experiments from each Part of the
following.
Part-A: VLSI Lab
List of Experiments:
1. Realization of Logic Gates.
2. 3- to - 8Decoder- 74138.
3. 8 x 1 Multiplexer-74151 and 2 x 4 De-multiplexer-74155.
4. 4-Bit Comparator-7485.
5. D Flip-Flop-7474.
6. Decade counter-7490.
7. Shift registers-7495.
8. ALU Design.
Part-B: Embedded C Experiments using MSP430:
1. Learn and understand how to configure MSP-EXP430G2 Launch pad digital I/O pins.
Write a C program for configuration of GPIO ports for MSP430 (blinking LEDs,
pushbuttons interface).
2. Usage of Low Power Modes:
Configure the MSP-EXP430G2 Launch pad for Low Power Mode (LPM3) and measure
current consumption both in active and low power modes. Use MSPEXP430FR5969 as
hardware platform and measure active mode and standby mode current.
3. Learn and understand GPIO based Interrupt programming. Write a C program and
associated GPIO ISR using interrupt programming technique.
4. Learn and understand how to configure the PWM and ADC modules of the MSP-
EXP430G2 Launchpad to control the DC motor using external analog input.
5. Understand the ULP Advisor capabilities and usage of ULP Advisor to create optimized,
power-efficient applications on the MSP-EXP430G2 Launch pad.
6. Understand and Configure 2 MSP430F5529 Launch pads in master-slave communication
mode for SPI protocol.
7. A basic Wi-Fi application: Configure CC3100 Booster Pack connected to MSP430F5529
Launchpad as a Wireless Local Area Network (WLAN) Station to send Email over SMTP.
8. Understand Energy Trace Technology analysis tool that measures and displays the
application's energy profile. Compute and measure the total energy of MSP-EXP430G2
Launchpad running an application and estimate the lifetime of an AA battery if the
Launchpad is powered using standalone AA battery.
3. Part –A
1. Realization of Logic Gates.
AIM:
To design and simulate various logic gates using VHDL program
APPARATUS REQUIRED:
Personal Computer
Xilinx Software
PROGRAMS AND OBSERVATIONS:
AND GATE:
9. EXPERIMENT - 2
3- to – 8 Decoder- 74138.
AIM:
To design and simulate 3 to 8 decoder using VHDL program
APPARATUS REQUIRED:
Personal Computer
Xilinx Software
PROGRAMS AND OBSERVATIONS:
11. EXPERIMENT - 3
8 x 1 Multiplexer-74151 and 2 x 4 De-multiplexer-74155
AIM:
To design and simulate 8 to 1 MULTIPEXER and 2x4 DEMULTIPLEXER using
VHDL program
APPARATUS REQUIRED:
Personal Computer
Xilinx Software
PROGRAMS AND OBSERVATIONS:
8 X 1 MULTIPLEXER:
14. EXPERIMENT – 4
4-Bit Comparator-7485
AIM:
To design and simulate 4 – bit comparator using VHDL program
APPARATUS REQUIRED:
Personal Computer
Xilinx Software
PROGRAMS AND OBSERVATIONS:
16. EXPERIMENT - 5
D Flip-Flop-7474
AIM:
To design and simulate D-FLIPFLOP using VHDL program
APPARATUS REQUIRED:
Personal Computer
Xilinx Software
PROGRAMS AND OBSERVATIONS:
19. EXPERIMENT - 6
Decade counter-7490
AIM:
To design and simulate DECADE COUNTER using VHDL program
APPARATUS REQUIRED:
Personal Computer
Xilinx Software
PROGRAMS AND OBSERVATIONS:
23. Part B
Experiment 1A
To Blink an LED with GPIO
AIM:
The main objective of this experiment is to blink the on-board, red LED (connected to P1.0) using
GPIO.
APPARATUS REQUIRED:
Code composer studio software
MSP430G2553 target Launchpad
USB cable
THEORY:
The MSP430G2553 has two general-purpose digital I/O pins connected to green LED (P1.6)
and red LED (P1.0) on the MSP-EXP430G2 Launch Pad for visual feedback. In this
experiment, the code programmed into the MSP430G2553 processor toggles the output on
Port P1.0 at fixed time intervals computed within the code. A HIGH on P1.0 turns the LED
ON, while a LOW on P1.0 turns the LED OFF. Thus, the toggling output blinks the red LED
connected to it.
FLOW CHART:
24. PROGRAM:
#include<msp430.h>
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P1DIR |= 0x01; // Set P1.0 to output direction
while(1)
{
volatile unsigned long i; // Volatile to prevent //optimization
P1OUT ^= 0x01; // Toggle P1.0 using XOR
i = 50000; // SW Delay
do i--;
while(i != 0);
}
}
PROCEDURE:
1. Connect the MSP-EXP430G2 LaunchPad to the PC using the USB cable supplied.
2. Build, program and debug the code into the LaunchPad using CCS to view the status of the
red LED.
3. In the CCS debug perspective, select View Registers.
RESULT:
25. Experiment 1B
LED Control Using a Switch
AIM:
The main objective of this experiment is to control the on-board, green LED of MSP430G2
Launchpad by an input from the on-board switch of MSP430G2 Launchpad.
APPARATUS REQUIRED:
Code composer studio software
MSP430G2553 target Launchpad
USB cable
THEORY:
The MSP-EXP430G2 LaunchPad has two general-purpose digital I/O pins connected to
green and red LEDs for visual feedback. It also has two push buttons for user feed back and
device reset. In this experiment, the input from the left push button switch (S2) connected to
Port P1.3 is read by the processor for LED control. If the switch is pressed, the green LED is
turned OFF by output at port P1.6 reset to ’0’. Else, the output at port P1.6 is set HIGH and
the green LED is turned ON.
The LED is therefore controlled by the switch S2.
FLOW CHART:
26. PROGRAM:
#include<msp430.h>
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P1DIR |= 0x40; // Set P1.6 to output direction
P1REN |= 0x08;
P1OUT |= 0X08;
while(1)
{
if ((P1IN & BIT3)) { // If button is open(P1.3 HIGH)
P1OUT = P1OUT | BIT6; // ... turn on LED
} // or P1OUT |= BIT0;
else
{
P1OUT = P1OUT & ~BIT6; // ... else turn it off.
// or P1OUT &= ~BIT0
}
}
}
PROCEDURE:
1. Connect the MSP-EXP430G2 LaunchPad to the PC using the USB cable supplied.
2. Build, program and debug the code into the LaunchPad using CCS.
RESULT:
27. Experiment 2
Interrupt Programming through GPIO
AIM:
The main objective of this experiment is to configure GPIO and interrupts for the MSP430G2553.
APPARATUS REQUIRED:
Code composer studio software
MSP430G2553 target Launchpad
USB cable
THEORY:
An interrupt event can wake up the device from any of the low-power modes, service the
request, and restore back to the low power mode on return from the interrupt program. Some
GPIOs in the MSP430G2553 have the capability to generate an interrupt and inform the CPU
when a transition has occurred. The MSP430G2553 allows flexibility in configuring which
GPIO will generate the interrupt, and on what edge (rising or falling). MSP430G2553 devices
typically have interrupt capability on Ports 1 and 2. The registers controlling these options are
as follows:
• PxIE - Each bit enables (1) or disables (0) the interrupt for the particular I/O pin.
• PxIES - Selects whether a pin will generate an interrupt on the rising-edge (0) or the
fallingedge(1) of input.
• PxIFG - Interrupt flag register indicating whether an interrupt has occurred on a particular
pin (a transition has occurred on the pin).
In this experiment P1.3 is configured as an input pin with a falling edge interrupt. The
general interrupts are enabled so that the pin will make the CPU to call the Interrupt
Service routine. This routine sets a flag that causes toggling of the green LED which is
connected to P1.6 of the MSP_EXP430G2XL Launchpad
FLOW CHART:
28. PROGRAM:
C Program Code for Interrupt Programming with GPIO
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= BIT6; // Set P1.6 to output direction
P1REN |= BIT3; // Enable P1.3 internal resistance
P1OUT |= BIT3; // Set P1.3 as pull up resistance
P1IES |= BIT3; // P1.3 High/Low Edge
P1IFG &= ~BIT3; // P1.3 IFG Cleared
P1IE |= BIT3; // P1.3 Interrupt Enabled
_bis_SR_register(LPM4_bits + GIE); // Enter LPM4 w/ interrupt
_no_operation(); // For debugger
}
#pragma vector=PORT1_VECTOR
__interrupt void Port_1 (void)
{
P1OUT ^= BIT6; // Toggle P1.6
P1IFG &= ~BIT3; // P1.3 IFG Cleared
}
PROCEDURE:
1. Connect the MSP-EXP430G2 LaunchPad to the PC using the USB cable supplied.
2. Build, program and debug the code into the LaunchPad using CCS.
The port pin P1.3 of MSP430G2 Launchpad is configured as an input pin with a falling edge
interrupt. On pressing on-board switch S2 of MSP430G2 Launchpad, an interrupt occurs and
Interrupt Service Routine (ISR) blinks the on-board green led of MSP430G2 Launchpad
which is connected to P1.6
RESULT:
29. Experiment 3A
Pulse Width Modulation
AIM:
The main objective of this experiment is to implement Pulse Width Modulation to control the
brightness of the on-board, green LED.
APPARATUS REQUIRED:
Code composer studio software
MSP430G2553 target Launchpad
USB cable
THEORY:
The Timer A and Timer B of the MSP430G2553 are capable of PWM outputs in compare
mode. In this experiment, the brightness of the on-board, green LED is altered by varying the
voltage on pin P1.6 which is connected to the green LED. The MSP430G2553 does not have
a digital-to-analog (DAC) module; therefore, Pulse Width Modulation is used to achieve this.
The device is kept in low power mode zero till it is woken up by the Timer interrupt. In the
Timer ISR, the brightness of the LED is varied by varying the duty cycle of the signal
supplied to the output from the predefined array. The brightness of the LED will be gradually
increased as per the array declared.
FLOW CHART:
30. PROGRAM:
C Program Code for PWM Generation
#include <msp430.h>
int a[5] = {0,32,64,128,255};
int i = 0;
void main(void)
{
WDTCTL = WDTPW|WDTHOLD; // Stop WDT
//IE1 |= WDTIE;
// enable Watchdog timer interrupts
P1DIR |= BIT6; // Green LED for output
P1SEL |= BIT6; // Green LED Pulse width modulation
TA0CCR0 = 512; // PWM period
TA0CCR1 = a[0]; // PWM duty cycle
TA0CCTL1 = OUTMOD_7; // TA0CCR1 reset/set-high voltage
// below count, low voltage when past
TA0CTL = TASSEL_2 + MC_1 + TAIE +ID_3;
// Timer A control set to SMCLK, 1MHz
// and count up mode MC_1
_bis_SR_register(LPM0_bits + GIE); // Enter Low power mode 0
while (1);
}
#pragma vector= TIMER0_A1_VECTOR // Watchdog Timer ISR
__interrupt void timer(void)
{
TA0CTL &= ~TAIFG;
TA0CCR1 = a[++i];
if (i>4)
{
i=0;
}
}
PROCEDURE:
1. Connect the MSP-EXP430G2 LaunchPad to the PC using the USB cable supplied.
2. Build, program and debug the code into the LaunchPad using CCS.
The green LED on our LaunchPad board starts off glowing very dimly and gradually
gets brighter till it reaches a maximum. It then, goes back to its minimum brightness
and the process repeats. We can suspend and resume the running code at different
instances to view the value of our duty cycle for different brightness levels.
The register values for three different cases of the duty cycle are tabulated
RESULT:
31. Experiment 3B
PWM Based Speed Control of Motor by Potentiometer
AIM:
The main objective of this experiment is to control the speed of a DC Motor using the potentiometer.
APPARATUS REQUIRED:
Code composer studio software
MSP430G2553 target Launchpad
USB cable
Potentiometer 10KOhms
ULN2003AN Motor Driver IC
DC motor
THEORY:
Pulse Width Modulation (PWM) is a method of digitally encoding analog signal levels. High-
resolution digital counters are used to generate a square wave of a given frequency, and the
duty cycle of the square wave is modulated to encode the analog signal. Duty cycle
determines the time during which the signal pulse is HIGH. The Timer A and Timer B of the
MSP430G2553 are capable of PWM outputs in compare mode
The MSP430G2553 has ADC10, a 10-bit analog-to-digital converter which converts the
analog input into a maximum of 1024 discrete levels. The ADC10 module is capable of 8
external inputs and 4 internal analog sources. The ADC10 can be configured to convert a
single channel or a block of contiguous channels and can optionally repeat its conversions
automatically. Each conversion takes multiple cycles. The timing is controlled by an ADC
clock. While a conversion is in progress, the busy flag is set. After conversion, the result is
stored in the ADC10MEM register. There is a possible interrupt signaled when a conversion
is complete. There is also a 'data transfer controller' that can steal cycles from the CPU and
store a block of conversion results directly in memory.
Low-power mode 0 (LPM0)
• CPU is disabled
• ACLK and SMCLK remain active, MCLK is disabled
In this experiment, the analog signal from potentiometer connected to P1.3 is read by
the ADC10, and the converted digital value is used to vary the duty cycle of the PWM
output. The PWM output in turn controls the speed of the DC motor which is connected
to PWM pin P1.6. The PWM period is set to 1024 in the Timer A capture/compare
register 0 (TA0CCR0). The digital value after conversion is stored in ADC10MEM
which is passed to the TA0CCR1 register to set the PWM duty cycle. This value can
vary from 0 to 1024 based on the position of the potentiometer. The timer interrupt is
set to sample and convert the analog input to digital output. The device is kept in low
power mode, until it is woken up by the interrupt.
32. FLOW CHART:
C Program Code for PWM Based Speed Control of Motor
#include <msp430.h>
int pwmDirection = 1;
void main(void)
{
WDTCTL = WDTPW|WDTHOLD; // Stop WDT
ADC10CTL0 = SREF_0 + ADC10SHT_2 + ADC10ON;
ADC10CTL1 = INCH_3; // input A3
ADC10AE0 |= 0x08; // PA.3 ADC option select
P1DIR |= BIT6; // Green LED for output
P1SEL |= BIT6; // Green LED Pulse width modulation
TA0CCR0 = 1024; // PWM period
TA0CCR1 = 1; // PWM duty cycle, on 1/1000 initially
TA0CCTL1 = OUTMOD_7; // TA0CCR1 reset/set-high voltage
// below count, low voltage when past
TA0CTL = TASSEL_2 + MC_1 + TAIE +ID_3;
// Timer A control set to SMCLK, 1MHz
// and count up mode MC_1
_BIS_SR(LPM4_bits + GIE);
while (1); // Enter Low power mode 0
}
#pragma vector= TIMER0_A1_VECTOR // Watchdog Timer ISR
__interrupt void timer(void) {
ADC10CTL0 |= ENC + ADC10SC;
TA0CCR1 = ADC10MEM;
}
33. PROCEDURE:
The procedure to be followed for hardware setup is as follows:
1. Position DIP IC ULN2003AN on a Breadboard.
2. Connect one terminal of the DC motor to the Common pin (IC Pin 9) of ULN2003.
3. Connect the junction of the above 2 terminals 5V Power from USB.
4. Connect the other terminal of the DC motor to the Drive Pin (IC Pin 16) of ULN 2003.
5. Connect the GND of the LaunchPad to the Ground Pin (IC Pin 8) of ULN2003.
6. Connect the PWM Output P1.6 to Input Signal (IC Pin 1) of ULN2003.
7. Connect one lead of the Potentiometer to VCC (J1 connector, Pin 1) on the LaunchPad.
8. Connect other lead of the Potentiometer to the GND Pin of ULN2003 (IC Pin 8).
9. Connect the center lead of the Potentiometer (variable analog output) to P1.3 which is the
analog Input 0 of ADC10 module of MSP43G2553.After connecting the hardware, the setup
appears as
34. 10. Build, program and debug the code into the LaunchPad using CCS.
11. Vary the potentiometer and observe the speed of the DC motor.
12. Also observe the corresponding digital output on the CCS window.
We see the speed of the DC motor varies as we change the position of the potentiometer
knob. If we suspend the program and simultaneously watch the registers ADC10MEM
and TA0CCR1, we will find their values to be identical, as desired. To watch specific
registers, right-click on those registers in the Registers tab and select the Watch option.
RESULT:
35. Experiment 4
Using ULP Advisor on MSP430
AIM:
The main objective of this experiment is to optimize the power efficiency of an application on
MSPEXP430G2 LaunchPad using ULP Advisor in CCS Studio.
APPARATUS REQUIRED:
Code composer studio software
MSP430G2553 target Launchpad
USB cable
THEORY:
ULP Advisor
ULP (Ultra-Low Power) Advisor is a tool that provides advice on how to improve the energy
efficiency of an application based on comparing the code with a list of ULP rules at compile
time. The ULP Advisor helps the developer to fully utilize the ULP capabilities of MSP430
microcontrollers. This tool works at build time to identify possible areas where energy and
power use is inefficient.. Once the feedback has been presented, the developer can then learn
more about the violation and go back to edit the code for increased power efficiency or
continue to run the code as-is.
The ULP Advisor is built into Code Composer Studio™ IDE version 5.2 and newer. After
compiling the code, a list of the ULP rule violations is provided in the Advice window.
Unlike errors, these suggestions will not prevent the code from successfully compiling and
downloading onto the target.
A list of some unique rule violations are shown
This experiment explains in detail how to use ULP Advisor on MSP430G2553. Three code
files are used in this experiment and one file is included in the build at a time. Each file
performs the same function: every second an Analog-to-Digital Converter (ADC)
temperature measurement is taken, the degrees Celsius and Fahrenheit are calculated, and the
results are sent through the back channel Universal Asynchronous Receiver/Transmitter
(UART) at 9600bps. The first code file - Inefficient.c, begins with an inefficient
36. implementation of this application. The ULP Advisor is used to observe the extreme
inefficiency of this version. Based on the feedback from the ULP Advisor, improvements are
made for the somewhat efficient second version of the code - Efficient.c. The process is
repeated, and ULP Advisor is used to compare this improved version with the original.
Finally, steps are taken to improve the code even further in the very efficient third version of
the code - MostEfficient.c.
PROCEDURE:
1. Connect the MSP-EXP430G2 LaunchPad to the PC using the USB cable supplied.
2. Download the CCS example project ULP_Case_Study from http://www.ti.com/lit/zip/slaa603
and extract using 7zip.
3. Import the project into your CCS workspace
a. Click Project Import Existing CCS Eclipse Project.
b. Browse the directory for the downloaded file.
c. Check the box next to the ULP_Case_Study project in the Discovered projects window.
d. Uncheck the check box Copy projects into workspace.
e. Click Finish.
37. 4. To set as active project, click on the project name. The active build configuration should be
Inefficient.
If not, right click on the project name in the Project Explorer, then click Build Configurations
Set Active Inefficient as shown
38. 5. Build the project.
6. The Advice window shows suggestions from the ULP Advisor under the Power (ULP) Advice
heading. Click View Advice as shown
39. The Advice window appears as shown
7. Click the link #1532-D, which corresponds to the first ULP violation (for using sprintf()), to open
the ULP Advisor wiki page in a second Advice tab.
8. Scroll down to the Remedy section. Here, the first suggestion is to avoid using sprintf() altogether
and work with the raw data.
In the ULP Advisor of Inefficient.c, the first suggestion given is to avoid using sprintf(). The ULP
Advisor implements the advice for the next version of code i,e., Efficient.c as shown
40. There are no advices related to Power optimization in ULP Advisor of MostEfficient.c, as shown
RESULT:
41. Experiment 5
Wi-Fi Email Application
AIM:
The main objective of this experiment is to configure CC3100 Booster Pack as a Wireless
Local Area Network (WLAN) Station to send Email over SMTP. This experiment will help
you understand the WLAN concepts and CC3100 configuration to send Email over SMTP.
APPARATUS REQUIRED:
Code Composer Studio
CC3100 SDK
Tera Term Software (or any Serial Terminal Software)MSP430F5529 LaunchPad
USB cable
CC3100 Booster Pack
Wireless Network connection with its name, security type and password with Internet
connectivity
THEORY:
The Simplelink WIFI CC3100 device is the industry's first Wi-Fi Certified chip used in the
wireless networking solution that simplifies the implementation of Internet connectivity. This
device supports WPA2 personal and enterprise security and WPS 2.0 and Embedded TCP/IP
and TLS/SSL stacks, HTTP server, and multiple Internet protocols. The functional block
diagram for the CC3100 is shown
The CC3100BOOST and the MSP430F5529 are connected via the SPI interface as shown
42. FLOWCHART:
Steps for Creating and Debugging the Project
1. Install CC3100 SDK.
2. Open CCS and create a new workspace.
3. Choose the Import Project link on the TI Resource Explorer page. Import "email_application"
project from CC3100 SDK using the following steps:
a. Choose the Import Project link on the TI Resource Explorer page.
b. Select the Browse button in the Import CCS Eclipse Projects dialog.
c. Select the email_application within
C:TICC3100SDK_1.1.0cc3100-sdkplatformmsp430f5529lpexample_project_ccs
email_application
4. Open sl_common.h(line 50 of main.c) and change SSID_NAME, SEC_TYPE and PASSKEY as
per the properties of your Access Point(AP). SimpleLink device will connect to this AP when the
application is executed.
a. Expand the imported project
b. Click on includes.
c. Click on C:ti/CC3100SDK_1.1.0/cc3100sdk/examples/common
d. Open sl_common.h
#include "simplelink.h"
#include "sl_common.h" << Line 50
5. Replace with SSID of your Access Point.
#define SSID_NAME "XXXXXXXX" /* Security type of the Access point */
6. Specify Security Type and Password as below if network is protected with security.
#define SEC_TYPE SL_SEC_TYPE_WPA_WPA2 /*Security type of the Access
point */
43. 7. If network is protected with security, replace passkey with your network password.
#define PASSKEY "XXXXXXXXXX" /* Password in case of secure AP */
8. If the Security is open, replace the definitions as below:
#define SEC_TYPE SL_SEC_TYPE_OPEN /*Security type of the Access point*/
9. If the Network has no password
#define PASSKEY "" /* No password for open type */
10. Open config.h and change values for USER and PASS for setting up the source email
using
the following steps:
a. Replace the username of your source email id
#define USER "<username>"
Write the password of your email id
#define PASS "<password>"
11. Edit the same config.h file and change the values of DESTINATION_EMAIL,
EMAIL_SUBJECT
and EMAIL_MESSAGE for setting up the email properties using the following steps:
a. Replace your destination email id
#define DESTINATION_EMAIL "<destination_email>"
b. Write the subject of your mail
#define EMAIL_SUBJECT "<email_subject>"
c. Write your email message
#define EMAIL_MESSAGE "<email_body>"
12. Save, Debug and Run
PROCEDURE:
1. Connect MSP430F5529 Launchpad and CC3100 BoosterPack
2. Build, program and debug the code into the LaunchPad using CCS.
Open Tera Term Terminal Software on the PC where the MSP-EXP430 LaunchPad is connected.
The serial port parameters to be set are 9600 baud rate, 8 bits, No parity and 1 stop bit.The serial
window outputs the debug messages received from the MSP-EXP430 Hardware as shown
RESULT:
44. Experiment 6A
Energy Trace and Energy Trace++ Modes
AIM:
The main objective of this experiment is to enable Energy Trace and Energy Trace++ modes in
MSP-EXP430G2 LaunchPad by using MSP430FR5969. This experiment will help you learn how
to analyze the Energy and Power graphs by enabling the Energy Trace Technology of MSP430 in
CCS studio
APPARATUS REQUIRED:
Code Composer Studio
MSP430G2553 LaunchPad
MSP430FR5969 Launchpad
USB cable
THEORY:Energy Trace
Energy Trace technology is a tool that enables power and energy based program code analysis
during a debug session. This includes real-time monitoring of a multitude of internal device states
during run time.
Integration of Energy Trace Technology in the development process:
• Real-time energy/power measurements
• Device-internal state analysis
• Requires specialized debugger circuitry
• Integrated visualization tool in IDE
• Performs at run time
• CCS v6.0 IAR 5.40.7 and newer
Energy Trace Technology, a software controlled DC-DC converter generates the target power supply
(1.2 V - 3.6 V). The time density of the DC-DC converter charge pulses equals the energy
consumption of the target microcontroller. A built-in calibration circuit in the debug tool defines the
energy equivalent for a single charge pulse. The width of each charge pulse remains constant.
The debug tool counts every charge pulse, and the sum of the charge pulses are used in combination
with the time elapsed to calculate an average current. Since this measurement technique continually
samples the energy supplied to the microcontroller, even the shortest device activity that
consumes energy contributes to the overall recorded energy. This is a clear benefit over shuntbased
measurement systems, which cannot detect extremely short durations of energy consumption.
Energy Trace technology is included in Code Composer Studio version 6.0 and newer. It requires
specialized debugger circuitry, which is supported with the second-generation on-board eZ-FET
flash emulation tool and second-generation standalone MSP-FET JTAG emulator. Target power
must be supplied through the emulator when Energy Trace is in use.
The two modes of Energy Capture are:
Energy Trace:
This mode allows the standalone use of the energy measurement feature with all MSP430
microcontrollers, even unsupported devices (meaning there is no built-in Energy Trace++ technology
circuitry in the target microcontroller). The supply voltage on the target microcontroller is continuously
sampled to provide you with energy and power data. This mode can be used to verify the energy
consumption of the application without accessing the debugger.
Energy Trace++:
When debugging with devices that contain the built-in EnergyTrace++ technology support, the
EnergyTrace++ mode yields information about energy consumption as well as the internal state of
the microcontroller as given in Table
45. PROCEDURE:
Hardware Connection
1. Remove the RST, TST, V+, and GND jumpers from J13 on the MSP-EXP430FR5969 Launch-
Pad.
2. Remove the RST, TEST, and VCC jumpers from J3 on the MSP-EXP430G2 LaunchPad.
3. Use jumper wires to connect the signals on the emulation side of the MSP-EXP430FR5969
board to the corresponding signal on the device side of the MSP-EXP430G2 LaunchPad as in
Table
4. Target power must be supplied through the MSP-EXP430FR5969 LaunchPad that has the
Energy Trace technology included in the on-board emulation. Plug-in the micro-USB to the
MSPEXP430FR5969.
5. Initialize the debug session for the MSP430G2553 to enable the Energy Trace mode.
Software Execution
1. Build the example code of PWM Based Speed Control of Motor by Potentiometer that you want
to analyze using Energy Trace technology.
2. Enable Energy Trace technology
a. Click Window Preferences Code Composer Studio Advanced Tools Energy Trace
Technology
b. Make sure that the box next to Enable is checked
c. Select the Energy Trace++ mode
d. Click Apply and OK.
3. Debug the example code, the Energy Trace window will open automatically.If the window does not
open automatically, click View Others MSP430 Energy Trace - Energy Trace Technology
4. Run the code. The Energy Trace Technology window will update the real time data.
Complete analysis of Energy Trace Technology for PWM Based Speed Control of
Motor by Potentiometer in terms of Energy, Power, Current, Voltage are given in Table
RESULT:
46. Experiment 6B
Computation of Energy and Estimation of Battery Lifetime
AIM:
The main objective of this experiment is to compute the total energy of MSP-EXP430G2 Launchpad
running an application and to estimate the life time of a battery.
APPARATUS REQUIRED:
Code Composer Studio
MSP430G2553 LaunchPad
MSP430FR5969 Launchpad
USB cable
Jumper Wires
THEORY:
To measure the total energy of the MSP-EXP430G2XL and estimated life time of a battery the
Energy Trace Technology is must and should. Energy Trace Technology is an energy-based code
analysis tool that measures and displays the application's energy profile and helps to optimize it
for ultra-low power consumption. MSP430 devices with built-in Energy Trace+ [CPU State]+
[Peripheral States] (or in short, Energy Trace++™) technology allow real-time monitoring of many
internal device states while user program code executes. Energy Trace++ technology is supported
on selected MSP430 devices and debuggers.
The MSP-EXP430G2 LaunchPad does not support Energy Trace Technology. But it can utilize the
Energy Trace component despite the fact that the Energy Trace++ on board circuitry is not present.
To achieve this, the on-board emulation of a Launchpad that contains the Energy Trace technology
circuitry is used to program and debug the intended target.
In this experiment, to program and debug the target device MSP-EXP430G2 LaunchPad, we use
the MSP-EXP430FR5969 Launchpad which contains the Energy Trace Technology on-board circuitry.
When the Energy Trace mode is enabled in the target device, the profile window shows
some statistical data about the application that has been profiled.
The following are the parameters shown in the profile window:
• Captured time
• Total energy consumed by the application (in mJ)
• Minimum, mean, and maximum power (in mW)
• Mean voltage (in V)
• Minimum, mean, and maximum current (in mA)
• Estimated life time of the selected battery (in days) for the captured energy profile
In this experiment, we have used the example code of Interrupt Programming Through GPIO.
PROCEDURE:
Hardware Connection
1. Remove the RST, TST, V+, and GND jumpers from J13 on the MSP-EXP430FR5969 Launch-
Pad.
2. Remove the RST, TEST, and VCC jumpers from J3 on the MSP-EXP430G2 LaunchPad.
3. Use jumper wires to connect the signals on the emulation side of the MSP-EXP430FR5969
board to the corresponding signal on the device side of the MSP-EXP430G2 LaunchPad as in
Table
47. 4. Target power must be supplied through the MSP-EXP430FR5969 LaunchPad that has the
Energy Trace technology included in the on-board emulation. Plug-in the micro-USB to the
MSPEXP430FR5969
5. Initialize the debug session for the MSP430G2553 to enable the Energy Trace mode.
Software Execution
1. Build the example code of Low Power Modes and Current Measurement for which you want to
compute the total energy and estimate the life time of a battery using Energy Trace technology.
2. Enable Energy Trace technology
• Click Window Preferences- Code Composer Studio - Advanced Tools-
Energy Trace Technology
• Make sure that the box next to Enable is checked
• Select the Energy Trace++ mode
• Click Apply and OK.
3. Debug the example code, the Energy Trace window will open automatically.
If the window does not open automatically, click View Others- MSP430 Energy Trace
-Energy Trace Technology
4. Run the code. The Energy Trace Technology window will update the real time data.
The Energy trace profile for active and stand by code is analyzed using Energy Trace
technology. The Energy Trace profile window of the application in active mode provides us the
estimated lifetime of a battery of 46.6 days. If the same application run in standby mode, the
estimated lifetime of a battery exceeds to 106.7 days. The formula to calculate the battery
lifetime assumes an ideal 3-V battery and does not account for temperature, aging, peak
current and other factors that could negatively affect battery capacity.