3-16. 디지털 시계
1. 처음 마이컴으로 제어하고 싶은 것 중 하나로 시계가 있는데, 여기선 그 기본이 되는 디지털 시계를 마이컴 시스템으로 제작하여 실험 마이크로프로세서 3-16. 디지털 시계
2. 하드 설계 1 5 4행 숫자 표시 데이터 어드레스 8255 PC0 입력 50Hz 또는 60Hz의 펄스 A포트 B포트 어드레스 데이터 1 5 PC0 입력 50Hz 또는 60Hz의 펄스 전원 모듈의 pulse out핀에 접속 마이크로프로세서 3-16. 디지털 시계
3. 소프트 설계 (1/2) 8255의 PC0에서 전원주파수 동기 펄스를 입력해 이 펄스 수에서 기준 시각을 얻음 8255의 A포트에서 시간을, B포트에서 분을 출력 RAM 삽입은 다음과 같음 (표 3-37) 어드레스 F0H F1H F2H F3H 삽입 전원 펄스 카운터 초 분 시 시간은 24시간 표시로 함 마이크로프로세서 3-16. 디지털 시계
3. 소프트 설계 (2/2) 프로그램의 기록과 체크가 끝나면 입출력 모듈의 표시전환 스위치를 A, B포트 측으로 함 리셋 스위치를 눌러 프로그램을 실행 시키면 그 순간부터 개시가 시작 마이크로프로세서 3-16. 디지털 시계
3. 1 플로우 차트 (1/4) 표 3-38 마이크로프로세서 3-16. 디지털 시계
3. 1 플로우 차트 (2/4) 표 3-38 마이크로프로세서 3-16. 디지털 시계
3. 1 플로우 차트 (3/4) a 마이크로프로세서 3-16. 디지털 시계 표 3-39
3. 1 플로우 차트 (4/4) 마이크로프로세서 3-16. 디지털 시계 표 3-39
3. 2 프로그램 리스트 (1/3) 라벨 기호어 어드레스 기계어 코멘트 START LD A, 89H 00 3E 89 CW 세트 OUT (03H), A 02 D3 03 LD SP, 0100H 04 31 00 01 SP 세트 XOR A 07 AF 펄스 카운터 카운터 클리어 LD (00F0H), A 08 32 F0 00 J1 CALL PLSIN 0B CD 17 00 전원 펄스 입력 서브 루틴 CALL COUNT 12 CD 2D 00 펄스 카운트 서브 루틴으로 CALL DISP 13 CD 6F 00 시각표시 서브루틴 JP J1 14 C3 0B 00 라벨 J1으로 점프 PLSIN IN A, (02H) 17 DB 02 C포트 입력 BIT 0, A 19 CB 47 펄스 입력 체크 JP Z, J3 1B CA 28 00 BIT 0, C 1E CB 41 이전 회전 펄스 형태 체크 JP NZ, J2 20 C2 27 00 SET 0, C 23 CB C1 펄스의 형태를 C레지스터로 보존 SET 1, C 25 CB C9 J2 RET 27 C9 J3 RES 0, C 28 CB 81 JP J2 2A C3 27 00 마이크로프로세서 3-16. 디지털 시계
3. 2 프로그램 리스트 (2/3) 라벨 기호어 어드레스 기계어 코멘트 COUNT BIT 1, C 2D CB 49 펄스가 유인지 체크 JP Z, J4 2F CA 61 00 RES 1, `C 32 CB 89 2중 카운트 방지 LD HL, 00F0H 34 21 F0 00 펄스 입력 카운터의 어드레스 세트 CALL COUNTUP 37 CD 62 00 + 1 CP 60H 3A FE 60 60 펄스 카운터? JP NZ, J4 3C C2 61 00 CALL MOVEUP 3F CD 68 00 자리 올림 42 60 초? 44 C2 61 00 47 4A 60 분? 4C 4F CP 24H 52 FE 24 24 시? 54 XOR A 57 AF 초, 분, 시 데이터 클리어 LD (00F1H), A 58 32 F1 00 LD (00F2H), A 5B 32 F2 00 LD (00F3H), A 5E 32 F3 00 J4 RET 61 C9 마이크로프로세서 3-16. 디지털 시계
3. 2 프로그램 리스트 (3/3) 라벨 기호어 어드레스 기계어 코멘트 COUNTUP LD A, (HL) 62 7E ADD A, 01H 63 C6 01 + 1 DAA 65 27 10 LD (HL), A 66 77 지정 어드레스로 전송 RET 67 C9 MOVEUP XOR A 68 AF A ← 00H 69 INC HL 6A 23 지정 어드레스 + 1 CALL COUNTUP 6B CD 62 00 지정 어드레스 값에 + 1 6E DISP LD A, (00F2H) 6F 3A F2 00 분 데이터를 B포트로 출력 OUT (01H), A 72 D3 01 LD A, (00F3H) 74 3A F3 00 시 데이터를 A포트로 출력 OUT (00H), A D3 00 79 DB 00H F1 00 초 데이터 미리 초기치 세트 F2 분 데이터 F3 시 데이터 마이크로프로세서 3-16. 디지털 시계