목록Univ/AVR atmega128 (34)
ITGenerations
// source 8// 스위치 누름뗌 부정확한거 수정과정 // 부정확함!!!// 내부 풀업 설정 #include #include #define PUD 2// 내부풀업설정 void msec_delay(int n);unsigned char pattern[3]={0xFE, 0xFD, 0xFB};int main(){int i=0;DDRA=0xFF;DDRD=0x00;SFIOR &= ~(1 bit=1 이면 풀업 불능 풀업저항/풀다운저항 각각 말 그대로 위로 아래로 당겨주는 저항.위는 vcc 아래는 gnd링크 참조 http://blog.naver.com/nkkh159/220509863314 -----------------------------------------------------------*/
//source 7// switch를 이용해 패턴 변경 /*#include #include unsigned char pattern[3]={0xFE, 0xFD, 0xFB};int main(){int i=0;DDRA=0xFF;DDRD=0x00; while(1){PORTA=pattern[i];while(!(~PIND&0x01));msec_delay(20);if(++i==3) i=0;PORTA= pattern[i];while(~PIND&0x01);msec_delay(20);}} void msec_delay(int n){for(;n>0; n--)_delay_ms(1);} // 주의 사항 저항이 반드시 10k 내외의 값인것만 사용해야됨 // 그렇지 않으면 스위치 작동 x*/
//source6// 도트매트릭스 A,B 각 줄에 순차적으로 실행#include #include void msec_delay(int n);void main(){DDRA=0xFF;DDRB=0xFF;int flag=1;while(1){msec_delay(100);if(flag==1)PORTB=0x01;elsePORTB=0x02; PORTA=0xFE;msec_delay(100); PORTA=0xFD;msec_delay(100); PORTA=0x0B;msec_delay(100); flag *= (-1); } } void msec_delay(int n){for(; n>0; n--){ _delay_ms(1);}}
//source 5// Dotmatrix 함수#include #include unsigned char pattern[3]={0xFE,0xFD,0xFB};void main(){int i=0;DDRA=0xFF;while(1){msec_delay(500);//속도 조절 if(++i==3) i=0;PORTA = pattern[i];} } void msec_delay(int n){for(; n>0; n--){_delay_ms(1);//속도 조절 }}
//source4//led 배열 그리고 인덱스 함수 활용//delay 라이브러리 선언/*#include #include void msec_delay(int n);unsigned char pattern[3]={0xFE, 0xFD, 0xFB};int main(){int i=0;DDRA=0xFF;while(1){msec_delay(500);if(++i==3)i=0;PORTA=pattern[i];}} void msec_delay(int n){for(; n>0; n--)_delay_ms(5);} */