DIGITA IC TESTER USING MICROCONTROLLER
-
Upload
kiran-yedidi -
Category
Documents
-
view
1.128 -
download
14
Transcript of DIGITA IC TESTER USING MICROCONTROLLER
DIGITAL IC TESTER USING MICROCONTROLLER
PROJECT MEMBERS:
Y.V.G. KIRAN KUMAR(Team Leader)K.MURALI KRISHNAK.RAM TEJAD.SEKHAR BABU
PROJECT GUIDE:
Mr. G.N.V. RATHNA KISHORE
ABSTRACT
This “DIGITAL IC TESTER” is used to test the given ICs.
Components used:1.ATMEGA16 MCU2.KEYPAD3.LCD4.ZIF
ADVANTAGES:1.Low cost2.High Flexibility
TOOLS USED
TOOL USE
USBASP PROGRAMMER
AVR-GCC C COMPILER
AVRDUDE DUMPING SOFTWARE
FTDI232(USB TO SERIAL CONVERTER) DEBUGGING
MAKE `
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.
LCD DISPLAY16x2
1 2 3
4 5 6
7 8 9
* 0 #
MICROCONTROLLERZIF
SOCKET
POWER SUPPLY
BLOCK DIAGRAM
16X2 LCD display
PIN DESCRIPTION OF LCDFunction Pin
NumberName Logic State Description
Ground 1 Vss - 0VPower supply 2 Vdd - +5V
Contrast 3 Vee - 0 - Vdd
Control of operating
4 RS 01
D0 – D7 are interpreted as commands
D0 – D7 are interpreted as data
5 R/W 01
Write data (from controller to LCD)
Read data (from LCD to controller)
6 E 01
From 1 to 0
Access to LCD disabledNormal operating
Data/commands are transferred to LCD
Data / commands
7 D0 0/1 Bit 0 LSB8 D1 0/1 Bit 19 D2 0/1 Bit 2
10 D3 0/1 Bit 311 D4 0/1 Bit 412 D5 0/1 Bit 513 D6 0/1 Bit 614 D7 0/1 Bit 7 MSB
FUNCTIONS USED IN LCD LIBRARY FUNCTION DESCRIPTION
LCD_INIT(UINT8_T DISPATTR); CLEAR DISPLAY AND SET CURSOR TO HOME POSITION LCD_CLRSCR(VOID); SET CURSOR TO HOME POSITION
LCD_HOME(VOID); 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 RETURN NUMBER USED AS 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 * 10 DELETE 0 11 0 # 12 ENTER
ZIF
Used to hold the IC which is To be tested.
MICROCONTROLLER(ATMEGA 1 6)
ZIF socket right side
ZIF socket left side
Keyboard
LCD
Pin Diagram:
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
ISKNOWN
IC
LOAD THE TRUTH TABLE
SHOW ERROR MESSAGE
VERIFY TRUTH TABLE
SHOW “IC NOT WORKING”
SHOW “IC WORKING”
RESET
NO
YES
NO
YES
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.