#define DDRA (*((volatile unsigned char *)0x21))
#define PINA (*((volatile unsigned char *)0x20))
#define PORTA (*((volatile unsigned char *)0x22))
int main(void)
{
volatile unsigned int uiCnt;
volatile unsigned int uiLoop;
DDRA=0xFF;//입력을 1로한다.
PORTA=(0x00);//출력은 0으로한다.
int iDir;//if문에 쓸 변수를 만든다.
iDir=1;
unsigned int uiPos;//PORTA에 쓸 변수를 만든다.
uiPos=0;
while(1)//반복 한다.
{
if(1==iDir)//iDir을 1로지정
{
PORTA=~(1<<uiPos);//이진수0000 0001의 반대기호(~)로인해
1111 1110이면 0이 uiPos 만큼 이동한다.
}
else //else는 if의 규정에 벗어난 값을 나타낼때의 값이다.
{
PORTA=~(0x0080>>uiPos);//0x80은 음수이다 (왜 음수 인지는 기억이안남)
그래서 0x0080한다.
반대의 이진수는0111 1111이다.
}
for(uiLoop=0; uiLoop<60000; ++uiLoop);
for(uiLoop=0; uiLoop<60000; ++uiLoop);
uiPos=uiPos+1;//위uiPos에 1씩 더하라
if(7 < uiPos)// 만약 uiPos가 1씩 더하는데 7보다 크면
곱한다는 함수이다.iDir은 -1이 되면 if문에 계
산이 안되므로 else문으로 이동하는대 이를 반복한
다.
{
iDir=iDir * -1;
uiPos=0;
}
}
return 0;
}
선연결방법 j15 1부터 8까지 j13의 PORTA의 포트 0포트 부터 포트7까지 차래 대로 연결 한다.
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
알파고 대국 매커니즘 (0) | 2016.03.12 |
---|---|
20160311_최기영_업무일지_펌웨어분석 (0) | 2016.03.11 |
20160311_김가연_업무일지_펌웨어 분석 (2) | 2016.03.11 |
20160311_박진한_업무일지_펌웨어 분석 (4) | 2016.03.11 |
20160310_송찬호_펌웨어 분석 (2) | 2016.03.11 |
20160310_박진한_업무일지_데이터시트, 실습 (4) | 2016.03.11 |
20160309_업무일지_송찬호_cpu 모듈 (2) | 2016.03.11 |
20160310_김도관_업무일지_Artmega_LED교차점등 (2) | 2016.03.11 |