제 2 장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.1 하드웨어란? (V=I·R) (1) 전압(V) : 전류가 흐를 수 있도록 해주는 전위차. 높은 전압에서 낮은 전압으로 전류를 흘려준다. TTL회로에서는 5V 가 사용된다. 전류(I) : 회로에 흐르면서 전자 소자들이 일을 하면서 소비하는 것. 저항(R) : 전류의 흐름을 막는 소자이며, 각각의 소자에게 적정량의 전류를 제공하기 위해 사용하는 소자 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 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장 74HC574 소자를 이용한 LED DISPLAY 2.2 어셈블리어란? (1) 어셈블리어 : 마이컴 운용을 위한 명령들 * 매일 해야 할것들 * 1. 10시에 화분에 물주기 2. 12시에 계단청소 3. 13시에 점심식사 4. 15시에 시장보기 * 어셈블리어 * MAIN : MOV A,#00H MOV P1,A CALL D_1S MOV A,#0FFH JMP MAIN 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 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) JMP MAIN ; 다시 메인으로 돌아간다 반복해서 실행을 한다. JMP라는 명령어로 다시 처음부터 실행을 한다. 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.2 어셈블리어란? (3) [ 회로도 ] 데이터가 출력된다 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.3 어떻게 사용을 할 것인가? 에디터로 소스파일 작성 (mc8051 에디터로 작성) ↓ 어셈블러 (어셈블링이라 한다) 링크(LINKING) HEX→BIN 변환 (기계어로 변환한다) ROM OUT (ROM을 굽는다) CPU 보드에 다운로드 한다 [ 어셈블리어를 이용한 개발과정 ] 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.4 MC-E01MM보드에서 칩 선택하기(1) A0, A1의 입력에 따라 출력이 선택 A1=1, A0=1 이면 냉장고가 선택된다. 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 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장 74HC574 소자를 이용한 LED DISPLAY 2.4 MC-E01MM보드에서 칩 선택하기(3) [MC-E01MM의 어드레스맵 ] 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.4 MC-E01MM보드에서 칩 선택하기(4) Y0 선택 8000H 번지 출력 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.4 MC-E01MM보드에서 칩 선택하기(5) 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 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장 74HC574 소자를 이용한 LED DISPLAY 2.4 MC-E01MM보드에서 칩 선택하기(7) 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 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장 74HC574 소자를 이용한 LED DISPLAY 2.4 MC-E01MM보드에서 칩 선택하기(9) 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.5 74HC574(출력소자) LATCH IC 란? (1) 컨트롤라인(CLK,OC)의 제어로 입력 데이터를 출력포트로 출력하며, 컨트롤 라인의 동작이 있기 까지 이전의 상태가 유지되도록 한 칩 버퍼 용으로 많이 사용하는 칩 #F000H 번지에 할당이 되어있다 출력소자 이므로 MOVX 명령어를 이용해서 동작하면 된다 제 2장 74HC574 소자를 이용한 LED DISPLAY
제 2장 74HC574 소자를 이용한 LED DISPLAY 2.5 74HC574(출력소자) LATCH IC 란? (2) [ 74HC574 진리표 ] 출력제어(OC) 클록(CLK) 입력 출력 L H ↑ X QO Z ↑ : RISING EDGE(LOW에서 HIGH로 변화) Q0 : 이전 값(클럭이 RISING EDGE 때 값) Z : High impedence X : Don’t care 제 2장 74HC574 소자를 이용한 LED DISPLAY
[실험] 1. 74HC574로 임의의 데이터 출력하기 (MOVX 명령어) (1) [ 사용 명령어 검토] MOV 데이터 이동 (1바이트, 2바이트) MOV A,#00H MOV DPTR,#0F00H MOVX 데이터의 입/출력 (/RD,/WR 핀이 움직인다) MOVX @DPTR,A – 출력 MOVX A,@DPTR – 입력 CALL 서브루틴(함수) 호출 CALL D_1S JMP JUMP 해서 실행하라 JMP MAIN 제 2장 74HC574 소자를 이용한 LED DISPLAY
74HC574로 임의의 데이터 출력하기 (MOVX 명령어) (2) 시작 ↓ 초기화 데이터 출력(#55H) 1초 딜레이 데이터 출력(#0AAH) 반복해서 디스플레이 제 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 ;두 번째 디스플레이 값 JMP MAIN ;다시 MAIN으로 간다(반복) $DELAY.INC ;딜레이 함수 첨부 END ;PROGRAM END 제 2장 74HC574 소자를 이용한 LED DISPLAY