سلام به همه ی دوستان
یک LED دارم و یک صفحه کلید 4*4 و یک PIC . اگه کلید 1 صفحه کلید رو یک ثانیه نگه دارم LED 1 به مدت 10s روشن باشد و اگر کلید 1 صفحه کلید رو 2s نگه دارم LED به مدت 9s روشن باشد و این رویه تا زمان 10s ادامه داشته باشد به این صورت که اگر کاربر کلید 1 صفحه کلید رو به مدت 10 ثانیه پایین نگه دارد LED هم به مدت 1s روشن باشد .
حالا از اونجایی که من نه با PIC کار کردم نه با زبان C اگه دوستان تنها دستوراتی از c رو که در این پروژه به کار می آیند رو معرفی کنند ممنون میشم در ضمن من کامپایلر CCS رو نصب کردم نظرتون چیه ؟در مقایسه با بقیه کامپایلر ها چطوری؟ خوبه یا نه به فکر یکی دیگه باشم ؟
این صورت سئوالی بود که چند وقت پیش گذاشتم ...
پیغام تیم نظارتی دوست عزیز برای چندمین بار هست که شما تاپیکی با نام نامناسب ایجاد می کنید. لطفاً جهت حفظ نظم ، نام تاپیک را مرتبط با موضوع تاپیک انتخاب نمایید 
حالا من اشتباه کردم ببخشید . چرا دیگه گزینه های پاسخ رو برمی دارید ؟ من نمیدونم چرا همیشه حاشیه ها از اصل موضوع مهمتره ؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
حالا در هر صورت چون مشکلم حل شده این تاپیک رو مجددا گذاشتم . شاید بدرد کس دیگه ایم بخوره
//// this project adjust the lighting ON and OFF the LED according by
////the holding time of key 1 at 4*4 key pad
////////////////Define variants////////////////////
unsigned short kp;
unsigned char txt[1];
unsigned char txt1[1];
unsigned short kp1;
unsigned short count;
/////////////This Function showes numbers on the LCD and according the time of
////////////holding the key 1 turn on and turn off the LED
void LCDshow(){
kp = Keypad_Read();
if (kp==1) count++;
WordToStr(kp, txt);
Lcd_out(1, 10,txt);
WordToStr(count, txt1);
Lcd_out(2, 10,txt1);
delay_ms(500);
Lcd_Cmd(LCD_CLEAR);
if (kp!=1) {
if(count==2) {portc.f0=1;delay_ms(10000);portc.f0=0;}
if(count==4) {portc.f0=1;delay_ms(9000);portc.f0=0;}
if(count==6) {portc.f0=1;delay_ms(8000);portc.f0=0;}
if(count==8) {portc.f0=1;delay_ms(7000);portc.f0=0;}
if(count==10) {portc.f0=1;delay_ms(6000);portc.f0=0;}
if(count==12) {portc.f0=1;delay_ms(5000);portc.f0=0;}
if(count==14) {portc.f0=1;delay_ms(4000);portc.f0=0;}
if(count==16) {portc.f0=1;delay_ms(3000);portc.f0=0;}
if(count==18) {portc.f0=1;delay_ms(2000);portc.f0=0;}
if(count==20) {portc.f0=1;delay_ms(1000);portc.f0=0;}
count=0;
}
}
/////////////Main Function/////////////////////////////////////////
void main() {
// portc.f0=0;
trisc.f0 =0;
Keypad_Init(&PORTB);
Lcd_Config(&PORTc,1,2,0,7,5,4,3); // Initialize LCD on PORTC
Lcd_Cmd(LCD_CLEAR); // Clear display
Lcd_Cmd(LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1, 1, "Key :"
;
while(1){
LCDshow();
}
}
یک LED دارم و یک صفحه کلید 4*4 و یک PIC . اگه کلید 1 صفحه کلید رو یک ثانیه نگه دارم LED 1 به مدت 10s روشن باشد و اگر کلید 1 صفحه کلید رو 2s نگه دارم LED به مدت 9s روشن باشد و این رویه تا زمان 10s ادامه داشته باشد به این صورت که اگر کاربر کلید 1 صفحه کلید رو به مدت 10 ثانیه پایین نگه دارد LED هم به مدت 1s روشن باشد .
حالا از اونجایی که من نه با PIC کار کردم نه با زبان C اگه دوستان تنها دستوراتی از c رو که در این پروژه به کار می آیند رو معرفی کنند ممنون میشم در ضمن من کامپایلر CCS رو نصب کردم نظرتون چیه ؟در مقایسه با بقیه کامپایلر ها چطوری؟ خوبه یا نه به فکر یکی دیگه باشم ؟
این صورت سئوالی بود که چند وقت پیش گذاشتم ...


حالا من اشتباه کردم ببخشید . چرا دیگه گزینه های پاسخ رو برمی دارید ؟ من نمیدونم چرا همیشه حاشیه ها از اصل موضوع مهمتره ؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
حالا در هر صورت چون مشکلم حل شده این تاپیک رو مجددا گذاشتم . شاید بدرد کس دیگه ایم بخوره
//// this project adjust the lighting ON and OFF the LED according by
////the holding time of key 1 at 4*4 key pad
////////////////Define variants////////////////////
unsigned short kp;
unsigned char txt[1];
unsigned char txt1[1];
unsigned short kp1;
unsigned short count;
/////////////This Function showes numbers on the LCD and according the time of
////////////holding the key 1 turn on and turn off the LED
void LCDshow(){
kp = Keypad_Read();
if (kp==1) count++;
WordToStr(kp, txt);
Lcd_out(1, 10,txt);
WordToStr(count, txt1);
Lcd_out(2, 10,txt1);
delay_ms(500);
Lcd_Cmd(LCD_CLEAR);
if (kp!=1) {
if(count==2) {portc.f0=1;delay_ms(10000);portc.f0=0;}
if(count==4) {portc.f0=1;delay_ms(9000);portc.f0=0;}
if(count==6) {portc.f0=1;delay_ms(8000);portc.f0=0;}
if(count==8) {portc.f0=1;delay_ms(7000);portc.f0=0;}
if(count==10) {portc.f0=1;delay_ms(6000);portc.f0=0;}
if(count==12) {portc.f0=1;delay_ms(5000);portc.f0=0;}
if(count==14) {portc.f0=1;delay_ms(4000);portc.f0=0;}
if(count==16) {portc.f0=1;delay_ms(3000);portc.f0=0;}
if(count==18) {portc.f0=1;delay_ms(2000);portc.f0=0;}
if(count==20) {portc.f0=1;delay_ms(1000);portc.f0=0;}
count=0;
}
}
/////////////Main Function/////////////////////////////////////////
void main() {
// portc.f0=0;
trisc.f0 =0;
Keypad_Init(&PORTB);
Lcd_Config(&PORTc,1,2,0,7,5,4,3); // Initialize LCD on PORTC
Lcd_Cmd(LCD_CLEAR); // Clear display
Lcd_Cmd(LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1, 1, "Key :"

while(1){
LCDshow();
}
}
دیدگاه