اطلاعیه
Collapse
No announcement yet.
مشکل تاخیر زمانی در کلید های push button
Collapse
X
-
پاسخ : مشکل تاخیر زمانی در کلید های push button
نوشته اصلی توسط radarz نمایش پست ها
والا اگر به مدار باشه که مدار مشکلی نداره، پس حتما مشکل کده! کدی هم نیست که بشه نظر داد. اگر کد رو اینجا بذارید شاید بشه کمکی کرد.
- تشکرها 1
-
پاسخ : مشکل تاخیر زمانی در کلید های push button
نوشته اصلی توسط hossein.m98 نمایش پست هاسلام
والا اگر به مدار باشه که مدار مشکلی نداره، پس حتما مشکل کده! کدی هم نیست که بشه نظر داد. اگر کد رو اینجا بذارید شاید بشه کمکی کرد.
#include <delay.h>
unsigned char number = 0 ; // Decimal to Binary 0 = 000 , 1 = 0001 , 2 = 0010 , 3 = 0011 , 4 = 0100
// 5 = 0101 , 6 = 0110 , 7 = 0111 , 8 = 1000 , 9 = 1001
void main(void)
{
PORTB = 0x00 ;
// output
DDRB = 0xFF ;
PORTD = 0x00 ;
// input
DDRD = 0x00 ;
while (1)
{
if(PIND.0 == 0 && number < 9)
{
number ++ ;
while(PIND.0 == 0);
delay_ms(100);
}
if(PIND.1 == 0 && number > 0)
{
number -- ;
while (PIND.1 == 0)
delay_ms(100);
}
PORTB = number;
}
}
دیدگاه
-
پاسخ : مشکل تاخیر زمانی در کلید های push button
نوشته اصلی توسط radarz نمایش پست ها
شما باید یا برای سوییچها مقاومت Pull-Up بیرونی بگذارید و یا از طریق 1 کردن بیت مرتبط با پین ورودی از طریق PORTD مقاومت Pull-Up داخلی را فعال کنید. ( ابتدا با دستور DDRD =0x00 پایه های پورت D را بصورت ورودی تعریف کنید و بعد با دستور PORTD=0x03 مقاومت Pull-Up داخلی را برای پایه های PD0 و PD1 فعال کنید.)
موفق باشید.
- تشکرها 2
دیدگاه
دیدگاه