#include <LPC21xx.H> /* LPC21xx 레지스터 정의 */
#define P2_31_IN (0x0 << 20) // 0 입력 기능->
/*
0x0은 이진수로 나타내면 0b0000 이다.
0000을 왼쪽으로 20번 shift하면 0000 0000 0000 0000 0000 0000 이 된다.
즉, P2_31_IN은 0b0000 0000 0000 0000 0000 0000 을 의미한다.
*/
#define P16_19_OUT (0xF << 16) // 1 출력 기능
/*
0xF는 0b1111 이다.
1111 네 자리 bit 1111을 왼쪽으로 16번 shift하면 1111 0000 0000 0000 0000 이 된다.
즉, P16_19_out은 0b1111 0000 0000 0000 0000을 의미한다.
*/
int main(void)
{
unsigned long input;
PINSEL2 = 0;
IODIR1 |=P16_19_OUT;
do{
IOSET1 = 0; // IOSET1에 1로 set된 비트만 1로 변경한다.(ON한다)
IOCLR1 = 0; // IOCLR1에 1로 set된 비트만 0으로 변경한다.(Off한다)
if(IOPIN0 & 0x00010000) input=input; //IOPIN0의 16번이 ON되어있으면 input을 그대로 둔다. 16번에 출력
else if(IOPIN0 & 0x00004000) input<<=3; //IOPIN0의 14번이 ON되어있으면 왼쪽으로 세 번 shift 17번에 출력
else if(IOPIN0 & 0x00008000) input<<=3; //IOPIN0의 15번이 ON되어있으면 왼쪽으로 세 번 shift 18번에 출력
else if(IOPIN0 & 0x00100000) input>>=1; //IOPIN0의 20번이 ON되어있으면 오른쪽으로 한 번 shift 19번에 출력
//input = (IOPIN0 & 0x00010000) | (IOPIN0 & 0x00004000)<<3 | (IOPIN0 & 0x00008000)<<3 | (IOPIN0 & 0x00100000)>>1;
// 상위 if~else if문이 IOPIN0에 대해 16~14~15~21번순으로 순서대로 on/off 검사를 한 후 최초 참값에 대해서만 결과를 출력했다면
// 여기서는 IOPIN0의 14,15,16,21번pin의 on/off검사를 수행한 후 모든 핀에 대한 결과를 동시에 출력하게 된다.
//input >>=4;
//for checking input
//input값(20~23)을 그대로 LED에 출력(16~19)하기위해 우측으로 네 번 shift
gvffre455
IOSET1 = input; //input에서 1인 비트만을 ON시킨다.
IOCLR1 = ~input; //~input이 1인 비트(input이 0인비트)만을 OFF시킨다/
}while(1);
}
'Reports > Electronics' 카테고리의 다른 글
| ARM7_ LEDout 코드분석 (2) | 2010/03/22 |
|---|---|
| active low, active high란? (0) | 2009/12/23 |
| 자동제어(feedback control of dynamic systems) 연습문제 3.31, 3.15, 3.16, 3.17 (0) | 2009/12/14 |
| 자동제어(feedback control of dynamic systems) 7.20 설계과제 (0) | 2009/12/14 |
| 마이크로프로세서_atmega128 led shift (0) | 2009/12/14 |
| 마이크로프로세서_ATMEGA128_모듈조립 (0) | 2009/12/14 |
| 피드백 오디오증폭기(feedback audio amplifier) (0) | 2009/11/04 |
| OP-amp를 이용한 wein-bridge oscillator(윈브릿지 발진회로) 및 함수발생기 (0) | 2009/10/04 |
| 그래핀(기사_7.5_파이넨셜) (0) | 2009/07/05 |



1st homework frequency response.hwp
MP_atmega128_led_shift.pdf
OP-AMP를 이용한 함수발생기.ppsx