Digital Ic Tester Using Microcontroller: Project Members: Project Guide

You might also like

You are on page 1of 21

DIGITAL IC TESTER USING MICROCONTROLLER

PROJECT GUIDE:
Mr. G.N.V. RATHNA KISHORE

PROJECT MEMBERS:
Y.V.G. KIRAN KUMAR(Team Leader) K.MURALI KRISHNA K.RAM TEJA D.SEKHAR BABU

ABSTRACT
This DIGITAL IC TESTER is used to test the given ICs.

Components used:
1.ATMEGA16 MCU 2.KEYPAD 3.LCD 4.ZIF ADVANTAGES: 1.Low cost 2.High Flexibility

TOOLS USED
TOOL USBASP AVR-GCC AVRDUDE FTDI232(USB TO SERIAL CONVERTER) MAKE ` USE PROGRAMMER C COMPILER DUMPING SOFTWARE DEBUGGING

CIRCUIT DIAGRAM

WORKING:
The IC to be tested is inserted in the base.

User enters the IC number through keypad.

IC number is communicated to the MCU.

Result is again communicated to the MCU.

If the IC tested is ok IC TESTED OK is displayed on the LCD. Otherwise IC TESTED FAILED is displayed.

BLOCK DIAGRAM
LCD DISPLAY 16x2

1 4 7 *

2 5 8 0

3 6 9 # ZIF SOCKET

MICROCONTROLLER

POWER SUPPLY

16X2 LCD display

PIN DESCRIPTION OF LCD


Function Ground Power supply Contrast Control of operating 5 R/W Pin Number 1 2 3 4 Name Vss Vdd Vee RS Logic State 0 1 Description 0V +5V 0 - Vdd D0 D7 are interpreted as commands D0 D7 are interpreted as data Write data (from controller to LCD) Read data (from LCD to controller) Access to LCD disabled Normal operating Data/commands are transferred to LCD Bit 0 LSB Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 MSB

0 1

0 1 From 1 to 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1

Data / commands

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

FUNCTIONS USED IN LCD LIBRARY


FUNCTION
LCD_INIT(UINT8_T DISPATTR); LCD_CLRSCR(VOID); LCD_HOME(VOID);

DESCRIPTION
CLEAR DISPLAY AND SET CURSOR TO HOME POSITION SET CURSOR TO HOME POSITION SET CURSOR TO SPECIFIED POSITION

LCD_GOTOXY(UINT8_T X, UINT8_T Y);

DISPLAY CHARACTER AT CURRENT CURSOR POSITION LCD_PUTC(CHAR C); DISPLAY STRING WITHOUT AUTO LINEFEED LCD_PUTS(CONST CHAR *S); DISPLAY STRING FROM PROGRAM MEMORY WITHOUT AUTO LINEFEED LCD_PUTS_P(CONST CHAR *PROGMEM_S); SEND LCD CONTROLLER INSTRUCTION COMMAND LCD_COMMAND(UINT8_T CMD); SEND DATA BYTE TO LCD CONTROLLER LCD_DATA(UINT8_T DATA); MACROS FOR AUTOMATICALLY STORING STRING CONSTANT IN PROGRAM MEMORY

4X3 MATRIX KEYPAD

KEY DESCRIPTION OF 4X3 MATRIX KEYPAD


KEY 1 2 3 4 5 6 7 8 9 * 0 # RETURN NUMBER 1 2 3 4 5 6 7 8 9 10 11 12 USED AS 1 2 3 4 5 6 7 8 9 DELETE 0 ENTER

ZIF

Used to hold the IC which is To be tested.

MICROCONTROLLER(ATMEGA 1 6)
Pin Diagram:

ZIF socket right side

ZIF socket left side

Keyboard LCD

Block diagram of ATMEGA16

MICRO-CONTROLLER. FEATURES:
High-performance, Low-power AVR 8-bit Microcontroller. 32 x 8 General Purpose Working Registers. 16K Bytes of In-System Self-programmable Flash program memory.

512 Bytes EEPROM.


1K Byte Internal SRAM.

Up to 16 MIPS Throughput at 16 MHz

CONTD
Two 8-bit Timer/Counters & One 16-bit Timer/Counter. Programmable Serial USART.

Master/Slave SPI Serial Interface.

Programmable Watchdog Timer with Separate On-chip Oscillator.

2.7 - 5.5V for ATmega16A.

INITIALIZE VARIABLES READ IC NUMBER FROM KEYPAD

RESET

IS KNOWN IC YES

NO SHOW ERROR MESSAGE

LOAD THE TRUTH TABLE

VERIFY TRUTH TABLE YES SHOW IC WORKING

NO SHOW IC NOT WORKING

PROBLEMS FACED
We first started the project with ATMEGA168.But after analyzing its architecture we came to know that the I/O ports of this MCU are not sufficient for our project. Then we shifted to another MCU ATMEGA16. At first we used a variable to store the IC number. But it is not storing the number correctly. Then we used array to store the IC number.

Finally..

SO FAR
We did the basic circuit on breadboard and Tried with few basic ICs on it. We developed the circuit on PCB and tested with those ICs that are previously tested on bread board.

You might also like