0% found this document useful (0 votes)
197 views3 pages

Keyboard Interfacing With Arm Processor

The document discusses interfacing a 3x3 matrix keyboard with an ARM processor. It requires connecting the row and column lines of the keyboard to digital pins on the ARM. The program scans the columns, setting one high at a time while reading the rows to detect pressed keys. If a key is pressed, the corresponding number is printed to the serial monitor. When testing, pressing the 2 key caused a 2 to display, verifying successful interfacing and operation.

Uploaded by

Anand Duraiswamy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
197 views3 pages

Keyboard Interfacing With Arm Processor

The document discusses interfacing a 3x3 matrix keyboard with an ARM processor. It requires connecting the row and column lines of the keyboard to digital pins on the ARM. The program scans the columns, setting one high at a time while reading the rows to detect pressed keys. If a key is pressed, the corresponding number is printed to the serial monitor. When testing, pressing the 2 key caused a 2 to display, verifying successful interfacing and operation.

Uploaded by

Anand Duraiswamy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

WWW.STUDENTSFOCUS.

COM

KEYBOARD INTERFACING WITH ARM PROCESSOR


AIM
To interface keyboard with ARM processor

APPARTUS REQUIRED
1. ARM Processor EK -TM4C123GXL.
2. Computer with energia software.
3. 3x3 matrix keyboard.

THEORY
Keyboard is scanned and the pressed key is detected then it is printed. When the
columns pins of ARM processor is set in output mode, 5v is supplied by default to this pins. 10k
resistor is connected in each column and another end of all this resistor is connected to ground.
To start scanning, Column1 is set as high, remaining columns set as low, so 5v is available in
column1 alone. When scanning all the rows, if any key is pressed in row1 will received 5v in
row1, so column1 row1 key is the pressed key, it is assumed as value of this position is 1, so 1
is printed. If row2 key is pressed, 5v in column1 is received in row2, so the pressed key is
column1 row2, it is assumed as 4 as it is the 3x3 matrix, this process is continued to row3. Next
step column2 is enabled by setting it as high and all the rows are scanned and it key values are
assumed like 2,5,8 if it is pressed.

PROCEDURE
1. Connect 3 digital lines from ARM processor to row lines of keyboard
2. Connect another 3 digital lines from ARM processor to Columns line of keyboard
3. Upload energia program to processor.
4. Open serial monitor in computer.
5. Press any key in keyboard and observe that the same key is displayed in serial monitor.

PROGRAM

Int C1= PA_5;


Int C2= PA_6;
Int C3= PA_7;

Int R1= PE_1;


Int R2 = PE_2;
Int R3 = PE_3;

void setup()
{
pinMode(C1, OUTPUT); // c1
pinMode(C2, OUTPUT); // c2
pinMode(C3, OUTPUT); // c3
pinMode(R1, INPUT); // r1
pinMode(R2, INPUT); //r2
pinMode(R3, INPUT); //r3
Serial.begin(9600);
}

WWW.STUDENTSFOCUS.COM

void loop()
{
delay(150);

// C1- column 1 scanning


digitalWrite(C1, HIGH);
digitalWrite(C2, LOW);
digitalWrite(C3, LOW);

if(digitalRead(R1)==HIGH)
{
Serial.println("1");
}
if(digitalRead(R2)==HIGH)
{
Serial.println("2");
}
if(digitalRead(R3)==HIGH)
{
Serial.println("3");
}

// C2 - column 2 scanning
digitalWrite(C1, LOW);
digitalWrite(C2, HIGH);
digitalWrite(C3, LOW);

if(digitalRead(R1)==HIGH)
{
Serial.println("4");
}

if(digitalRead(R2)==HIGH)
{
Serial.println("5");
}

if(digitalRead(R3)==HIGH)
{
Serial.println("6");
}

// C3 - column 3 scanning
digitalWrite(C1, LOW);
digitalWrite(C2, LOW);
digitalWrite(C3, HIGH);

if(digitalRead(R1)==HIGH)
{
Serial.println("7");

WWW.STUDENTSFOCUS.COM

if(digitalRead(R2)==HIGH)
{
Serial.println("8");
}

if(digitalRead(R3)==HIGH)
{
Serial.println("9");
}
}

INPUT OUTPUT
Key to be pressed in Keyboard 2 – is displayed in serial monitor
If 2 is pressed

CIRCUIT DIAGRAM

RESULT
Thus the keyboard interfacing with ARM processor is done and pressed key is verified
successfully.

You might also like