complexcoding
01-01-2013, 12:52
دوستان سلام
من در اين كد كانتر يك رقمي 7سگمنت اين سوالات براي من ايجاد شده لطفا راهنمايي كنيد ممنون.
كد:
#include <mega16.h>
#define xtal 4000000
flash char digits[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,
0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71} ;
unsigned char p_state;
unsigned char key;
unsigned char i;
void main(void)
{
DDRD = 0xFF;
PORTD = digits[0];
DDRC = 0x00;
PORTC = 0xFF;
while(1)
{
key = PINC & 0b00000001;
delay_ms(10);
if(key==0)
{
if(key!=p_state)
{
if(i==15)
{
i=0;
PORTD=digits[i];
}
else
i++;
PORTD = digits[i];
p_state=0;
};
}
else
p_state=1;
}
}
-----------------------------------------------------
مشكلات من:
1- خط سبز اولي: 0x3f به باينري 6 تا 1 ميشه پس اگر به يك پورت كه 8 تا پين داره بديم 2 تا پين ديگه چي مي شه؟
2- خط سبز دومي: P_state چيه؟
3- خط سبز سومي: اگر i از نوع كاركتري هست پس چرا با 15 كه عدد صحيح هست مقايسه شده؟
فعلا سوالام همينه اگر كمكي كنيد ممنون مي شم.
با تشكر از كمكتون
من در اين كد كانتر يك رقمي 7سگمنت اين سوالات براي من ايجاد شده لطفا راهنمايي كنيد ممنون.
كد:
#include <mega16.h>
#define xtal 4000000
flash char digits[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,
0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71} ;
unsigned char p_state;
unsigned char key;
unsigned char i;
void main(void)
{
DDRD = 0xFF;
PORTD = digits[0];
DDRC = 0x00;
PORTC = 0xFF;
while(1)
{
key = PINC & 0b00000001;
delay_ms(10);
if(key==0)
{
if(key!=p_state)
{
if(i==15)
{
i=0;
PORTD=digits[i];
}
else
i++;
PORTD = digits[i];
p_state=0;
};
}
else
p_state=1;
}
}
-----------------------------------------------------
مشكلات من:
1- خط سبز اولي: 0x3f به باينري 6 تا 1 ميشه پس اگر به يك پورت كه 8 تا پين داره بديم 2 تا پين ديگه چي مي شه؟
2- خط سبز دومي: P_state چيه؟
3- خط سبز سومي: اگر i از نوع كاركتري هست پس چرا با 15 كه عدد صحيح هست مقايسه شده؟
فعلا سوالام همينه اگر كمكي كنيد ممنون مي شم.
با تشكر از كمكتون