پروژه راه اندازی کی پد با PIC-زبان C
میکروکنترلر همانند یک کامپیوتر می باشد که از حافظه و تجهیزات جانبی در خود تشکیل شده است. کلمه میکرو به معنی کوچک بودن می باشد و کلمه کنترلر به معنی کنترل کننده و این نام مناسبی برای تراشه ای است که هم یک کامپیوتر کوچک می باشد و هم اینکه کار کنترل را انجام میدهد.تفاوت میکروکنترلر با میکروپروسسور در این می باشد که در میکروپروسسور به تجهیزات جانبی مانند رم و هارد و تجهیزات ورودی و خروجی و غیره نیازمند می باشد ولی در میکروکنترلر تمام این تجهیزات داخل خود تراشه وجود دارد.
زبان هایی که می توان توسط آنها برای میکروکنترلرها برنامه نوشت عبارتند از BASIC و C و اسمبلی. دو زبان اول به صورت سطح بالا عمل می کنند به این معنی که برای انسان قابل فهم می باشند و درک آنها ساده است ولی زبان اسمبلی زبان سطح پایین و مربوط به ماشین می باشد که نوشتن برنامه های آن دشوار است.
میکروکنترلرهای pic یکی از میکروکنترلرهای قدرتمند در صنعت می باشند که توسط آن پروژه های بسیار زیادی انجام شده است. این میکروکنترلر ساخت شرکت میکروچیپ بوده و دارای تنوع بسیار زیادی می باشند که با شماره هایی از یکدیگر تشخیص داده می شوند. در این پست برای شما پروژه راه اندازی کی پد با استفاد از میکروکنترلر PIC را برای دانلود قرار داده ام.
طریقه علمکرد این پروژه به این صورت می باشد که میکروکنترلر سطرهای کی پد را به نوبت صفر و یک کرده و بعد از یک کردن یک سطر ستون های کی پد را می خواند. با توجه به این که میکروکنترلر به عنوان مثال سطر اول را یک کرده است بنابراین در این سطر چهار کلید وجود دارد و با خواندن ستون ها این چهار کلید می توان کلید فشرده شده را تشخیص داد.پس از تشخیص کلید فشرده شده میکروکنترلر عدد متناظر با کلید را روی LCD کاراکتری نمایش می هد.در زیر می توانید به صورت مستقیم این پروژه را دانلود کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
#include "E:\project with pic CCS\keypad with lcd\main.h" #define LCD_TYPE 2 #include <lcd.c> void main() { lcd_init(); set_tris_b(0b11110000); output_high(pin_b0); output_high(pin_b1); output_high(pin_b2); output_high(pin_b3); setup_adc_ports(NO_ANALOGS); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_wdt(WDT_OFF); setup_timer_0(RTCC_INTERNAL); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_timer_3(T3_DISABLED|T3_DIV_BY_1); //Setup_Oscillator parameter not selected from Intr Oscillator Config tab while(true) { /////////////////////////////////////////////////////////// output_high(pin_b0); output_low(pin_b1); output_low(pin_b2); output_low(pin_b3); delay_ms(10); if(input(pin_b4)==1) { lcd_gotoxy(1,1); lcd_putc("1"); } if(input(pin_b5)==1) { lcd_gotoxy(1,1); lcd_putc("2"); } if(input(pin_b6)==1) { lcd_gotoxy(1,1); lcd_putc("3"); } if(input(pin_b7)==1) { lcd_gotoxy(1,1); lcd_putc("A"); } /////////////////////////////////////////////////////////// output_low(pin_b0); output_high(pin_b1); output_low(pin_b2); output_low(pin_b3); delay_ms(10); if(input(pin_b4)==1) { lcd_gotoxy(1,1); lcd_putc("6"); } if(input(pin_b5)==1) { lcd_gotoxy(1,1); lcd_putc("5"); } if(input(pin_b6)==1) { lcd_gotoxy(1,1); lcd_putc("4"); } if(input(pin_b7)==1) { lcd_gotoxy(1,1); lcd_putc("B"); } //////////////////////////////////////////////////////////// output_low(pin_b0); output_low(pin_b1); output_high(pin_b2); output_low(pin_b3); delay_ms(10); if(input(pin_b4)==1) { lcd_gotoxy(1,1); lcd_putc("7"); } if(input(pin_b5)==1) { lcd_gotoxy(1,1); lcd_putc("8"); } if(input(pin_b6)==1) { lcd_gotoxy(1,1); lcd_putc("9"); } if(input(pin_b7)==1) { lcd_gotoxy(1,1); lcd_putc("C"); } //////////////////////////////////////////////////////////// output_low(pin_b0); output_low(pin_b1); output_low(pin_b2); output_high(pin_b3); delay_ms(10); if(input(pin_b4)==1) { lcd_gotoxy(1,1); lcd_putc("*"); } if(input(pin_b5)==1) { lcd_gotoxy(1,1); lcd_putc("0"); } if(input(pin_b6)==1) { lcd_gotoxy(1,1); lcd_putc("#"); } if(input(pin_b7)==1) { lcd_gotoxy(1,1); lcd_putc("D"); } ////////////////////////////////////////////////////////////// } } |
پروژه راه اندازی کی پد با میکروکنترلر PIC