ITGenerations
[avr]세븐세그먼트, 트랜지스터 사용 x 본문
// source 23
// 세븐세그먼트, 트랜지스터 사용 x
/*
#include <avr/io.h>
#include <util/delay.h>
static unsigned char SegTable[17] =
{0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,
0x7F, 0x6F, 0x77, 0x7C, 0x58, 0x5E, 0x79, 0x71,
0x00};
int main()
{
unsigned char cnumber[2] = {4,3}; // 34 출력, 원래 코드
//unsigned char cnumber[2] = {3,4}; // 변경코드 -> 34가 아니라 43이나온다.
int j=0;
DDRA = 0xFF; // 포트 A를 출력으로 설정
DDRD |= 0xF0; // 포트 D의 상위니블을 출력으로 설정
//DDRD |= 0xFF; // FF로 해도 똑같은 결과
while(1)
{
for(j=0; j<2; j++)
{
// PORTD =~( 0x10<<j); // ~()를 하면 34가 아니라 43이 출력 된다.
// 34가 아니라 43이 출력된다.
// portd 6,8핀 위치를 서로 바꿔도 34가 아니라 43이 출력 된다.
//portd 4->8 , portd 5->6
PORTD = 0x10<<j; // j-번째 세그먼트를 켠다.
PORTA = ~SegTable[cnumber[j]];
_delay_ms(5); // 5msec 시간지연
}
}
}
*/
'Univ > AVR atmega128' 카테고리의 다른 글
[avr] 세븐세그먼트 1씩 증가 (0) | 2017.12.09 |
---|---|
[avr] 세븐세그먼트/트랜지스터 사용 o (0) | 2017.12.09 |
[avr] 타이머 (0) | 2017.12.08 |
[avr] 타이머/카운터 (0) | 2017.12.08 |
[avr]스위치 수정 과정, 스태틱함수 추가, 인터럽트 라이브러리 추가, 해결완료 (0) | 2017.12.08 |