Chapter 17: Making Calculator with ATmega16A microcontroller | পর্ব ১৭ঃ কিপ্যাড ব্যবহার

একটি কিপ্যাড এর ইন্টারনাল কানেকশন ডায়াগ্রাম দেখতে এরকম হয়।

এভিআর মাইক্রোকন্ট্রোলার ব্যবহার করে একটি ৪*৪ কিপ্যাডের বিভিন্ন কি এর ভ্যালু কিভাবে পড়তে হয় তার একটি উদাহরন এইখানে দেওয়া হল। কিপ্যাডের রো এবং কলামের পিনগুলো মাইক্রোকন্ট্রোলারের একটি পোর্টের সাথে সংযুক্ত। ধরা যাক সেটি হল পোর্ট বি।

নিচের উদারহরনে কোনো কি প্রেস করলে সেই কি এর ভ্যালু এলসিডিতে দেখানো হবে। এলসিডির ব্যপারে আমাদের এলসিডি সংক্রান্ত টিউটোরিয়ালে আগেই আলোচনা করা হয়েছে।

 

*******************************************************************

// LCD module connections
sbit LCD_RS at PORTD2_bit;
sbit LCD_EN at PORTD3_bit;
sbit LCD_D4 at PORTD4_bit;
sbit LCD_D5 at PORTD5_bit;
sbit LCD_D6 at PORTD6_bit;
sbit LCD_D7 at PORTD7_bit;

sbit LCD_RS_Direction at DDD2_bit;
sbit LCD_EN_Direction at DDD3_bit;
sbit LCD_D4_Direction at DDD4_bit;
sbit LCD_D5_Direction at DDD5_bit;
sbit LCD_D6_Direction at DDD6_bit;
sbit LCD_D7_Direction at DDD7_bit;
// End LCD module connections

void main()
{
DDRB = 0xF0;
PORTB = 0x0F;

Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF);// Cursor off

while (1) //loop key check forever
{

//first column
PORTB = 0xEF; //1110 1111
Delay_ms(50);
if (!(PINB & 0x01)) Lcd_Chr(1,1,’7′);
if (!(PINB & 0x02)) Lcd_Chr(1,1,’4′);
if (!(PINB & 0x04)) Lcd_Chr(1,1,’1′);
if (!(PINB & 0x08)) Lcd_Cmd(_LCD_CLEAR);;

//second column
PORTB =0xDF; //1101 1111;
Delay_ms(50);
if (!(PINB & 0x01)) Lcd_Chr(1,1,’8′);
if (!(PINB & 0x02)) Lcd_Chr(1,1,’5′);
if (!(PINB & 0x04)) Lcd_Chr(1,1,’2′);
if (!(PINB & 0x08)) Lcd_Chr(1,1,’0′);

//third column
PORTB = 0xBF; //1011 1111;
Delay_ms(50);
if (!(PINB & 0x01)) Lcd_Chr(1,1,’9′);
if (!(PINB & 0x02)) Lcd_Chr(1,1,’6′);
if (!(PINB & 0x04)) Lcd_Chr(1,1,’3′);
if (!(PINB & 0x08)) Lcd_Chr(1,1,’=’);

//fourth column
PORTB = 0x7F; //0111 1111;
Delay_ms(50);
if (!(PINB & 0x01)) Lcd_Chr(1,1,’/’);
if (!(PINB & 0x02)) Lcd_Chr(1,1,’x’);
if (!(PINB & 0x04)) Lcd_Chr(1,1,’-‘);
if (!(PINB & 0x08)) Lcd_Chr(1,1,’+’);
}
}

*******************************************************************

আমাদের দ্বিতীয় উদাহরনটি হল কিপ্যাড এবং এলসিডি ব্যবহার করে একটি ক্যালকুলেটর তৈরির প্রজেক্ট। প্রজেক্টের কোড এবং সার্কিট ডায়াগ্রাম এইখান থেকে ডাউনলোড করুন।

5/5 - (1 vote)
Share with your friends
Default image
A. R
Articles: 116

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.