Sunday, 4 December 2011

Interfacing PS2 Controller with Arduino

    In the previous post PS2 Controller Outline, the pin configuration, specifications and working of different buttons of PS2 controller are explained. In this post we interface the controller with an Arduino development board and test a sample program. We seperate this into two sections; the hardware and software sections. The hardware section is pretty much straight forward which involves connecting controller wires to arduino pins. In the software section, we use the PS2X class in "PS2 controller Arduino Library v1.4" provided by billporter. Hardware Section:     Out of 9 wires from the PS2 controller,...

Monday, 24 October 2011

SRAM Data memory and Stack Pointer

SRAM data memory:      The data memory is divided into 32 locations for register file, next 64 locations for standard I/O memory, 160 locations for extended I/O memory and the next 1024 (* 1K memory for atmega168) locations for internal data SRAM. (* Internal data memory varies for atmega48/88/168/328 as 512,1K,1K,2K respectively).    The data memory map of AVR is given in the figure. Register File:      A Register file is an array of registers in a CPU. This serves as the central architectural element of any AVR uC. Each register is implemented by using SRAM (static RAM) with dedicated...

Sunday, 23 October 2011

CPU Basics

     I was on hunting of resources on fundamentals of CPU. Energy exhausted. Everything  I found was incomplete, irrelevant. Yeah, Internet gives us clues to solve a puzzle. I think I almost solved it.      Consider any process has to be controlled. Who is to control? CPU is the controlling element of any process. This word appeared for the first time during 1960's in the Industries. In late 1960's microprocessor based CPU's came to rule the industries. The microprocessors require many external components for their operation. This increased the cost of project. So, the manufacturers came up with an idea of...

Basics of Burning

     Making a micro-controller to work is not a simple one. It consists of different processes, namely coding, compiling, burning(device programming), on the software side. On the hardware side it consists of providing a clock, proper supply voltage(refer datasheet). These are the compulsory requirements for a micro-controller to work.        Coding and compiling can be easily understood, because there are many tutorials in the internet. Burning and last important step for operation of micro-controller. Burning is the process of writing the compiled program(hex data) into the program memory of micro-controller.        To understand how burning works it is necessary to understand the CPU basics.  Here is a simplified explanation...

Saturday, 22 October 2011

Monostable Multivibrator- Debouncing

What is de-bouncing? Consider a simple push button connected to 5V supply. When the push button is pressed and released the signal across the output terminal of the button and the ground is expected to be like a signal given below: But the actual signal looks like this: As we can see from the above figure, bouncing of signal occurs during the transient time when mechanical switches are used, due to their surface roughness. This bouncing of wave should be avoided for proper functioning of the circuit in which the switch is used. This is known as switch de-bouncing.  How is it done? As mentioned in the previous post Monostable Multivibrator-...

Friday, 21 October 2011

Digital Voltmeter - Part II

Ramp Type DVM   The block diagram of the Ramp type ADC is given below. The principle and working of the Ramp type ADC is explained in a simplified manner in this post. The merits and demerits of the Ramp type ADC is also listed at the end of the post. Block Diagram: Principle:  Input voltage is converted into digital equivalent by counting the time taken for the ramp wave to decrease from the magnitude of input voltage to 0V. Construction: The block diagram of the Ramp-type ADC can be divided into two sections as follows:       1. Voltage to time conversion section       2. Time measurement...

Wednesday, 21 September 2011

PS2 Controller - Simple Outline

The PlayStation brand is a series of video game consoles created and developed by Sony Computer Entertainment. In this post we concentrate on how the (playstation 2) PS2 controller functions. The PS2 controller consists of 4 main select buttons ‘Triangle’, ‘Circle’, ‘Cross’ and square, start, select, a D-pad, shoulder buttons ( L1, L2, R1, R2 ) and 2 analog sticks with Dual shock feature. All the buttons are pressure-sensitive except start and select. How is pressure-sensitivity achieved? Whenever a button is pressed, a small disc attached to the bottom of the button is pushed against the conductive strip mounted on the circuit board...

Tuesday, 20 September 2011

Monostable Multivibrator- 555 timer

             It is a electronic circuitry (more specifically a relaxation oscillator), that maintains a HIGH or LOW at the output terminal for a fixed period of time interval (determined by  resistor capacitor pair), when a trigger is being given at the input. Other name is One-shot multivibrator.        What the name indicates, is that the output has only one stable state. When triggered it goes to unstable state, remains there for some time and get back to stable state.         We'll construct the circuit first with OpAmp and then with 555-timer IC. 555...

Tuesday, 16 August 2011

8255 Programmable Peripheral Interface

         In this post, we are going to learn a very old grand father of modern processors, named 8085 and his colleague 8255. Pins, Signals and internal block diagram of 8255:   The internal block diagram of 8255 is shown in fig:   The 8255 can be either memory mapped or I/O mapped in the system. In the schematic shown in above is I/O mapped in the system.   Using a 3-to-8 decoder generates the chip select signals for I/O mapped devices.  The address lines A4, A5 and A6 are decoded to generate eight chip select signals (IOCS-0 to IOCS-7) and in this, the chip select IOCS- 1 is...

Friday, 29 July 2011

8085 Instruction set - Branch Instructions

             The branching instructions alter the normal sequential program either conditionaly or unconditionally. As formerly seen in my previous posts in this Series, we divided the Series into four parts: Arithmetic Instructions Logical Instructions Data Transfer Instructions Branch Instructions and I/O, Stack, Machine Control Group Instructions UNCONDITIONAL BRANCHING INSRTRUCTIONS:      JMP :           This instruction is used to jump from one set of programs to another set                 e.g:   In a 8 bit multiplication program, JN2 LOOP it means that if no zero results in previous arithmetic operation,...

Page 1 of 9123Next

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More