avr led 예제
y posteado en Sin categoría

이것은 당신이 지금까지 높은 수준의 언어를 프로그래밍 한, 당신은 인식하지 못할 수 있습니다 호기심 일이다. 명령문의 리터럴 판독값은 “PORTC high(+5)에 핀 0 설정”입니다. 먼저 PORTC를 호출합니다. 그 다음에는 비트OR(|)과 등가 기호(=)가 뒤따릅니다. 이렇게 하면 C0이 켜지고 꺼집니다./C0 HIGH PORTC |=(1<0); 여기서 일어나는 일은 PORTC의 모든 핀이 파렌의 적당에 의해 제안된 상태와 비교되고 있다는 것입니다. 괄호 안에 는 왼쪽 명령(<<)이 표시됩니다. 구문은 PORTx |=(값<<숫자 위치)입니다. 이 예제에서는 x = C 및 값 = 1 및 이동된 숫자 위치가 0으로 PORTC에서 핀0을 의미합니다. 이동된 숫자 위치(1<<3)가 면 비트가 세 번 이동되고 그 다음에 0이 됩니다. LED와 저항에 추가할 시간입니다. 이 예제에서는 핀 PB3로 이동합니다.

이 핀은 16 비트 타이머가 있기 때문에 특별합니다! 이것은 페이드에 사용하는 것이 매우 즐겁습니다. 이 예제에서는 Mac에서 작업할 예정입니다. 뿐만 아니라 윈도우와 리눅스에 사용할 수있는 옵션이 있습니다, 요지는이 게시물에 설명 된 것과 동일합니다. C 또는 C++에서 `Hello World`를 인쇄하는 것과 마찬가지로 마이크로 컨트롤러 프로그래밍을 향한 첫 번째 단계는 지연으로 LED를 깜박이는 것입니다. Atmega32는 매우 인기있는 고성능 8 비트 AVR 마이크로 컨트롤러입니다. 이 예제 프로젝트에서는 두 개의 레지스터 DDR 및 PORT를 사용해야 합니다. DDR은 데이터 방향 레지스터를 의미하며 마이크로 컨트롤러의 각 핀의 방향(입력/출력)을 결정합니다. DDR 레지스터에서 HIGH는 해당 핀 출력을 만들고 DDR 레지스터의 LOW는 해당 핀 입력을 만듭니다.

PORT 레지스터는 특정 포트의 각 핀의 상태를 결정하는 출력 레지스터입니다. 포트 레지스터에서 HIGH는 해당 핀 로직 하이(5V)를, 포트 레지스터의 LOW는 해당 핀 로직 LOW(0V)를 만듭니다. 컴파일러의 인텔리전스는 완전히 별개의 문제입니다. 그리고, 당신의 관찰은 실제로 그 특정 예의 경우 나타납니다 : 위의 섹션과 유사, 여기에 우리는 또한 사전 프로세서 및 라이브러리를 포함. 그리고 필요한 핀은 DDRx(데이터 방향 레지스터)를 사용하여 입력 및 출력으로 구성됩니다. 그런 다음 조건이 있는 메인 프로그램에 루프가 포함되어 있습니다! (PINB&(1<PINB0))는 PB0 핀의 상태를 지속적으로 모니터링합니다.

Compartir este contenido...
Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone
Los Comentarios están cerrados.