본문 바로가기
임베디드/Atmega128

74LS47IC

by sj0020 2020. 12. 8.

74LS47.pdf
0.07MB

 

 

 

http://blog.naver.com/PostView.nhn?blogId=specialist0&logNo=221254434269&parentCategoryNo=&categoryNo=41&viewDate=&isShowPopularPosts=true&from=search

 

74LS47(7447) BCD to 7-segment 디코더(Decoder)의 동작 실험

논리회로를 다루다 보면 7-segment LED(FND)를 사용할 때가 있는데요. 이때 74LS47(7447)같이 BC...

blog.naver.com

이진수를 입력하면 십진수로 나온다..

A0~A3 아트메가와 연결

a~g segment 와 연결. 7핀이라 .까지 있는 segment와는 연결안된다

 

 

입력 출력
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
더보기
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	
	DDRE = 0xFF;
	while (1)
	{
		
		PORTE |= 0b00000001;//1
		_delay_ms(500);
		PORTE |= 0b00000010;//2
		_delay_ms(500);
		PORTE |= 0b00000011;//3
		_delay_ms(500);
		PORTE |= 0b00000100;//4
		_delay_ms(500);
		PORTE |= 0b00000101;//5
		_delay_ms(500);
		PORTE |= 0b00000110;//6
		_delay_ms(500);
		PORTE |= 0b00000111;//7
		_delay_ms(500);
		PORTE |= 0b00001000;//8
		_delay_ms(500);
		PORTE |= 0b00001001;//9
		_delay_ms(500);
	}
}

1,3,7 만 뜨고 안뜬다  왜냐면 | 를 써서 .. 하나씩 추가되는 거라서 

첫줄에 00000001

둘째줄 지나면 00000011

셋째줄 지나면 00000011

넷째줄 지나면 00000111

 

 

#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	
	DDRE = 0xFF;
	while (1)
	{
		PORTE = 0b00000000;//0
		_delay_ms(500);
		PORTE = 0b00000001;//1
		_delay_ms(500);
		PORTE = 0b00000010;//2
		_delay_ms(500);
		PORTE = 0b00000011;//3
		_delay_ms(500);
		PORTE = 0b00000100;//4
		_delay_ms(500);
		PORTE = 0b00000101;//5
		_delay_ms(500);
		PORTE = 0b00000110;//6
		_delay_ms(500);
		PORTE = 0b00000111;//7
		_delay_ms(500);
		PORTE = 0b00001000;//8
		_delay_ms(500);
		PORTE = 0b00001001;//9
		_delay_ms(500);
	}
}

 

7447

 

7448

7447,7448 동일코드 적용. 

74LS47은 공통 anode(common-anode) 타입에만 사용할 수 있습니다.

74LS48(7448) 은 공통 cathode(common-cathode) 타입.