سلام
من می خوام کی پد 4*4 را وصل کنم به میکرو و خروجی اش را روی lcd نمایش بدم
بعوان مثال وقتی کلید 1 زدم 1 نمایش داده شودو اگر پشت سرش 2 زدم بعد یک دو نمایش داده بشه یعنی 12 و...
وقتی c رو زدم عداد را یکی یکی پاک کند مثل ماشین حساب
میخوام عمل جمع ضرب هم انجام بدم
برنامه kypad بصورت زیر نوشتم ولی مشکلی که داره نمیدونم چطور یکبار 1 میزنمیم نمایش داده میشه دوباره 2 رو که میزنم یک پاک میشه دونمایش داده میشه
حتی میخوام جاروب kypad به صورت زیر با شد
من می خوام کی پد 4*4 را وصل کنم به میکرو و خروجی اش را روی lcd نمایش بدم
بعوان مثال وقتی کلید 1 زدم 1 نمایش داده شودو اگر پشت سرش 2 زدم بعد یک دو نمایش داده بشه یعنی 12 و...
وقتی c رو زدم عداد را یکی یکی پاک کند مثل ماشین حساب
میخوام عمل جمع ضرب هم انجام بدم
برنامه kypad بصورت زیر نوشتم ولی مشکلی که داره نمیدونم چطور یکبار 1 میزنمیم نمایش داده میشه دوباره 2 رو که میزنم یک پاک میشه دونمایش داده میشه
حتی میخوام جاروب kypad به صورت زیر با شد
کد:
#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; } } }
دیدگاه