210 likes | 440 Views
제 2 장 . 74HC574 소자를 이용한 LED DISPLAY. 2.1 하드웨어란 ? (V=I·R) (1). 전압 (V) : 전류가 흐를 수 있도록 해주는 전위차 . 높은 전압에서 낮은 전압으로 전류를 흘려준다 . TTL 회로에서는 5V 가 사용된다 . 전류 (I) : 회로에 흐르면서 전자 소자들이 일을 하면서 소비하는 것 . 저항 (R) : 전류의 흐름을 막는 소자이며 , 각각의 소자에게 적정량의 전류를 제공하기 위해 사용하는 소자. 2.1 하드웨어란 ? (V=I·R) (2).
E N D
제 2 장 74HC574 소자를 이용한 LED DISPLAY
2.1 하드웨어란? (V=I·R) (1) • 전압(V) : 전류가 흐를 수 있도록 해주는 전위차. 높은 전압에서 낮은 전압으로 전류를 흘려준다. TTL회로에서는 5V 가 사용된다. • 전류(I) : 회로에 흐르면서 전자 소자들이 일을 하면서 소비하는 것. • 저항(R) : 전류의 흐름을 막는 소자이며, 각각의 소자에게 적정량의 전류를 제공하기 위해 사용하는 소자 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.1 하드웨어란? (V=I·R) (2) • 전압 : 5V • LED가 필요로 하는 전류 : 15mA • R=5000(V)/15(I) ≒ 330Ω • LED를 켜기 위한 저항값은 대략 330Ω 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.2 어셈블리어란? (1) • 어셈블리어 : 마이컴 운용을 위한 명령들 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.2 어셈블리어란? (2) [ 어셈블리어 예제 ] MAIN: MOV A,#00H ; A 레지스터에 00H을 넣는다 MOV P1,A ; 이 값을 포트1에 넣는다 (OFF) CALL D_1S ; 1초 동안 딜레이… MOV A,#0FFH ; 다시 A 에 FFH를 넣는다 MOV P1,A ; 이 값을 포트1에 넣는다 (ON) CALL D_1S ; 1초 동안 딜레이… JMP MAIN ; 다시 메인으로 돌아간다 반복해서 실행을 한다. JMP라는 명령어로 다시 처음부터 실행을 한다. 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.2 어셈블리어란? (3) [ 회로도 ] 데이터가 출력된다 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.3 어떻게 사용을 할 것인가? [ 어셈블리어를 이용한 개발과정 ] 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(1) • A0, A1의 입력에 따라 출력이 선택 • A1=1, A0=1 이면 냉장고가 선택된다. 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(2) • 74HC138 디코더 중 좌측의 어드레스라인(A,B,C)으로 우측의 출력(Y0~Y7)을 선택 • “G1”포트가 HIGH가 되어야 74HC138 이 작동(A15가 HIGH가 된다) • 마이컴에서 8000H 번지 이상을 출력할 경우 74HC138 디코더 칩이 선택 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(3) [MC-E01MM의 어드레스맵 ] 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(4) Y0 선택 8000H 번지 출력 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(5) 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(6) • F000H번지의 경우는 GAL16V8칩을 선택 • GAL칩의 내용 541_EN : F000번지일 때 /RD 포트가 움직일 때 동작 574_EN : F000번지일 때 /WR 포트가 움직일 때 동작 LCD_EN : F200~F203 번지일 때 /RD,/WR 포트가 움직 일때 동작 /ROMCS = NOT(P3.5) /RAMCS = A15 /RAMRD = (/RD AND P3.5) OR (/RD AND /PSEN) 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(7) 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(8) • /ROMCS=NOT(P3.5) 다운로드 전 : P3.5(T1)는 HIGH, ENABLE ROM 다운로드 후 : P3.5(T1)는 LOW, DISABLE ROM • /RAMRD=(/RD AND P3.5) OR(/RD AND /PSEN) 일반적인 램 READ일 때 : /RD PORT로 램에서 읽음 롬에서 읽을 때 : P3.5,/PSEN으로 역시 램에서 읽음 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.4 MC-E01MM보드에서 칩 선택하기(9) 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.5 74HC574(출력소자) LATCH IC 란? (1) • 컨트롤라인(CLK,OC)의 제어로 입력 데이터를 출력포트로 출력하며, 컨트롤 라인의 동작이 있기 까지 이전의 상태가 유지되도록 한 칩 • 버퍼 용으로 많이 사용하는 칩 • #F000H 번지에 할당이 되어있다 • 출력소자 이므로 MOVX 명령어를 이용해서 동작하면 된다 제 2장 74HC574 소자를 이용한 LED DISPLAY
2.5 74HC574(출력소자) LATCH IC란? (2) [ 74HC574 진리표 ] ↑ : RISING EDGE(LOW에서 HIGH로 변화) Q0 : 이전 값(클럭이 RISING EDGE 때 값) Z : High impedence X : Don’t care 제 2장 74HC574 소자를 이용한 LED DISPLAY
[실험] 1. 74HC574로 임의의 데이터출력하기 (MOVX 명령어) (1) [ 사용 명령어 검토] 제 2장 74HC574 소자를 이용한 LED DISPLAY
74HC574로 임의의 데이터 출력하기 (MOVX 명령어) (2) 반복해서 디스플레이 제 2장 74HC574 소자를 이용한 LED DISPLAY
74HC574로 임의의 데이터 출력하기 (MOVX 명령어) (3) ORG 0000H ;시작번지를 0000번지로 한다 START: JMP INITIAL ;8051 초기 데이터(고정) ;; ;인트럽트 벡터 영역 ;; ORG 0035H ;프로그램 시작번지(35번지) INITIAL: NOP ;NO OPERATION(동작 없음) NOP MAIN: MOV A,#55H ;첫 번째 디스플레이 값 MOV DPTR,#0F000H ;74HC574 칩 선택 어드레스 MOVX @DPTR,A ;데이터를 출력한다 CALL D_1S ;1초 시간 지연 MOV A,#0AAH ;두 번째 디스플레이 값 MOV DPTR,#0F000H ;74HC574 칩 선택 어드레스 MOVX @DPTR,A ;데이터를 출력한다 CALL D_1S ;1초 시간 지연 JMP MAIN ;다시 MAIN으로 간다(반복) ;; $DELAY.INC ;딜레이 함수 첨부 END ;PROGRAM END 제 2장 74HC574 소자를 이용한 LED DISPLAY