
디지털 시계의 구성 우리 주변에서 흔히 보는 디지털시계는 카운터를 사용하여 설계하는 대표적 순차 회로의 하나라고 할 수 있다.
이러한 디지털시계를 설계하기 위해 기본적으로 요구되는 것은 디지털시계의 전체 블록도에서 시간 표시를 위한 7세그먼트의 표시기를 비롯한 BCD-to-7세그먼트 디코너, modulo-N 카운터, 12시간 표시기 디코더 등이 필요하다.
동기식 modulo-N 카운터 설계 디지털시계에서 사용하는 카운터로 enable 제어신호를 가지는 카운터를 설계해야 한다.
이러한 카운터가 enable 기능을 가져야 하는 이유는 모든 카운터가 공통된 하나의 클럭펄스를 동기되어 있어 만일 enable 제어 기능이 없게 되면 클럭펄스가 하나씩 계속 인가될 때마다 모든 전체 카운터가 각각 동시에 1개씩 증가하게 될 것이다.
하지만 시계는 초의 일의 자리에 해당한 10진 카운터가 0-9까지 세는 동안 다른 카운터는 동작을 하면 안 되며 이러한 카운터가 9까지 센 다음에 다시 0으로 돌아갈 때 초의 십의자리에 해당한 6진 카운터가 1씩 증가하여야 한다.
이와 같이 분의 일의 자리에 해당한 10진 카운터는 초의 십의 자리에 해당한 6진 카운터가 5- 0으로 변화되는 시점에 맞춰 1씩 증가하게 된다.
우리 주변에서 흔히 보는 디지털시계는 카운터를 사용하여 설계하는 대표적 순차 회로의 하나라고 할 수 있다. 이러한 디지털시계를 설계하기 위해 기본적으로 요구되는 것은 디지털시계의 전체 블록도에서 시간 표시를 위한 7세그먼트의 표시기를 비롯한 BCD-to-7세그먼트 디코너(TTL 7447), modulo-N 카운터, 12시간 표시기 디코더 등이 필요하다. 앞서 말한 modulo-N 카운터의 종류는 6가진 카운터, 10진 카운터, 그리고 12진 카운터가 필요하게 된다.
디지털시계에서 사용하는 카운터로 enable 제어신호를 가지는 카운터를 설계해야 한다. 이러한 카운터가 enable 기능을 가져야 하는 이유는 모든 카운터가 공통된 하나의 클럭펄스를 동기되어 있어 만일 enable 제어 기능이 없게 되면 클럭펄스가 하나씩 계속 인가될 때마다 모든 전체 카운터가 각각 동시에 1개씩 증가하게 될 것이다.
하지만 시계는 초의 일의 자리에 해당한 10진 카운터가 0-9까지 세는 동안 다른 카운터는 동작을 하면 안 되며 이러한 카운터가 9까지 센 다음에 다시 0으로 돌아갈 때 초의 십의자리에 해당한 6진 카운터가 1씩 증가하여야 한다. 이와 같이 분의 일의 자리에 해당한 10진 카운터는 초의 십의 자리에 해당한 6진 카운터가 5->0으로 변화되는 시점에 맞춰 1씩 증가하게 된다.
시간을 만들기 위해 앞서 설계한 카운터의 값을 눈으로 보도록 7세그먼트를 사용하여서 숫자를 표기해야 한다. 분이나 초를 나타내는 6진 혹은 10진의 카운터들은 BCD-to-7세그먼트 디코더 (TTL 7447)를 이용하여 값을 쉽게 표시할 수 있다. 하지만, 시를 나타내는 12진의 카운터 경우엔 조금 복잡할 수 있다. 앞에서 말한 시를 나타내기 위해 설계한 12진 카운터는 하나의 카운터의 0 에서 11까지 세도록 설계한다.
시계는 당연히 시간을 맞추는 기능이 필요하다. 먼저 설정한 시계 회로 시분초를 표시하는 각각의 카운터는 enable입력 Ei에 1이 들어올 때 클럭에 맞춰 자신의 값을 1씩 증가해야 한다. 값을 변화하고자 하는 카운터의 Ei 입력을 알맞은 시간동안 1로 만들게 되면 시간을 맞추게 된다. 예를 들면 현재 4시인 12진 카운터의 값을 7로 바꾸고 싶을 때 3클럭 주기 동안 Ei에 1를 넣어서 주려하는 문제와 이렇게 Ei에 1를 넣어주는 동안 다른 카운터가 계속 동작을 하도록 해야 하는지 아니면 멈추게 해야 하는지 생각해야 한다.
| 핵심어 | 문서 속 설명 |
|---|---|
| 시계 | 시간 설정의 회로 시계는 당연히 시간을 맞추는 기능이 필요하다. |
| 카운터 | 하지만, 시를 나타내는 12진의 카운터 경우엔 조금 복잡할 수 있다. |
| 클럭 | 먼저 설정한 시계 회로 시분초를 표시하는 각각의 카운터는 enable입력 Ei에 1이 들어올 때 클럭에 맞춰 자신의 값을 1씩 증가해야 한다. |
| 디코더 | 따라서 10 이상의 수는 두 자리로 표시하기 위해 디코더를 설계해야한다. |
예를 들면 현재 4시인 12진 카운터의 값을 7로 바꾸고 싶을 때 3클럭 주기 동안 Ei에 1를 넣어서 주려하는 문제와 이렇게 Ei에 1를 넣어주는 동안 다른 카운터가 계속 동작을 하도록 해야 하는지 아니면 멈추게 해야 하는지 생각해야 한다.
환불규정