۲۵-اردیبهشت-۱۳۹۴, ۱۷:۱۶:۵۵
سلام
من می خوام کی پد 4*4 را وصل کنم به میکرو و خروجی اش را روی lcd نمایش بدم
بعوان مثال وقتی کلید 1 زدم 1 نمایش داده شودو اگر پشت سرش 2 زدم بعد یک دو نمایش داده بشه یعنی 12 و...
وقتی c رو زدم عداد را یکی یکی پاک کند مثل ماشین حساب
میخوام عمل جمع ضرب هم انجام بدم
برنامه kypad بصورت زیر نوشتم ولی مشکلی که داره نمیدونم چطور یکبار 1 میزنمیم نمایش داده میشه دوباره 2 رو که میزنم یک پاک میشه دونمایش داده میشه
حتی میخوام جاروب kypad به صورت زیر با شد
من می خوام کی پد 4*4 را وصل کنم به میکرو و خروجی اش را روی lcd نمایش بدم
بعوان مثال وقتی کلید 1 زدم 1 نمایش داده شودو اگر پشت سرش 2 زدم بعد یک دو نمایش داده بشه یعنی 12 و...
وقتی c رو زدم عداد را یکی یکی پاک کند مثل ماشین حساب
میخوام عمل جمع ضرب هم انجام بدم
برنامه kypad بصورت زیر نوشتم ولی مشکلی که داره نمیدونم چطور یکبار 1 میزنمیم نمایش داده میشه دوباره 2 رو که میزنم یک پاک میشه دونمایش داده میشه
حتی میخوام جاروب kypad به صورت زیر با شد
کد php:
#include <mega32.h>
#include <delay.h>
unsigned char key;
void main(void)
{
while(1)
{
do{
DDRA = 0x0f;
PORTA = 0xf0;
delay_us(100);
key = PINA;
DDRA = 0xf0;
PORTA = 0x0f;
delay_us(100);
key = key | PINA;
}while(key==0xff);
switch(key)
{
case 0b11101110:
key=1;
break;
case 0b11011110:
key=2;
break;
case 0b10111110:
key=3;
break;
case 0b01111110:
key=4;
break;
case 0b11101101:
key=5;
break;
case 0b11011101:
key=6;
break;
case 0b10111101:
key=7;
break;
case 0b01111101:
key=8;
break;
case 0b11101011:
key=9;
break;
case 0b11011011:
key=10;
break;
case 0b10111011:
key=11;
break;
case 0b01111011:
key=12;
break;
case 0b11100111:
key=13;
break;
case 0b11010111:
key=14;
break;
case 0b10110111:
key=15;
break;
case 0b01110111:
key=16;
}
}
}